Czy PCA można zastosować do danych szeregów czasowych?

22

Rozumiem, że analiza głównych składników (PCA) może być stosowana zasadniczo do danych przekrojowych. Czy PCA można skutecznie wykorzystać do danych szeregów czasowych, określając rok jako zmienną szeregu czasowego i normalnie uruchamiając PCA? Przekonałem się, że dynamiczny PCA działa dla danych panelu, a kodowanie w Stata jest przeznaczone dla danych panelu, a nie szeregów czasowych. Czy jest jakiś konkretny typ PCA, który działa na danych szeregów czasowych?

Aktualizacja. Pozwól mi wyjaśnić szczegółowo.

Obecnie buduję indeks dla infrastruktury w Indiach ze zmiennymi takimi jak długość drogi, długość trasy kolejowej, zdolność do wytwarzania energii elektrycznej, liczba abonentów telefonicznych itp. Mam 12 zmiennych przez 22 lata dla 1 kraju. Chociaż recenzowałem artykuły, które stosują PCA do szeregów czasowych, a nawet dane panelowe, PCA jest zaprojektowany dla danych przekrojowych, które zakładają iid. Dane paneli i przekrojów naruszają to, a PCA nie bierze pod uwagę wymiaru szeregów czasowych. Widziałem, jak dynamiczne PCA jest stosowane tylko na danych panelu. Chcę wiedzieć, czy istnieje konkretny PCA, który jest stosowany w szeregach czasowych lub z uruchomionym statycznym PCA z rokiem zdefiniowanym jako zmienna szeregów czasowych, wykona zadanie?

Nisha Simon
źródło
2
Analiza widma pojedynczego (SSA) jest często nazywana PCA dla szeregów czasowych. en.wikipedia.org/wiki/Singular_spectrum_analysis
Vladislavs Dovgalecs
1
Przejrzyj niektóre posty na pasku bocznym po prawej stronie (->), które dotyczą zarówno PCA, jak i szeregów czasowych. W przypadku odpowiedzi na pytanie proszę zamieścić link w komentarzu tutaj, ale jeśli nie, możesz wyjaśnić, w jaki sposób problem różni się od któregoś z nich.
Glen_b
Żadna z nich nie odpowiada na pytanie pca dotyczące szeregów czasowych. Konkretne zapytania na ten temat dotyczą nauki lub pozostają bez odpowiedzi.
Nisha Simon
5
PCA, jako narzędzie do transformacji danych, zmniejszania wymiarów, eksploracji i wizualizacji, nie przyjmuje żadnych założeń. Możesz go uruchomić na dowolnych danych, w tym danych szeregów czasowych. W rzeczywistości PCA bardzo często stosuje się do danych szeregów czasowych (czasem nazywa się to „funkcjonalnym PCA”, a czasem nie). Nie wiem nawet, co powinny oznaczać „dynamiczny PCA” i „statyczny PCA”; nie martw się i użyj standardowego PCA.
ameba mówi Przywróć Monikę
Możesz rozważyć użycie Functional PCA, która jest specjalnie zaprojektowana dla szeregów czasowych. Pakiet FDA w R zaimplementował fPCA. Będziesz mógł znaleźć wielopłaszczyznową fPCA.
Anne

Odpowiedzi:

8

Jednym z podejść może być wzięcie pierwszych różnic czasowych z 12 zmiennych w celu zapewnienia stacjonarności. Następnie obliczyć macierz kowariancji 12 i wykonać na niej PCA. Będzie to jakaś średnia PCA w całym okresie czasu i nie powie nic o tym, jak różne timelagi wpływają na siebie. Ale może to być dobry punkt wyjścia.12×12

Jeśli jesteś zainteresowany rozkładem domeny czasu, sprawdziłbym SSA, jak sugerowano w komentarzach.

Kiedy serie są (zakładane) nieruchome, pojedyncza macierz kowariancji ma znaczenie. Jeśli twoje dane są zintegrowane rzędu 1 lub wyższego, jak podejrzewam, że mogą być, oszacowanie pojedynczej macierzy kowariancji nie przyniesie spójnych wyników. Losowy spacer jest na przykład zintegrowany z rzędem 1, a szacunkowa kowariancja dwóch losowych spacerów nie mówi nic o ich wspólnym ruchu, tutaj wspólnie integracja wymagana jest analiza.

