SVD d'une matrice de données (PCA) après lissage

8

Disons que j'ai une matrice de données centrée avec SVD .n×mAA=UΣVT

Par exemple, colonnes (mesures) qui sont des spectres avec n = 100 fréquences différentes. La matrice est centrée de sorte que les lignes de la matrice ont leur moyenne soustraite. C'est pour interpréter les vecteurs singuliers gauches comme composants principaux.m=50n=100

Je suis intéressé à comprendre comment la SVD change lorsque je lisse chaque vecteur de colonne. Par exemple, lissons chaque colonne de 100x1 par un simple noyau comme [1/3, 2/3, 1/3].

S=[23131323131323131323131323131323]

Ainsi, la nouvelle matrice de données est A=SA et possède un SVD A=UΣVT .

Ma première pensée a été que depuis SA=SUΣVT , je devrais m'attendre à ce que les vecteurs Ui soient lissés comme les vecteurs Ai .

Cette première équation ressemble aux (SU)i sont des vecteurs propres de AAT :

SA(SA)T=SUΣΣTUTST

Mais je ne suis pas sûr de ce prochain s'il est valide de dire que les Vi sont des vecteurs propres de ATA :

(SA)TSA=VΣTUTSTSUΣVT

Lorsque je compare numériquement les SVD de A et A , les vecteurs singuliers de gauche ne sont pas ce que j'attends, USU , mais ils ont une apparence lissée.

Quelqu'un peut-il m'aider à relier et le SVD après cette simple transformation?UΣVTUΣVT

Andy
la source

Réponses:

8

Pourquoi vos premières pensées vous ont égaré:

Lorsque vous prenez la SVD d'une matrice, et sont unitaires (orthogonales). Donc, alors qu'il est vrai que , ce n'est pas (généralement) le SVD de . Ce n'est que si est unitaire (ce qui n'est pas le cas dans le cas d'une matrice de lissage) qu'il serait vrai que .UVSA=SUΣVTSASU=SU

Existe-t-il une manière élégante et symbolique de relier les deux SVD? Je n'en trouve pas. Cependant, votre matrice de lissage est une matrice de Toeplitz. Il est possible que de telles matrices aient des propriétés spéciales qui pourraient rendre une analyse plus fructueuse. Si vous trouvez quelque chose, veuillez le partager avec nous.

Le cas du lissage extrême:

Une façon de penser au lissage est un continuum sans lissage à l'extrême où nous lissons chaque colonne à sa valeur moyenne. Maintenant, dans ce cas extrême, la matrice aurait un rang de 1 et il n'y aurait qu'une seule valeur singulière non nulle. Regardons le SVD:

[μ1μ2...μm]=[μμ...]=1μT=1n[μn]μTμ

La dernière équation représente la SVD tronquée. Notez que les vecteurs gauche et droit sont de longueur 1. Vous pouvez développer dans une matrice orthogonale. De même pour . Ensuite, mettez à zéro la matrice du milieu et vous avez le SVD complet.1nμμ

Lissage intermédiaire

Vraisemblablement, vous n'allez pas faire un lissage aussi extrême. Alors qu'est-ce que cela signifie pour vous? À mesure que nous élargissons le lissage, le spectre diminue progressivement jusqu'à une valeur unique. Par exemple, dans mes simulations *:

Spectre normal Spectrum Ortho

Comme suggéré par la dérivation ci-dessus, s'approchera du vecteur normalisé 1 et s'approchera du vecteur moyen normé. Mais qu'en est-il des autres vecteurs?U1V1

Au fur et à mesure que leurs valeurs singulières correspondantes rétrécissent, les autres et varieront de façon encore plus folle jusqu'à ce qu'ils ne soient que des choix arbitraires pour les bases des sous-espaces orthogonaux à et . C'est-à-dire, le va juste devenir du bruit.UiViU1V1

Si vous avez besoin d'une certaine intuition pour expliquer pourquoi ils sont "juste du bruit", considérez que est une somme pondérée de dyades: . Nous pourrions changer complètement les directions de et , et cela n'affectera que les entrées de par moins de .SAσiUiViTUiViSAσi

Une autre visualisation

Voici une autre façon de voir le lissage des colonnes. Imaginez chaque ligne de la matrice comme un point dans l' espace . À mesure que nous lissons les colonnes, chaque point se rapproche du point précédent et suivant. Dans l'ensemble, le nuage de points se rétrécit †:m

Nuage de points de ligne

J'espère que cela t'aides!

[*]: J'ai défini une famille de lisseurs de plus en plus larges. En gros, j'ai pris le noyau [1/4, 1/2, 1/4], je l'ai convolué fois, je l'ai découpé en dimensions et normalisé pour qu'il se résume à 1. Puis j'ai tracé le graphique du lissage progressif d'un orthogonal aléatoire et une matrice normale aléatoire.zd

[†]: Des lisseurs générés de la même manière. est construit comme une série de points dans espaces qui semblent intéressants.A2

Stumpy Joe Pete
la source