Comment corriger les valeurs aberrantes une fois détectées pour la prévision des données de séries chronologiques?


10

J'essaie de trouver un moyen de corriger les valeurs aberrantes une fois que je les ai trouvées / détectées dans les données de séries chronologiques. Certaines méthodes, comme nnetar dans R, donnent des erreurs pour les séries temporelles avec des valeurs aberrantes grandes / grandes. J'ai déjà réussi à corriger les valeurs manquantes, mais les valeurs aberrantes nuisent toujours à mes prévisions ...


qu'entendez-vous par «corriger»?
rbatt

Substituer ou remplacer ... Ou faut-il simplement soustraire ...?
Mila

3
Les valeurs aberrantes sont-elles "réelles"? J'entends par là que les valeurs aberrantes sont causées par l'incapacité du modèle à prédire des événements extrêmes ou des chocs? Ou sont-ce des "erreurs" telles que des problèmes de saisie de données?
probabilités

Réponses:


9

Il y a maintenant une fonction dans l'ensemble de prévisions pour R pour identifier et replacer les valeurs aberrantes. (Il gère également les valeurs manquantes.) Comme vous utilisez apparemment déjà le package de prévisions, cela peut être une solution pratique pour vous. Par exemple:

fit <- nnetar(tsclean(x))

La tsclean()fonction s'adaptera à une tendance robuste utilisant le loess (pour les séries non saisonnières), ou à la tendance robuste et aux composantes saisonnières utilisant STL (pour les séries saisonnières). Les résidus sont calculés et les bornes suivantes sont calculées:

q0,1q0,9

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
où et sont respectivement les 10e et 90e centiles des résidus.q0.1q0.9

Outliers sont identifiés comme des points avec des résidus supérieurs à ou plus petit que .LUL

Pour les séries chronologiques non saisonnières, les valeurs aberrantes sont remplacées par une interpolation linéaire. Pour les séries chronologiques saisonnières, la composante saisonnière de l'ajustement STL est supprimée et la série corrigée des variations saisonnières est interpolée linéairement pour remplacer les valeurs aberrantes, avant de re-saisonnaliser le résultat.


1
Votre élaboration ici est également utile: stats.stackexchange.com/questions/1142/… (tsclean appelle tsoutliers)

4

Lorsque vous identifiez un modèle ARIMA, vous devez identifier simultanément les impulsions / les changements de niveau / les impulsions saisonnières et / ou les tendances de l'heure locale. Vous pouvez obtenir du matériel de lecture sur les procédures de détection des interventions sur http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Reilly-and-William-Wei-1999 - / 85697 et http://www.unc.edu/~jbhill/tsay.pdf . Vous devrez peut-être rechercher des logiciels commerciaux tels que SAS / SPSS / AUTOBOX pour obtenir des résultats utiles car les logiciels gratuits que j'ai vus manquent. Au passage, j'ai apporté des améliorations techniques majeures dans ce domaine à AUTOBOX.

ÉDITER:

Une approche encore meilleure consiste à identifier les valeurs aberrantes en utilisant la méthode ARIMA rigoureuse ainsi que des procédures de détection d'intervention conduisant à des paramètres ARIMA robustes et à de bonnes prévisions. Envisagez maintenant d'élaborer des prévisions simulées intégrant des résidus rééchantillonnés sans effets d'impulsion. De cette façon, vous obtenez le meilleur des deux mondes, à savoir un bon modèle et des déclarations d'incertitude plus réalistes pour les prévisions qui ne supposent pas que les paramètres estimés du modèle sont les valeurs de la population.


1

Je suis d'accord avec @Aksakal. Au lieu de supprimer les valeurs aberrantes, une meilleure approche serait d'utiliser une sorte de procédure statistique pour traiter les valeurs aberrantes. Je vous suggère de winoriser vos données. Si elle est correctement mise en œuvre, la winsorisation peut être relativement robuste aux valeurs aberrantes. Sur cette page: http://www.r-bloggers.com/winsorization/ , vous trouverez les codes R pour implémenter la winsorisation. Si vous envisagez de victoriser vos données, vous devrez réfléchir attentivement aux queues de la distribution. Les valeurs aberrantes devraient-elles être extrêmement faibles, ou devraient-elles être extrêmement élevées, ou peut-être les deux? Cela affectera si vous gagnez par exemple au niveau de 5% ou 10% et / ou 95% ou 99%.


1
La winsorisation, dans le but d'estimer une moyenne globale, pourrait avoir un certain sens en l'absence de toute tendance ou composante saisonnière dans les données, mais menace sinon de détruire des informations importantes.
whuber

0

Dans le contexte des prévisions, l'élimination des valeurs aberrantes est très dangereuse. Par exemple, vous prévoyez les ventes d'une épicerie. Disons qu'il y a eu une explosion de gaz dans le bâtiment voisin, ce qui vous a obligé à fermer le magasin pendant quelques jours. Ce fut la seule fois que le magasin a fermé ses portes en 10 ans. Ainsi, vous obtenez la série chronologique, détectez la valeur aberrante, supprimez-la et prévoyez. Vous avez supposé en silence que rien de tel ne se produirait à l'avenir. En pratique, vous avez compressé votre variance observée et les variances de coefficient ont diminué. Donc, si vous montrez les bandes de confiance pour vos prévisions, elles seront plus étroites qu'elles ne l'auraient été si vous n'aviez pas supprimé la valeur aberrante.

Bien sûr, vous pouvez conserver la valeur aberrante et continuer comme d'habitude, mais ce n'est pas une bonne approche non plus. La raison en est que cette valeur aberrante faussera les coefficients.

Je pense qu'une meilleure approche dans ce cas est de permettre une distribution d'erreur avec de grosses queues, peut-être une distribution stable. Dans ce cas, votre valeur aberrante ne biaisera pas trop les coefficients. Ils seront proches des coefficients avec une valeur aberrante supprimée. Cependant, la valeur aberrante apparaîtra dans la distribution d'erreur, la variance d'erreur. Essentiellement, vous vous retrouverez avec des bandes de confiance de prévision plus larges.

Les bandes de confiance véhiculent une information très importante. Si vous prévoyez que les ventes seraient de 1000000 $ ce mois-ci, mais il y a 5% de chances qu'elles soient de 10000 $, cela a un impact sur vos décisions en matière de dépenses, de gestion de la trésorerie, etc.


-1

Pour effectuer des prévisions en utilisant (ou non) un modèle avec des valeurs aberrantes supprimées dépend de la probabilité que des valeurs aberrantes se produisent dans le futur et de la distribution attendue de son effet, s'il se produit effectivement. Les données de formation sont-elles suffisantes pour éclairer cela?. Une approche bayésienne devrait aider ...


1
Ceci est une erreur. vos prévisions peuvent être inexactes si vous ne corrigez pas les valeurs aberrantes, surtout si vos valeurs aberrantes se trouvent à la fin de la série.
prévisionniste
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.