SVD de una matriz de datos (PCA) después del suavizado

8

Digamos que tengo un n×m matriz de datos centrada A con SVD A=UΣVT.

Por ejemplo, m=50 columnas (medidas) que son espectros con n=100diferentes frecuencias La matriz está centrada de modo que las filas de la matriz tienen sus medias restadas. Esto es para interpretar los vectores singulares izquierdos como componentes principales.

Estoy interesado en comprender cómo cambia la SVD cuando suavizo cada vector de columna. Por ejemplo, suavicemos cada columna de 100x1 por un núcleo simple como [1/3, 2/3, 1/3].

S=[23131323131323131323131323131323]

Entonces la nueva matriz de datos es A=SA y tiene algo de SVD A=UΣVT.

Mi primer pensamiento fue que desde SA=SUΣVT, Debería esperar el Ui vectores para ser suavizados al igual que el Ai vectores

Esta primera ecuación se parece a la (SU)i son vectores propios de AAT:

SA(SA)T=SUΣΣTUTST

Pero no estoy seguro acerca de este próximo si es válido decir que el Vi son vectores propios de ATA:

(SA)TSA=VΣTUTSTSUΣVT

Cuando comparo SVDs de A y A numéricamente, los vectores singulares izquierdos no son lo que espero, USU, pero tienen una apariencia suave.

¿Alguien puede ayudarme a relacionarme? UΣVT y la SVD UΣVT después de esta simple transformación?

andy
fuente

Respuestas:

8

Por qué tus primeros pensamientos te llevaron por mal camino:

Cuando tomas la SVD de una matriz, U y Vson unitarios (ortogonales) Entonces, si bien es cierto queSUNA=SUΣVT, esa no es (generalmente) la SVD deSUNA. Sólo siS es unitario (que en el caso de una matriz de suavizado, no lo es) ¿sería cierto que U=SU.

¿Hay alguna forma elegante y simbólica de relacionar las dos SVD? No puedo encontrar uno. Sin embargo, su matriz de suavizado es una matriz de Toeplitz. Es posible que tales matrices tengan algunas propiedades especiales que podrían hacer un análisis más fructífero. Si descubres algo, compártelo con el resto.

El caso de suavizado extremo:

Una forma de pensar sobre el suavizado es un continuo desde el no suavizado hasta el extremo donde suavizamos cada columna a su valor medio. Ahora, en ese caso extremo, la matriz tendría un rango de 1, y solo habría un valor singular distinto de cero. Veamos la SVD:

[μ1μ2...μmetro]=[μμ...]=1μT=1norte[μnorte]μTμ

La última ecuación representa la SVD truncada. Tenga en cuenta que los vectores izquierdo y derecho son de longitud 1. Puede expandir1norteen una matriz ortogonal. Similarmente paraμμ. Luego, simplemente rellena con cero la matriz del medio, y obtienes la SVD completa.

Alisado intermedio

Presumiblemente no vas a hacer un suavizado tan extremo. ¿Entonces que significa esto para usted? A medida que ampliamos el suavizado, el espectro se reduce gradualmente a un solo valor. Por ejemplo, en mis simulaciones *:

Espectro normal Spectrum Ortho

Como sugiere la derivación anterior, U1 se acercará al vector 1 normado, y V1se acercará al vector medio normado. ¿Pero qué hay de los otros vectores?

A medida que se reducen sus valores singulares correspondientes, el otro Uyo's y Vyo's variará cada vez más salvajemente hasta que sean solo opciones arbitrarias para las bases de los subespacios ortogonales a U1 y V1. Es decir, se convertirá en ruido.

Si necesita algo de intuición de por qué son "solo ruido", tenga en cuenta que SUNA es una suma ponderada de díadas: σyoUyoVyoT. Podríamos cambiar completamente las direcciones deUyo y Vyo, y solo afectará las entradas de SUNA por menos de σyo.

Otra visualización

Aquí hay otra forma de ver el suavizado de columnas. Imagen de cada fila en la matriz como un punto enmetro-espacio. A medida que suavizamos las columnas, cada punto se acercará al punto anterior y al siguiente. En general, la nube de puntos se reduce †:

Nube de puntos de fila

¡Espero que esto ayude!

[*]: Definí una familia de suavizadores cada vez más amplios. Hablando en términos generales, tomé el núcleo [1/4, 1/2, 1/4], lo envolvíz veces, lo recorté a re dimensiones, y normalizado por lo que se suma a 1. Luego graficé el suavizado progresivo de una matriz ortogonal aleatoria y una matriz normal aleatoria.

[†]: suavizadores generados de la misma manera. UNA se construye como una serie de puntos en 2-espacio que parece interesante.

Stumpy Joe Pete
fuente