Ga naar hoofdinhoud Ga naar aanvullende inhoud

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.

  1. Klik in de hub op Nieuwe app maken.

  2. 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.

  1. Selecteer de tabel in Gegevensbeheer en klik op Bewerk het tabelpictogram in Gegevensbeheer. .

  2. Selecteer het veld YearMonth, klik op Bewerk het tabelpictogram in Gegevensbeheer. en stel het Veldtype in op Datum.

  3. Voer bij Invoerindelingde waarde JJJJ-MM in.

  4. Voer onder Weergave-indeling de waarde JJJJ-MM in en klik op OK.

    In het veld verschijnt nu het kalenderpictogram.

  5. 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.

Qlik Sense raster-omtrek van blanco app-werkblad

Blanco werkblad in nieuwe app met lay-out en rasterafmetingen

Eerste lijndiagram: tendensen en seizoensgebaseerde componenten

  1. Voeg de titel Seizoenen en tendensen toe aan het eerste lijndiagram.

  2. Voeg YearMonth als dimensie toe en geef dit het label Datum.

  3. Voeg de volgende meting toe en geeft dit het label Passagiers per maand:

    =Sum(Passengers)

  4. Ga naar Datums vouw de meting Passagiers per maand open en klik op Trendlijn toevoegen.

  5. Stel het Type in op Lineair.

    U gaat deze trendlijn vergelijken met het gladgemaakte resultaat van de trendcomponent.

  6. Voeg de volgende meting toe om de trendcomponent te tekenen en geef deze de label Trend:

    =STL_Trend(SUM(Passengers), 12)

  7. Voeg vervolgens de volgende meting toe om het seizoensgebaseerde component te tekenen en geef deze het label seizoensgebaseerde:

    =STL_Seasonal(SUM(Passengers), 12)

  8. Ga naar Uiterlijk > Presentatie en stel Schuifbalk in op Geen.

  9. Behoud de standaardkleuren of verander ze indien gewenst.

Tweede lijndiagram: restcomponent

Configureer vervolgens het tweede lijndiagram. Deze visualisatie toont het restcomponent van de tijdreeksen.

  1. Sleep een lijndiagram naar het werkblad. Geef het de titel Restwaarde.

  2. Voeg Datum toe als dimensie.

  3. Voeg de volgende meting toe en geef deze het label Restwaarde:

    =STL_Residual(SUM(Passengers), 12)

  4. Ga naar Uiterlijk > Presentatie en stel Schuifbalk in op Geen.

Uw werkblad moet er nu uitzien zoals het onderstaande werkblad.

Qlik Sense-werkblad voor analyse luchtvaartpassagiers

Werkblad in een app met apart verwerkte gegevens over tendensen, seizoensgebaseerde en resterende tijdreeksen.

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.

InformatieAls u de seizoens- of trendgebonden gladmakersargumenten instelt op 0 in een van de drie  STL-functies, gebruikt het algoritme de standaardwaarden in plaats van de waarde 0.

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.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!