Klicken Sie hier, um mehr über den Autor zu erfahren Maarit Widmann.
Eine vollständige Anwendung zur Zeitreihenanalyse deckt die Schritte in a ab Daten Wissenschaft Zyklus vom Zugriff über die Transformation, Modellierung, Auswertung und Bereitstellung von Zeitreihendaten. Bei Zeitreihendaten unterscheiden sich die spezifischen Aufgaben in diesen Schritten jedoch von denen bei Querschnittsdaten. Beispielsweise werden Querschnittsdaten als Momentaufnahme eines Objekts zu einem bestimmten Zeitpunkt erfasst, während Zeitreihendaten durch Beobachtung desselben Objekts über einen bestimmten Zeitraum hinweg erfasst werden. Die regelmäßigen Muster in Zeitreihendaten haben ihre spezifische Terminologie und bestimmen die erforderliche Vorverarbeitung, bevor mit der Modellierung von Zeitreihen fortgefahren wird. Zeitreihen können mit vielen Modelltypen modelliert werden, aber bestimmte Zeitreihenmodelle, wie etwa ein ARIMA-Modell, nutzen die zeitliche Struktur zwischen den Beobachtungen.
In diesem Artikel stellen wir die häufigsten Aufgaben beim Erstellen einer Zeitreihenanwendung vor. Abschließend setzen wir die Theorie in die Praxis um, indem wir eine Beispielanwendung in der Analytics Platform erstellen.
Zugriff auf Zeitreihen
Zeitreihen haben verschiedene Quellen und Anwendungen: tägliche Verkaufsdaten zur Nachfrageprognose, jährliche makroökonomische Daten für die langfristige politische Planung, Sensordaten einer Smartwatch zur Analyse einer Trainingseinheit und vieles mehr. Alle diese Zeitreihen unterscheiden sich beispielsweise in ihrer Granularität, Regelmäßigkeit und Sauberkeit: Wir können sicher sein, dass wir für dieses Jahr und auch für die nächsten 10 Jahre einen BIP-Wert für unser Land haben, aber wir können nicht garantieren, dass der Der Sensor unserer Smartwatch funktioniert bei jeder Übung und bei jeder Temperatur stabil. Es könnte auch sein, dass Zeitreihendaten nicht in regelmäßigen Abständen verfügbar sind, sondern nur von zufälligen Ereignispunkten, wie etwa Krankheitsinfektionen oder spontanen Kundenbesuchen, erhoben werden können. Allen diesen Arten von Zeitreihendaten ist jedoch gemeinsam, dass sie im Laufe der Zeit aus derselben Quelle gesammelt werden.
Regularisierungs- und Reinigungszeitreihen
Sobald wir die Zeitreihendaten haben, besteht der nächste Schritt darin, sie gleichmäßig verteilt, mit geeigneter Granularität, kontinuierlich und sauber zu gestalten. Die erforderlichen Aufgaben hängen von der ursprünglichen Form der Daten und auch von unserer ab Analytik Zweck. Wenn wir beispielsweise eine einwöchige Werbung für ein Produkt planen, sind wir möglicherweise an detaillierteren Daten interessiert, als wenn wir uns einen Überblick über die Verkäufe eines Produkts verschaffen möchten.
Sortierung
Zeitreihen müssen nach Zeit sortiert werden. Wenn Sie Daten in Trainings- und Testsätze unterteilen, denken Sie daran, die zeitliche Struktur zwischen den Datensätzen beizubehalten, indem Sie die Daten von oben/unten zum Testen/Training verwenden. Wenn Ihre Daten mehr als einen Datensatz pro Zeitstempel enthalten, müssen Sie sie nach Zeitstempel aggregieren. Wenn Sie beispielsweise mehrere Bestellungen pro Tag haben und an den täglichen Verkäufen interessiert sind, müssen Sie die Verkäufe für jeden Tag summieren. Wenn Sie außerdem an der Zeitreihe mit einer anderen Granularität interessiert sind als der, die Sie derzeit in den Daten haben (z. B. Monatsverkäufe statt Tagesverkäufe), können Sie die Daten mit der bevorzugten Granularität weiter aggregieren.
Fehlende Werte
Wenn einige Zeitstempel fehlen, müssen Sie sie in die Zeitreihe einfügen, um sie gleichmäßig zu verteilen. Manchmal sind die fehlenden Datensätze Teil der Dynamik der Zeitreihe (zum Beispiel schließt eine Börse an einem Freitag und öffnet an einem Montag).
Wenn man die fehlenden Zeitstempel in die Daten einfügt, fehlen natürlich auch die entsprechenden Werte. Sie können diese fehlenden Werte beispielsweise durch lineare Interpolation oder gleitende Durchschnittswerte imputieren. Bedenken Sie jedoch, dass die beste Technik zur Imputation fehlender Werte von der regelmäßigen Dynamik in den Daten abhängt. Wenn Sie beispielsweise die wöchentliche Saisonalität in Tagesdaten überprüfen und ein Wert an einem Samstag fehlt, ist der Wert vom letzten Samstag wahrscheinlich der beste Ersatz. Wenn die fehlenden Werte nicht zufällig fehlen, wie beispielsweise die fehlenden Börsenschlusskurse am Wochenende, können Sie diese durch einen festen Wert ersetzen, der in diesem Fall 0 wäre. Wenn die fehlenden Werte hingegen zufällig sind und weit genug in der Vergangenheit liegen, können Sie die Daten nach dem fehlenden Wert verwenden und die älteren Daten ignorieren.
Unregelmäßige Muster
Eine gute Möglichkeit, mit schnellen Schwankungen und Ausreißern umzugehen, besteht darin, die Daten zu glätten. Es können verschiedene Techniken verwendet werden, wie z gleitender Durchschnitt und exponentielle Glättung. Durch das Ausschneiden der Werte, die außerhalb der Whiskers eines Boxplots liegen, werden die Daten außerdem geglättet. Bedenken Sie, dass eine starke Saisonalität in den Daten zu einem ausgedehnten Boxplot führen kann. Dann ist es besser, einen bedingten Boxplot zu verwenden, um Ausreißer zu erkennen.
Manchmal zeigt die Zeitreihe jedoch nur ein sehr unregelmäßiges Phänomen! In einem solchen Fall können Sie versuchen, die Zeitreihe regelmäßiger zu gestalten, indem Sie eine Teilmenge davon extrahieren, indem Sie beispielsweise nur die Verkäufe eines Produkts anstelle der Verkäufe des gesamten Supermarkts berücksichtigen oder die Daten gruppieren.
Zeitreihen erforschen und transformieren
Zu diesem Zeitpunkt haben wir unsere Zeitreihendaten in der Form, die für die visuelle und numerische Untersuchung geeignet ist. Die verschiedenen Diagramme und Statistiken offenbaren lang- und kurzfristige Muster und zeitliche Beziehungen in der Zeitreihe, die wir nutzen können, um die Dynamik der Zeitreihe besser zu verstehen und ihre zukünftige Entwicklung vorherzusagen.
Visuelle Erkundung von Zeitreihen
Das grundlegende Diagramm zur Untersuchung von Zeitreihen ist das Liniendiagramm (Abbildung 3), das eine mögliche Richtung, regelmäßige und unregelmäßige Schwankungen, Ausreißer, Lücken oder Wendepunkte in der Zeitreihe zeigt. Wenn Sie in Ihrer Zeitreihe ein regelmäßiges Muster beobachten, beispielsweise die jährliche Saisonalität beim Getränkeverkauf, können Sie jeden Saisonzyklus (Jahr) separat in einem Saisondiagramm untersuchen (Abbildung 3). Im Saisondiagramm können Sie beispielsweise leicht erkennen, ob der Juli in diesem Jahr ein umsatzstärkerer Monat war als im letzten Jahr oder ob die monatlichen Verkäufe von Jahr zu Jahr steigen.
Wenn Sie daran interessiert sind, was innerhalb der Jahreszeiten passiert, beispielsweise wie hoch die durchschnittlichen Verkäufe in den Sommermonaten sind und wie stark und in welche Richtung die Verkäufe jeden Monat variieren, können Sie diese Art von Dynamik in einem bedingten Boxplot untersuchen (Abbildung 3). Ein weiteres nützliches Diagramm zur Untersuchung von Zeitreihen ist das Verzögerungsdiagramm (Abbildung 3). Das Verzögerungsdiagramm zeigt die Beziehung zwischen den aktuellen Werten und vergangenen Werten, beispielsweise den Verkäufen heute und den Verkäufen der Woche zuvor.
Klassische Zerlegung von Zeitreihen
Die klassische Zerlegung, d. h. die Zerlegung der Zeitreihe in Trend, Saisonalität und Residuum, bietet einen guten Maßstab für Prognosen. Der verbleibende Teil der Zeitreihe, das Residuum, soll sein stationärund kann beispielsweise von einem ARIMA-Modell prognostiziert werden. Beachten Sie jedoch, dass, wenn die Restreihe nicht stationär ist, möglicherweise einige zusätzliche Transformationen erforderlich sind, z. B. eine Differenzierung erster Ordnung oder eine logarithmische Transformation der ursprünglichen Zeitreihe.
Erstens: Wenn die Zeitreihe eine Richtung oder einen Trend anzeigt, kann die Zeitreihe beispielsweise durch Anpassen eines Regressionsmodells an die Daten oder durch Berechnen eines gleitenden Durchschnittswerts von Trends bereinigt werden.
Zweitens: Wenn die Zeitreihe eine regelmäßige Schwankung – eine Saisonalität – aufweist, kann die Zeitreihe entsprechend angepasst werden. Die Verzögerung, bei der die größte Saisonalität auftritt, finden Sie im Autokorrelationsdiagramm der Zeitreihe. Wenn Sie beispielsweise einen Spitzenwert bei Verzögerung 7 beobachten und über tägliche Daten verfügen, weisen die Daten wöchentliche Saisonalität auf. Die Saisonalität kann angepasst werden, indem die Daten bei der Verzögerung, bei der der größte Anstieg auftritt, differenziert werden. Wenn Sie die zweite Saisonalität in den Daten anpassen möchten, können Sie dies tun, indem Sie den Vorgang für die angepasste (differenzierte) Zeitreihe wiederholen.
Wenn Sie schließlich eine stationäre Zeitreihe erreicht haben, die beispielsweise mit einem ARIMA-Modell modelliert werden kann, können Sie eine abschließende Prüfung durchführen, beispielsweise mit Ljung-Box-Test für Stationarität.
Modellierung und Auswertung von Zeitreihen
Nun fahren wir mit der Modellierung des verbleibenden Teils der Zeitreihe fort, der ihre unregelmäßige Dynamik enthält. Wir können dies mit ARIMA-Modellen tun, Maschinelles Lernen Modelle, neuronale Netze und viele Variationen davon. Wir modellieren häufig den Restteil der Zeitreihe mit diesen Modellen, da er stationär ist. Eine Zerlegung der Zeitreihen ist jedoch nicht immer notwendig, da einige Modelle, wie beispielsweise das saisonale ARIMA-Modell, auch zur Modellierung instationärer Zeitreihen geeignet sind.
Im Folgenden sammeln wir einige Eigenschaften dieser verschiedenen Modellierungstechniken, ihre Gemeinsamkeiten und Unterschiede, damit Sie die beste für Ihren Anwendungsfall auswählen können. Denken Sie auch daran, dass es nützlich ist, mehrere Modelle zu trainieren und sogar ein Ensemble daraus aufzubauen!
ARIMA-Modelle
ARIMA Das Modell (Autoregressive Integrated Moving Average) ist ein lineares Regressionsmodell zwischen den aktuellen und vergangenen Werten (AR-Teil) sowie zwischen den aktuellen und vergangenen Prognosefehlern (MA-Teil). Wenn das Modell einen I-Anteil ungleich Null hat, werden die Daten differenziert, um es stationär zu machen. Grundlegende ARIMA-Modelle gehen davon aus, dass die Zeitreihe stationär ist und stationäre Zeitreihen langfristig keine vorhersehbaren Muster aufweisen. Die abnehmende Genauigkeit der Langfristprognosen lässt sich an den zunehmenden Konfidenzintervallen der Prognosen erkennen. Für das Training von ARIMA-Modellen ist es nicht immer besser, mehr Daten zu haben: Große Datenmengen können die Schätzung der Modellparameter eines ARIMA-Modells zeitaufwändig machen und den Unterschied zwischen dem wahren Prozess und dem Modellprozess übertreiben.
Modelle für maschinelles Lernen
Modelle für maschinelles Lernen verwenden die verzögerten Werte als Prädiktorspalten und ignorieren die zeitliche Struktur zwischen der Zielspalte und den Prädiktorspalten. Modelle des maschinellen Lernens können auch langfristige Muster und Wendepunkte in den Daten identifizieren, sofern in den Trainingsdaten genügend Daten bereitgestellt werden, um diese Muster festzustellen. Generell gilt: Je mehr Unregelmäßigkeiten die Daten aufweisen, desto mehr Daten werden für das Training des Modells benötigt. Wenn Sie ein Modell für maschinelles Lernen anwenden, wird empfohlen, das Residuum zu modellieren. Andernfalls könnten Sie ein Modell erstellen, das komplizierter ist als das klassische Zerlegungsmodell, das darüber hinaus aber eigentlich nichts Neues lernt!
Tipps zur Modellauswahl
Erstens sind einige Phänomene schwer vorherzusagen, und in einem solchen Fall ist es oft sinnvoll, sich für ein einfacheres Modell zu entscheiden und keine Ressourcen in die Modellierung von etwas zu investieren, das nicht genau vorhergesagt werden kann.
Zweitens ist die Leistung des Modells nicht das einzige Kriterium. Wenn wichtige Entscheidungen auf den Ergebnissen des Modells basieren, ist dessen Interpretierbarkeit möglicherweise wichtiger als eine etwas bessere Leistung. Allerdings könnte ein neuronales Netzwerk gegenüber einem einfachen klassischen Zerlegungsmodell verlieren, obwohl es eine etwas bessere Prognose liefert.
Drittens kann das Hinzufügen explikativer Variablen zu Ihrem Modell die Prognosegenauigkeit verbessern. Allerdings müssen in einem solchen Modell auch die explikativen Variablen vorhergesagt werden, und die zunehmende Komplexität des Modells ist die höhere Genauigkeit nicht immer wert. Manchmal reichen grobe Schätzungen aus, um die Entscheidungen zu unterstützen: Wenn die Versandbeträge in Zehner- und Hundertereinheiten berechnet werden, muss der prognostizierte Bedarf auch keine größere Granularität aufweisen.
Modellbewertung
Nach dem Training eines Modells besteht der nächste Schritt darin, es zu bewerten. Bei In-Sample-Prognosen ist der Testsatz der Trainingssatz selbst, sodass der Modellprozess an die Daten angepasst wird, die zum Training des Modells verwendet wurden. Bei der Out-of-Sample-Prognose erfolgt die Testmenge zeitlich nach der Trainingsmenge.
Eine empfohlene Fehlermetrik zur Bewertung eines Zeitreihenmodells ist der mittlere absolute prozentuale Fehler (MAPE), da es den Fehler in einer universellen Skala als Prozentsatz des tatsächlichen Werts angibt. Wenn der wahre Wert jedoch Null ist, ist diese Metrik nicht definiert und dann auch andere Fehlermetriken, wie der quadratische Mittelwert des Fehlers (RMSE), wird tun. Was jedoch oft empfohlen wird, ist, es NICHT zu verwenden R-Quadrat. Die R-Quadrat-Metrik passt nicht in den Kontext der Zeitreihenanalyse, da der Schwerpunkt auf der Vorhersage zukünftiger systematischer Variabilität der Zielspalte liegt, anstatt die gesamte Variabilität in der Vergangenheit zu modellieren.
Zeitreihen vorhersagen und rekonstruieren
Wir sind fast da! Der letzte Schritt besteht darin, zukünftige Werte vorherzusagen und das Signal zu rekonstruieren.
Dynamische Prognose
Wenn Sie über ein Modell verfügen, das auf lange Sicht keine genauen Prognosen liefern kann, verbessert die dynamische Bereitstellung häufig die Genauigkeit der Out-of-Sample-Prognose. Bei der dynamischen Bereitstellung wird jeweils nur ein Punkt in der Zukunft prognostiziert und die vergangenen Daten werden um diesen Prognosewert aktualisiert, um die nächste Prognose zu generieren (Abbildung 5).
Wiederherstellung von Trends und Saisonalitäten
Wenn wir schließlich die Zeitreihe vor der Prognose zerlegen, müssen wir den Trend und/oder die Saisonalitäten in den Prognosen wiederherstellen. Wenn wir die Saisonalität durch Differenzieren der Daten anpassen, beginnen wir mit der Rekonstruktion des Signals, indem wir Werte bei der Verzögerung hinzufügen, bei der die Saisonalität auftritt. Wenn wir beispielsweise tägliche Daten hätten, bei denen wir die saisonale Differenzierung bei Verzögerung 7 (wöchentliche Saisonalität) angewendet hätten, würde die Wiederherstellung dieser Saisonalität die folgende Berechnung der Prognosewerte erfordern yt+1, yt+2, ..., yt+h :
woher ti ist der letzte Zeitpunkt in den Trainingsdaten und h ist der Prognosehorizont.
Um die zweite Saisonalität wiederherzustellen, würden wir den oben beschriebenen Schritt für die wiederhergestellte Zeitreihe wiederholen. Wenn wir die Trendkomponente der Zeitreihe wiederherstellen wollten, würden wir das Regressionsmodell, das den Trend darstellt, auf die wiederhergestellte Zeitreihe anwenden.
Vollständige Zeitreihenanwendung in der Analytics-Plattform
Schauen wir uns abschließend an, wie Sie diese Schritte mithilfe unserer Analytics-Plattform in die Praxis umsetzen können. Der Arbeitsablauf Zugriff auf transformierende und modellierende Zeitreihen (verfügbar auf dem Hub) in Abbildung 6 zeigt die Schritte vom Zugriff auf die Bereinigung, visuelle Erkundung, Zerlegung und Modellierung von Zeitreihen. Für einige dieser Aufgaben verwenden wir Zeitreihenkomponenten die Arbeitsabläufe als zeitreihenspezifische Funktionalitäten kapseln: Aggregieren Sie die Daten mit der ausgewählten Granularität, führen Sie die klassische Zerlegung durch und mehr.
In diesem Beispiel verwenden wir die Beispiel – Supermarkt Daten bereitgestellt von Tableau. In unserer Analyse konzentrieren wir uns auf die Bestellungen aller Produkte von 2014 bis 2017 – insgesamt 9994 Datensätze. Wir beginnen mit der Vorverarbeitung, indem wir die Daten in Zeitreihendaten umwandeln, indem wir den Gesamtumsatz pro Tag berechnen. Jetzt haben wir nur noch einen Wert pro Tag, aber einige Tage fehlen, weil an diesen Tagen keine Bestellungen aufgegeben wurden. Daher führen wir diese Tage in die Zeitreihe ein und ersetzen die fehlenden Verkaufswerte durch einen festen Wert 0. Anschließend aggregieren wir die Daten auf Monatsebene und berücksichtigen die durchschnittlichen Verkäufe in jedem Monat in der weiteren Analyse.
Zur visuellen Erkundung aggregieren wir die Daten auch auf Jahresebene und stellen fest, dass es zu Beginn des Jahres 2015 einen Wendepunkt gibt, wie das Liniendiagramm rechts in Abbildung 7 zeigt. Das Liniendiagramm auf der linken Seite zeigt die jährliche Saisonalität der Daten: Am Ende jedes Jahres gibt es zwei reguläre Spitzenwerte und zu Beginn jedes Jahres einen niedrigeren Spitzenwert. Wir erkennen in den Daten auch eine jährliche Saisonalität, wie der starke Anstieg bei Verzögerung 12 im ACF-Diagramm links zeigt. Wir zerlegen die Zeitreihe in ihren Trend, ihre Saisonalität und ihr Residuum. Diese Komponenten werden im Liniendiagramm in der Mitte in Abbildung 7 dargestellt. Das ACF-Diagramm auf der rechten Seite zeigt keine signifikante Autokorrelation in der Residuenreihe.
Als nächstes modellieren wir die Restreihe der monatlichen Durchschnittsverkäufe mit einem ARIMA-Modell. Nach der Differenzierung bei Verzögerung 12 beträgt die Länge der Zeitreihe 36 Beobachtungen. Wir suchen nach dem besten Modell mit der Auto ARIMA Learner-Komponente mit maximaler Ordnung 4 für die AR- und MA-Teile und maximaler Ordnung 1 für den I-Teil. Das leistungsstärkste Modell basierend auf Akaike Informationskriterium ist ARIMA (0, 1, 4) und der resultierende MAPE basierend auf In-Sample-Prognosen beträgt 1.153.
Abschließend bewerten wir die Out-of-Sample-Prognosegenauigkeit des Modells. Der Arbeitsablauf Zeitreihen vorhersagen und rekonstruieren (verfügbar auf dem Hub) in Abbildung 8 zeigt, wie die täglichen Verkäufe im Jahr 2017 basierend auf den monatlichen Daten in den Jahren 2014 bis 2016 (24 Beobachtungen) und dem erfolgreichen ARIMA (0,1,4)-Modell unter Verwendung der dynamischen Bereitstellung prognostiziert werden Ansatz. Danach rekonstruieren wir das Signal, in diesem Fall stellen wir den Trend und die jährliche Saisonalität auf die prognostizierten Werte (12 monatliche Durchschnittsverkaufswerte) wieder her. Wir vergleichen die tatsächlichen und prognostizierten Werte und erhalten einen MAPE von 0.336.
Zusammenfassung
Zeitreihen, seien es Sensordaten, die das Verhalten eines winzigen Objekts Nanosekunde für Nanosekunde zeigen, makroökonomische Daten für das 20. Jahrhundert oder etwas dazwischen, verfügen über spezifische Analysetechniken, die auf Zugriffs-, Manipulations- und Modellierungsschritte anwendbar sind.
In diesem Artikel haben wir Ihnen die Grundlagen der Analysetechniken für Zeitreihen vorgestellt, die Ihnen den Einstieg in die Arbeit mit Zeitreihendaten erleichtern.
Bibliographie
[1] Chambers, John C., Satinder K. Mullick und Donald D. Smith. So wählen Sie die richtige Prognosetechnik aus. Harvard University, Graduate School of Business Administration, 1971.
[2] Hyndman, Rob J. und George Athanasopoulos. Prognose: Prinzipien und Praxis. OTexte, 2018.
Quelle: https://www.dataversity.net/building-a-time-series-analysis-application/
- Absolute
- Zusätzliche
- Analyse
- Analytik
- Anwendung
- Anwendungen
- AR
- Artikel
- Auto
- Grundlagen
- Benchmark
- BESTE
- Getränke
- Körper
- Box
- bauen
- Building
- Geschäft
- Reinigung
- Kolonne
- gemeinsam
- Komponente
- Vertrauen
- Länder
- Strom
- technische Daten
- Tag
- Demand
- Entwicklung
- Krankheit
- Schätzungen
- Event
- Training
- Exploration
- Abbildung
- Endlich
- Vorname
- passen
- Setzen Sie mit Achtsamkeit
- Freitag
- Zukunft
- BIP
- Allgemeines
- Michael
- gut
- Abschluss
- Handling
- Harvard
- Harvard Universität
- Ultraschall
- Hilfe
- HTTPS
- hunderte
- identifizieren
- Image
- Infektionen
- Information
- IT
- Juli
- grosse
- führen
- LERNEN
- Lerner
- lernen
- Niveau
- Line
- Lang
- Maschinelles Lernen
- Dur
- Markt
- Metrik
- Modell
- Modellieren
- Montag
- monatliche Daten
- Monat
- schlauer bewegen
- Netzwerk
- Netzwerke
- Neural
- neuronale Netzwerk
- Neuronale Netze
- öffnet
- Auftrag
- Bestellungen
- Andere
- Schnittmuster
- Leistung
- Planung
- Plattform
- Prognose
- Produkt
- Produkte
- Förderung
- Aufzeichnungen
- Regression
- Beziehungen
- Downloads
- Die Ergebnisse
- Vertrieb
- Skalieren
- Schule
- ausgewählt
- Sinn
- Modellreihe
- kompensieren
- Versand
- Einfacher
- klein
- smart
- Schnappschuss
- So
- Anfang
- begonnen
- Statistiken
- -bestands-
- Börse
- eingereicht
- Sommer
- Support
- Tableau
- Target
- Test
- Die Grundlagen
- Die Zukunft
- Zeit
- Top
- Ausbildung
- Transformation
- Universal-
- Universität
- Wert
- Ansehen
- Woche
- wöchentlich
- Was ist
- Wikipedia
- .
- Arbeiten
- Arbeitsablauf.
- Training
- wert
- Jahr
- Jahr
- Null