deeptime.markov.tools.estimation.error_perturbation

deeptime.markov.tools.estimation.error_perturbation(C, S)

Error perturbation for given sensitivity matrix.

Parameters:
  • C ((M, M) ndarray) – Count matrix

  • S ((M, M) ndarray or (K, M, M) ndarray) – Sensitivity matrix (for scalar observable) or sensitivity tensor for vector observable

Returns:

X – error-perturbation (for scalar observables) or covariance matrix (for vector-valued observable)

Return type:

float or (K, K) ndarray

Notes

Scalar observable

The sensitivity matrix S=(sij)S=(s_{ij}) of a scalar observable f(T)f(T) is defined as

S=(f(T)tijT0)S= \left(\left. \frac{\partial f(T)}{\partial t_{ij}} \right \rvert_{T_0} \right)

evaluated at a suitable transition matrix T0T_0.

The sensitivity is the variance of the observable

V(f)=i,j,k,lsijcov[tij,tkl]skl\mathbb{V}(f)=\sum_{i,j,k,l} s_{ij} \text{cov}[t_{ij}, t_{kl}] s_{kl}

Vector valued observable

The sensitivity tensor S=(sijk)S=(s_{ijk}) for a vector valued observable (f1(T),,fK(T))(f_1(T),\dots,f_K(T)) is defined as

S=(fi(T)tjkT0)S= \left( \left. \frac{\partial f_i(T)}{\partial t_{jk}} \right\rvert_{T_0} \right)

evaluated at a suitable transition matrix T0T_0.

The sensitivity is the covariance matrix for the observable

cov[fα(T),fβ(T)]=i,j,k,lsαijcov[tij,tkl]sβkl\text{cov}[f_{\alpha}(T),f_{\beta}(T)] = \sum_{i,j,k,l} s_{\alpha i j} \text{cov}[t_{ij}, t_{kl}] s_{\beta kl}