L'APC peut-elle être appliquée pour les données de séries chronologiques?

22

Je comprends que l'analyse en composantes principales (ACP) peut être appliquée essentiellement pour les données transversales. PCA peut-il être utilisé pour les données de séries temporelles efficacement en spécifiant l'année comme variable de série temporelle et en exécutant PCA normalement? J'ai trouvé que l'APC dynamique fonctionne pour les données de panel et le codage dans Stata est conçu pour les données de panel et non pour les séries chronologiques. Existe-t-il un type spécifique d'ACP qui fonctionne sur les données de séries chronologiques?

Mise à jour.Permettez-moi de vous expliquer en détail.

Je construis actuellement un indice pour les infrastructures en Inde avec des variables comme la longueur des routes, la longueur des itinéraires ferroviaires, la capacité de production d'électricité, le nombre d'abonnés au téléphone, etc. J'ai 12 variables sur 22 ans pour 1 pays. Bien que j'aie examiné des articles qui appliquent l'APC sur des séries chronologiques et même des données de panel, l'ACP est conçue pour des données transversales qui supposent une hypothèse. Les données du panneau et des coupes transversales les violent et PCA ne tient pas compte de la dimension des séries temporelles. J'ai vu que l'APC dynamique n'était appliqué qu'aux données du panneau. Je veux savoir s'il existe une PCA spécifique qui est appliquée sur des séries chronologiques ou qui exécute une PCA statique avec une année définie comme variable de série temporelle fera le travail?

Nisha Simon
la source
2
L'analyse du spectre singulier (SSA) est souvent appelée PCA pour les séries chronologiques. en.wikipedia.org/wiki/Singular_spectrum_analysis
Vladislavs Dovgalecs
1
Veuillez consulter certains des messages dans la barre latérale à droite (->) qui se réfèrent à la fois à l'APC et aux séries chronologiques. Si quelqu'un répond à votre question, veuillez vous y référer dans les commentaires ici, mais si ce n'est pas le cas, vous pourriez expliquer en quoi votre problème diffère de l'un d'eux.
Glen_b -Reinstate Monica
Aucun d'eux ne répond à la question du pca sur les séries chronologiques. Des questions spécifiques sur le sujet se rapportent soit à la science, soit restent sans réponse.
Nisha Simon
5
L'ACP, en tant qu'outil de transformation de données, de réduction de dimensionnalité, d'exploration et de visualisation, ne fait aucune hypothèse. Vous pouvez l'exécuter sur n'importe quelle donnée, y compris les données de séries chronologiques. En fait, l'ACP est très souvent appliquée pour les données de séries chronologiques (parfois elle est appelée «ACP fonctionnelle», parfois non). Je ne sais même pas ce que "PCA dynamique" et "PCA statique" devraient signifier; ne vous inquiétez pas et utilisez PCA standard.
Amoeba dit Reinstate Monica
Vous voudrez peut-être envisager d'utiliser Functional PCA qui est particulièrement conçu pour les séries chronologiques. Le package FDA dans R implémentait fPCA. Vous pourrez trouver le fPCA multivarié.
Anne

Réponses:

8

Une approche pourrait être de prendre les premières différences de temps de vos 12 variables pour assurer la stationnarité. Calculez ensuite le 12×12 matrice de covariance et effectuez l'ACP dessus. Ce sera une sorte de PCA moyenne sur toute la période, et ne dira rien sur la façon dont les différents timelags s'influencent mutuellement. Mais cela pourrait être un bon point de départ.

Si vous souhaitez également décomposer le domaine temporel, je vous invite à consulter SSA comme suggéré dans les commentaires.

Lorsque vos séries sont (supposées) stationnaires, une seule matrice de covariance est significative. Si vos données sont intégrées d'un ordre de 1 ou plus, comme je suppose qu'elles pourraient l'être, l'estimation d'une matrice de covariance unique ne donnera pas de résultats cohérents. Une marche aléatoire est par exemple intégrée d'ordre 1, et la covariance estimée de deux marches aléatoires ne dit rien sur leur co-mouvement, ici la co-intégration analyse de est nécessaire.

