Cosa sta facendo PCA con i dati autocorrelati?


9

Solo perché alcuni corrispondenti hanno posto una domanda interessante riguardo ai metodi di calcolo dell'autocorrelazione, ho iniziato a giocarci, quasi senza alcuna conoscenza delle serie temporali e dell'autocorrelazione.

Il corrispondente ha organizzato i suoi dati ( punti dati di una serie temporale) spostati di un intervallo di tempo ciascuno in modo da avere una matrice di dati (come ho capito lui) in cui la prima riga sono i dati originali, la seconda riga i dati sono stati spostati di unità di tempo, la riga successiva di un'altra e così via. L'ho realizzato anche incollando l'estremità alla coda, creando così set di dati "circolari".3232×321

Quindi, solo per vedere cosa ne potrebbe venire fuori, ho calcolato la matrice di correlazione e da questo i componenti principali. Sorprendentemente ho ottenuto l'immagine di una decomposizione di frequenza e (di nuovo con altri dati) una frequenza, dico che con un periodo nei dati erano nel primo componente principale e che con quattro periodi era nel secondo PC e così via (Ho ottenuto PC "rilevanti" con autovalore326>1). Innanzitutto ho pensato che ciò dipendesse dai dati di input, ma ora suppongo che sia sistematicamente così dalla speciale costruzione del set di dati con i suoi spostamenti circolari (noto anche come matrice "Toeplitz"). Le rotazioni della soluzione PC verso varimax o altri criteri di rotazione hanno dato risultati leggermente diversi e forse interessanti, ma in generale sembrano fornire una tale decomposizione in frequenza.

Ecco un link alle immagini che ho realizzato dal set di dati a ; le curve sono semplicemente fatte dai caricamenti della factormatrix: una curva i caricamenti su un fattore. La curva del primo PC1 dovrebbe mostrare le ampiezze più elevate (più o meno perché porta la somma più alta di quadrati di caricamento)32

Domande:

  • Q1: questa è una caratteristica di progettazione? (di PCA con questo tipo di set di dati)
  • D2: Questo approccio è davvero utilizzabile in qualche modo per un approccio serio all'analisi di frequenza / lunghezza d'onda?

[aggiorna] ecco il set di dati (spero che risulti essere copiabile per te)

-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4
-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5
-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3
0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1
2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0
4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2
6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4
5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6
3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5
1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3
1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1
0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1
-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0
-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2
-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3
0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1
3,5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0
5,7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3
7,6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5
6,7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7
7,5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6
5,4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7
4,3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5
3,2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4
2,3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3
3,5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2
5,4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3
4,3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5
3,2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4
2,3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3
3,4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2
4,-5,-3,-1,0,2,4,6,5,3,1,1,0,-2,-3,-1,0,3,5,7,6,7,5,4,3,2,3,5,4,3,2,3

Grazie @amoeba e per la grande modifica. Avevo visto solo due errori che volevo modificare in seguito, la domanda ora sembra molto più bella!
Gottfried Helms

Risposte:


4

Vorrei convertire il mio commento precedente in una risposta.

Immagina che le righe nella tua matrice di dati siano le variabili o i campioni? Presumo che siano campioni: cioè hai diverse serie temporali (campioni).n=32

Quindi, se tutte le righe sono identiche, ma spostate solo circolarmente di posizione ciascuna, la matrice Gram dei tuoi dati costituiti da prodotti punto tra tutte le coppie di righe avrà la struttura di Toeplitz: valori alti vicini al diagonale e gradualmente diminuendo a zero valori da esso. Le matrici di Toeplitz hanno modalità Fourier consecutive in quanto i loro autovettori (e gli autovettori della matrice Gram sono componenti principali, fino al ridimensionamento), quindi al tuo Q1: non sorprende che tu ottenga onde sinusoidali di frequenze crescenti come PC.1 n × nn=321n×n

Non ho idea se può essere utile (Q2). Nella mia esperienza, tende ad apparire come un artefatto fastidioso. Vale a dire che le persone hanno alcuni dati, ottengono qualcosa che assomiglia alle modalità di Fourier da PCA e iniziano a chiedersi cosa potrebbero significare, mentre sono semplicemente dovuti ad alcuni cambiamenti di tempo nelle serie storiche originali.


Bene, molto bene, grazie! Sì, ho pensato ai dati lungo le righe. Il Q2 arriva anche perché non ho mai capito fino a oggi come funziona esattamente l'analisi di Fourier - e per caso questo avrebbe potuto essere un passo in avanti per ottenere un po 'di intuizione (ma questa vaga speranza sembra davvero essere inutile qui ...)
Gottfried Helms il

A proposito, ti dispiacerebbe condividere le tue serie storiche a 32 valori? Vorrei inserire una figura che mostra la matrice Gram e potrei farlo direttamente con i tuoi dati.
amoeba,

Hai visto il link nella mia domanda? Reindirizza a una pagina Web che ho creato utilizzando exce.l Ha 4 o 5 sottopagine, che sono selezionabili da "firefox" nella mia installazione da un clik sulla barra delle schede nella parte inferiore dello schermo. La prima sottopagina mostra l'elenco dei dati. Comunque in verticale: si dovrebbe prenderlo come prima riga in una nuova tabella e aggiungere 31 righe mentre si scorre a destra. Se questo è scomodo, posso anche aggiungere i dati alla mia domanda ...
Gottfried Helms

Oh caspita, non mi rendevo conto che fosse un intero foglio di calcolo online, e non solo uno screenshot! Grazie.
amoeba,
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.