bpca._core.BPCAFit#

class bpca._core.BPCAFit(X, n_latent=50, max_iter=1000, tolerance=0.0001)#

Bayesian principal component analysis fitting procedure

Fits the model with an EM-procedure

  1. Initialization

  2. Run until convergence
    1. E-step (latent variable z computation)

    2. M-Step (update weights, ARD parameter alpha, unexplained variance sigma)

  3. Report

Examples

from bpca._core import BPCAFit
from sklearn.datasets import load_iris

iris_dataset = load_iris()
X = iris_dataset["data"] # (n_obs, n_var)
bpca = BPCAFit(X=X, n_latent=None)
bpca.fit()
usage = bpca.z # (n_components, n_latent)
weights = bpca.weights  # (n_var, n_latent)

Citation#

  • Bishop, C. Bayesian PCA. in Advances in Neural Information Processing Systems vol. 11 (MIT Press, 1998).

  • Oba, S. et al. A Bayesian missing value estimation method for gene expression profile data. Bioinformatics 19, 2088 - 2096 (2003).

  • Stacklies, W., Redestig, H., Scholz, M., Walther, D. & Selbig, J. pcaMethods—a bioconductor package providing PCA methods for incomplete data. Bioinformatics 23, 1164 - 1167 (2007).

Attributes table#

BETA_ALPHA0

Uninformed prior for beta parameter of gamma distribution for alpha parameter

BETA_TAU0

Uninformed prior for beta parameter of gamma distribution for tau parameter

GAMMA_ALPHA0

Uninformed prior for gamma parameter of gamma distribution for alpha parameter

GAMMA_MU0

Hyperparameter for tau update

GAMMA_TAU0

Uninformed prior for gamma parameter of gamma distribution for tau parameter

MAX_RESIDUAL_VARIANCE

MIN_RESIDUAL_VARIANCE

n_iter

Number of iterations until convergence

Methods table#

fit()

Fit model

Attributes#

BPCAFit.BETA_ALPHA0 = 1.0#

Uninformed prior for beta parameter of gamma distribution for alpha parameter

BPCAFit.BETA_TAU0 = 1.0#

Uninformed prior for beta parameter of gamma distribution for tau parameter

BPCAFit.GAMMA_ALPHA0 = 1e-10#

Uninformed prior for gamma parameter of gamma distribution for alpha parameter

BPCAFit.GAMMA_MU0 = 0.001#

Hyperparameter for tau update

BPCAFit.GAMMA_TAU0 = 1e-10#

Uninformed prior for gamma parameter of gamma distribution for tau parameter

BPCAFit.MAX_RESIDUAL_VARIANCE = 10000000000.0#
BPCAFit.MIN_RESIDUAL_VARIANCE = 1e-10#
BPCAFit.n_iter#

Number of iterations until convergence

Methods#

BPCAFit.fit()#

Fit model