GaussianProcess class evaluates an ensemble of trajectories as a Gaussian process.
More...
|
| def | __init__ (self, cluster_data, ngaus) |
| | The constructor of GaussianProcess. More...
|
| |
| def | model_by_resampling (self) |
| | models the trajectory data via re-sampling, ignoring noise, missing data, trends, etc. More...
|
| |
| def | model_by_ml (self, type_basis, nbasis) |
| | models the trajectory data via maximum likelihood. More...
|
| |
| def | model_by_em (self, type_basis, nbasis, maximum_iterations=2001) |
| | models the trajectory data via expectation maximization. More...
|
| |
|
| def | _outline2vectors (self) |
| | obtain vectors to multiply normalised values with, allows for a transformation back to the actual values from the normalised ones. More...
|
| |
| def | _norm2real (self, mu_y, sig_y) |
| | returns the mu_y, sig_y vector to the original dimensions using the outline More...
|
| |
| def | _from_clusterdata2cells (self, cluster_data, basis) |
| |
| def | _Ewc_Ewwc (self, yc, Hc, mu_w, sig_w_inv, BETA_EM) |
| |
| def | _Ewn_Ewnwn (self, yn, Hn, mu_w, sig_w_inv, BETA_EM) |
| |
| def | _E_mu (self, Ewc) |
| |
| def | _E_sigma (self, mu_w, yc, Hc, Ewc, Ewwc) |
| |
| def | _E_beta (self, yc, Hc, Ewc, Ewwc, ndim, Mstar) |
| |
| def | _L_pYw (self, yc, Hc, Ewc, Ewwc, ndim, Mstar, BETA_EM) |
| |
| def | _L_pw (self, Ewc, Ewwc, mu_w, sig_w, sig_w_inv, ndim, nbasis) |
| |
| def | _getGMMCells (self, mu_y, sig_y, ngaus) |
| |
| def | _getMuSigma (self, mu_y, sig_y, npoint, ngaus) |
| |
GaussianProcess class evaluates an ensemble of trajectories as a Gaussian process.
Such a Gaussian process has a mean and covariance, and expresses itself as an ellipse (2d) or ellipsoid (3d) at a constant variance
§ __init__()
| def teetool.gaussianprocess.GaussianProcess.__init__ |
( |
|
self, |
|
|
|
cluster_data, |
|
|
|
ngaus |
|
) |
| |
The constructor of GaussianProcess.
- Parameters
-
| self | object pointer |
| cluster_data | trajectory data in specific format: a list of (x, Y), where x [npoints x 1] and Y [npoints x ndim] |
| ngaus | number of Gaussians desired |
§ _E_beta()
| def teetool.gaussianprocess.GaussianProcess._E_beta |
( |
|
self, |
|
|
|
yc, |
|
|
|
Hc, |
|
|
|
Ewc, |
|
|
|
Ewwc, |
|
|
|
ndim, |
|
|
|
Mstar |
|
) |
| |
|
private |
returns the expected noise parameter
§ _E_mu()
| def teetool.gaussianprocess.GaussianProcess._E_mu |
( |
|
self, |
|
|
|
Ewc |
|
) |
| |
|
private |
returns the expected value E [ MU ]
Input:
Ewc - list of expected values
Output:
mu_w - average of expected values
§ _E_sigma()
| def teetool.gaussianprocess.GaussianProcess._E_sigma |
( |
|
self, |
|
|
|
mu_w, |
|
|
|
yc, |
|
|
|
Hc, |
|
|
|
Ewc, |
|
|
|
Ewwc |
|
) |
| |
|
private |
return the expected variance E [ SIGMA ]
this takes into account the measured data and the model
Input:
mu_w -
yc -
Hc -
Ewc -
Ewwc -
Output:
sig_w -
§ _Ewc_Ewwc()
| def teetool.gaussianprocess.GaussianProcess._Ewc_Ewwc |
( |
|
self, |
|
|
|
yc, |
|
|
|
Hc, |
|
|
|
mu_w, |
|
|
|
sig_w_inv, |
|
|
|
BETA_EM |
|
) |
| |
|
private |
returns the expected values Ewc and Ewwc
input:
yc - [points]
Hc - [Gram matrix]
mu_w - E[w]
sig_w_inv - 1 / E[ww]
BETA_EM - 1 / noise
output:
Ewc - [E[wn]]
Ewnwc - [E[wnwn]]
§ _Ewn_Ewnwn()
| def teetool.gaussianprocess.GaussianProcess._Ewn_Ewnwn |
( |
|
self, |
|
|
|
yn, |
|
|
|
Hn, |
|
|
|
mu_w, |
|
|
|
sig_w_inv, |
|
|
|
BETA_EM |
|
) |
| |
|
private |
returns the expected values Ewn and Ewnwn
input:
yn - points
Hn - Gram matrix
mu_w - E[w]
sig_w_inv - 1 / E[ww]
BETA_EM - 1 / noise
output:
Ewn - E[wn]
Ewnwn - E[wnwn]
§ _from_clusterdata2cells()
| def teetool.gaussianprocess.GaussianProcess._from_clusterdata2cells |
( |
|
self, |
|
|
|
cluster_data, |
|
|
|
basis |
|
) |
| |
|
private |
converts from cluster_data (xn, Yn) list, to cells
Input:
cluster_data -
basis -
Output:
yc -
Hc -
§ _getGMMCells()
| def teetool.gaussianprocess.GaussianProcess._getGMMCells |
( |
|
self, |
|
|
|
mu_y, |
|
|
|
sig_y, |
|
|
|
ngaus |
|
) |
| |
|
private |
return Gaussian Mixture Model (GMM) in cells
§ _getMuSigma()
| def teetool.gaussianprocess.GaussianProcess._getMuSigma |
( |
|
self, |
|
|
|
mu_y, |
|
|
|
sig_y, |
|
|
|
npoint, |
|
|
|
ngaus |
|
) |
| |
|
private |
§ _L_pw()
| def teetool.gaussianprocess.GaussianProcess._L_pw |
( |
|
self, |
|
|
|
Ewc, |
|
|
|
Ewwc, |
|
|
|
mu_w, |
|
|
|
sig_w, |
|
|
|
sig_w_inv, |
|
|
|
ndim, |
|
|
|
nbasis |
|
) |
| |
|
private |
returns ln( p(w) )
likelihood of parameters, before seeing the data
§ _L_pYw()
| def teetool.gaussianprocess.GaussianProcess._L_pYw |
( |
|
self, |
|
|
|
yc, |
|
|
|
Hc, |
|
|
|
Ewc, |
|
|
|
Ewwc, |
|
|
|
ndim, |
|
|
|
Mstar, |
|
|
|
BETA_EM |
|
) |
| |
|
private |
returns ln( p (Y|w) )
likelihood of data, given the parameters
§ _norm2real()
| def teetool.gaussianprocess.GaussianProcess._norm2real |
( |
|
self, |
|
|
|
mu_y, |
|
|
|
sig_y |
|
) |
| |
|
private |
returns the mu_y, sig_y vector to the original dimensions using the outline
- Parameters
-
| self | The object pointer. |
| mu_y | mean vector [ngaus*ndim x 1] |
| sig_y | covariance matrix [ngaus*ndim x ngaus*ndim] |
§ _outline2vectors()
| def teetool.gaussianprocess.GaussianProcess._outline2vectors |
( |
|
self | ) |
|
|
private |
obtain vectors to multiply normalised values with, allows for a transformation back to the actual values from the normalised ones.
- Parameters
-
- Returns
- M, vector with minimum values [ngaus*ndim x 1]
-
D, vector with difference values [ngaus*ndim x 1]
§ model_by_em()
| def teetool.gaussianprocess.GaussianProcess.model_by_em |
( |
|
self, |
|
|
|
type_basis, |
|
|
|
nbasis, |
|
|
|
maximum_iterations = 2001 |
|
) |
| |
models the trajectory data via expectation maximization.
It uses the basis function as specified to handle missing data, and, when noisy data is detected within a trajectory, the global trend, as learned, takes over. A suitable method in the presence of noise or an unknown shape of trajectories – the latter as different models can be compared via likelihood
- Parameters
-
| self | The object pointer. |
| type_basis | see Basis class for input |
| nbasis | see Basis class for input |
| maximum_iterations | maximum allowed number of evaluations till convergence |
- Returns
- mu_y mean vector [ngaus*ndim x 1]
-
sig_y covariance matrix [ngaus*ndim x ngaus*ndim]
-
cc mean [ndim x 1] in ngaus cells
-
cA covariance [ndim x ndim] in ngaus cells
§ model_by_ml()
| def teetool.gaussianprocess.GaussianProcess.model_by_ml |
( |
|
self, |
|
|
|
type_basis, |
|
|
|
nbasis |
|
) |
| |
models the trajectory data via maximum likelihood.
It uses the basis function as specified to handle missing data, however, noise per trajectory has no influence on the parameter estimation. A suitable method in the absence of noise and known shape of trajectories.
- Parameters
-
| self | The object pointer. |
| type_basis | see Basis class for input |
| nbasis | see Basis class for input |
- Returns
- mu_y mean vector [ngaus*ndim x 1]
-
sig_y covariance matrix [ngaus*ndim x ngaus*ndim]
-
cc mean [ndim x 1] in ngaus cells
-
cA covariance [ndim x ndim] in ngaus cells
§ model_by_resampling()
| def teetool.gaussianprocess.GaussianProcess.model_by_resampling |
( |
|
self | ) |
|
models the trajectory data via re-sampling, ignoring noise, missing data, trends, etc.
Quick method only suitable for high-quality data
- Parameters
-
- Returns
- mu_y mean vector [ngaus*ndim x 1]
-
sig_y covariance matrix [ngaus*ndim x ngaus*ndim]
-
cc mean [ndim x 1] in ngaus cells
-
cA covariance [ndim x ndim] in ngaus cells
§ _cluster_data
| teetool.gaussianprocess.GaussianProcess._cluster_data |
|
private |
§ _ndim
| teetool.gaussianprocess.GaussianProcess._ndim |
|
private |
dimensionality of trajectory data
§ _ngaus
| teetool.gaussianprocess.GaussianProcess._ngaus |
|
private |
number of Gaussians after modelling
§ _outline
| teetool.gaussianprocess.GaussianProcess._outline |
|
private |
The documentation for this class was generated from the following file: