leaspy.models.utils.initialization.model_initialization module

compute_patient_slopes_distribution(data, max_inds: Optional[int] = None)

Linear Regression on each feature to get slopes

Parameters
dataDataset

The dataset to compute slopes from.

max_indsint, optional (default None)

Restrict computation to first max_inds individuals.

Returns
slopes_mutorch.Tensor [n_features,]
slopes_sigmatorch.Tensor [n_features,]
compute_patient_time_distribution(data)

Returns mu / sigma of given dataset times.

Parameters
dataDataset

Contains the individual scores

Returns
meantorch.Tensor scalar
sigmatorch.Tensor scalar
compute_patient_values_distribution(data)

Returns means and standard deviations for the features of the given dataset values.

Parameters
dataDataset

Contains the scores of all the subjects.

Returns
meanstorch.Tensor [n_features,]

One mean per feature.

stdtorch.Tensor [n_features,]

One standard deviation per feature.

get_lme_results(dataset, n_jobs=-1, *, with_random_slope_age=True, **lme_fit_kwargs)

Fit a LME on univariate (per feature) time-series (feature vs. patients’ ages with varying intercept & slope)

Parameters
datasetDataset

Contains all the data wrapped into a leaspy Dataset object

n_jobsint

Number of jobs in parallel when multiple features to init Not used for now, buggy

with_random_slope_agebool (default True)

Has LME model a random slope per age (otherwise only a random intercept).

**lme_fit_kwargs

Kwargs passed to ‘lme_fit’ (such as force_independent_random_effects, default True)

Returns
dict

{param: str -> param_values_for_ft: torch.Tensor(nb_fts, *shape_param)}

initialize_linear(model, dataset, method)

Initialize the linear model’s group parameters.

Parameters
modelAbstractModel

The model to initialize.

datasetDataset

Contains the individual scores.

methodstr

not used for now

Returns
parametersdict [str, torch.Tensor]

Contains the initialized model’s group parameters. The parameters’ keys are ‘g’, ‘v0’, ‘betas’, ‘tau_mean’, ‘tau_std’, ‘xi_mean’, ‘xi_std’, ‘sources_mean’, ‘sources_std’ and ‘noise_std’.

initialize_logistic(model, dataset, method)

Initialize the logistic model’s group parameters.

Parameters
modelAbstractModel

The model to initialize.

datasetDataset

Contains the individual scores.

methodstr
Must be one of:
  • 'default': initialize at mean.

  • 'random': initialize with a gaussian realization with same mean and variance.

Returns
parametersdict [str, torch.Tensor]

Contains the initialized model’s group parameters. The parameters’ keys are ‘g’, ‘v0’, ‘betas’, ‘tau_mean’, ‘tau_std’, ‘xi_mean’, ‘xi_std’, ‘sources_mean’, ‘sources_std’ and ‘noise_std’.

Raises
LeaspyInputError

If method is not handled

initialize_logistic_parallel(model, dataset, method)

Initialize the logistic parallel model’s group parameters.

Parameters
modelAbstractModel

The model to initialize.

datasetDataset

Contains the individual scores.

methodstr
Must be one of:
  • 'default': initialize at mean.

  • 'random': initialize with a gaussian realization with same mean and variance.

Returns
parametersdict [str, torch.Tensor]

Contains the initialized model’s group parameters. The parameters’ keys are ‘g’, ‘tau_mean’, ‘tau_std’, ‘xi_mean’, ‘xi_std’, ‘sources_mean’, ‘sources_std’, ‘noise_std’, ‘delta’ and ‘beta’.

Raises
LeaspyInputError

If method is not handled

initialize_parameters(model, dataset, method='default')

Initialize the model’s group parameters given its name & the scores of all subjects.

Under-the-hood it calls an initialization function dedicated for the model:

It is automatically called during Leaspy.fit().

Parameters
modelAbstractModel

The model to initialize.

datasetDataset

Contains the individual scores.

methodstr
Must be one of:
  • 'default': initialize at mean.

  • 'random': initialize with a gaussian realization with same mean and variance.

Returns
parametersdict [str, torch.Tensor]

Contains the initialized model’s group parameters.

Raises
LeaspyInputError

If no initialization method is known for model type / method

lme_init(model, dataset, fact_std=1.0, **kwargs)

Initialize the model’s group parameters.

Parameters
modelAbstractModel

The model to initialize (must be an univariate or multivariate linear or logistic manifold model).

datasetDataset

Contains the individual scores.

fact_stdfloat

Multiplicative factor to apply on std-dev (tau, xi, noise) found naively with LME

**kwargs

Additional kwargs passed to get_lme_results()

Returns
parametersdict [str, torch.Tensor]

Contains the initialized model’s group parameters.

Raises
LeaspyInputError

If model is not supported for this initialization