Détecter les changements dans les séries chronologiques

11

Je suis tombé sur une image d'un prototype d'application qui trouve des changements importants ("tendances" - pas des pics / valeurs aberrantes) dans les données de trafic:

texte alternatif

Je veux écrire un programme (Java, éventuellement R) qui est capable de faire de même - mais parce que mes compétences statistiques sont un peu rouillées, j'ai besoin de creuser à nouveau dans ce sujet.

Quelle approche / algorithme dois-je utiliser / rechercher par conséquent?

stephanos
la source
4
Ceci est similaire à stats.stackexchange.com/questions/5700/…
mpiktas
Oui, et les réponses seront également les mêmes.
whuber

Réponses:

4

Il existe plusieurs façons de provoquer une "rupture structurelle".

S'il y a un changement dans l'interception ou un changement de tendance dans "la dernière partie de la série chronologique", alors un serait mieux adapté pour effectuer la détection d'intervention (NB c'est l'identification empirique de l'impact significatif d'une variable déterministe non spécifiée telle comme un changement de niveau ou un changement de tendance ou le début d'une impulsion saisonnière). La détection des interventions est alors un précurseur de la modélisation des interventions où une variable suggérée est incluse dans le modèle. Vous pouvez trouver des informations sur le Web en recherchant sur Google "DÉTECTION D'INTERVENTION AUTOMATIQUE". Certains auteurs utilisent le terme «DÉTECTION EXTÉRIEURE», mais comme beaucoup de langage statistique, cela peut être source de confusion / d'imprécision. Les interventions détectées peuvent être l'une des suivantes (détection d'un changement significatif dans la moyenne des résidus);

un changement de niveau sur une période (c.-à-d. une impulsion) un changement contigu sur plusieurs périodes de niveau (c.-à-d. un changement d'interception) une impulsion systématique (c.-à-d. une impulsion saisonnière) un changement de tendance (c.-à-d. 1,2,3,4,5, 7,9,11,13,15 .....) Ces procédures sont facilement programmables EN R / SAS / Matlab et disponibles en routine dans un certain nombre de séries chronologiques disponibles dans le commerce, mais il y a de nombreux pièges dont vous devez vous méfier. tels que la détection de la structure stochastique en premier ou la détection d'interventions sur la série d'origine. C'est comme le problème du poulet et des œufs. Les premiers travaux dans ce domaine étaient limités au type 1 et, en tant que tels, seront probablement insuffisants pour vos besoins, car vos exemples illustrent les changements de niveau.

Il y a beaucoup de matériel sur le Web et même un programme gratuit sur http://www.autobox.com/30day.exe qui vous permet même d'utiliser vos propres données pendant 30 jours. Vous pourriez apprendre beaucoup "simplement en regardant" comme Yogi l'a dit et reproduire leurs résultats.

Les références Web pour les équations exactes à utiliser peuvent être trouvées à partir de la page 134 dans http://www.autobox.com/pdfs/autoboxusersguide.pdf . Je suis l'un des auteurs d'AUTOBOX.

IrishStat
la source
@stefanos: Pouvez-vous s'il vous plaît me dire le nom de l'application car je suis toujours intéressé à rechercher des solutions logicielles traitant de ce problème. Vous pouvez m'envoyer un email à mes coordonnées.
IrishStat
1

Essayez cpm ou package de point de changement dans R. Il est gratuit à utiliser. Recherchez également le modèle de point de changement ou la détection de changement séquentiel.

Cherese
la source
3
Bienvenue sur le site, @Cherese. À l'heure actuelle, il s'agit davantage d'un commentaire que d'une réponse. Pourriez-vous développer un peu ce point?
gung - Rétablir Monica