Tutorial – Zeitreihenzerlegung in Qlik Sense
Dieses Tutorial zeigt die Verwendung von drei Diagrammfunktionen zum Zerlegen einer Zeitreihe anhand des STL-Algorithmus.
Dieses Tutorial verwendet Zeitreihendaten für die Anzahl der Passagiere einer Fluggesellschaft pro Monat, um die Funktionsweise des STL-Algorithmus zu zeigen. Die Diagrammfunktionen STL_Trend, STL_Seasonal und STL_Residual werden verwendet, um die Visualisierungen zu erstellen. Weitere Informationen über die Zeitreihenzerlegung in Qlik Sense finden Sie unter Zeitreihenzerlegungs-Funktionen.
App erstellen
Beginnen Sie, indem Sie eine neue App erstellen und den Datensatz darin importieren.
Laden Sie den folgenden Datensatz herunter:
Tutorial – Zeitreihenzerlegung
Diese Datei enthält Daten bezüglich der Anzahl Passagiere einer Fluggesellschaft pro Monat.
Gehen Sie folgendermaßen vor:
-
Klicken Sie im Hub auf Neue App erstellen.
-
Öffnen Sie die App und legen Sie die Datei Tutorial - Time series decomposition.csv darin ab.
Vorbereiten und Laden der Daten
Damit Qlik Sense das Feld „YearMonth“ korrekt interpretiert, müssen Sie möglicherweise den Datenmanager verwenden, damit das Feld als Datumsfeld und nicht als Feld mit Stringwerten erkannt wird. In der Regel erfolgt dieser Schritt automatisch, aber in diesem Fall weisen die Datumswerte das eher ungewöhnliche Format JJJJ-MM auf.
-
Wählen Sie im Datenmanager die Tabelle aus und klicken Sie auf .
-
Klicken Sie bei ausgewähltem Feld YearMonth auf und legen Sie den Feldtyp auf Datum fest.
-
Geben Sie unter Eingabeformat den Wert JJJJ-MM ein.
-
Geben Sie unter Anzeigeformat den Wert JJJJ-MM ein und klicken Sie auf OK.
Das Feld zeigt jetzt das Kalendersymbol an.
-
Klicken Sie auf Daten laden.
Jetzt sind Sie bereit, mit der Verwendung der STL-Funktionen zu beginnen, um Ihre Daten visuell darzustellen.
Erstellen der Visualisierungen
Als nächstes erstellen Sie zwei Liniendiagramme, um die Funktionalität der Diagrammfunktionen STL_Trend, STL_Seasonal und STL_Residual zu zeigen.
Öffnen Sie ein neues Arbeitsblatt und geben Sie ihm einen Titel.
Fügen Sie zwei Liniendiagramme zum Arbeitsblatt hinzu. Ändern Sie die Größe und die Position der Diagramme entsprechend der folgenden Abbildung.
Erstes Liniendiagramm: Trend- und Saisonkomponenten
Gehen Sie folgendermaßen vor:
-
Fügen Sie den Titel Saison und Trend zum ersten Liniendiagramm hinzu.
-
Fügen Sie YearMonth als Dimension hinzu und nennen Sie sie Datum.
-
Fügen Sie die folgende Kennzahl hinzu und nennen Sie sie Passagiere pro Monat:
=Sum(Passengers)
-
Erweitern Sie unter Daten die Kennzahl Passagiere pro Monat und klicken Sie auf Trendlinie hinzufügen.
-
Legen Sie den Typ auf Linear fest.
Sie vergleichen diese Trendlinie dann mit der geglätteten Ausgabe der Trendkomponente.
-
Fügen Sie die folgende Kennzahl hinzu, um die Trendkomponente zu plotten, und nennen Sie sie Trend:
=STL_Trend(SUM(Passengers), 12)
-
Fügen Sie die folgende Kennzahl hinzu, um die Saisonkomponente zu plotten, und nennen Sie sie Saisonal:
=STL_Seasonal(SUM(Passengers), 12)
-
Legen Sie unter Darstellung > Präsentation den Wert für Scroll-Leiste auf Keine fest.
-
Behalten Sie die Standardfarben bei oder ändern Sie sie wie gewünscht.
Zweites Liniendiagramm: Restkomponente
Konfigurieren Sie dann das zweite Liniendiagramm. In dieser Visualisierung wird die Restkomponente der Zeitreihe angezeigt.
Gehen Sie folgendermaßen vor:
-
Ziehen Sie ein Liniendiagramm auf das Arbeitsblatt. Fügen Sie den Titel Rest hinzu.
-
Fügen Sie Date als Dimension hinzu.
-
Fügen Sie die folgende Kennzahl hinzu und nennen Sie sie Rest:
=STL_Residual(SUM(Passengers), 12)
-
Legen Sie unter Darstellung > Präsentation den Wert für Scroll-Leiste auf Keine fest.
Ihr Arbeitsblatt sollte der Abbildung unten gleichen.
Interpretieren und Erläutern der Daten
Mit den STL-Diagrammfunktionen erhalten wir eine Reihe von Einblicken aus unseren Zeitreihendaten.
Trendkomponente
Die statistischen Informationen in der Trendkomponente sind saisonbereinigt. Dadurch wird es einfacher, allgemeine, sich nicht im Zeitverlauf wiederholende Fluktuationen zu erkennen. Im Gegensatz zur geraden, linearen Trendlinie für Passagiere pro Monat erfasst die STL-Trendkomponente Trendänderungen. Sie zeigt einige klare Abweichungen, präsentiert die Information aber dennoch in einer leserlichen Art. Dies konnte mithilfe des Glättungsverhaltens im STL-Algorithmus besser erfasst werden.
Die fallenden Zahlen für Flugpassagiere, die im STL-Trenddiagramm angezeigt werden, können im Rahmen der wirtschaftlichen Auswirkung der Rezessionen in den 1950er Jahren erklärt werden.
Saisonkomponente
Die trendbereinigte Saisonkomponente isolierte wiederkehrende Fluktuationen im Lauf der Zeitreihe und entfernte allgemeine Trendinformationen aus diesem Teil der Analyse. Wir begannen mit einem Datensatz, der aus Jahr-Monat-Aggregierungen bestand. Angesichts dieser Daten wird implizit davon ausgegangen, dass wir die Daten in monatlichen Mengen segmentieren. Indem wir einen Zeitraumwert von 12 definieren, legen wir das Diagramm auf das Modellieren von Saisonmustern im Lauf von Einjahres- bzw. Zwölfmonatszyklen fest.
In den Daten findet sich ein wiederholtes Saisonmuster von steigenden Flugpassagierzahlen in den Sommermonaten, gefolgt von Rückgängen in den Wintermonaten. Dies passt zu der Vorstellung, dass der Sommer eine beliebte Zeit für Urlaub und Reisen ist. Wir sehen auch, dass diese Saisonzyklen im Verlauf der Zeitreihe erheblich an Amplitude zunehmen.
Restkomponente
Das Diagramm für die Restkomponente zeigt alle Informationen, die nicht in der Trend- und Saisonzerlegung erfasst wurden. Die Restkomponente enthält statistisches Rauschen, kann aber auf eine falsche Einstellung der Argumente der STL-Trend- und -Saison-Funktion hinweisen. In der Regel sind periodische Schwankungen in der Restkomponente des Signals oder eindeutig nicht zufällig angezeigte Informationen ein Zeichen dafür, dass in der Zeitreihe Informationen vorhanden sind, die aktuell nicht in der Saison- oder der Trendkomponente erfasst werden. In diesem Fall müssen Sie Ihre Definitionen der einzelnen Funktionsargumente überprüfen und ggf. die Periodizität ändern.
Glättungswerte
Da wir keine Werte für die Trend- und Saisonglättung angegeben haben, verwendet die Funktion die Standardwerte für diese Parameter. In Qlik Sense ergeben die Standardglättungswerte im STL-Algorithmus effektive Ergebnisse. Infolgedessen können diese Argumente in den meisten Fällen in den Formeln weggelassen werden.
Der Trendglättungswert verwendet die Dimension, die im Diagramm angegeben ist. Da das Feld YearMonth Daten nach Monaten angibt, ist der Trendglättungswert die Anzahl der Monate. Die Saisonglättung entspricht der definierten Periodizität. Da wir in diesem Fall einen Zeitraum mit einer Dauer von zwölf Monaten (einem Jahr) definiert haben, ist der Saisonglättungswert die Anzahl der Jahre. Das kann verwirrend klingen, bedeutet aber tatsächlich, dass wir zum Ermitteln der Saisonalität eine Anzahl von Saisonen betrachten müssen. Diese Anzahl ist die Saisonglättung.
Weitere nützliche Informationen
Da die Amplitude der Saisonzyklen im Lauf der Zeit zunimmt, kann ein erweiterter Analyseansatz logarithmische Funktionen nutzen, um eine multiplikative Zerlegung zu erstellen. In der Praxis kann eine einfache Kennzahl mit relativer Amplitude in Qlik Sense erstellt werden, indem die Saisonkomponente durch die Trendkomponente geteilt wird. Danach stellen wir fest, dass im Lauf der Zeit die Sommerspitzen jedes Zyklus eine größere relative Amplitude aufweisen. Die Amplitude der Tiefstände im Winter nimmt jedoch im Zeitverlauf nicht zu.