Werken met multivariate tijdreeksvoorspelling
Met Qlik Predict kunt u machine learning-modellen trainen om tijdgebonden statistieken te voorspellen. Met behulp van op neurale netwerken gebaseerde methoden leren en voorspellen modellen complexe patronen met tijdgebonden associaties, gegroepeerde doelgegevens, historische functies en bekende toekomstige variabelen. Om een tijdreeksvoorspelling te maken, bereidt u een trainingsset voor, gebruikt u deze in een tijdreeksexperiment, implementeert u een model en maakt u vervolgens toepassingssets die u kunt gebruiken om voorspellingen te genereren.
Onderdelen van een tijdreeksvraagstuk
Bij tijdreeksvoorspelling 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.
Definieer bij het ontwikkelen van uw tijdreeksvraagstuk de volgende onderdelen:
-
Doel en groepen
-
Datumindex
-
Voorspellingshorizon
-
Covariaten
Vereenvoudigde illustratie met een overzicht van de onderdelen van een tijdreeksvoorspellingsprobleem in Qlik Predict.

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, zullen modellen één doelwaarde per groep per tijdstap in het voorspellingsvenster voorspellen. Als u geen groepen gebruikt, zullen uw getrainde modellen één doelwaarde voorspellen 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 voorkomt in uw trainings- en toepassingssets voor tijdreeksvraagstukken. De datumindex bepaalt de structuur van beide toepassingssets: elke rij vertegenwoordigt een stap in de tijd (of, met groepen, een stap in de tijd voor elke unieke groepering).
Wanneer u uw trainingsset toevoegt aan een tijdreeksexperiment, worden mogelijke datumindexkolommen automatisch geïdentificeerd en aan u gepresenteerd als Inzichten op kolomniveau. U kunt ze identificeren vanuit 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, zullen uw tijdreeksmodellen voorspellingen bieden voor elke individuele waarde in deze kolommen. Bijvoorbeeld, met een verkoopdoel, als u drie winkelnummers heeft — 1, 2 en 3 — en twee producttypen — kruidenierswaren en producten — zal uw model verkoopvoorspellingen genereren voor elke unieke combinatie van deze waarden.
U moet groepen opnemen in uw tijdreeksvraagstuk als u over de gegevens beschikt en individuele voorspellingen per categorie nodig heeft. 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 worden geïdentificeerd in uw trainingsset, zal de training groepen gebruiken.
Groepen worden geïdentificeerd door dubbele waarden in de datumindexkolom; bijvoorbeeld, voor een datum van 14-1-2025 heeft u twee records: één voor winkel A en de andere voor winkel B.
Elke groep in een tijdreeksexperiment — inclusief het doel alleen — wordt beschouwd als een afzonderlijke tijdreeks binnen uw gegevensset. Zie Wat is een tijdreeks?.
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 heeft) en de voorspellingskloof (een optioneel aantal tijdstappen na uw historische gegevens waarvoor u geen voorspellingen wilt).
U stelt de grootte van het voorspellingsvenster en de kloof in bij het configureren van een experimentversie. Deze waarden worden zowel tijdens modeltraining gebruikt 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 heeft. Het instellen van een voorspellingskloof is optioneel, omdat u er mogelijk wel of niet een nodig heeft. De voorspellingskloof begint aan het einde van de opgenomen historische trainingsgegevens die u heeft 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 voorspellingskloof instellen op zeven tijdstappen.
Uw geselecteerde voorspellingsvenster, naast hoeveel trainingsgegevens u heeft, beperkt hoe ver in de toekomst u kunt voorspellen. Zie Maximale voorspellingsvenster voor meer informatie.
Covariaten
In tijdreeksvraagstukken worden functies vaak covariaten genoemd. Net als bij andere machine learning-vraagstukken 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 trainingsset.
Bij tijdreeksvoorspelling zijn er verschillende soorten covariaten en deze hebben enkele belangrijke onderscheidingen:
-
Statische covariaten: Kolommen die niet variëren in de loop van een tijdreeks. Statische covariaten zijn van toepassing op tijdreeksexperimenten waarbij groepen worden gebruikt. Stel bijvoorbeeld dat u groepen heeft 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%, dan zou Standaardkorting een statische covariaat zijn. Dat wil zeggen, het varieert niet binnen de gegevens voor de groep waarin het verschijnt.
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 bekend als toekomstige functies, zijn tijdsafhankelijke variabelen waarvan u de toekomstige waarden kent binnen de voorspellingshorizon. Wanneer u toekomstige covariaten gebruikt bij training, moet u deze in de trainingsconfiguratie aangeven als toekomstige functies.
Toekomstige functies
Met toekomstige functies kunt u uw modellen aanvullende gegevens verstrekken over toekomstige informatie die u al kent of redelijkerwijs kunt verwachten. U heeft met name toegang tot toekomstige waarden voor deze functie die uw geselecteerde voorspellingshorizon overspannen. Bij het definiëren van toekomstige functies moet u zowel historische als toekomstige gegevens verstrekken.
Voor een model dat bijvoorbeeld statistieken voorspelt die beïnvloed kunnen worden door toekomstige kortingen die door een winkel worden aangeboden, kunt u de historisch waargenomen kortingen opnemen, evenals de kortingen voor toekomstige tijdsperioden binnen het voorspellingsvenster. Andere voorbeelden van toekomstige functies kunnen weer- of kalenderinformatie zijn.
Andere belangrijke concepten
Deze sectie schetst concepten die relevant zijn voor uw tijdreeksvraagstuk, maar die u niet rechtstreeks configureert in een experiment of ML-implementatie. 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 trainingsset en is belangrijk voor zowel training als voorspellingen.
In uw trainingsset is de tijdstap het interval waarop de gegevens in uw datumindex worden opgenomen. 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 grootte van de voorspellingskloof, zullen dit tijdstapinterval volgen.
Na het implementeren van uw model moeten de toepassingsgegevens waarvoor u voorspellingen wilt maken, dezelfde tijdstap volgen als gedefinieerd in de trainingsset.
Kwaliteit
Wanneer u een trainingsset 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 hersteld. Als u bijvoorbeeld enkele maanden aan gegevens heeft die dagelijks worden opgenomen, maar er is een sectie waarin gegevens consistent op wekelijkse basis worden opgenomen, kan de gegevensset niet worden gebruikt omdat er meerdere tijdstappen worden gedetecteerd.
Toepassingsvenster
Het toepassingsvenster, of terugkijkperiode, is het deel van de trainingsgegevens dat het algoritme kan gebruiken om de voorspellingen te bieden 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 getoond in het experimentconfiguratiescherm en de Samenvatting van modeltraining, na het uitvoeren van ten minste één experimentversie. Het wordt ook getoond in een ML-implementatie Modelschema bij het maken of bewerken van een configuratie voor batchvoorspelling.
Het toepassingsvenster wordt automatisch geïdentificeerd vanuit uw trainingsconfiguratie. Om voorspellingen te genereren voor een bepaald voorspellingsvenster, moet u de historische gegevens verstrekken die ten minste uw toepassingsvenster dekken. Dit wordt verstrekt in uw toepassingsset. Zie Een toepassingsset voorbereiden.
Maximale voorspellingsvenster
Het maximale voorspellingsvenster wordt geschat terwijl u uw tijdreeksexperiment configureert. Nadat u een versie van de training heeft uitgevoerd, wordt het maximale voorspellingsvenster met zekerheid bevestigd. Het maximale voorspellingsvenster wordt aan u getoond als de Geschatte maximale voorspelling of Maximale voorspelling onder Gebaseerd op uw gegevens, wanneer u Doel en experimenttype opent in het experimentconfiguratiescherm. Het maximale voorspellingsvenster is het maximale aantal tijdstappen waarvoor u voorspellingen kunt genereren, gegeven uw gekozen voorspellingsvenster, hoeveel historische gegevens u heeft verstrekt en de minimale steekproefgrootte die door het systeem wordt verwacht. Hoe meer historische gegevens u verstrekt, hoe verder in de tijd u zult kunnen voorspellen. Om betrouwbare voorspellingen te genereren, is het echter belangrijk om een redelijk voorspellingsvenster te selecteren.
Het maximale prognosevenster kan maximaal 180 tijdstappen bedragen.
Voorspellingsafkapdatum
De voorspellingsafkapdatum is vooral belangrijk bij het definiëren van uw toepassingsset tijdens voorspellingen. De voorspellingsafkapdatum is de laatste datum in uw steekproef waarvoor u een doelwaarde heeft. In essentie zijn datums na deze afkapdatum de datums waarvoor u voorspellingen wilt genereren.
Wat is een tijdreeks?
In Qlik Predict tijdreeksvoorspelling wordt elke groep — inclusief het doel alleen — beschouwd als een afzonderlijke tijdreeks binnen de trainingsset. Stel bijvoorbeeld dat uw trainingsset verkoopstatistieken bevat. Deze verkoopstatistieken worden gedefinieerd voor elke winkel en elk producttype. Met Winkel- en Producttype-kolommen gedefinieerd als groepen, zijn er drie tijdreeksen in de trainingsset.
Een trainingsset voorbereiden
Voor multivariate tijdreeksvoorspellingen moet uw trainingsset de volgende kolommen bevatten:
-
Datumindex
-
Doelkolom
-
Groepskolommen (optioneel)
-
Functiekolommen (optioneel; zonder functies traint u een univariate voorspellingsmodel)
Illustraties met de vereiste kolommen en gegevens voor tijdreekstrainingssets. Scenario's zonder groepen, met één groep en met twee groepen worden beschreven.

