Wie korrigiere ich Ausreißer, die einmal für die Vorhersage von Zeitreihendaten erkannt wurden?

10

Ich versuche einen Weg zu finden, um Ausreißer zu korrigieren, sobald ich sie in Zeitreihendaten finde / erkenne. Einige Methoden, wie nnetar in R, geben einige Fehler für Zeitreihen mit großen / großen Ausreißern. Ich habe es bereits geschafft, die fehlenden Werte zu korrigieren, aber Ausreißer beschädigen meine Prognosen immer noch ...

Mila
quelle
Was meinst du mit "korrigieren"?
Rbatt
Ersetzen oder Ersetzen ... Oder sollte es nur subtrahieren ...?
Mila
3
Sind die Ausreißer "echt"? Damit meine ich, dass Ausreißer durch die Unfähigkeit des Modells verursacht werden, extreme Ereignisse oder Schocks vorherzusagen? Oder sind es "Fehler" wie Dateneingabeprobleme?
Wahrscheinlichkeitslogik

Antworten:

9

Das Prognosepaket für R enthält jetzt eine Funktion zum Identifizieren und Ersetzen von Ausreißern. (Es behandelt auch die fehlenden Werte.) Da Sie das Prognosepaket anscheinend bereits verwenden, ist dies möglicherweise eine bequeme Lösung für Sie. Beispielsweise:

fit <- nnetar(tsclean(x))

Die tsclean()Funktion passt zu einem robusten Trend mit Löss (für nicht saisonale Serien) oder zu robusten Trends und saisonalen Komponenten mit STL (für saisonale Serien). Die Residuen werden berechnet und die folgenden Grenzen werden berechnet:

wobeiq0,1und

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
q0.1q0.9

UL

Bei nicht saisonalen Zeitreihen werden Ausreißer durch lineare Interpolation ersetzt. Bei saisonalen Zeitreihen wird die saisonale Komponente aus der STL-Anpassung entfernt und die saisonbereinigte Reihe wird linear interpoliert, um die Ausreißer zu ersetzen, bevor das Ergebnis erneut saisonalisiert wird.

Rob Hyndman
quelle
1
Ihre Ausarbeitung hier ist auch hilfreich: stats.stackexchange.com/questions/1142/… (tsclean ruft tsoutliers auf)
4

Wenn Sie ein ARIMA-Modell identifizieren, sollten Sie gleichzeitig Impulse / Ebenenverschiebungen / saisonale Impulse und / oder lokale Zeittrends identifizieren. Unter http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Reilly-and-William-Wei-1999 erhalten Sie Lesematerial zu Verfahren zur Erkennung von Interventionen - / 85697 und http://www.unc.edu/~jbhill/tsay.pdf . Möglicherweise müssen Sie kommerzielle Software wie SAS / SPSS / AUTOBOX verwenden, um nützliche Ergebnisse zu erzielen, da die freie Software, die ich gesehen habe, fehlt. Nebenbei habe ich AUTOBOX zu wesentlichen technischen Verbesserungen in diesem Bereich beigetragen.

BEARBEITEN:

Ein noch besserer Ansatz besteht darin, die Ausreißer mithilfe der strengen ARIMA-Methode sowie der Interventionserkennungsverfahren zu identifizieren, die zu robusten ARIMA-Parametern und einer guten Prognose führen. Erwägen Sie nun, simulierte Vorhersagen zu entwickeln, die neu abgetastete Residuen enthalten, die frei von Impulseffekten sind. Auf diese Weise erhalten Sie das Beste aus beiden Welten, nämlich ein gutes Modell und realistischere Unsicherheitsaussagen für die Prognosen, bei denen nicht davon ausgegangen wird, dass die geschätzten Modellparameter die Populationswerte sind.

IrishStat
quelle
1

