leaspy.algo.others.lme_fit.LMEFitAlgorithm

class LMEFitAlgorithm(settings)

Bases: AbstractAlgo

Calibration algorithm associated to LMEModel

Parameters
settingsAlgorithmSettings
  • with_random_slope_agebool

    If False: only varying intercepts If True: random intercept & random slope w.r.t ages

    Deprecated since version 1.2.

    You should rather define this directly as an hyperparameter of LME model.

  • force_independent_random_effectsbool

    Force independence of random intercept & random slope

  • other keyword arguments passed to statsmodels.regression.mixed_linear_model.MixedLM.fit()

Attributes
log_noise_fmt

Getter

Methods

load_parameters(parameters)

Update the algorithm's parameters by the ones in the given dictionary.

run(model, *args[, return_noise])

Main method, run the algorithm.

run_impl(model, dataset)

Main method, refer to abstract definition in run().

set_output_manager(output_settings)

Not implemented.

load_parameters(parameters: dict)

Update the algorithm’s parameters by the ones in the given dictionary. The keys in the io which does not belong to the algorithm’s parameters keys are ignored.

Parameters
parametersdict

Contains the pairs (key, value) of the wanted parameters

Examples

>>> settings = leaspy.io.settings.algorithm_settings.AlgorithmSettings("mcmc_saem")
>>> my_algo = leaspy.algo.fit.tensor_mcmcsaem.TensorMCMCSAEM(settings)
>>> my_algo.algo_parameters
{'n_iter': 10000,
 'n_burn_in_iter': 9000,
 'eps': 0.001,
 'L': 10,
 'sampler_ind': 'Gibbs',
 'sampler_pop': 'Gibbs',
 'annealing': {'do_annealing': False,
  'initial_temperature': 10,
  'n_plateau': 10,
  'n_iter': 200}}
>>> parameters = {'n_iter': 5000, 'n_burn_in_iter': 4000}
>>> my_algo.load_parameters(parameters)
>>> my_algo.algo_parameters
{'n_iter': 5000,
 'n_burn_in_iter': 4000,
 'eps': 0.001,
 'L': 10,
 'sampler_ind': 'Gibbs',
 'sampler_pop': 'Gibbs',
 'annealing': {'do_annealing': False,
  'initial_temperature': 10,
  'n_plateau': 10,
  'n_iter': 200}}
property log_noise_fmt

Getter

Returns
formatstr

The format for the print of the loss

run(model: AbstractModel, *args, return_noise: bool = False, **extra_kwargs) Any

Main method, run the algorithm.

TODO fix proper abstract class method: input depends on algorithm… (esp. simulate != from others…)

Parameters
modelAbstractModel

The used model.

datasetDataset

Contains all the subjects’ observations with corresponding timepoints, in torch format to speed up computations.

return_noisebool (default False), keyword only

Should the algorithm return main output and optional noise output as a 2-tuple?

Returns
Depends on algorithm class: TODO change?
run_impl(model: LMEModel, dataset: Dataset)

Main method, refer to abstract definition in run().

TODO fix proper inheritance

Parameters
modelLMEModel

A subclass object of leaspy LMEModel.

datasetDataset

Dataset object build with leaspy class objects Data, algo & model

Returns
2-tuple:
  • None

  • noise scale (std-dev), scalar

set_output_manager(output_settings)

Not implemented.