Lineair diagram met een overzicht van de benodigde onderdelen en tijdlijn van een trainingsset voor een tijdreeksvoorspellingsmodel.

Datumindexkolom
U heeft een datumindex nodig met volledige datums of tijdstempels. Deze kolom is de chronologische index waarlangs de doel- en covariaatstatistieken worden gevolgd. De datumindexkolom ordent de tijdgebaseerde metingen sequentieel langs een consistent tijdinterval (de tijdstap).
De datumindexkolom is als volgt georganiseerd, afhankelijk van of u groepen gebruikt of niet:
-
Geen groepen: Een enkel record voor elke tijdstap. Bijvoorbeeld, bij een dagelijkse voorspelling vertegenwoordigt elke rij één dag.
-
Met groepen: Eén of meer dubbele vermeldingen voor elke tijdstap, afhankelijk van de gebruikte groepen.
Bij een multivariate trainingsset zullen er één of meer dubbele vermeldingen zijn voor elke tijdstap, afhankelijk van de gebruikte groepen. Er is flexibiliteit in de tijdstap die u gebruikt — u kunt bijvoorbeeld datums één of meer keren op dagelijkse, wekelijkse of maandelijkse basis opnemen, enzovoort.
Ontbrekende of inconsistent opgenomen 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 wordt bepaald als dagelijks, maar er op een gegeven moment een interval van twee keer per dag wordt geïdentificeerd, zal er een fout optreden tijdens de training.
Doelkolom en groepskolommen
Uw gegevensset moet een doelkolom hebben met een numerieke statistiek 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 een groep Winkelnummer toevoegt 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.
Functiekolommen
U kunt een tijdreeksmodel trainen zonder enige covariaten. Als u echter covariaten opneemt, verstrek dan een kolom in de gegevensset voor elke functie. Functiegegevens moeten over het algemeen historisch opgenomen gegevens zijn, tenzij u toekomstige functies toevoegt. Toekomstige functiekolommen kunnen zowel historische als toekomstige gegevens bevatten. U moet alleen toekomstige functiegegevens in de trainingsset 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 zult gebruiken, aangezien u ze 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 beïnvloedt ook hoeveel historische gegevens u nodig heeft.
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 volume en het behouden van kwaliteit en relevantie.
Voorbeelden
Een toepassingsset voorbereiden
Nadat u een tijdreeksmodel heeft geïmplementeerd, moet u een toepassingsset ontwikkelen waarvoor voorspellingen zullen worden gedaan.
Toepassingsset — Vereisten en validatie
Voor tijdreeksmodellen heeft de toepassingsset 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.
-
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 met de historisch waargenomen datum of tijdstempel, en de waarden voor doel en covariaat. 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.
Illustraties met de vereiste kolommen en gegevens voor toepassingssets die worden gebruikt om voorspellingen te genereren van tijdreeksvoorspellingsmodellen. Scenario's zonder groepen, met één groep en met twee groepen worden beschreven.

Lineair diagram met een overzicht van de benodigde onderdelen en tijdlijn van een toepassingsset die wordt gebruikt om voorspellingen te genereren met een tijdreeksvoorspellingsmodel.
