La riduzione dimensionale perde sempre alcune informazioni?


10

Come dice il titolo, la riduzione dimensionale perde sempre alcune informazioni? Considera ad esempio PCA. Se i dati che ho sono molto scarsi, suppongo che si possa trovare una "codifica migliore" (è in qualche modo correlata al rango dei dati?) E nulla andrebbe perso.


7
No, certo che no: alcuni dei valori singolari in PCA possono essere veri zeri, per esempio. Ciò è meno correlato alla "scarsità" dei dati rispetto al fatto che essi "compilino" le dimensioni utilizzate per registrarli.
whuber

1
Ok capisco. Potresti scrivere il tuo commento come una breve risposta (forse anche con un piccolo esempio, se hai tempo)?
chiedendomi il

1
Considera il caso in cui hai dati bidimensionali, in cui il valore y per ogni punto è '0'. Il tuo primo componente principale sarà l'asse X e non perderai nulla proiettando i tuoi dati in questa singola dimensione perché in realtà è già unidimensionale.
David Marx,

Risposte:


9

La riduzione dimensionale non sempre perde informazioni. In alcuni casi, è possibile rappresentare nuovamente i dati in spazi di dimensione inferiore senza eliminare alcuna informazione.

Supponiamo di avere alcuni dati in cui ogni valore misurato è associato a due covariate ordinate. Ad esempio, supporti misurata la qualità del segnale (indicato dal colore bianco = buono, nero = cattivo) su una fitta griglia di e posizioni relative ad alcuni emettitore. In tal caso, i tuoi dati potrebbero assomigliare al diagramma a sinistra [* 1]:xQxy

demo della media radiale

È, almeno superficialmente, un dato bidimensionale: . Tuttavia, potremmo conoscere a priori (in base alla fisica sottostante) o supporre che dipenda solo dalla distanza dall'origine: r = . (Alcune analisi esplorative potrebbero anche portare a questa conclusione se anche il fenomeno di base non è ben compreso). Potremmo quindi riscrivere i nostri dati come anziché , il che ridurrebbe effettivamente la dimensionalità fino a una singola dimensione. Ovviamente, questo è senza perdite solo se i dati sono radicalmente simmetrici, ma questo è un presupposto ragionevole per molti fenomeni fisici.Q(x,y) Q(r)Q(x,y)x2+y2Q(r)Q(x,y)

Questa trasformazione non è lineare (c'è una radice quadrata e due quadrati!), Quindi è leggermente diversa dal tipo di riduzione della dimensionalità eseguita da PCA, ma penso che sia una buona esempio di come a volte è possibile rimuovere una dimensione senza perdere alcuna informazione.Q(x,y)Q(r)

Per un altro esempio, supponiamo di eseguire una decomposizione del valore singolare su alcuni dati (SVD è un cugino stretto dell'analisi dei componenti principali, e spesso l'intestino sottostante). SVD prende la tua matrice di dati e la suddivide in tre matrici in modo tale che . Le colonne di U e V sono i vettori singolari sinistro e destro, rispettivamente, che formano una serie di basi ortonormali per . Gli elementi diagonali di (cioè sono valori singolari, che sono in effetti pesi sulla base impostata formata dalle corrispondenti colonne di e (il resto diM = U S V T M S S i , i ) i U V SMM=USVTMSSi,i)iUVSè zeri). Di per sé, questo non ti dà alcuna riduzione di dimensionalità (in effetti ora ci sono 3 matrici invece della singola matrice hai iniziato). Tuttavia, a volte alcuni elementi diagonali di sono zero. Ciò significa che le basi corrispondenti in e non sono necessarie per ricostruire , e quindi possono essere eliminate. Ad esempio, supponiamo cheN x N S U V M Q ( x , y )NxNNxNSUVMQ(x,y)la matrice sopra contiene 10.000 elementi (ovvero 100x100). Quando eseguiamo un SVD su di esso, troviamo che solo una coppia di vettori singolari ha un valore diverso da zero [* 2], quindi possiamo rappresentare nuovamente la matrice originale come il prodotto di due vettori di 100 elementi (200 coefficienti, ma puoi effettivamente fare un po 'meglio [* 3]).

Per alcune applicazioni, sappiamo (o almeno assumiamo) che le informazioni utili siano acquisite dai componenti principali con valori singolari elevati (SVD) o caricamenti (PCA). In questi casi, potremmo scartare i singoli vettori / basi / componenti principali con carichi più piccoli anche se sono diversi da zero, sulla base della teoria che contengono un rumore fastidioso anziché un segnale utile. Ho visto occasionalmente persone rifiutare componenti specifici in base alla loro forma (ad esempio, assomiglia a una fonte nota di rumore additivo) indipendentemente dal caricamento. Non sono sicuro che lo consideri una perdita di informazioni o meno.

Ci sono alcuni risultati chiari sull'ottimalità teorica dell'informazione del PCA. Se il tuo segnale è gaussiano e corrotto da rumore gaussiano additivo, PCA può massimizzare le informazioni reciproche tra il segnale e la sua versione ridotta in termini di dimensionalità (supponendo che il rumore abbia una struttura di covarianza identica all'identità).


Note:

  1. Questo è un modello di formaggio e totalmente non fisico. Scusate!
  2. A causa dell'imprecisione in virgola mobile, alcuni di questi valori saranno invece diversi da zero.
  3. A ulteriore esame, in questo caso particolare , i due vettori singolari sono gli stessi E simmetrici rispetto al loro centro, quindi potremmo effettivamente rappresentare l'intera matrice con solo 50 coefficienti. Si noti che il primo passaggio esce automaticamente dal processo SVD; il secondo richiede un controllo / un salto di fede. (Se vuoi pensarci in termini di punteggi PCA, la matrice dei punteggi è solo dalla decomposizione originale SVD; argomenti simili sugli zeri non contribuiscono affatto).US

Non penso che il tuo grafico sia giusto. 1) È un'ellisse non un cerchio, quindi cambierà in base all'angolo con gli assi. Ma questo potrebbe essere un artefatto. 2) Un PCA in cui alcuni degli autovalori sono 0 indica collinearità nei dati; questa sarebbe una trama che è una linea retta, non una protuberanza sferica. 3) Nella vita reale, i dati non sono mai perfettamente simmetrici comunque. I(r)
Hong Ooi,

