Werken met voorspellingen van multivariate tijdreeksen | Qlik Cloud Help
Ga naar hoofdinhoud Ga naar aanvullende inhoud

Werken met voorspellingen van multivariate tijdreeksen

Met Qlik Predict kunt u machine learning-modellen trainen om tijdspecifieke statistieken te voorspellen. Met behulp van op neurale netwerken gebaseerde methoden leren en voorspellen modellen complexe patronen met tijdspecifieke associaties, gegroepeerde doelgegevens, historische functies en bekende toekomstige variabelen. Om een tijdreeksvoorspelling te maken, bereidt u een trainingsgegevensset voor, gebruikt u deze in een tijdreeksexperiment, implementeert u een model en maakt u vervolgens toepassingsgegevenssets die u kunt gebruiken om voorspellingen te genereren.

Onderdelen van een tijdreeksprobleem

Bij tijdreeksvoorspellingen is het doel om doelwaarden voor specifieke datums in de toekomst te voorspellen. U wilt bijvoorbeeld de verkoop voor de volgende week, maand of kwartaal voorspellen.

Bij het ontwikkelen van uw tijdreeksprobleem definieert u de volgende onderdelen:

  • Doel en groepen

  • Datumindex

  • Voorspellingshorizon

  • Covariaten

InformatieDit raamwerk beschrijft hoe u een machine learning-vraag definieert voor tijdreeksvoorspellingsproblemen. Zie Definieer machine learning-vragen om machine learning-vragen voor classificatie- en regressieproblemen te definiëren.

Vereenvoudigde illustratie die de onderdelen van een tijdreeksvoorspellingsprobleem in Qlik Predict schetst.

Doel

Net als bij andere experimenttypen is het doel de kolom waarvoor u wilt dat het model toekomstige waarden voorspelt. Voor tijdreeksexperimenten moet het doel numerieke gegevens bevatten, bijvoorbeeld verkoop of voorraad.

Als u groepen gebruikt in de tijdreeksvoorspelling, voorspellen modellen één doelwaarde per groep per tijdstap in het voorspellingsvenster. Als u geen groepen gebruikt, voorspellen uw getrainde modellen één doelwaarde voor elke tijdstap in het voorspellingsvenster.

Datumindex

De datumindex volgt de tijdreeksstatistieken over een continu tijdsinterval (tijdstap). U moet in een vroeg stadium beslissen over uw tijdstap: hoe vaak moet u toekomstige waarden voorspellen?

Specifiek is de datumindex een kolom die wordt weergegeven in uw trainings- en toepassingsgegevenssets voor tijdreeksproblemen. De datumindex bepaalt de structuur van beide toepassingsgegevenssets: elke rij vertegenwoordigt een stap in de tijd (of, met groepen, een stap in de tijd voor elke unieke groepering).

Wanneer u uw trainingsgegevensset toevoegt in een tijdreeksexperiment, worden mogelijke datumindexkolommen automatisch geïdentificeerd en aan u gepresenteerd als Inzichten op kolomniveau. U kunt ze identificeren aan de hand van het inzicht Mogelijke datumindex in de schemaweergave.

Groepen

Groepen zijn functies die categorische informatie bevatten waarvoor u afzonderlijk voorspellingen wilt genereren. Klassieke voorbeelden van groepen zijn winkelnummer en product, die gebruikt hadden kunnen worden om gegevens te ordenen voor een doel zoals verkoop. Door winkelnummer en producttype als groepen te selecteren, bieden uw tijdreeksmodellen voorspellingen voor elke afzonderlijke waarde in deze kolommen. Bijvoorbeeld, met een verkoopdoel, als u drie winkelnummers hebt — 1, 2 en 3 — en twee producttypen — kruidenierswaren en versproducten — genereert uw model verkoopvoorspellingen voor elke unieke combinatie van deze waarden.

U moet groepen opnemen in uw tijdreeksprobleem als u over de gegevens beschikt en individuele voorspellingen per categorie nodig hebt. Een ander voordeel van groepen is dat modellen globaal kunnen leren, waardoor ze de patronen die bestaan tussen de verschillende groeperingen die u definieert, beter begrijpen.

