CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Zeitmustererkennung: Trend-Kost


Die falsche Einschätzung eines Trends verursacht im günstigsten Fall nur Magengeschwüre, im ungünstigsten durchwachsene Geschäftsergebnisse. Wir stellen einen Algorithmus vor, der für eine Zeitreihe einen Trendwechsel so schnell und sicher wie möglich erkennt und damit die laufende Trendschätzung verbessert.

Wir hatten uns bereits in Zeitmustererkennung: Niveauänderungen in Zeitreihen und in Zeitmustererkennung: Wenn das Niveau steigt mit Strukturbrüchen von Zeitreihen beschäftigt. Dort gingen wir jedoch von konstanten Zeitreihenniveaus aus, die sich von Zeit zu Zeit ändern.

Nun werfen wir einen Blick auf Zeitreihen, die einen einfachen linearen Trend nur für einen begrenzten Zeitraum beibehalten. Die Länge des Zeitraums ist jedoch unbekannt und kann zusätzlich variieren.

Blaue und rote Segmente stellen bereits fixierte Anpassungen da. Momentan ist nur noch ein leichter Aufwärtstrend zu verzeichnen.
Blaue und rote Segmente stellen bereits fixierte Anpassungen dar. Mit Grün wird die aktuell gerade relevante Trendschätzung gezeichnet.

Der Algorithmus arbeitet in einer online-Version, die mit jeder neu eintreffenden Beobachtung notfalls Einschätzungen der jüngeren Vergangenheit korrigiert, entweder graduell oder durch Annahme eines Trendwechsels. Während die Algorithmen in den verlinkten Blogartikeln immer mit dem gesamten Zeitraum arbeiten, fixiert der hier verwendete Algorithmus die Modellanpassung der weiter zurückliegenden Werte und beschränkt sich auf eine Betrachtung der jüngsten Historie.

Die obige Abbildung zeigt eine Zeitreihe zum Zeitpunkt t=14. Die blauen und roten Segmente sind bereits fixiert und werden sich im weiteren Zeitverlauf nicht mehr ändern.

Ein Trendbruch ist im Zeitpunkt t=12 anzunehmen.
Ein Trendbruch ist im Zeitpunkt t=12 anzunehmen.

Mit der neuen Beobachtung zu t=15 vermutet der Algorithmus rückwirkend einen Trendbruch, der zum Zeitpunkt t=12 stattgefunden hat. Die Geradensteigung von t=8 bis t=12 wird nun nachträglich erhöht und fixiert, wie an der blauen Färbung zu erkennen ist.

Die Trendsteigung ab t=12 wird angepasst.
Die Trendsteigung ab t=12 wird angepasst.

Die Trendsteigung ab t=12 wird leicht korrigiert.
Die Trendsteigung ab t=12 wird leicht korrigiert.

Zu den Zeitpunkten t=16 und t=17 wird der letzte Trend ab t=12 jeweils leicht korrigiert; es wird jedoch kein Trendbruch angenommen.

Ein weiterer Trendbruch wird im Zeitpunkt t=15 vermutet.
Ein weiterer Trendbruch wird im Zeitpunkt t=15 vermutet.

In t=19 wird das Segment von t=12 bis t=15 ein weiteres Mal korrigiert und dann fixiert.

Wir benutzen Verfahren der Modellauswahl, um zu entscheiden, ob ein Segment unterteilt werden sollte. Natürlich ergibt die Verwendung von zwei Geradenstücken “mit Knick” ein mindestens gleich gutes und normalerweise besseres Anpassungsresultat als eine einfache Gerade, aber die höhere Flexibilität wird bei der Berechnung des entscheidenden Kriteriums bestraft, sodass die Anpassung mit zwei Geradenstücken deutlich besser sein muss als die einfache Gerade, damit sie vorgezogen wird.

Für das Kriterium werden Aussagen über die Fehlervarianz benötigt. Diese kann bei mehreren Wiederholungen pro Zeitpunkt aus den Daten geschätzt werden. Bei einer einfachen Zeitreihe muss die Varianz entweder vom Anwender vorgegeben werden oder es kann alternativ, wie beim vorliegenden Beispiel, eine Mindestdauer eines Trends > 2 Perioden vorgegeben werden. Hier beträgt sie beispielsweise vier Zeiteinheiten.

Das Video zeigt (bei aktiviertem Javascript!) die laufende Anpassung für den Fall mehrfacher Wiederholungen, bei der prinzipiell auch eine Minimaltrendlänge von 2 vorkommen und somit sowohl Niveauänderungen als auch singuläre Ausnahmesituationen modelliert werden könnnen. Wie auch bei den Grafiken wird der jeweils aktuelle Trend durch das grüne Geradenstück beschrieben.