J'ai ajusté le modèle ARIMA (5,1,2) en utilisant la auto.arima()
fonction dans R et en regardant l'ordre, nous pouvons dire que ce n'est pas le meilleur modèle à prévoir. Si des valeurs aberrantes existent dans la série de données, quelle est la méthode pour adapter un modèle à ces données?
r
time-series
forecasting
outliers
arima
Anthony
la source
la source
Réponses:
Michael Chernick vous indique la bonne direction. Je regarderais également le travail de Ruey Tsay comme celui ajouté à ce corpus de connaissances. Voir plus ici .
Vous ne pouvez pas rivaliser avec les algorithmes informatiques automatisés d'aujourd'hui. Ils examinent de nombreuses façons d'aborder les séries chronologiques que vous n'avez pas prises en compte et souvent non documentées dans un document ou un livre. Quand on demande comment faire une ANOVA, une réponse précise peut être attendue lors de la comparaison avec différents algorithmes. Quand on pose la question comment faire la reconnaissance de formes, de nombreuses réponses sont possibles car l'heuristique est impliquée. Votre question implique l'utilisation d'heuristiques.
La meilleure façon d'adapter un modèle ARIMA, s'il existe des valeurs aberrantes dans les données, est d'évaluer les états de la nature possibles et de sélectionner l'approche jugée optimale pour un ensemble de données particulier. Un état de la nature possible est que le processus ARIMA est la principale source de variation expliquée. Dans ce cas, on «identifierait provisoirement» le processus ARIMA via la fonction acf / pacf, puis examinerait les résidus pour d'éventuelles valeurs aberrantes. Les valeurs aberrantes peuvent être des impulsions, c'est-à-dire des événements ponctuels OU des impulsions saisonnières qui sont mises en évidence par des valeurs aberrantes systématiques à une certaine fréquence (par exemple, 12 pour les données mensuelles). Un troisième type de valeur aberrante est celui où l'on a un ensemble d'impulsions contiguës, chacune ayant le même signe et la même ampleur, cela s'appelle un décalage de pas ou de niveau. Après avoir examiné les résidus du processus ARIMA provisoire, on peut alors provisoirement ajouter la structure déterministe identifiée empiriquement pour créer un modèle combiné provisoire. De plus, si la principale source de variation est l'un des 4 types ou "valeurs aberrantes", il serait préférable de les identifier ab initio (d'abord) puis d'utiliser les résidus de ce "modèle de régression" pour identifier la structure stochastique (ARIMA) . Maintenant, ces deux stratégies alternatives deviennent un peu plus compliquées quand on a un "problème" où les paramètres ARIMA changent avec le temps ou la variance d'erreur change avec le temps en raison d'un certain nombre de causes possibles, peut-être le besoin de moindres carrés pondérés ou d'une transformation de puissance comme les journaux / réciproques, etc. Une autre complication / opportunité est de savoir comment et quand former la contribution des séries de prédicteurs suggérées par l'utilisateur pour former un modèle intégré de manière transparente incorporant la mémoire, les causes et les séries factices identifiées empiriquement. Ce problème est encore aggravé lorsque l'on a des séries de tendances mieux modélisées avec des séries d'indicateurs de la formeOu 1 , 2 , 3 , 4 , 5 , . . . n et combinaisons de séries de changement de niveau comme 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 10 , 0 , 0 , 0 , 1 , 2 , 3 , 4 , . . . 1 , 2 , 3 , 4 , 5 , . . . n 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 . Vous voudrez peut-être essayer d'écrire de telles procédures en R, mais la vie est courte. Je serais heureux de résoudre votre problème et de montrer dans ce cas comment fonctionne la procédure, veuillez poster les données ou les envoyer à [email protected]
Commentaire supplémentaire après réception / analyse des données / données quotidiennes pour un taux de change / 18 = 765 valeurs à partir du 1/1/2007
Les données avaient une acf de:
Lors de l'identification d'un modèle d'arma de la forme et d'un certain nombre de valeurs aberrantes, l'acf des résidus indique un caractère aléatoire car les valeurs acf sont très petites. AUTOBOX a identifié un certain nombre de valeurs aberrantes:( 1 , 1 , 0 ) ( 0 , 0 , 0 )
Le modèle final:
inclus la nécessité d'une augmentation de stabilisation de la variance à la TSAY où les changements de variance dans les résidus ont été identifiés et incorporés. Le problème que vous aviez avec votre exécution automatique était que la procédure que vous utilisiez, comme un comptable, croit les données plutôt que de contester les données via la détection d'intervention (alias, détection des valeurs aberrantes). J'ai posté une analyse complète ici .
la source
Il n'y a pas prêt à l' emploi robuste contrepartie à la fonction arima dans R (encore) ; le cas échéant, il sera répertorié ici . Peut-être qu'une alternative est de réduire les observations qui sont éloignées par rapport à une règle de détection de valeurs aberrantes univariée simple, mais je ne vois pas non plus de packages prêts à utiliser pour exécuter une régression ARMA pondérée. Une autre alternative possible serait alors de Winsoriser les points périphériques:
la source
Il existe une abondante littérature sur les modèles de séries chronologiques robustes. Martin et Yohai sont parmi les principaux contributeurs. Leur travail remonte aux années 1980. J'ai moi-même fait un travail sur la détection des valeurs aberrantes dans les séries chronologiques, mais Martin était vraiment l'un des nombreux contributeurs à la fois à la détection des valeurs aberrantes et à l'estimation des paramètres en présence de valeurs aberrantes ou de résidus à queue lourde dans les séries chronologiques.
la source
Quel est le but de votre modèle pour prévoir ou analyser l'historique? si ce n'est pas pour la prévision, et vous savez que ce sont les valeurs aberrantes, ajoutez simplement la variable fictive, qui est 1 à ces dates et 0 à d'autres dates. De cette façon, les coefficients fictifs s'occuperont des valeurs aberrantes et vous pourrez interpréter les autres coefficients du modèle.
s'il s'agit de prévisions, vous devez vous poser deux questions: ces valeurs aberrantes se reproduiront-elles? si c'est le cas, dois-je en rendre compte?
Par exemple, disons que vos séries de données ont des valeurs aberrantes lorsque les frères Lehman sont tombés. c'est un événement que vous n'avez aucun moyen de prédire, évidemment, mais vous ne pouvez pas simplement l'ignorer parce que quelque chose comme cela se produira à l'avenir. si vous lancez le mannequin pour les valeurs aberrantes, vous supprimez efficacement l'incertitude de cet événement de la variance d'erreur. vos prévisions sous-estimeront le risque de queue - ce n'est peut-être pas une bonne chose pour la gestion des risques. cependant, si vous devez produire la prévision de référence des ventes, le mannequin fonctionnera, car vous n'êtes pas intéressé par la queue, vous êtes intéressé par les scénarios les plus probables - vous n'avez donc pas à tenir compte de l'événement imprévisible pour Cet objectif.
Par conséquent, l'objectif de votre modèle influe sur la façon dont vous traitez les valeurs aberrantes.
la source