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
- data
Dataset
The dataset to compute slopes from.
- max_indsint, optional (default None)
Restrict computation to first max_inds individuals.
- data
- Returns
- slopes_mu
torch.Tensor
[n_features,] - slopes_sigma
torch.Tensor
[n_features,]
- slopes_mu
- compute_patient_time_distribution(data)
Returns mu / sigma of given dataset times.
- Parameters
- data
Dataset
Contains the individual scores
- data
- Returns
- mean
torch.Tensor
scalar - sigma
torch.Tensor
scalar
- mean
- compute_patient_values_distribution(data)
Returns means and standard deviations for the features of the given dataset values.
- Parameters
- data
Dataset
Contains the scores of all the subjects.
- data
- Returns
- means
torch.Tensor
[n_features,] One mean per feature.
- std
torch.Tensor
[n_features,] One standard deviation per feature.
- means
- 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
- dataset
Dataset
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)
- dataset
- 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
- model
AbstractModel
The model to initialize.
- dataset
Dataset
Contains the individual scores.
- methodstr
not used for now
- model
- 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
- model
AbstractModel
The model to initialize.
- dataset
Dataset
Contains the individual scores.
- methodstr
- Must be one of:
'default'
: initialize at mean.'random'
: initialize with a gaussian realization with same mean and variance.
- model
- 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
- model
AbstractModel
The model to initialize.
- dataset
Dataset
Contains the individual scores.
- methodstr
- Must be one of:
'default'
: initialize at mean.'random'
: initialize with a gaussian realization with same mean and variance.
- model
- 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:
initialize_linear()
(including when univariate)initialize_logistic()
(including when univariate)
It is automatically called during
Leaspy.fit()
.- Parameters
- model
AbstractModel
The model to initialize.
- dataset
Dataset
Contains the individual scores.
- methodstr
- Must be one of:
'default'
: initialize at mean.'random'
: initialize with a gaussian realization with same mean and variance.
- model
- Returns
- parametersdict [str,
torch.Tensor
] Contains the initialized model’s group parameters.
- parametersdict [str,
- 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
- model
AbstractModel
The model to initialize (must be an univariate or multivariate linear or logistic manifold model).
- dataset
Dataset
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()
- model
- Returns
- parametersdict [str, torch.Tensor]
Contains the initialized model’s group parameters.
- Raises
LeaspyInputError
If model is not supported for this initialization