plotting.observation#

Visualization functions for observation model results.

Functions

plot_dimensionalities

Plot the number of each dimension type.

plot_var_exp

Plot shared variance explained by each dimension type.

plot_dims_pairs

Visualize pairwise dimensionality analysis.

plot_var_exp_pairs

Visualize pairwise shared variance analysis.


plot_dimensionalities(
num_dim: ndarray,
dim_types: ndarray,
sem_dim: ndarray | None = None,
group_names: list[str] | None = None,
plot_zero_dim: bool = False,
ax: Axes | None = None,
) None[source]#

Plot the number of each dimension type.

Parameters:
num_dimndarray of shape (n_dim_types,)

Number of each dimension type.

dim_typesndarray of shape (n_groups, n_dim_types)

Binary array indicating which groups are involved in each dimension type.

sem_dimndarray or None, default None

Standard error of the mean for each dimension type, shape (n_dim_types,).

group_nameslist of str or None, default None

List of group names for labeling. If None, uses “1”, “2”, etc.

plot_zero_dimbool, default False

Whether to plot dimension types with zero cardinality.

axAxes or None, default None

Axes on which to draw. If None, uses current axes.

Examples

>>> num_dim, _, _, dim_types = model.obs_posterior.compute_dimensionalities()
>>> plot_dimensionalities(num_dim, dim_types)
plot_var_exp(
var_exp: ndarray,
dim_types: ndarray,
sem_var_exp: ndarray | None = None,
group_names: list[str] | None = None,
plot_zero_dim: bool = False,
fig: Figure | None = None,
) None[source]#

Plot shared variance explained by each dimension type.

Parameters:
var_expndarray of shape (n_groups, n_dim_types)

Fraction of shared variance explained by each dimension type in each group.

dim_typesndarray of shape (n_groups, n_dim_types)

Binary array indicating which groups are involved in each dimension type.

sem_var_expndarray or None, default None

Standard error of the mean for variance explained, shape (n_groups, n_dim_types).

group_nameslist of str or None, default None

List of group names for labeling. If None, uses “1”, “2”, etc.

plot_zero_dimbool, default False

Whether to plot dimension types with zero cardinality.

figFigure or None, default None

Figure on which to draw. If None, uses current figure.

Examples

>>> _, _, var_exp, dim_types = model.obs_posterior.compute_dimensionalities()
>>> plot_var_exp(var_exp, dim_types)
plot_dims_pairs(
pair_dims: ndarray,
pairs: ndarray,
n_groups: int,
sem_pair_dims: ndarray | None = None,
group_names: list[str] | None = None,
fig: Figure | None = None,
) None[source]#

Visualize pairwise dimensionality analysis.

Parameters:
pair_dimsndarray of shape (n_pairs, 3)

Dimensionalities for each pair: [total_group1, shared, total_group2].

pairsndarray of shape (n_pairs, 2)

Indices of groups in each pair.

n_groupsint

Total number of groups.

sem_pair_dimsndarray or None, default None

Standard error of the mean for pairwise dimensionalities, shape (n_pairs, 3).

group_nameslist of str or None, default None

List of group names for labeling. If None, uses “1”, “2”, etc.

figFigure or None, default None

Figure on which to draw. If None, uses current figure.

Examples

>>> from latents.observation import ObsParamsPosterior
>>> num_dim, _, var_exp, dim_types = obs_posterior.compute_dimensionalities()
>>> pair_dims, _, pairs = ObsParamsPosterior.compute_dims_pairs(
...     num_dim, dim_types, var_exp
... )
>>> plot_dims_pairs(pair_dims, pairs, n_groups=len(obs_posterior.y_dims))
plot_var_exp_pairs(
pair_var_exp: ndarray,
pairs: ndarray,
n_groups: int,
sem_pair_var_exp: ndarray | None = None,
group_names: list[str] | None = None,
fig: Figure | None = None,
) None[source]#

Visualize pairwise shared variance analysis.

Parameters:
pair_var_expndarray of shape (n_pairs, 2)

Fraction of shared variance explained for each group in each pair.

pairsndarray of shape (n_pairs, 2)

Indices of groups in each pair.

n_groupsint

Total number of groups.

sem_pair_var_expndarray or None, default None

Standard error of the mean for pairwise variance explained, shape (n_pairs, 2).

group_nameslist of str or None, default None

List of group names for labeling. If None, uses “1”, “2”, etc.

figFigure or None, default None

Figure on which to draw. If None, uses current figure.

Examples

>>> from latents.observation import ObsParamsPosterior
>>> num_dim, _, var_exp, dim_types = obs_posterior.compute_dimensionalities()
>>> _, pair_var_exp, pairs = ObsParamsPosterior.compute_dims_pairs(
...     num_dim, dim_types, var_exp
... )
>>> plot_var_exp_pairs(pair_var_exp, pairs, n_groups=len(obs_posterior.y_dims))