Jak zasugerowano w komentarzach PCA sama w sobie nie dba o stacjonarność, więc można karmić PCA każdą pozytywną półokreśloną matrycą, a rozkład PC będzie w porządku w sensie PCA.

Ale jeśli twoja szacunkowa macierz kowariancji nie reprezentuje niczego znaczącego w danych, to PCA oczywiście również nie będzie.

Duffau
źródło
1
+1. Co rozumiesz przez „pierwsze różnice czasu”?
ameba mówi Przywróć Monikę
Mam na myśli pierwszą różnicę, więc dla każdego z dwunastu x zrobiłbym x_t - x_t-1.
Duffau
Sugerujesz więc wykonanie PCA na pochodnych czasowych dla każdej serii czasowej, w przeciwieństwie do samych szeregów czasowych. To interesujące; dlaczego miałaby to być twoja pierwsza sugestia?
ameba mówi Przywróć Monikę
Z dwóch powodów: 1) Aby estymacja kowariancji była spójna, normalnymi założeniami przekroju są dwie zmienne losowe, które są niezależne i identycznie rozmieszczone (iid). Zapewnia to zbieżność średniej próbki z wartością oczekiwaną, tzw. Prawem dużych liczb (LLN). W analizie szeregów czasowych zakłada się, że dwa procesy stochastyczne są restrykcyjne. Zastąpiono go więc pojęciem stacjonarności (wielu różnych rodzajów). Aby LLN mógł się utrzymać, a estymacja kowariancji była spójna, dwie serie muszą mieć wspólnie rozkład stacjonarny.
Duffau
Jeśli każdy proces stochastyczny jest stacjo nalny, to (jestem prawie przekonany, że) są one wspólnie nieruchome, dlatego oszacowanie kowariancji ma sens. Pierwsze różnice to standardowa technika w ekonometrii, dzięki której szeregi czasowe stają się „bardziej nieruchome”. A stąd oszacowanie i PCA są proste. Krótko mówiąc, bo to proste :-) .... ok nie było drugiego powodu ..
Duffau
2

Tak, PCA w szeregach czasowych odbywa się cały czas w inżynierii finansowej (finanse ilościowe) i neurologii.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tmacierz kowariancji dla dni, z zasobami w rzędach, aby zwinąć dni, które korelują ze sobą w jeden komputer, ponieważ ogólną ideą jest to, że dni mogą być nadmiarowe - a gdy podajesz dane np. do sieci neuronowej, nie chcesz wiersze danych są zbędne lub funkcje są skorelowane (chcesz, aby były ortogonalne), ponieważ sieć neuronowa straci czas na naukę korelacji. To podejście nie koncentruje się jednak na autokorelacji.

γ=t/nXλ+Y=FnβX^=YY^Y=f1β , i wycofanie reszt do reprezentacji nowe dane, które usuną powszechną korelację rynkową. (ponieważ pierwszy komputer zawsze reprezentuje akcje o wysokiej wielokoliniowości). Takie podejście odnosi się do nastrojów rynkowych związanych z „mentalnością stad”.

W neurologii PCA przebiega w szeregach czasowych potencjałów czynnościowych w różnych pasmach fal uzyskanych z EEG. Przekształcanie potencjałów czynności w ortogonalne (nieskorelowane) wektory punktacji na PC i wprowadzanie komputerów do innych analiz jest głównym sposobem, za pomocą którego zwiększono moc statystyczną w statystycznym modelowaniu genetycznym złożonych cech genetyki behawioralnej (od fenotypów np. Bi-polarnych, nowość- szukanie, schizotypia, schozefrenia często się pokrywają). Duże australijskie badania genetycznych bliźniaków odegrały kluczową rolę w analizie tych nakładających się cech genetyki behawioralnej, ponieważ jeśli istnieją różnice chorobowe między identycznymi bliźniakami, które są hodowane razem (dorastają w tym samym gospodarstwie domowym), wnioskowanie przyczynowe może wskazywać na narażenie w różnych środowiskach, gdy byli starsi zamiast identycznej genetyki.

JoleT
źródło