O PCA pode ser aplicado para dados de séries temporais?

21

Entendo que a Análise de Componentes Principais (PCA) pode ser aplicada basicamente para dados de seção transversal. O PCA pode ser usado para dados de séries temporais efetivamente, especificando o ano como variável de série temporal e executando o PCA normalmente? Descobri que o PCA dinâmico funciona para dados do painel e a codificação no Stata é projetada para dados do painel e não para séries temporais. Existe algum tipo específico de PCA que funcione com dados de séries temporais?

Atualizar. Deixe-me explicar em detalhes.

Atualmente, estou construindo um índice para infraestrutura na Índia com variáveis ​​como comprimento de estrada, comprimento de rota ferroviária, capacidade de geração de eletricidade, número de assinantes de telefone etc. Eu tenho 12 variáveis ​​por 22 anos em um país. Embora eu tenha revisado artigos que aplicam o PCA em séries temporais e até mesmo em dados de painel, o PCA foi desenvolvido para dados de seção transversal que pressupõem a suposição de iid. Os dados do painel e da seção transversal o violam e o PCA não leva em consideração a dimensão da série temporal. Vi o PCA dinâmico sendo aplicado apenas nos dados do painel. Quero saber se existe um PCA específico aplicado em séries temporais ou executando um PCA estático com o ano definido como variável de série temporal que fará o trabalho?

Nisha Simon
fonte
2
A Análise de Espectro Singular (SSA) é freqüentemente chamada de PCA para séries temporais. pt.wikipedia.org/wiki/Singular_spectrum_analysis
Vladislavs Dovgalecs
11
Revise algumas das postagens na barra lateral à direita (->) que se referem ao PCA e às séries temporais. Se alguém responder à sua pergunta, vincule-a nos comentários aqui, mas se não houver, você poderá explicar as maneiras específicas pelas quais o seu problema difere de qualquer um deles.
Glen_b -Reinstar Monica
Nenhum deles responde à pergunta de pca sobre séries temporais. Consultas específicas sobre o tema estão relacionadas à ciência ou são deixadas sem resposta.
Nisha Simon
5
O PCA, como ferramenta de transformação de dados, redução de dimensionalidade, exploração e visualização, não faz nenhuma suposição. Você pode executá-lo em qualquer dado, incluindo dados de séries temporais. De fato, o PCA é frequentemente aplicado a dados de séries temporais (às vezes é chamado de "PCA funcional", às vezes não). Eu nem sei o que "PCA dinâmico" e "PCA estático" devem significar; não se preocupe e use o PCA padrão.
Ameba diz Reinstate Monica
Você pode considerar o uso do Functional PCA, que é especialmente projetado para séries temporais. O pacote da FDA no R implementou o fPCA. Você poderá encontrar o fPCA multivariado.
Anne

Respostas:

8

Uma abordagem poderia ser fazer as diferenças das 12 variáveis ​​pela primeira vez para garantir a estacionariedade. Em seguida, calcule o matriz de covariância e realizar PCA sobre ele. Será algum tipo de PCA médio durante todo o período e não dirá nada sobre como os diferentes cronogramas afetam um ao outro. Mas poderia ser um bom ponto de partida.12×12

Se você também estiver interessado em decompor o domínio do tempo, consulte o SSA, conforme sugerido nos comentários.

Quando as séries são (presumidas) estacionárias, uma única matriz de covariância é significativa. Se seus dados forem integrados de uma ordem de 1 ou superior, como suspeito que possam ser, a estimativa de uma única matriz de covariância não produzirá resultados consistentes. Uma caminhada aleatória é, por exemplo, integrada na ordem 1, e a covariância estimada de duas caminhadas aleatórias não diz nada sobre o seu co-movimento, aqui a análise de co-integração é necessária.

Conforme sugerido nos comentários, o PCA por si só não se preocupa com a estacionariedade, portanto, você pode alimentar o PCA com qualquer matriz semi-definida positiva e a decomposição do PC ficará bem no sentido do PCA.

Mas se sua matriz de covariância estimada não representa nada significativo sobre os dados, o PCA, é claro, também não.

Duffau
fonte
11
+1. O que você quer dizer com "as primeiras diferenças de tempo"?
Ameba diz Reinstate Monica
Quero dizer a primeira diferença, então, para cada um dos doze x, eu faria x_t - x_t-1.
Duffau 28/06/2015
Portanto, você sugere fazer o PCA em derivadas temporais de cada série temporal, em oposição às próprias séries temporais. Isso é interessante; por que essa seria sua primeira sugestão?
Ameba diz Reinstate Monica
Por duas razões: 1) Para que a estimativa de covariância seja consistente, as suposições transversais normais são que as duas variáveis ​​aleatórias sejam independentes e distribuídas de forma idêntica (iid). Isso garante a convergência da média da amostra para o valor esperado, a chamada Lei dos Grandes Números (LLN). Na análise de séries temporais, a suposição de dois processos estocásticos serem iid é restritiva. Por isso, é substituído pela noção de estacionariedade (de muitos tipos diferentes). Para que o LLN mantenha e a estimativa de covariância seja consistente, as duas séries precisam ter uma distribuição estacionária em conjunto.
Duffau
Se cada processo estocástico é estacionário, então (eu tenho certeza de que) eles são estacionários em conjunto; portanto, a estimativa de covariância faz sentido. As primeiras diferenças são uma técnica padrão em econometria para tornar as séries temporais "mais estacionárias". E a partir daqui, a estimativa e o PCA são diretos. Assim, em breve, porque é fácil :-) .... ok não havia segunda razão ..
Duffau
1

Sim, o PCA em séries temporais é realizado o tempo todo em engenharia financeira (finanças quantitativas) e neurologia.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tmatriz de covariância por dias, com ativos em linhas, para recolher dias que se correlacionam em um único PC, pois a idéia geral é que os dias podem ser redundantes - e ao alimentar dados em uma rede neural, por exemplo, você não deseja linhas de dados redundantes ou recursos a serem correlacionados (você deseja que eles sejam ortogonais), uma vez que uma rede neural perderá tempo aprendendo a correlação. Essa abordagem, no entanto, não se concentra na autocorrelação.

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

Na neurologia, o PCA é executado em séries temporais para potenciais de ação em diferentes faixas de comprimento de onda obtidas de um EEG. Transformar os potenciais de ação em vetores de pontuação ortogonais (não correlacionados) e inserir os CPs em outras análises é o principal meio pelo qual o poder estatístico foi aumentado na modelagem genética estatística de características complexas da genética comportamental (desde fenótipos, por exemplo, bi-polar, novidade- esquizotípica, a esquizofrenia freqüentemente se sobrepõem). Os grandes estudos sobre gêmeos genéticos australianos foram fundamentais para analisar essas características sobrepostas na genética comportamental, porque, se houver diferenças de doenças entre gêmeos idênticos criados juntos (crescem na mesma casa), a inferência causal pode apontar para a exposição em diferentes ambientes quando eles eram mais velhos em vez de sua genética idêntica.

JoleT
fonte