How do i obtain only the first principal component?
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
sidra
el 1 de Oct. de 2013
Respondida: Andrew Knyazev
el 12 de Ag. de 2018
For certain measurements i need to obtain only the numeric value of the first principal component from the matrix. Can someone please tell me how do i go about it?
Respuesta aceptada
Jan
el 23 de Oct. de 2013
Editada: Jan
el 23 de Oct. de 2013
I'm not sure, if I fully understand your question. I doubt however, that there is a straightforward method for calculating the eigenvector corresponding to the largest eigenvalue of the covariance matrix without calculating all eigenvalues first (at least not for non-sparse matrices).
If you want the first principal component of the (m x n)-matrix A containing m measurements as row vectors you would in general do the following:
A = randn(100, 20); % artificial sample matrix
c_A = cov(A);
[V, ~], eigs( c_A );
p_1 = V( :, 1 );
which gives you the direction of the first principal component in the variable p_1.
Más respuestas (1)
Andrew Knyazev
el 12 de Ag. de 2018
https://www.mathworks.com/matlabcentral/fileexchange/48-lobpcg-m can be used as the method for calculating the eigenvector corresponding to the largest eigenvalue of the covariance matrix without calculating all eigenvalues, or even without explicitly calculating the covariance matrix itself.
0 comentarios
Ver también
Categorías
Más información sobre Dimensionality Reduction and Feature Extraction en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!