Tutorial: Uitsplitsing van tijdreeksen in Qlik Sense
In deze tutorial tonen we hoe drie diagramfuncties te gebruiken om een tijdreeks uit te splitsen met behulp van het STL-algoritme.
We maken in deze tutorial gebruik van tijdreeksgegevens voor het aantal passagiers dat elke maand met een bepaalde luchtvaartmaatschappij vliegt, om de functionaliteit van het STL-algoritme aan te tonen. De diagramfuncties STL_Trend, STL_Seasonal, and STL_Residual worden gebruikt om de diagrammen te maken. Meer informatie over de uitsplitsing van tijdreeksen in Qlik Sense, vindt u in Ontledingsfuncties voor tijdreeksen.
Een app maken
Maak eerst een nieuwe app aan en importeer daarin de gegevensverzameling.
Download deze gegevensverzameling:
Tutorial: Uitsplitsing van tijdreeksen
Dit bestand bevat gegevens over het maandelijkse aantal passagiers van een luchtvaartmaatschappij.
Doe het volgende:
-
Klik in de hub op Nieuwe app maken.
-
Open de app en zet het bestand Tutorial - Time series decomposition.csv erin.
De gegevens voorbereiden en uploaden
Als u ervoor wilt zorgen dat Qlik Sense het veld YearMonth correct interpreteert, moet u met behulp van Gegevensbeheer het veld aanmerken als een datumveld, geen veld met een tekenreeks. Deze stap wordt meestal automatisch uitgevoerd, maar in dit voorbeeld verschijnen de datums in een ongebruikelijke indeling, namelijk JJJJ-MM.
-
Selecteer de tabel in Gegevensbeheer en klik op .
-
Selecteer het veld YearMonth, klik op en stel het Veldtype in op Datum.
-
Voer bij Invoerindelingde waarde JJJJ-MM in.
-
Voer onder Weergave-indeling de waarde JJJJ-MM in en klik op OK.
In het veld verschijnt nu het kalenderpictogram.
-
Klik op Gegevens laden.
U kunt nu de STL-functies gebruiken om uw gegevens visueel weer te geven.
Diagrammen aanmaken
Nu gaat u twee lijndiagrammen aanmaken om de functionaliteit te zien van de diagramfuncties STL_Trend, STL_Seasonal en STL_Residual.
Open een nieuw werkblad en geef het een titel.
Voeg twee lijndiagrammen toe aan het werkblad. Pas de afmetingen en positie van de diagrammen aan volgens de onderstaande afbeelding.
Eerste lijndiagram: tendensen en seizoensgebaseerde componenten
Doe het volgende:
-
Voeg de titel Seizoenen en tendensen toe aan het eerste lijndiagram.
-
Voeg YearMonth als dimensie toe en geef dit het label Datum.
-
Voeg de volgende meting toe en geeft dit het label Passagiers per maand:
=Sum(Passengers)
-
Ga naar Datums vouw de meting Passagiers per maand open en klik op Trendlijn toevoegen.
-
Stel het Type in op Lineair.
U gaat deze trendlijn vergelijken met het gladgemaakte resultaat van de trendcomponent.
-
Voeg de volgende meting toe om de trendcomponent te tekenen en geef deze de label Trend:
=STL_Trend(SUM(Passengers), 12)
-
Voeg vervolgens de volgende meting toe om het seizoensgebaseerde component te tekenen en geef deze het label seizoensgebaseerde:
=STL_Seasonal(SUM(Passengers), 12)
-
Ga naar Uiterlijk > Presentatie en stel Schuifbalk in op Geen.
-
Behoud de standaardkleuren of verander ze indien gewenst.
Tweede lijndiagram: restcomponent
Configureer vervolgens het tweede lijndiagram. Deze visualisatie toont het restcomponent van de tijdreeksen.
Doe het volgende:
-
Sleep een lijndiagram naar het werkblad. Geef het de titel Restwaarde.
-
Voeg Datum toe als dimensie.
-
Voeg de volgende meting toe en geef deze het label Restwaarde:
=STL_Residual(SUM(Passengers), 12)
-
Ga naar Uiterlijk > Presentatie en stel Schuifbalk in op Geen.
Uw werkblad moet er nu uitzien zoals het onderstaande werkblad.
De gegevens interpreteren en toelichten
Met de STL-diagramfuncties kunt u een aantal conclusies trekken uit de gegevens van uw tijdreeksen.
Trendcomponent
De statistische informatie in de trendcomponent is niet seizoensgebaseerde. Zo ziet u vlotter de algemene, eenmalige schommelingen in de loop van de tijd. In vergelijking met de rechte, lineaire trendlijn voor Passagiers per maand geeft de STL-trendcomponent de wijzigende tendensen beter weer. Deze component vertoont duidelijke verschillen maar blijft toch heel duidelijk leesbaar. Het gladmakende gedrag van het STL-algoritme helpt daarbij.
De daling in het aantal passagiers, die duidelijk te zien is in de STL-trendgrafiek, is een teken van de economische impact van de recessies van de jaren 50 van de vorige eeuw.
seizoensgebaseerde component
De seizoensgebaseerde component zonder trend isoleerde de wederkerende schommelingen in de tijdreeksen en verwijderde de algemene trendinformatie uit dat deel van de analyse. We zijn begonnen met een dataset van jaar/maand-aggregaties. Deze data betekenen impliciet dat we ze segmenteren in stukken van één maand. Door een periodewaarde van 12 in te stellen, stellen we het diagram in om modellen te maken van seizoensgebaseerde patronen in cycli van één jaar (twaalf maanden).
De gegevens vertonen een wederkerend seizoensgebaseerde patroon van een stijging in passagiers tijdens de zomermaanden, gevolgd door een daling in de wintermaanden. Dit komt overeen met het idee dat de zomer een populaire tijd is om op vakantie te gaan en te reizen. We zien ook dat deze seizoensgebaseerde cycli in de loop van de tijdreeksen aanzienlijk breder worden.
Restcomponent
Het diagram voor het restcomponent toont alle informatie die niet in de trend en niet in de seizoensgebaseerde uitsplitsing is opgenomen. De restcomponent omvat statistische ruis, maar kan ook wijzen op een foute instelling van de argumenten van de STL-trend en van de seizoensgebaseerde functie. Als er periodieke schommelingen te zien zijn in het restcomponent van het signaal of als de weergegeven informatie duidelijk niet willekeurig is, dan is dat meestal een teken dat de tijdreeks informatie bevat die momenteel niet in de seizoensgebaseerde of trendcomponenten opgenomen is. In dit geval moet u teruggaan naar uw definities van elk functieargument en mogelijk de periodiciteit ervan aanpassen.
Waarden van gladheidsfactoren
We hebben geen waarden voor de trend- en seizoensgebaseerde gladheidsfactoren opgegeven, en daarom gebruikt de functie de standaardwaarden voor deze parameters. In Qlik Sense produceren de standaardgladheidswaarden van het STL-algoritme effectieve resultaten. Deze argumenten kunnen daarom in de uitdrukkingen meestal worden weggelaten.
De trendgebonden gladmakerswaarde gebruikt de dimensie die in het diagram is opgegeven. In het veld JaarMaand staan de gegevens per maand; daarom is de waarde van de trendgladmaker het aantal maanden. De seizoensgebaseerde gladmaker geeft de ingestelde periodiciteit weer. In dit geval hebben we één periode ingesteld als twaalf maanden (één jaar), dus de waarde van de seizoensgebaseerde gladmaker is het aantal jaren. Dit klinkt verwarrend, maar in feite betekent het dat we een aantal seizoenen moeten analyseren om seizoensgebonden patronen te vinden. Deze waarde is de seizoensgebaseerde gladmaker.
Andere nuttige informatie
De seizoensgebaseerde cycli verbreden in de loop van de tijd, en dat betekent dat een meer geavanceerde analytische aanpak gebruik kan maken van algoritmische functies om een uitsplitsing in veelvouden te maken. In de praktijk kan in Qlik Sense een eenvoudige meting van relatieve breedte worden aangemaakt door de seizoensgebaseerde component te verdelen door de trendgebaseerde component. Zo merken we dat de zomerpieken van elke cyclus in de loop van de tijd relatief breder worden. De breedte van het winterse laagseizoen wordt in de loop van de tijd echter niet groter.