Kann PCA für Zeitreihendaten angewendet werden?

21

Ich verstehe, dass die Hauptkomponentenanalyse (PCA) grundsätzlich für Querschnittsdaten angewendet werden kann. Kann PCA effektiv für Zeitreihendaten verwendet werden, indem Jahr als Zeitreihenvariable angegeben wird und PCA normal ausgeführt wird? Ich habe festgestellt, dass dynamisches PCA für Paneldaten funktioniert und die Codierung in Stata für Paneldaten und nicht für Zeitreihen ausgelegt ist. Gibt es einen bestimmten PCA-Typ, der mit Zeitreihendaten arbeitet?

Aktualisieren. Lassen Sie mich das näher erläutern.

Ich baue derzeit einen Index für die Infrastruktur in Indien mit Variablen wie Straßenlänge, Schienenlänge, Stromerzeugungskapazität, Anzahl der Telefonabonnenten usw. auf. Ich habe 12 Variablen über 22 Jahre für 1 Land. Obwohl ich Papiere durchgesehen habe, die PCA auf Zeitreihen und sogar auf Paneldaten anwenden, ist PCA für Querschnittsdaten ausgelegt, die diese Annahme voraussetzen. Panel- und Querschnittsdaten verstoßen dagegen und PCA berücksichtigt nicht die Zeitreihendimension darin. Ich habe gesehen, dass dynamisches PCA nur auf Paneldaten angewendet wird. Ich möchte wissen, ob es eine bestimmte PCA gibt, die auf Zeitreihen angewendet wird, oder ob die Ausführung einer statischen PCA mit einem als Zeitreihenvariable definierten Jahr die Aufgabe erfüllt.

Nisha Simon
quelle
2
Singular Spectrum Analysis (SSA) wird häufig als PCA für Zeitreihen bezeichnet. en.wikipedia.org/wiki/Singular_spectrum_analysis
Vladislavs Dovgalecs
1
Bitte überprüfen Sie einige der Posts in der rechten Seitenleiste (->), die sich sowohl auf PCA als auch auf Zeitreihen beziehen. Wenn eine Antwort auf Ihre Frage vorhanden ist, verlinken Sie sie bitte in den Kommentaren hier. Wenn dies jedoch nicht der Fall ist, können Sie erläutern, inwiefern sich Ihr Problem von den genannten unterscheidet.
Glen_b
Keiner von ihnen beantwortet die Frage von pca zu Zeitreihen. Spezielle Fragen zum Thema beziehen sich entweder auf die Wissenschaft oder bleiben unbeantwortet.
Nisha Simon
5
PCA als Datenumwandlungs-, Dimensionsreduktions-, Explorations- und Visualisierungstool trifft keine Annahmen. Sie können es für beliebige Daten ausführen, einschließlich Zeitreihendaten. Tatsächlich wird PCA sehr häufig für Zeitreihendaten angewendet (manchmal wird es als "funktionale PCA" bezeichnet, manchmal nicht). Ich weiß nicht einmal, was "dynamischer PCA" und "statischer PCA" bedeuten sollen. Machen Sie sich keine Sorgen und verwenden Sie Standard-PCA.
Amöbe sagt Reinstate Monica
Möglicherweise möchten Sie Functional PCA verwenden, das speziell für Zeitreihen entwickelt wurde. Das FDA-Paket in R implementierte fPCA. Sie können die multivariate fPCA finden.
Anne

Antworten:

8

Ein Ansatz könnte darin bestehen, die ersten Zeitunterschiede Ihrer 12 Variablen zu berücksichtigen, um die Stationarität sicherzustellen. Berechnen Sie dann die 12×12 Kovarianzmatrix und führen Sie eine PCA durch. Dies ist eine Art durchschnittlicher PCA über die gesamte Zeitspanne und sagt nichts darüber aus, wie sich die verschiedenen Zeitverzögerungen gegenseitig beeinflussen. Aber es könnte ein guter Ausgangspunkt sein.

Wenn Sie daran interessiert sind, auch den Zeitbereich zu zerlegen, würde ich das überprüfen SSA wie in den Kommentaren vorgeschlagen ausprobieren.

