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 ...
10
Antworten:
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:
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
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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 ...
quelle