U kunt de groepen configureren die voor elke experimentversie moeten worden gebruikt. Als u geen groepen opgeeft, maar er wel groepen zijn geïdentificeerd in uw trainingsgegevensset, gebruikt de training groepen.

Groepen worden geïdentificeerd door dubbele waarden in de datumindexkolom: voor een datum van 14-1-2025 hebt u bijvoorbeeld twee records: één voor winkel A en de andere voor winkel B.

Elke groep in een tijdreeksexperiment — inclusief het doel alleen — wordt beschouwd als afzonderlijke tijdreeksen binnen uw gegevensset. Zie Wat is een tijdreeks?.

Primaire en secundaire groepen

Voor tijdreeksproblemen met twee groepskolommen is de ene groep de primaire groep en de andere de secundaire groep. Zie voor voorbeelden Een trainingsgegevensset voorbereiden, Voorbeeld van trainingsgegevensset — twee groepen en Voorbeeld van toepassingsgegevensset — twee groepen.

De primaire groepering definieert onafhankelijke tijdreeksen. Elke winkel wordt bijvoorbeeld een eigen afzonderlijke tijdreeks, waardoor het model verschillende gedragingen en patronen in winkels kan leren.

De secundaire groepering wordt anders behandeld. In plaats van volledig afzonderlijke reeksen te maken, draait het systeem die waarden naar extra functies (covariaten), waardoor gerelateerde subreeksen contextuele informatie aan elkaar kunnen bieden.

U hoeft over het algemeen niet te weten welke groep de primaire en welke de secundaire is, hoewel u optioneel een primaire groep in uw experiment kunt kiezen. Er gelden bepaalde overwegingen voor het voorspellen met geïmplementeerde tijdreeksmodellen—zie Een toepassingsgegevensset voorbereiden.

Informatie

Alle primaire groepen moeten dezelfde secundaire groepen delen. Als winkels bijvoorbeeld primaire groepen zijn en producten secundaire groepen, moet elke winkel dezelfde set producten bevatten. Ontbrekende secundaire groepen zouden leiden tot inconsistente functiedimensies in tijdreeksen.

Als u verwacht dat secundaire groepswaarden niet overeenkomen met primaire groepswaarden op het moment van voorspellen, is een mogelijke benadering om de oorspronkelijke primaire en secundaire groepswaarden te combineren in een nieuwe groeperingskolom en deze als de primaire groep te gebruiken bij het opnieuw trainen van het model. In deze opzet is het model niet langer afhankelijk van secundaire groepen, maar gecorreleerde informatie tussen groepen kan worden verminderd.

Voorspellingshorizon

De voorspellingshorizon specificeert hoe ver in de toekomst u wilt voorspellen. De voorspellingshorizon bestaat uit het voorspellingsvenster (het aantal tijdstappen waarvoor u voorspellingen nodig hebt) en de voorspellingskloof (een optioneel aantal tijdstappen na uw historische gegevens waarvoor u geen voorspellingen wilt).

U stelt het voorspellingsvenster en de kloofgrootte in bij het configureren van een experimentversie. Deze waarden worden zowel gebruikt tijdens de modeltraining als bij het genereren van voorspellingen van modellen die zijn geïmplementeerd als ML-implementaties.

Het voorspellingsvenster is het aantal tijdstappen waarvoor u in de toekomst wilt voorspellen. Als uw tijdstap bijvoorbeeld één dag is en u de verkoop voor de komende twee weken wilt voorspellen, stelt u uw voorspellingsvenster in op 14.

De voorspellingskloof is de hoeveelheid tijd in de toekomst waarvoor u geen voorspellingen nodig hebt. Het instellen van een voorspellingskloof is optioneel, omdat u er misschien wel of geen nodig hebt. De voorspellingskloof begint aan het einde van de geregistreerde historische trainingsgegevens die u hebt verstrekt. Het voorspellingsvenster begint waar de voorspellingskloof eindigt.

U wilt bijvoorbeeld toekomstige verkopen voorspellen, maar u bent alleen geïnteresseerd in toekomstige verkopen voor datums die later vallen dan één week na het einde van uw invoergegevens. In dit geval, met een tijdstap van dagen, kunt u uw voorspellingskloofgrootte instellen op zeven tijdstappen.

