mofaflex.priors.GaussianProcess#

class mofaflex.priors.GaussianProcess(covariates_key=None, covariates_mkey=None, n_inducing=100, kernel='RBF', mefisto_kernel=True, independent_lengthscales=False, group_covar_rank=1, warp=False, warp_interval=20, warp_open_begin=True, warp_open_end=True, warp_reference_group=None)#

Gaussian process prior for spatially or temporally smooth factors.

Parameters:
  • covariates_key (str | Mapping[str] | None (default: None)) – The column of .obs/.var that contains covariate values. Cannot be used together with covariates_mkey.

  • covariates_mkey (str | Mapping[str] | None (default: None)) – The key in .obsm/.varm that contains covariate values. Cannot be used together with covariates_key.

  • n_inducing (int (default: 100)) – Number of inducing points.

  • kernel (Literal['RBF', 'Matern'] (default: 'RBF')) – Kernel function to use.

  • mefisto_kernel (bool (default: True)) – Whether to use the MEFISTO group covariance kernel or treat groups independently.

  • independent_lengthscales (bool (default: False)) – Whether to use a separate lengthscale per covariate dimension.

  • group_cvar_rank – Rank of the group correlation matrix. Only relevant if mefisto_kernel=True.

  • warp (bool (default: False)) – Whether to use dynamic time warping. Warping is only supported for 1D covariates.

  • warp_interval (int (default: 20)) – Apply dynamic time warping every warp_interval epochs.

  • warp_open_begin (bool (default: True)) – Perform open-ended alignment.

  • warp_open_end (bool (default: True)) – Perform open-ended alignment.

  • warp_reference_group (str | None (default: None)) – Reference group to align the others to. Defaults to the first group.

Important

All methods and properties of this class are only accessible through the MofaFlex class.

Attributes table#

factor_covariates

Covariates for each group.

factor_covariates_names

Covariate names for each group where they could be inferred from the input.

factor_gp_group_correlation

Between-group correlation for each factor.

factor_gp_lengthscale

Inferred lengthscales for each factor.

factor_gp_scale

Inferred variance scales (smoothness) for each factor.

warped_factor_covariates

Time-warped covariates for each group, if dynamic time warping was enabled.

warped_weight_covariates

Time-warped covariates for each group, if dynamic time warping was enabled.

weight_covariates

Covariates for each group.

weight_covariates_names

Covariate names for each group where they could be inferred from the input.

weight_gp_group_correlation

Between-group correlation for each factor.

weight_gp_lengthscale

Inferred lengthscales for each factor.

weight_gp_scale

Inferred variance scales (smoothness) for each factor.

Methods table#

get_factor_gps([moment, x, batch_size, ordered])

Get all latent functions.

get_weight_gps([moment, x, batch_size, ordered])

Get all latent functions.

Attributes#

GaussianProcess.factor_covariates#

Covariates for each group.

GaussianProcess.factor_covariates_names#

Covariate names for each group where they could be inferred from the input.

GaussianProcess.factor_gp_group_correlation#

Between-group correlation for each factor.

GaussianProcess.factor_gp_lengthscale#

Inferred lengthscales for each factor.

GaussianProcess.factor_gp_scale#

Inferred variance scales (smoothness) for each factor.

GaussianProcess.warped_factor_covariates#

Time-warped covariates for each group, if dynamic time warping was enabled.

GaussianProcess.warped_weight_covariates#

Time-warped covariates for each group, if dynamic time warping was enabled.

GaussianProcess.weight_covariates#

Covariates for each group.

GaussianProcess.weight_covariates_names#

Covariate names for each group where they could be inferred from the input.

GaussianProcess.weight_gp_group_correlation#

Between-group correlation for each factor.

GaussianProcess.weight_gp_lengthscale#

Inferred lengthscales for each factor.

GaussianProcess.weight_gp_scale#

Inferred variance scales (smoothness) for each factor.

Methods#

GaussianProcess.get_factor_gps(moment='mean', x=None, batch_size=None, ordered=False)#

Get all latent functions.

Parameters:
  • moment (Literal['mean', 'std'] (default: 'mean')) – Which moment of the posterior distribution to return.

  • x (Mapping[str, ndarray | Tensor] | None (default: None)) – Covariate values for each group. If None, will return latent function values at covariate coordinates used for training.

  • batch_size (int | None (default: None)) – Minibatch size. Only has an effect if x is not None. Defaults to the minibatch size used for training.

  • ordered (bool (default: False)) – Whether to return the factors ordered by explained variance (highest to lowest).

Return type:

Mapping[str, DataFrame]

GaussianProcess.get_weight_gps(moment='mean', x=None, batch_size=None, ordered=False)#

Get all latent functions.

Parameters:
  • moment (Literal['mean', 'std'] (default: 'mean')) – Which moment of the posterior distribution to return.

  • x (Mapping[str, ndarray | Tensor] | None (default: None)) – Covariate values for each group. If None, will return latent function values at covariate coordinates used for training.

  • batch_size (int | None (default: None)) – Minibatch size. Only has an effect if x is not None. Defaults to the minibatch size used for training.

  • ordered (bool (default: False)) – Whether to return the factors ordered by explained variance (highest to lowest).

Return type:

Mapping[str, DataFrame]