EMPCA

Expectation-Maximization Principal Component Analysis

You are now following this Submission

EMPCA calculates principal components using an expectation maximization algorithm to find each component in the residual matrix after substracting the previously converged principal components.
EMPCA_W accepts a weight matrix to use in the weighted EM algorithm.
EMPCA_NAN accepts a data matrix with nans to use in the missing data EM algorithm.
An informative message reports the number of EM iterations computed for each component, revealing if the convergence was achieved under a certain tolerance, or if the iterations were stopped after a maximum number.
This implementation is especially useful to handle large matrices, and runs fast on gpuArray matrices.
The algorithm is described in
Bailey, Stephen. "Principal Component Analysis with Noisy and/or Missing Data." Publications of the Astronomical Society of the Pacific 124.919 (2012): 1015-1023.
http://arxiv.org/pdf/1208.4122v2.pdf

Cite As

Vicente Parot (2026). EMPCA (https://www.mathworks.com/matlabcentral/fileexchange/45353-empca), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.6.0.0

Added missing data and weights handling, and a test script with a syntax example.

1.5.0.0

Minor changes

1.4.0.0

Updated description

1.3.0.0

Updated documentation.

1.2.0.0

Improved class support on CPU/GPU and convergence criterion