Uw geselecteerde voorspellingsvenster, naast de hoeveelheid trainingsgegevens die u hebt, beperkt hoe ver in de toekomst u kunt voorspellen. Zie Maximaal voorspellingsvenster voor meer informatie.

Covariaten

In tijdreeksproblemen worden functies vaak covariaten genoemd. Net als bij andere machine learning-problemen zijn covariaten de andere variabelen waarvan u vermoedt dat ze invloed hebben op de uitkomst van het doel. Elke covariaat wordt weergegeven als een enkele kolom in uw trainingsgegevensset.

Bij tijdreeksvoorspellingen zijn er verschillende soorten covariaten en ze hebben enkele belangrijke verschillen:

  • Statische covariaten: Kolommen die niet variëren in de loop van een tijdreeks. Statische covariaten zijn van toepassing in tijdreeksexperimenten waarbij groepen worden gebruikt. Stel bijvoorbeeld dat u groepen hebt voor Product en Winkelnummer, en er is een functie Standaardkorting. Als Product A in Winkel 1 een standaardkorting van 10% heeft en Product B in Winkel 2 een standaardkorting van 20% heeft, is Standaardkorting een statische covariaat. Dat wil zeggen, het varieert niet binnen de gegevens voor de groep waarin het voorkomt.

    Statische covariaten worden automatisch gedetecteerd op basis van historische functies die u in het experiment opneemt. U hoeft niet aan te geven welke functies statische covariaten zijn.

  • Eerdere covariaten: Tijdsafhankelijke variabelen die alleen beschikbaar zijn in de historische gegevens en die variëren in deze gegevens. Eerdere covariaten worden automatisch gedetecteerd op basis van historische functies die u in het experiment opneemt. U hoeft niet expliciet aan te geven welke functies eerdere covariaten zijn.

  • Toekomstige covariaten: Toekomstige covariaten, ook wel toekomstige functies genoemd, zijn tijdsafhankelijke variabelen waarvan u de toekomstige waarden binnen de voorspellingshorizon zult kennen. Wanneer u toekomstige covariaten in de training gebruikt, moet u deze als toekomstige functies in de trainingsconfiguratie aangeven.

Toekomstige functies

Met toekomstige functies kunt u uw modellen voorzien van extra gegevens over toekomstige informatie die u al kent of redelijkerwijs kunt verwachten. In het bijzonder hebt u toegang tot toekomstige waarden voor deze functie die uw geselecteerde voorspellingshorizon beslaan. Bij het definiëren van toekomstige functies moet u zowel historische als toekomstige gegevens verstrekken.

Voor een model dat statistieken voorspelt die beïnvloed kunnen worden door toekomstige kortingen die door een winkel worden aangeboden, kunt u bijvoorbeeld de historisch waargenomen kortingen opnemen, evenals de kortingen voor toekomstige tijdsperioden binnen het voorspellingsvenster. Andere voorbeelden van toekomstige functies kunnen weers- of kalenderinformatie zijn.

Andere belangrijke concepten

Deze sectie schetst concepten die relevant zijn voor uw tijdreeksprobleem, maar die u niet rechtstreeks in een experiment of ML-implementatie configureert. Dit zijn eigenschappen die worden gedefinieerd door uw gegevens of door andere eigenschappen die u voor het model configureert.

Tijdstappen

De tijdstap wordt gedefinieerd door uw trainingsgegevensset en is belangrijk voor zowel training als voorspellingen.

In uw trainingsgegevensset is de tijdstap het interval waarmee de gegevens in uw datumindex worden geregistreerd. De tijdstap kan bijvoorbeeld dagelijks, elk uur, elke minuut of elke seconde zijn. De kleinste gedetecteerde tijdstap is milliseconden.

Het is belangrijk om op de hoogte te zijn van de tijdstap die in uw trainingsgegevens wordt gebruikt. Andere experimentparameters die u definieert, zoals voorspellingsvenster en voorspellingskloofgrootte, volgen dit tijdstapinterval.

Na het implementeren van uw model moeten de toepassingsgegevens waarvoor u voorspellingen wilt maken, dezelfde tijdstap volgen als gedefinieerd in de trainingsgegevensset.

Kwaliteit