Ich stimme @Aksakal zu. Anstatt die Ausreißer zu entfernen, wäre ein besserer Ansatz, ein statistisches Verfahren zu verwenden, um mit den Ausreißern umzugehen. Ich schlage vor, Sie gewinnen Ihre Daten. Bei ordnungsgemäßer Implementierung kann die Winsorisierung für Ausreißer relativ robust sein. Auf dieser Seite: http://www.r-bloggers.com/winsorization/ finden Sie R-Codes zur Implementierung der Winsorisierung. Wenn Sie erwägen, Ihre Daten zu gewinnen, müssen Sie sorgfältig über die Endpunkte der Verteilung nachdenken. Werden die Ausreißer voraussichtlich extrem niedrig sein oder werden sie voraussichtlich extrem hoch sein oder vielleicht beides? Dies wirkt sich darauf aus, ob Sie beispielsweise bei 5% oder 10% und / oder 95% oder 99% gewinnen.

Daniel
quelle
1
Eine Winsorisierung zum Zwecke der Schätzung eines Gesamtmittelwerts kann sinnvoll sein, wenn keine Trend- oder saisonalen Komponenten in den Daten enthalten sind, droht jedoch ansonsten, wichtige Informationen zu zerstören.
whuber
0

Im Prognosekontext ist das Entfernen von Ausreißern sehr gefährlich. Sie prognostizieren beispielsweise den Umsatz eines Lebensmittelgeschäfts. Nehmen wir an, im Nachbargebäude gab es eine Gasexplosion, bei der Sie den Laden für einige Tage geschlossen haben. Dies war das einzige Mal seit 10 Jahren, dass der Laden geschlossen wurde. So erhalten Sie die Zeitreihen, erkennen den Ausreißer, entfernen ihn und prognostizieren. Sie haben stillschweigend angenommen, dass in Zukunft nichts dergleichen passieren wird. Im praktischen Sinne haben Sie Ihre beobachtete Varianz komprimiert und die Koeffizientenvarianzen sind geschrumpft. Wenn Sie also die Konfidenzbänder für Ihre Prognose anzeigen, sind sie schmaler als wenn Sie den Ausreißer nicht entfernt hätten.

Natürlich können Sie den Ausreißer behalten und wie gewohnt vorgehen, aber dies ist auch kein guter Ansatz. Der Grund ist, dass dieser Ausreißer die Koeffizienten verzerrt.

Ich denke, ein besserer Ansatz in diesem Fall ist es, eine Fehlerverteilung mit fetten Schwänzen zuzulassen, möglicherweise eine stabile Verteilung. In diesem Fall wird Ihr Ausreißer die Koeffizienten nicht zu stark verzerren. Sie liegen nahe an den Koeffizienten, wenn ein Ausreißer entfernt wird. Der Ausreißer zeigt jedoch in der Fehlerverteilung die Fehlervarianz an. Im Wesentlichen erhalten Sie breitere Prognose-Konfidenzbänder.

Die Vertrauensbänder vermitteln eine sehr wichtige Information. Wenn Sie prognostizieren, dass der Umsatz in diesem Monat 1.000.000 US-Dollar betragen wird, die Wahrscheinlichkeit jedoch 5.000 US-Dollar beträgt, wirkt sich dies auf Ihre Entscheidungen zu Ausgaben, Cash-Management usw. aus.

Aksakal
quelle
-1

Die Vorhersage mithilfe (oder nicht) eines Modells mit entfernten Ausreißern hängt von der Wahrscheinlichkeit des zukünftigen Auftretens von Ausreißern und der erwarteten Verteilung seiner Auswirkungen ab, falls diese tatsächlich auftreten. Reichen die Trainingsdaten aus, um dies zu beleuchten? Ein Bayes'scher Ansatz sollte helfen ...

Ricardo Coqueiro
quelle
1
Das ist falsch. Ihre Prognose ist möglicherweise ungenau, wenn Sie sich nicht auf Ausreißer einstellen, insbesondere wenn sich Ihre Ausreißer am Ende der Serie befinden.
Prognostiker