Linearità della PCA


35

La PCA è considerata una procedura lineare, tuttavia:

PCUN(X)PCUN(X1)+PCUN(X2)+...+PCUN(Xn),

dove . Ciò significa che gli autovettori ottenuti dai PCA sulle matrici di dati non si sommano per uguagliare gli autovettori ottenuti dal PCA sulla somma delle matrici di dati . Ma non è la definizione di una funzione lineare che:X=X1+X2+...+XnXioXiof

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

Quindi perché la PCA è considerata "lineare" se non soddisfa questa condizione di linearità di base?


Una volta ho scritto o sentito (scusate, non ricordo dove o quando), che PCA "appartiene alla famiglia di procedure lineari" perché si basa su dipendenze lineari tra le variabili. Utilizza la matrice di correlazione di Pearson e cerca combinazioni lineari di varianza più elevata.
Łukasz Deryło,

4
La natura di questa domanda potrebbe diventare un po 'più chiara contemplando l'impostazione molto più semplice e ordinaria della regressione dei minimi quadrati ordinari: questo è l'archetipo di una procedura statistica lineare. Tuttavia, il processo di stima minimi quadrati coefficienti è una funzione non lineare manifestamente della matrice dei dati X , come attestato dalla formula β = ( X ' X ) - 1 x ' y . (Si noti che è una funzione lineare del vettore di risposta y .)β^=(XX)1Xyy
whuber

4
Vale la pena ricordare che f (x) = x + 1 è anche una "funzione lineare" ... ma non soddisfa ciò che hai appena detto ... che dovrebbe spiegare qualcosa.
Mehrdad,

Questo perché (X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel Romon

Risposte:


39

Quando diciamo che PCA è un metodo lineare, ci riferiamo alla mappatura di riduzione dimensionale dallo spazio ad alta dimensione R p a uno spazio a dimensione inferiore R k . Nella PCA, questa mappatura è data dalla moltiplicazione di x per la matrice degli autovettori PCA e quindi è manifestamente lineare (la moltiplicazione della matrice è lineare): z = f ( x ) = Vx . Ciò è in contrasto con i metodi non lineari di riduzione della dimensionalità , in cui la mappatura di riduzione della dimensionalità può essere non lineare.f:xzRpRkx

z=f(x)=Vx.

D'altra parte, i top autovettori VR p × k sono calcolati sulla base dei dati matrice XR n × p usando quello chiamato P C A ( ) nella domanda: V = P C A ( X ) , e questa mappatura è certamente non lineare: comporta il calcolo degli autovettori della matrice di covarianza, che è una procedura non lineare. (A titolo di esempio banale, moltiplicando X per 2kVRp×kXRn×pPCA()

V=PCA(X),
X2aumenta la matrice di covarianza di , ma i suoi autovettori rimangono gli stessi poiché sono normalizzati per avere unità di lunghezza.)4

Il fatto che io abbia ottenuto 35 voti positivi per questa banale risposta è piuttosto ridicolo (ed è principalmente dovuto al fatto che questo thread è nelle Hot Network Questions per un po ').
ameba dice Ripristina Monica il

5

"Lineare" può significare molte cose e non è impiegato esclusivamente in modo formale.

La PCA non è spesso definita come una funzione in senso formale, e pertanto non ci si aspetta che soddisfi i requisiti di una funzione lineare quando descritta come tale. È più spesso descritto, come hai detto, come una procedura e talvolta un algoritmo (anche se non mi piace quest'ultima opzione). Si dice spesso che sia lineare in un modo informale, non ben definito.

La PCA può essere considerata lineare, ad esempio, nel senso seguente. Appartiene ad una famiglia di metodi che ritengono che ciascuna variabile può essere approssimata da una funzione X if Y ( α ) dove α R k e Y è un insieme di k variabili con alcune proprietà desiderabili. Nel caso della PCA, Y è un insieme di variabili indipendenti che possono essere ridotte in cardinalità con una perdita minima nella precisione di approssimazione in un senso specifico. Quelle sono proprietà desiderabili in numerosi contesti.Xi

XifY(α)
αRkYkY

Ora, per PCA, ogni è limitato alla forma f Y ( α ) = k Σ i = 1 α i Y i che è una combinazione lineare delle variabili in Y .fi

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

Data questa restrizione, offre una procedura per trovare i valori ottimali (in un certo senso) di e degli α i j . Cioè, PCA considera le funzioni lineari solo come ipotesi plausibili. In questo senso, penso che possa essere legittimamente descritto come "lineare".Yαij


3

PCA fornisce / è una trasformazione lineare.

Se prendi la mappa associata a una particolare analisi, dì quindi M ( X 1 + X 2 ) = M ( X 1 ) + M ( X 2 ) .MPCUN(X1+X2)M(X1+X2)=M(X1)+M(X2)

PCUN(X1+X2)PCUN(X1)PCUN(X2)


A titolo di confronto, un esempio molto semplice di un processo che utilizza una trasformazione lineare ma non è una trasformazione lineare stessa:

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

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

e

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

ma

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

questo raddoppio dell'angolo, che comporta il calcolo degli angoli, non è lineare ed è analogo all'affermazione dell'ameba, che il calcolo dell'autovettore non è lineare

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.