Wanneer u een trainingsgegevensset selecteert, leidt het systeem de gebruikte tijdstap af. Als er enkele ontbrekende waarden of hiaten in de datumindex zijn, kunnen kolommen zoals doel, groepen en covariaten automatisch door het systeem worden geïnterpoleerd. Als uw gegevens echter tijdsintervallen bevatten die zo inconsistent zijn dat er verschillende tijdstappen worden gedetecteerd, moeten de gegevens eerst worden gecorrigeerd. Als u bijvoorbeeld meerdere maanden aan gegevens hebt die eenmaal per dag zijn geregistreerd, maar er is een sectie waarin gegevens consequent wekelijks worden geregistreerd, kan de gegevensset niet worden gebruikt omdat er meerdere tijdstappen worden gedetecteerd.

Toepassingsvenster

Het toepassingsvenster, of de terugkijkperiode, is het gedeelte van de trainingsgegevens dat het algoritme kan gebruiken om de voorspellingen te leveren voor uw opgegeven voorspellingsvenster.

Het toepassingsvenster wordt berekend en ingesteld door het systeem. Het wordt gemeten in tijdstappen. Het toepassingsvenster wordt gedefinieerd door wat u instelt als het voorspellingsvenster en de kloof (voorspellingshorizon). De grootte van uw toepassingsvenster wordt weergegeven in het experimentconfiguratiepaneel en de Samenvatting modeltraining, na het uitvoeren van ten minste één experimentversie. Het wordt ook weergegeven in een ML-implementatie Modelschema bij het maken of bewerken van een batchvoorspellingsconfiguratie.

Het toepassingsvenster wordt automatisch geïdentificeerd op basis van uw trainingsconfiguratie. Om voorspellingen te genereren voor een bepaald voorspellingsvenster, moet u de historische gegevens verstrekken die ten minste uw toepassingsvenster beslaan. Dit wordt verstrekt in uw toepassingsgegevensset. Zie Een toepassingsgegevensset voorbereiden.

Maximaal voorspellingsvenster

Het maximale voorspellingsvenster wordt geschat terwijl u uw tijdreeksexperiment configureert. Nadat u een versie van de training hebt uitgevoerd, wordt het maximale voorspellingsvenster met zekerheid bevestigd. Het maximale voorspellingsvenster wordt aan u weergegeven als de Geschatte maximale voorspelling of Maximale voorspelling onder Op basis van uw gegevens, wanneer u Doel en experimenttype opent in het experimentconfiguratiepaneel. Het maximale voorspellingsvenster is het maximale aantal tijdstappen waarvoor u voorspellingen kunt genereren, gezien uw gekozen voorspellingsvenster, hoeveel historische gegevens u hebt verstrekt en de minimale steekproefomvang die door het systeem wordt verwacht. Hoe meer historische gegevens u verstrekt, hoe verder in de tijd u kunt voorspellen. Om betrouwbare voorspellingen te genereren, is het echter belangrijk om een redelijk voorspellingsvenster te selecteren.

Het maximale prognosevenster kan maximaal 180 tijdstappen bedragen.

Voorspellingsafsluitingstijd

De voorspellingsafsluitingstijd is vooral belangrijk bij het definiëren van uw toepassingsgegevensset tijdens voorspellingen. De voorspellingsafsluitingstijd is de laatste datum in uw steekproef waarvoor u een doelwaarde hebt. In wezen zijn datums na deze afsluitingstijd de datums waarvoor u voorspellingen wilt genereren.

Wat is een tijdreeks?

In Qlik Predict tijdreeksvoorspellingen wordt elke groep — inclusief het doel alleen — beschouwd als afzonderlijke tijdreeksen binnen de trainingsgegevensset. Stel bijvoorbeeld dat uw trainingsgegevensset verkoopstatistieken bevat. Deze verkoopstatistieken zijn gedefinieerd voor elke winkel en elk producttype. Met de kolommen Winkel en Producttype gedefinieerd als groepen, zijn er drie tijdreeksen in de trainingsgegevensset.

Een trainingsgegevensset voorbereiden

Voor multivariate tijdreeksvoorspellingen moet uw trainingsgegevensset de volgende kolommen bevatten:

  • Datumindex

  • Doelkolom

  • Groepskolommen (optioneel)

  • Functiekolommen (optioneel—zonder functies traint u een univariaat voorspellingsmodel)

