/ / Cómo encontrar valores propios para matrices no cuadráticas - matlab, matriz, gráfico, pca, valor propio

cómo encontrar valores propios para la matriz no cuadrática: matlab, matriz, gráfica, pca, autovalor

Quiero hacer gráficos similares a este dado en la imagen: enter image description here

Estoy utilizando los datos de Fisher Iris y empleo PCA para reducir la dimensionalidad. este es el código:

load fisheriris
[pc,score,latent,tsquare,explained,mu] = princomp(meas);

Supongo que los valores propios se dan en latente, que me muestra solo cuatro características y se trata de datos reducidos.

Mi pregunta es cómo mostrar todos los valores propios de la matriz original, que no es cuadrático (150x4). ¡Por favor ayuda! ¡Muchas gracias por adelantado!

Respuestas

6 para la respuesta № 1

La respuesta corta (e inútil) es que la [V, D]La función eig (_) le da los vectores propios y los valores propios. Sin embargo, me temo que tengo malas noticias para usted. Los valores propios y los vectores propios solo existen para las matrices cuadradas, así que hay no eigenvectores para su matriz de 150x4.

No todo está perdido. PCA en realidad usa los valores propios de la matriz de covarianza, no de la matriz original, y la matriz de covarianza es siempre cuadrada. Es decir, si tiene una matriz A, la matriz de covarianza es AAT.

La matriz de covarianza no es solo cuadrada, essimétrico. Esto es bueno, porque los valores singulares de una matriz están relacionados con los valores propios de su matriz de covarianza. Verifique el siguiente código de Matlab:

A = [10 20 35; 5 7 9]; % A rectangular matrix
X = A*A";              % The covariance matrix of A

[V, D] = eig(X);       % Get the eigenvectors and eigenvalues of the covariance matrix
[U,S,W] = svd(A);      % Get the singular values of the original matrix

V es una matriz que contiene los vectores propios, y D contiene los valores propios. Ahora, la relación:

SST ~ D

U ~ V

Uso "~" para indicar que mientras están"Igual", el signo y el orden pueden variar. No hay un orden o signo "correcto" para los vectores propios, por lo que cualquiera de los dos es válido. Sin embargo, desafortunadamente, solo tendrá cuatro funciones (a menos que su matriz esté destinada a ser al revés).