AWL für Zeitreihen mit fehlenden Werten zur Erkennung von Anomalien


12

Ich versuche, anomale Werte in einer Zeitreihe von Klimadaten mit einigen fehlenden Beobachtungen zu ermitteln. Beim Durchsuchen des Webs habe ich viele verfügbare Ansätze gefunden. Von diesen scheint die Zersetzung im Sinne der Entfernung von Trends und saisonalen Bestandteilen und der Untersuchung des Restes ansprechend zu sein. Lesen von STL: Ein auf Löss basierendes saisonal-trendbezogenes Zerlegungsverfahrenstl scheint bei der Festlegung der Einstellungen für die Zuweisung von Variabilität flexibel zu sein , wirkt sich nicht auf Ausreißer aus und kann trotz fehlender Werte angewendet werden. Beim Versuch, es in Rvier Jahren Beobachtungen anzuwenden und alle Parameter gemäß http://stat.ethz.ch/R-manual/R-patched/library/stats/html/stl.html zu definieren, stoße ich auf etwas Error:

"time series contains internal NAs"(wann na.action=na.omit) und
"series is not periodic or has less than two periods"(wann na.action=na.exclude).

Ich habe überprüft, ob die Frequenz korrekt definiert ist. Ich habe relevante Fragen in Blogs gesehen, aber keinen Vorschlag gefunden, der dies lösen könnte. Ist es nicht möglich, sich stlin einer Serie mit fehlenden Werten zu bewerben ? Ich bin sehr zurückhaltend, sie zu interpolieren, da ich keine Artefakte einführen (und folglich erkennen ...) möchte. Aus dem gleichen Grund weiß ich nicht, wie ratsam es wäre, stattdessen ARIMA-Ansätze zu verwenden (und wenn fehlende Werte immer noch ein Problem wären).

Teilen Sie uns bitte mit, ob Sie eine Möglichkeit kennen, sich stlin einer Reihe mit fehlenden Werten zu bewerben , oder ob Sie der Meinung sind, dass meine Auswahl methodisch nicht zutreffend ist oder ob Sie einen besseren Vorschlag haben. Ich bin ziemlich neu auf dem Gebiet und überwältigt von den Haufen (scheinbar ...) relevanter Informationen.


Ich habe das gleiche Problem. Die STL-Methode sollte in der Lage sein, nur die fehlenden Werte durch LOESS auszufüllen, aber diese R-Implementierung scheint dies nicht zu tun.
jf328

Antworten:


5

ARIMA-Modelle enthalten einfach Dummy-Variablen, um mit fehlenden Werten umzugehen. Diese werden als Pulsindikatoren bezeichnet. Die Methode ist unkompliziert und in http://www.unc.edu/~jbhill/tsay.pdf dokumentiert . Im Allgemeinen extrahiert die Methode Informationen zu Impulsen, Pegelverschiebungen, saisonalen Impulsen und lokalen Zeittrends aus den aktuellen Restserien.


danke für den vorschlag und den sehr interessanten artikel!
Effie

3

Laut @Julius in diesem Beitrag ist es möglich, stlmit na.approx, from zoopackage, using zu verwenden stl(x, na.action = na.approx, ...). Dies führt eine Art Interpolation durch .


0

Vielleicht möchten Sie auch das stlplusPaket von Hafen ausprobieren . Details sind in seiner Arbeit.

Sie können es von CRAN mit installieren

install.packages("stlplus")

oder direkt von github mit

devtools::install_github("hafen/stlplus").
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.