GLE_analysisEM.GLE_Estimator

class GLE_analysisEM.GLE_Estimator(dim_x=1, dim_h=1, tol=1e-05, max_iter=100, OptimizeForce=True, OptimizeDiffusion=True, init_params='random', model='euler', basis=GLE_BasisTransform(), A_init=None, C_init=None, force_init=None, mu_init=None, sig_init=None, n_init=1, random_state=None, warm_start=False, no_stop=False, verbose=0, verbose_interval=10, multiprocessing=1)[source]

A GLE estimator based on Expectation-Maximation algorithm.

Parameters
dim_xint, default=1

The number of visible dimensions

dim_hint, default=1

The number of hidden dimensions

tolfloat, defaults to 1e-5.

The convergence threshold. EM iterations will stop when the lower bound average gain is below this threshold.

max_iter: int, default=100

The maximum number of EM iterations

OptimizeForce: bool, default=True

Optimize or not the force coefficients, to be set to False if the force or the potential have been externally determined

OptimizeDiffusion: bool, default=True

Optimize or not the diffusion coefficients

init_params{‘user’,’random’,’markov’}, defaults to ‘random’.

The method used to initialize the fitting coefficients. Must be one of:

'user' : coefficients are initialized at values provided by the user
'random' : coefficients are initialized randomly.
'markov' : coefficients are initialized with Markovian estimation of the visible part
model{}, default to ‘euler’.

Choice of time discretized model to be fitted. For now only euler model is implemented

basis: a scikit-learn Transformer class, default to linear basis.

Transformer to get value of the basis function

A_init, C_init, force_init, mu_init, sig_init: array, optional

The user-provided initial coefficients, defaults to None. If it None, coefficients are initialized using the init_params method.

n_initint, defaults to 1.

The number of initializations to perform. The best results are kept.

no_stop: bool, default to False

Does not stop the iterations if the algorithm have converged

warm_startbool, default to False.

If ‘warm_start’ is True, the solution of the last fitting is used as initialization for the next call of fit(). This can speed up convergence when fit is called several times on similar problems.

random_stateint, RandomState instance or None, optional (default=None)

Controls the random seed given to the method chosen to initialize the parameters (see init_params). In addition, it controls the generation of random samples from the fitted distribution (see the method sample). Pass an int for reproducible output across multiple function calls. See Glossary.

verboseint, default to 0.

Enable verbose output. If 1 then it prints the current initialization and each iteration step. If greater than 1 then it prints also the log probability and the time needed for each step.

verbose_intervalint, default to 10.

Number of iteration done before the next print.

multiprocessing: int, default to 1

Number of process to use for E step

__init__(dim_x=1, dim_h=1, tol=1e-05, max_iter=100, OptimizeForce=True, OptimizeDiffusion=True, init_params='random', model='euler', basis=GLE_BasisTransform(), A_init=None, C_init=None, force_init=None, mu_init=None, sig_init=None, n_init=1, random_state=None, warm_start=False, no_stop=False, verbose=0, verbose_interval=10, multiprocessing=1)[source]

Examples using GLE_analysisEM.GLE_Estimator

Running GLE Estimator

Running GLE Estimator

Running GLE Estimator
Generating GLE Samples

Generating GLE Samples

Generating GLE Samples
Likelihood Evolution

Likelihood Evolution

Likelihood Evolution
M step

M step

M step
E step, Kalman filter

E step, Kalman filter

E step, Kalman filter
Parameters estimation from Markovian

Parameters estimation from Markovian

Parameters estimation from Markovian
Parameters estimation

Parameters estimation

Parameters estimation