Comme suggéré dans les commentaires, le PCA en lui-même ne se soucie pas de la stationnarité, vous pouvez donc alimenter le PCA en n'importe quelle matrice semi-définie positive et la décomposition du PC sera correcte dans un sens PCA.

Mais si votre matrice de covariance estimée ne représente rien de significatif sur les données, alors l'ACP ne le sera bien sûr pas non plus.

Duffau
la source
1
+1. Qu'entendez-vous par "les premières différences de temps"?
Amoeba dit Reinstate Monica
Je veux dire la première différence, donc pour chacun des douze x je ferais x_t - x_t-1.
Duffau
Vous proposez donc de faire l'ACP sur les dérivées temporelles de chaque série temporelle, par opposition aux séries temporelles elles-mêmes. C'est intéressant; pourquoi serait-ce votre première suggestion?
amibe dit Réintégrer Monica le
Pour deux raisons: 1) Pour que l'estimation de la covariance soit cohérente, les hypothèses transversales normales sont que les deux variables aléatoires soient indépendantes et identiquement distribuées (iid). Cela garantit la convergence de la moyenne de l'échantillon à la valeur attendue, dite loi des grands nombres (LLN). Dans l'analyse des séries chronologiques, l'hypothèse de deux processus stochastiques iid est trop restrictive. Elle est donc remplacée par la notion de stationnarité (de nombreux types différents). Pour que le LLN se vérifie et que l'estimation de la covariance soit cohérente, les deux séries doivent avoir une distribution stationnaire conjointe.
Duffau
Si chaque processus stochastique est staionnaire, alors (je suis presque certain que) ils sont conjointement stationnaires, donc l'estimation de la covariance est logique. Les premières différences sont une technique standard en économétrie pour rendre les séries chronologiques "plus stationnaires". Et à partir d'ici, l'estimation et l'ACP sont simples. Bref, parce que c'est facile :-) .... ok il n'y avait pas de deuxième raison ..
Duffau
2

Oui, l'ACP sur les séries chronologiques est effectuée tout le temps en ingénierie financière (finance quantitative) et en neurologie.

Xt×ptprt=log(Pt)log(Pt1)=log(Pt/Pt1)p×pXt×tmatrice de covariance pour les jours, avec des actifs en lignes, afin de réduire les jours qui sont corrélés ensemble en un seul PC, car l'idée générale est que les jours peuvent être redondants - et lorsque vous alimentez des données par exemple dans un réseau de neurones, vous ne voulez pas les lignes de données doivent être redondantes ou les entités doivent être corrélées (vous voulez qu'elles soient orthogonales), car un réseau neuronal perdra du temps à apprendre la corrélation. Cette approche ne se concentre cependant pas sur l'autocorrélation.

γ=t/nXλ+Y=FnβX^=YY^Y=f1β , et en retirant les résidus pour représenter les nouvelles données, qui auront supprimé la corrélation généralisée du marché. (puisque le premier PC représente toujours des actions avec une multicolinéarité élevée). Cette approche répond au sentiment du marché lié à la «mentalité de troupeau».

En neurologie, l'ACP est exécutée sur des séries temporelles pour les potentiels d'action dans différentes bandes de longueurs d'onde obtenues à partir d'un EEG. La transformation des potentiels d'action en vecteurs de score PC orthogonaux (non corrélés) et la saisie des PC dans d'autres analyses est le principal moyen par lequel la puissance statistique a été augmentée dans la modélisation génétique statistique de traits complexes pour la génétique comportementale (puisque les phénotypes pour, par exemple, bipolaire, nouveauté - recherche, schizotypique, schozèphrénie se chevauchent souvent). Les grandes études sur les jumeaux génétiques australiens ont contribué à analyser ces traits qui se chevauchent dans la génétique comportementale, car s'il existe des différences de maladie entre des jumeaux identiques qui sont élevés ensemble (grandissent dans le même ménage), l'inférence causale peut indiquer une exposition dans des environnements différents lorsque ils étaient plus âgés au lieu de leur génétique identique.

JoleT
la source