In particolare, nota che nel tuo esempio. Questa è una combinazione non lineare delle variabili, quindi non è rilevante quando si parla di PCA (che rileverebbe combinazioni lineari nei dati). r=(x2+y2)
Hong Ooi,

1
Matt, la mia domanda è stata davvero questa: ci mostri un'immagine senza alcuna descrizione o riferimento e la riferisci come "dati": vorrei sapere in che senso la pensi come dati. Il tuo commento confonde questo problema, perché una rappresentazione di "mappa di calore" di solito non è un dato, ma è qualcosa che viene creato dai dati. Se questi fossero dati di punti 2D irregolari, ad esempio, e ad essi si adatta una densità radialmente simmetrica, l' immagine potrebbe essere interpretata come unidimensionale, come si sostiene, ma non sarebbe una riduzione dimensionale senza perdita di dati .
whuber

1
Forse avrei dovuto dire invece "grigliato" o "raster". Stavo immaginando una situazione in cui i dati sono raccolti su una griglia e ogni punto della griglia è associato a un valore (scalare), ma i valori non sono necessariamente intensità della luce come in un'immagine (fotografica). Detto questo, chiaramente non sto scuotendo questa risposta - fammi provare a modificarla in qualcosa di più coerente!
Matt Krause,

2
+1: le modifiche rendono i tuoi punti molto più chiari. Grazie per lo sforzo extra!
whuber

4

Penso che la domanda dietro la tua domanda sia "cosa rende le informazioni?". Ottima domanda.

Tecnicità grammaticale:

PCA perde sempre informazioni? No. A volte perde informazioni? Youbetcha. È possibile ricostruire i dati originali dai componenti. Se perdesse sempre informazioni, ciò non sarebbe possibile.

È utile perché spesso non perde informazioni importanti quando le si utilizza per ridurre la dimensione dei dati. Quando perdi dati, spesso sono i dati a frequenza più alta e spesso meno importanti. Le tendenze generali su larga scala sono catturate nei componenti associati agli autovalori più grandi.


4

n×p

Nel caso più semplice, se una dimensione è una combinazione lineare delle altre, è possibile ridurre la dimensionalità di una senza perdere alcuna informazione, poiché la dimensione rilasciata potrebbe essere ricreata, se necessario, da ciò che resta.

Considera questo caso tridimensionale in cui x3 è una combinazione lineare esatta di x1 e x2. Non è ovvio dal bulbo oculare dei dati originali, anche se è chiaro che x3 è correlato ad entrambi gli altri due:

inserisci qui la descrizione dell'immagine

Ma se guardiamo i componenti principali, il terzo è zero (all'interno dell'errore numerico).

inserisci qui la descrizione dell'immagine

La trama dei primi due componenti principali è la stessa della trama di x1 contro x2, appena ruotata (ok, non così ovvio intendevo, proverò a spiegare meglio in seguito) :

inserisci qui la descrizione dell'immagine

Abbiamo ridotto la dimensionalità di uno pur mantenendo tutte le informazioni, con qualsiasi definizione ragionevole.

Ciò si estende anche oltre la riduzione dimensionale lineare, sebbene sia naturalmente più complesso illustrarlo. Il punto è che la risposta globale è "no", non quando alcune dimensioni sono funzioni di una combinazione delle altre.

Codice R:

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
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.