Illustraties die de vereiste kolommen en gegevens voor tijdreekstrainingsgegevenssets tonen. Scenario's zonder groepen, één groep en twee groepen worden beschreven.

Lineair diagram dat de benodigde onderdelen en tijdlijn van een trainingsgegevensset voor een tijdreeksvoorspellingsmodel schetst.

Datumindexkolom

U hebt een datumindex nodig die volledige datums of tijdstempels bevat. Deze kolom is de chronologische index waarlangs de doel- en covariaatstatistieken worden gevolgd. De datumindexkolom ordent de op tijd gebaseerde metingen sequentieel langs een consistent tijdsinterval (de tijdstap).

De datumindexkolom is als volgt georganiseerd, afhankelijk van of u wel of geen groepen gebruikt:

  • Geen groepen: Een enkel record voor elke tijdstap. Bij een dagelijkse voorspelling vertegenwoordigt elke rij bijvoorbeeld één dag.

  • Met groepen: Een of meer dubbele vermeldingen voor elke tijdstap, afhankelijk van de gebruikte groepen.

Bij een multivariate trainingsgegevensset zijn er een of meer dubbele vermeldingen voor elke tijdstap, afhankelijk van de gebruikte groepen. Er is flexibiliteit in de tijdstap die u gebruikt — u kunt bijvoorbeeld datums een of meer keren op dagelijkse, wekelijkse of maandelijkse basis registreren, enzovoort.

Ontbrekende of inconsistent geregistreerde waarden in deze kolom zijn soms acceptabel, als ze kunnen worden geïnterpoleerd. Uw datumindexwaarden kunnen echter niet meerdere verschillende tijdstappen bevatten. Als het interval bijvoorbeeld is vastgesteld op eenmaal per dag, maar op een bepaald moment wordt een interval van tweemaal per dag geïdentificeerd, treedt er een fout op tijdens de training.

Doelkolom en groepskolommen

Uw gegevensset moet een doelkolom hebben die een numerieke statistiek bevat die u wilt voorspellen. Een veelvoorkomend voorbeeld is verkoop.

Als u groepen gebruikt, verstrekt u historische doelwaarden voor elke mogelijke waarde in groepen die u toevoegt. Als uw doel bijvoorbeeld Verkoop is en u voegt een groep Winkelnummer toe die gegevens bevat voor Winkel A en Winkel B, moet uw gegevensset twee afzonderlijke records voor elke tijdstap bevatten: één met de verkoopwaarde voor Winkel A en de andere met de verkoopwaarde voor Winkel B.

InformatieAls u twee groepen hebt, zorg er dan voor dat alle primaire groepen dezelfde secundaire groepen delen. Zie Primaire en secundaire groepen.

Functiekolommen

U kunt een tijdreeksmodel trainen zonder covariaten. Als u echter covariaten opneemt, geef dan een kolom in de gegevensset op voor elke functie. Functiegegevens moeten over het algemeen historisch geregistreerde gegevens zijn, tenzij u toekomstige functies toevoegt. Toekomstige functiekolommen kunnen zowel historische als toekomstige gegevens bevatten. U moet alleen toekomstige functiegegevens in de trainingsgegevensset opnemen als u er zeker van bent dat de toekomstige waarden van deze kolom bekend zullen zijn wanneer u voorspellingen maakt.

Houd bij welke functies u als toekomstige functies gaat gebruiken, aangezien u deze als zodanig moet selecteren in de trainingsconfiguratie.

Gegevensvolume

Uw gegevensset moet voldoende records bevatten—het gegevensvolume wordt bepaald door het tijdsbereik dat door alle groepen wordt gedeeld. Alleen de gegevens uit deze overlappende periode worden gebruikt om het experiment te trainen.

Het volume van uw historische gegevens speelt een rol bij het bepalen hoe ver in de toekomst u kunt voorspellen. Uw gewenste voorspellingsvenster is ook van invloed op hoeveel historische gegevens u nodig hebt.

Over het algemeen is meer historische gegevens beter dan minder. De gegevens moeten echter van goede kwaliteit zijn en de gewenste trends vastleggen. Als de gegevens irrelevante informatie bieden of onnauwkeurigheden bevatten, is het niet nuttig om deze in het model te hebben. Overweeg een balans tussen het optimaliseren van het volume en het behouden van kwaliteit en relevantie.

