Comment détecter un changement significatif dans les données de séries temporelles dû à un changement de «politique»?


15

J'espère que c'est le bon endroit pour publier ceci, j'ai envisagé de le publier sur les sceptiques, mais je pense qu'ils diraient simplement que l'étude était statistiquement erronée. Je suis curieux de connaître le revers de la question, qui est de savoir comment le faire correctement.

Sur le site Web Quantified Self , l'auteur a publié les résultats d'une expérience d'une certaine mesure de la production mesurée sur lui-même au fil du temps et comparée avant et après l'arrêt brutal de la consommation de café. Les résultats ont été évalués de manière subjective et l'auteur pensait qu'il avait des preuves qu'il y avait un changement dans la série chronologique et que cela était lié au changement de politique (boire du café)

Cela me rappelle des modèles de l'économie. Nous n'avons qu'une seule économie (dont nous nous soucions pour le moment), donc les économistes font souvent essentiellement n = 1 expériences. Les données sont presque certainement auto-corrélées au fil du temps à cause de cela. Les économistes observent généralement, selon la Fed, le lancement d'une politique et tentent de décider si la série chronologique a changé, éventuellement en raison de la politique.

Quel est le test approprié pour déterminer si la série chronologique a augmenté ou diminué en fonction des données? De combien de données aurais-je besoin? Quels outils existent? Ma recherche initiale sur Google suggère des modèles de série chronologique de commutation de Markov, mais pas mes compétences en recherche sur Google ne me manquent pas pour aider à faire quoi que ce soit avec le nom de la technique.

Réponses:


4

Le document Box-Tiao mentionné par Jason était basé sur un changement de loi connu. La question ici est de savoir comment détecter le moment. La réponse est d'utiliser la procédure Tsay pour détecter les interventions que ce soit les impulsions, les changements de niveau, les impulsions saisonnières et / ou les tendances de l'heure locale.


1

En parcourant quelques vieilles notes sur les ruptures structurelles, j'ai ces deux citations:

Enders, "Applied Econometric Time Series", 2e édition, ch. 5.

Enders discute des interventions, des fonctions d'impulsion, des fonctions de changement progressif, des fonctions de transfert, etc. Cet article peut également être utile:

Box, GEP et GC Tiao. 1975. «Intervention Analysis with Applications to Economic and Environmental Problems». Journal de l'American Statistical Association 70: 70-79.


1

Ne pourriez-vous pas simplement utiliser un modèle de point de changement, puis essayer d'identifier le point de changement à l'aide d'un algorithme MCMC tel que l'échantillonnage de Gibbs?

Cela devrait être relativement simple à implémenter, à condition que vous ayez des distributions antérieures pour vos données ou la distribution conditionnelle complète (pour Gibbs).

Vous pouvez trouver un aperçu rapide ici


1

Si vous considérez tous les points dans le temps comme des points de changement candidats (aka points de rupture, aka changement structurel), alors le package strucchange est une très bonne option.

Il semble que dans votre scénario particulier, il n'y ait qu'un seul point de temps candidat. Dans ce cas, plusieurs options rapides viennent à l'esprit:

  1. T-test: un t-test sur les heures de concentration par jour sur les périodes "avant de quitter" vs "après avoir arrêté". Si vous êtes préoccupé par la corrélation au jour le jour, vous pouvez renoncer à certaines observations afin d'avoir des intervalles suffisamment longs pour croire que les jours ne sont plus corrélés. Avec cette approche, vous échangerez le pouvoir avec simplicité.
  2. AR: monter un modèle AR avec un mannequin: "après avoir quitté". Si le prédicteur est significatif, alors vous avez un changement. L'utilisation d'un AR, capturera la dépendance (possible) entre les jours.

: John L'idée est que vous ne connaissez pas le «point de temps d'un candidat» mais que vous voulez le trouver analytiquement, peut-être pour des centaines de séries chronologiques. Le "test oculaire" pour déterminer celui-ci est souvent déficient en tant qu'impulsions ponctuelles et occlusion de la structure ARIMA sous-jacente. Méthodes de détection des interventions à la R. Rsay ou George Tiao à la recherche d'un changement de NIVEAU / ÉTAPE inconnu construit en fait la variable que vous décrivez (le mannequin avec des zéros suivis de 1). Il faut prendre soin d'envisager d'identifier d'abord les interventions, puis la composante ARIMA et vice-versa.
IrishStat

@IrishStat: Dans le blog référencé, le point de changement est connu. Dans le cas contraire, le package strucchange R a été référencé.
JohnRos

: John From struchange documenation "Enfin, les points d'arrêt dans les modèles de régression avec des changements structurels peuvent être estimés" en utilisant la méthode CHOW que je connais intimement. corriger cela n'a rien à voir avec la réponse à la question "test pour déterminer si la série chronologique a augmenté ou diminué en fonction des données?". Je pense que votre recommandation est insuffisante pour répondre à la question du PO.Votre recommandation répond à une questionJe ne ' t croire a été demandé.
IrishStat

: john C'est vrai mais banal car les modèles avec seulement une interception ne se trouvent que dans les manuels ou dans les rêves.
IrishStat