Wenn Sie Reihen (angenommen) stationär sind, ist eine einzelne Kovarianzmatrix sinnvoll. Wenn Ihre Daten in einer Größenordnung von 1 oder höher integriert sind, wie ich vermute, liefert die Schätzung einer einzelnen Kovarianzmatrix keine konsistenten Ergebnisse. Ein zufälliger Gang ist beispielsweise in der Reihenfolge 1 integriert, und die geschätzte Kovarianz zweier zufälliger Gänge sagt hier nichts über ihre gemeinsame Bewegung aus ist eine Analyse der gemeinsamen Integration erforderlich.

Wie in den Kommentaren erwähnt, kümmert sich PCA an sich nicht um die Stationarität, so dass Sie PCA mit jeder positiven semidefiniten Matrix versorgen können und die PC-Zerlegung im PCA-Sinne in Ordnung ist.

Aber wenn Ihre geschätzte Kovarianzmatrix nichts Bedeutendes über die Daten aussagt, wird PCA dies natürlich auch nicht tun.

Duffau
quelle
1
+1. Was meinst du mit "den ersten Zeitunterschieden"?
Amöbe sagt Reinstate Monica
Ich meine den ersten Unterschied, also würde ich für jedes der zwölf x x_t - x_t-1 machen.
Duffau
Sie schlagen also vor, PCA für Zeitableitungen jeder Zeitreihe durchzuführen, im Gegensatz zu Zeitreihen selbst. Das ist interessant; warum sollte das dein erster vorschlag sein?
Amöbe sagt Reinstate Monica
Aus zwei Gründen: 1) Damit die Kovarianzschätzung konsistent ist, gelten die normalen Querschnittsannahmen für die beiden Zufallsvariablen als unabhängig und identisch verteilt (iid). Dies gewährleistet die Konvergenz des Stichprobenmittelwerts zum erwarteten Wert, dem sogenannten Gesetz der großen Zahlen (LLN). In der Zeitreihenanalyse ist die Annahme, dass zwei stochastische Prozesse vorliegen, zu restriktiv. Es wird also durch den Begriff der Stationarität (vielerlei Arten) ersetzt. Damit die LLN und die Kovarianzschätzung konsistent sind, müssen die beiden Reihen eine gemeinsam stationäre Verteilung haben.
Duffau
Wenn jeder stochastische Prozess stationär ist (da bin ich mir fast sicher), sind sie gemeinsam stationär, daher ist eine Kovarianzschätzung sinnvoll. Erste Unterschiede sind eine Standardtechnik in der Ökonometrie, um Zeitreihen "stationärer" zu machen. Und von hier aus ist die Schätzung und PCA einfach. Also kurz gesagt, weil es einfach ist :-) .... ok es gab keinen zweiten Grund ..
Duffau
1

Ja, PCA-On-Time-Series werden ständig in den Bereichen Financial Engineering (Quantitative Finance) und Neurologie durchgeführt.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tKovarianzmatrix für Tage mit Assets in Zeilen, um Tage, die miteinander korrelieren, zu einem einzigen PC zusammenzufassen, da die Grundidee darin besteht, dass Tage redundant sein können - und wenn Sie Daten z. B. in ein neuronales Netzwerk einspeisen, möchten Sie dies nicht Datenzeilen müssen redundant sein oder Features müssen korreliert sein (Sie möchten, dass sie orthogonal sind), da ein neuronales Netz Zeit für das Erlernen der Korrelation verschwendet. Dieser Ansatz konzentriert sich jedoch nicht auf die Autokorrelation.

γ=t/nXλ+Y=FnβX^=YY^Y=f1β

In der Neurologie wird PCA mit Zeitreihen für Aktionspotentiale in verschiedenen Wellenlängenbändern durchgeführt, die aus einem EEG erhalten wurden. Die Umwandlung der Aktionspotentiale in orthogonale (unkorrelierte) PC-Score-Vektoren und die Eingabe der PCs in andere Analysen ist das wichtigste Mittel, mit dem die statistische Aussagekraft bei der statistischen genetischen Modellierung komplexer Merkmale für die Verhaltensgenetik gesteigert wurde (da Phänotypen für z. Suchende, schizotypische, schozephrenie häufig überlappen). Die großen australischen Zwillingsgenetikstudien haben dazu beigetragen, diese überlappenden Merkmale in der Verhaltensgenetik zu analysieren, da bei Krankheitsdifferenzen zwischen identischen Zwillingen, die zusammen aufgezogen werden (im selben Haushalt aufwachsen), kausale Schlussfolgerungen auf eine Exposition in verschiedenen Umgebungen hindeuten können, wenn Sie waren älter als ihre identische Genetik.

JoleT
quelle