Be the first to rate this file! 952 downloads (last 30 days) File Size: 4.73 KB File ID: #21524

Principal Component Analysis

by Mark Tygert

 

23 Sep 2008 (Updated 03 Nov 2008)

Efficient, accurate principal component analysis

Download Now | Watch this File

File Information
Description

The enclosed function PCA implements what is probably the method of choice for computing principal component analyses fairly efficiently, while guaranteeing nearly optimal accuracy. The enclosed function DIFFSNORM provides an efficient, reliable means for checking the accuracies of the low-rank approximations produced by PCA (often the accuracies are slightly better than recently proven bounds guarantee).  
 
Though recently obtained proofs guarantee the accuracy and efficiency of the algorithms implemented in these functions, the enclosed m-files should be considered to be in the beta-testing phase. Although the author has subjected the routines to a battery of tests, he would not be surprised if the functions respond inappropriately to sufficiently bizarre errant input.  
 
Please note that these functions are tailored for the low-rank approximation of large matrices (both dense and sparse).

MATLAB release MATLAB 7.6 (R2008a)
Zip File Content  
Other Files pca.m,
diffsnorm.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (1)
26 Sep 2008 Mark Tygert Sometimes the QR decomposition in the function PCA takes inordinately long compared to squaring a matrix of the same size. This presumably will not change until the recently introduced communication-avoiding QR decompositions become part of the LAPACK suites.
Please login to add a comment or rating.
Updates
25 Sep 2008 Improvements to the documentation and slight performance enhancement
25 Sep 2008 Minor bug fix
26 Sep 2008 Performance enhancement
29 Sep 2008 Performance enhancement
29 Sep 2008 Performance enhancement
10 Oct 2008 Enhancement for complex arithmetic
13 Oct 2008 The zip file did not get updated during my last submission
13 Oct 2008 Improved documentation
16 Oct 2008 Updated documentation
03 Nov 2008 Improved memory management

Public Submission Policy

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Disclaimer prior to use.

Contact us at files@mathworks.com