Voorbeelden

Een toepassingsgegevensset voorbereiden

Nadat u een tijdreeksmodel hebt geïmplementeerd, moet u een toepassingsgegevensset ontwikkelen waarvoor voorspellingen worden gedaan.

Toepassingsgegevensset — Vereisten en validatie

Voor tijdreeksmodellen heeft de toepassingsgegevensset het volgende nodig:

  • Kolommen en kolomkoppen voor alle kolommen die zijn opgenomen in de trainingsdataset.

  • Dezelfde tijdstap als de trainingsdataset.

  • Alle groepen en groepswaarden die aanwezig waren in de trainingsdataset.

    InformatieAls er nieuwe groepswaarden aanwezig zijn in de toepassingsdataset (die niet aanwezig waren in de trainingsgegevens), worden er geen voorspellingen gegenereerd voor deze rijen. Als er voorspellingen vereist zijn voor deze nieuwe groepswaarden, wordt aanbevolen om het model opnieuw te trainen met trainingsgegevens die deze bevatten.
    Informatie

    Tijdens de voorspelling of in de toepassingsdataset worden ontbrekende groepswaarden als volgt afgehandeld:

    • De afwezigheid van primaire groep-waarden—waarop het model is getraind—is toegestaan.

    • Ontbrekende secundaire groepswaarden zijn niet toegestaan. De voorspelling mislukt met een fout.

    Het is het beste om indien mogelijk alle secundaire groepsgegevens te verzamelen en te verstrekken tijdens de voorspelling. Als echter wordt verwacht dat secundaire groepen voornamelijk ontbreken op het moment van voorspelling, is een mogelijke oplossing om het gebruik van secundaire groepen helemaal te vermijden.

    In plaats daarvan kunt u de oorspronkelijke primaire en secundaire groepswaarden combineren in één nieuwe groeperingskolom, deze gebruiken als de nieuwe primaire groep en het model opnieuw trainen op basis van die structuur. In deze opzet is het nieuwe model alleen afhankelijk van de nieuw geïntroduceerde primaire groepen.

    De afweging is dat u mogelijk een deel van de gecorreleerde informatie tussen groepen verliest, aangezien ze nu worden behandeld als volledig afzonderlijke tijdreeksen in plaats van gerelateerde subreeksen die elkaar contextuele informatie bieden.

  • Evenveel of meer historische gegevensrecords (per doel en groep) voorafgaand aan de afsluitingstijd van de prognose als het aantal records in het toepassingsvenster voor het model. Dit moeten volledige records zijn die de historisch waargenomen datum of tijdstempel, doel- en covariaat-waarden bevatten. Het toepassingsvenster wordt bepaald door het prognosevenster en de kloof die tijdens de training zijn geconfigureerd — hoe verder in de toekomst u moet voorspellen, hoe meer historische gegevens u nodig hebt in uw toepassingsdataset om voorspellingen uit te voeren.

  • Records voor alle toekomstige tijdstappen in uw prognosehorizon. Neem voor deze toekomstige records alleen de waarden voor de datumindexkolom op, evenals eventuele toekomstige functies. Laat de waarden voor de andere kolommen leeg.

TipDe meeste vereisten voor historische gegevens voor uw toepassingsgegevensset zijn bedoeld om de minimaal acceptabele gegevensvolumes te specificeren. U kunt altijd meer opgeven dan nodig is. Wanneer het model voorspellingen genereert, worden alleen de records gebruikt die nodig zijn om het toepassingsvenster te dekken.

Illustraties die de vereiste kolommen en gegevens tonen voor toepassingsgegevenssets die worden gebruikt om voorspellingen te genereren op basis van tijdreeksvoorspellingsmodellen. Scenario's zonder groepen, één groep en twee groepen worden beschreven.

Lineair diagram dat de benodigde componenten en tijdlijn schetst van een toepassingsgegevensset die wordt gebruikt om voorspellingen te genereren met een tijdreeksvoorspellingsmodel.

Voorbeelden

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een tikfout, een ontbrekende stap of een technische fout – laat het ons weten!