Linéarité de la PCA

35

La PCA est considérée comme une procédure linéaire, toutefois:

PCA(X)PCA(X1)+PCA(X2)++PCA(Xn),

. Cela revient à dire que les vecteurs propres obtenus par les PCA sur les matrices de données X i ne totalisent pas pour égaler les vecteurs propres obtenus par PCA sur la somme des matrices de données X i . Mais n'est-ce pas la définition d'une fonction linéaire f qui:X=X1+X2++XnXiXif

f(x+y)=f(x)+f(y)?

Alors, pourquoi PCA est-il considéré comme "linéaire" s'il ne satisfait pas à cette condition de base de la linéarité?

AlphaOmega
la source
J'ai déjà écrit ou entendu (désolé, je ne me souviens plus ni où ni quand) que PCA "appartient à la famille des procédures linéaires" car elle repose sur des dépendances linéaires entre variables. Il utilise la matrice de corrélation de Pearson et recherche des combinaisons linéaires de la variance la plus élevée.
Łukasz Deryło
4
La nature de cette question pourrait devenir un peu plus claire en envisageant le réglage beaucoup plus simple et routinier de la régression des moindres carrés ordinaires: il s'agit de l'archétype d'une procédure statistique linéaire. Néanmoins, le processus d'estimation des moindres carrés des coefficients est une fonction non linéaire manifestement de la matrice de données , comme attesté par la formule β = ( X ' X ) - 1 X ' y . (Notez qu'il s'agit d'une fonction linéaire du vecteur de réponse y .)Xβ^=(XX)1Xyy
whuber
4
Il peut être utile de rappeler que f (x) = x + 1 est aussi une "fonction linéaire" ... mais cela ne satisfait pas ce que vous venez de dire ... ce qui devrait expliquer quelque chose.
Mehrdad
C'est parce que (X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel Romon

Réponses:

39

f:xzRpRkx

z=f(x)=Vx.

kVRp×kXRn×pPCA()

V=PCA(X),
X24
l'amibe dit de réintégrer Monica
la source
Le fait que j'ai reçu 35 votes positifs pour cette réponse triviale est assez ridicule (et est principalement dû au fait que ce fil est dans le Hot Network Questions pendant un moment).
amibe dit de réintégrer Monica le
5

"Linéaire" peut signifier beaucoup de choses et n'est pas exclusivement employé de manière formelle.

La PCA n’est pas souvent définie comme une fonction au sens formel et elle n’est donc pas censée satisfaire aux exigences d’une fonction linéaire lorsqu'elle est décrite comme telle. Comme vous l'avez dit, il est plus souvent décrit comme une procédure et parfois un algorithme (bien que je n'aime pas cette dernière option). On dit souvent qu’il est linéaire de manière informelle et mal définie.

Xi

XifY(α)
αRkYkY

fi

fY(α)=i=1kαiYi
Y

Yαij

BroncoAbierto
la source
3

PCA fournit / est une transformation linéaire.

MPCA(X1+X2)M(X1+X2)=M(X1)+M(X2)

PCA(X1+X2)PCA(X1)PCA(X2)


A titre de comparaison, un exemple très simple d'un processus qui utilise une transformation linéaire mais n'est pas une transformation linéaire elle-même:

D(v)v[x,y]=[1,0]

D([1,1])[0,2]

et

D([0,1])[1,0]

mais

D([1,1]+[0,1]=[1,2])[0.78,2.09][1,2]

ce doublement de l'angle, qui implique le calcul des angles, n'est pas linéaire, et est analogue à l'affirmation de Amoeba, que le calcul du vecteur propre n'est pas linéaire

Sextus Empiricus
la source