@IrishStat: il est vrai que le cadre du changement structurel est plus général. Pourtant, la détection d'une augmentation ou d'une diminution des "données" peut être effectuée en ajustant un modèle d'interception uniquement.
JohnRos

1

Il y a quelques années, j'ai entendu un discours d'une étudiante diplômée, Stacey Hancock , lors d'une réunion de la section locale de l'ASA et c'était sur «l'estimation de la rupture structurelle» des séries chronologiques. La conversation était vraiment intéressante et je lui ai parlé ensuite et elle travaillait avec Richard Davis (de Brockwell-Davis ), puis à la Colorado State University, maintenant à Columbia. La conférence était une extension de Davis et al. travailler dans un article de 2006 de la JASA intitulé Strutural Break Estimation for Nonstationary Time Series Models , qui est disponible gratuitement ici .

Davis a une implémentation logicielle de la méthode qu'il appelle Auto-PARM, qu'il a transformée en un exécutable Windows. Si vous le contactez, vous pourrez peut-être en obtenir une copie. J'ai une copie, et voici un exemple de sortie sur une série chronologique d'observation de 1200:

    ============== RESULTS ===============
  ISLAND           1
    SC=   1910.58314770669
    Breaking point/AR order
           1              1
         351              1
         612              3
    ======================================
 Total time:   5.812500

Donc, la série est AR (1) au début, à l'observation 351, le processus AR (1) change en un autre processus AR (1) (vous pouvez obtenir les paramètres), puis à l'observation 612, le processus change en AR (3) .

Un paramètre intéressant sur lequel j'ai essayé Auto-PARM était de regarder les données hebdomadaires de retrait ATM qui faisaient partie de la compétition NN5 . Je me souviens que l'algorithme a trouvé des ruptures structurelles à la fin novembre d'une année donnée, par exemple au début de la saison de magasinage des Fêtes aux États-Unis.

Alors, comment utiliser cet algorithme via des implémentations existantes? Eh bien, encore une fois, vous pouvez contacter Davis et voir si vous pouvez obtenir l'exécutable Windows. Lorsque j'étais chez Rogue Wave Software, j'ai travaillé avec Davis pour intégrer Auto-PARM dans les bibliothèques numériques IMSL. Le premier langage vers lequel il a été porté était Fortran , où il s'appelle Auto_PARM, et je soupçonne que Rogue Wave publiera bientôt un port C, avec des ports Python, C # et Java à suivre.


: Josh he OP ne faisait pas, selon moi, référence aux tests d'hypothèse de la constance des paramètres du modèle, dans votre cas où un AR (3) a ou non des paramètres constants dans le temps. Il pense qu'il est intéressant de détecter un changement jusqu'ici inconnu dans la moyenne des résidus.
IrishStat

Mods: L'OP ne faisait pas, à mon avis, référence aux tests d'hypothèse de la constance des paramètres du modèle, dans votre cas, si un AR (3) a ou non des paramètres constants dans le temps, je crois qu'il est intéressé par la détection d'un changement jusqu'ici inconnu de la moyenne de la résiduels.Ce problème est tout à fait différent de celui auquel vous avez fait référence.Maintenant, je suis tout à fait d'accord qu'en l'absence de détection d'intervention dans la moyenne des résidus.On pourrait trouver un moment où soit les paramètres d'un certain modèle et / ou la variance de les erreurs ont peut-être changé de façon significative MAIS ce n'est pas ce que le PO veut découvrir.
IrishStat

@IrishStat: Connaissez-vous Auto-PARM? L'algorithme utilise des résidus dans l'estimation des ruptures (tant en ce qui concerne le nombre de ruptures que l'ordre AR (p) des segments). Le PO ne semble pas avoir de méthode spécifique sur laquelle il demande. Il semble plutôt demander de manière très générale "Si je mesure un processus dans le temps et que je modifie quelque chose à propos du processus, existe-t-il un moyen de détecter ce point de changement à partir des seules données?". Il ne pose pas de question sur le changement de niveau vs l'innovation vs la détection des valeurs aberrantes additives. J'espère que le PO peut clarifier pour nous ...
Josh Hemann

josh: De l'OP "Quel est le test approprié pour déterminer si la série chronologique a augmenté ou diminué en fonction des données?". Je crois que cela demande une détermination si la moyenne des résidus n'a pas changé les paramètres de certains modèles ARIMA. À mon avis, vous recommandez la mauvaise procédure de logiciel / solution, mais ce n'est que mon avis.
IrishStat

1

Josh a dit:

josh: De l'OP "Quel est le test approprié pour déterminer si la série chronologique a augmenté ou diminué en fonction des données?". Je crois que cela demande une détermination si la moyenne des résidus n'a pas changé les paramètres de certains modèles ARIMA. À mon avis, vous recommandez la mauvaise procédure de logiciel / solution, mais ce n'est que mon avis. - IrishStat le 28 octobre 2011 à 19h08

Supposons que l'on commence par un modèle AR (1):

Ouit=γ+ϕOuit-1+Et

Etσ2

γ1-phje

γϕ

Si des modèles structurels sont supposés, Auto-PARM est la procédure à utiliser.


1
On dirait que vous citez actuellement IrishStat ... pourriez-vous lier la source originale du devis s'il vous plaît?
Nick Stauner
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.