Werken met multivariate tijdreeksvoorspelling
Met Qlik Predict kunt u machine learning-modellen trainen om tijdsspecifieke metingen te voorspellen. Met behulp van op neurale netwerken gebaseerde methoden leren en voorspellen modellen complexe patronen met tijdsspecifieke associaties, gegroepeerde doelgegevens, historische functies en bekende toekomstige variabelen. Om een tijdreeksvoorspelling te maken, bereidt u een trainingsdataset voor, gebruikt u deze in een tijdreeksexperiment, implementeert u een model en maakt u vervolgens toepassingsdatasets die u kunt gebruiken om voorspellingen te genereren.
Componenten van een tijdreeksprobleem
Bij tijdreeksvoorspelling is het doel om doelwaarden te voorspellen voor specifieke datums in de toekomst. U kunt bijvoorbeeld de verkoop willen voorspellen voor de volgende week, maand of kwartaal.
Bij het ontwikkelen van uw tijdreeksvraagstuk definieert u de volgende componenten:
-
Doel en groepen
-
Datumindexatie
-
Voorspellingshorizon
-
Covariaten
Vereenvoudigde illustratie van de componenten 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, 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.
Datumindexatie
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 toepassingsdatasets voor tijdreeks-problemen. De datumindex bepaalt de structuur van beide toepassingsdatasets – elke rij vertegenwoordigt een stap in de tijd (of, met groepen, een stap in de tijd voor elke unieke groepering).
Wanneer u uw trainingsdataset toevoegt in een tijdreeks-experiment, worden mogelijke datumindexkolommen automatisch geïdentificeerd en aan u gepresenteerd als inzichten op kolomniveau. U kunt ze identificeren aan de hand van het Mogelijke datumindex inzicht in de schemweergave.
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 organiseren voor een doel zoals verkoop. Door winkelnummer en producttype als groepen te selecteren, zullen uw tijdreeksmodellen voorspellingen leveren voor elke individuele waarde in deze kolommen. Bijvoorbeeld, met een doel van verkoop, als u drie winkelnummers heeft — 1, 2 en 3 — en twee producttypen — kruidenierswaren en versproducten — zal uw model verkoopprognoses genereren voor elke unieke combinatie van deze waarden.
U moet groepen opnemen in uw tijdreeksprobleem als u de gegevens heeft 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 groepen zijn geïdentificeerd in uw trainingsdataset, zal de training groepen gebruiken.
Groepen worden geïdentificeerd door dubbele waarden in de datumindexkolom—bijvoorbeeld, voor een datum van 14-01-2025 heeft u twee records: één voor winkel A, en de andere voor winkel B.
Elke groep in een tijdreeksexperiment — inclusief alleen het doel — wordt beschouwd als afzonderlijke tijdreeksen binnen uw dataset. Zie: Wat is een tijdreeks?.
Voorspellingshorizon
De prognosehorizon specificeert hoe ver in de toekomst u wilt prognostiseren. De prognosehorizon is samengesteld uit het prognosevenster (het aantal tijdstappen waarvoor u voorspellingen nodig hebt) en de prognosekloof (een optioneel aantal tijdstappen na uw historische gegevens waarvoor u geen voorspellingen wilt).
U stelt het prognosevenster en de kloofgrootte in bij het configureren van een experimentversie. Deze waarden worden zowel gebruikt tijdens modeltraining als bij het genereren van voorspellingen van modellen die zijn geïmplementeerd als ML-implementaties.
Het prognosevenster is het aantal tijdstappen waarvoor u in de toekomst wilt voorspellen. Bijvoorbeeld, als uw tijdstap éé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 wel of geen nodig heeft. De voorspellingskloof begint aan het einde van de vastgelegde historische trainingsgegevens die u heeft verstrekt. Het voorspellingsvenster begint waar de voorspellingskloof eindigt.
For example, you might be looking to predict future sales, but you are only interested in future sales for dates later than one week after the end of your input data. In dit geval, met een tijdstap van dagen, zou u uw prognose-intervalgrootte kunnen instellen op zeven tijdstappen.
Uw geselecteerde prognosevenster, naast hoeveel trainingsgegevens u hebt, beperkt hoe ver in de toekomst u kunt prognostiseren.Ga voor meer informatie naar Maximum prognosevenster.
Covariaten
In time series problems, features are often called covariates. Vergelijkbaar met 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 één enkele kolom in uw trainingsdataset.
Bij tijdreeksvoorspelling zijn er verschillende soorten covariaten en deze hebben enkele belangrijke onderscheidingen:
-
Statische covariaten: Kolommen die niet variëren gedurende 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%, dan zou Standaardkorting een statische covariaat zijn. Dat wil zeggen, het varieert niet binnen de gegevens voor de groep waarin het voorkomt.
Statische covariaten worden automatisch gedetecteerd uit historische functies die u in het experiment opneemt. U hoeft niet aan te geven welke functies statische covariaten zijn.
-
Historische covariaten: Tijdgebonden variabelen die alleen beschikbaar zijn in de historische gegevens en die variëren binnen deze gegevens. Historische covariaten worden automatisch gedetecteerd uit historische functies die u in het experiment opneemt. U hoeft niet expliciet aan te geven welke functies historische covariaten zijn.
-
Toekomstige covariaten: Toekomstige covariaten, ook bekend als toekomstige functies, zijn tijdgebonden variabelen waarvan u de toekomstige waarden binnen de voorspellingshorizon zult kennen. Wanneer u toekomstige covariaten gebruikt in de training, moet u deze aangeven als toekomstige functies in de trainingsconfiguratie.
Toekomstige functies
Met toekomstige functies kunt u uw modellen aanvullende gegevens verstrekken over toekomstige informatie die u al weet of redelijkerwijs kunt verwachten. In het bijzonder hebt u toegang tot toekomstige waarden voor deze functie die uw geselecteerde voorspellingshorizon omvatten. Bij het definiëren van toekomstige functies moet u zowel historische als toekomstige gegevens verstrekken.
Voor een model dat bijvoorbeeld statistieken voorspelt die kunnen worden beïnvloed 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 tijdreeks-probleem, 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 configureert voor het model.
Tijdstappen
De tijdstap wordt gedefinieerd door uw trainingsdataset en is belangrijk voor zowel training als voorspellingen.
In uw trainingsdataset is de tijdstap het interval waarin de gegevens in uw datumindex worden vastgelegd. Bijvoorbeeld, de tijdstap kan dagelijks, elk uur, elke minuut of elke seconde zijn.
Het is belangrijk om op de hoogte te zijn van de tijdstap die wordt gebruikt in uw trainingsgegevens. 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 trainingsdataset.
Kwaliteit
Wanneer u een trainingsdataset selecteert, leidt het systeem de gebruikte tijdstap af. Als er ontbrekende waarden of hiaten zijn in de datumindex, kunnen kolommen zoals target, groepen en covariaten automatisch door het systeem worden geïnterpoleerd. Als uw gegevens echter tijdintervallen 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 vastgelegd, maar er is een sectie waarin gegevens consistent wekelijks worden vastgelegd, kan de dataset niet worden gebruikt omdat er meerdere tijdstappen worden gedetecteerd.
Venster toepassen
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 configuratiepaneel van het experiment en de Model training summary, na het uitvoeren van ten minste één experimentversie. Het wordt ook weergegeven in een ML-implementatie Model schema bij het maken of bewerken van een batchvoorspellingsconfiguratie.
Het toepassingsvenster wordt automatisch geïdentificeerd uit uw trainingsconfiguratie. Om voorspellingen te genereren voor een gegeven prognosevenster, moet u de historische gegevens verstrekken die ten minste uw toepassingsvenster bestrijken. Dit wordt geleverd in uw toepassingsdataset. Zie: Gegevensset toepassen voorbereiden.
Maximum prognosevenster
Het maximum prognosevenster wordt geschat wanneer u uw tijdreeks experiment configureert. Nadat u een versie van de training hebt uitgevoerd, wordt het maximum prognosevenster met zekerheid bevestigd. Het maximale prognosevenster wordt aan u getoond als de Geschatte maximale prognose of Maximale prognose onder Gebaseerd op uw gegevens, wanneer u Doel en experimenttype opent in het configuratiepaneel van het experiment. Het maximale prognosevenster is het maximale aantal tijdstappen waarvoor u prognoses kunt genereren, gezien uw gekozen prognosevenster, hoeveel historische gegevens u hebt 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. Echter, om betrouwbare voorspellingen te genereren, is het belangrijk om een redelijk prognosevenster te selecteren.
Het maximale voorspellingsvenster kan zo groot zijn als 180 tijdstappen.
Prognose-afsnijdtijd
De prognose-afsnijdtijd is bijzonder belangrijk bij het definiëren van uw toepassingsdataset tijdens voorspellingen. De prognose-afsnijdtijd is de laatste datum in uw steekproef waarvoor u een doelwaarde heeft. In wezen zijn datums na deze afsnijdtijd de datums waarvoor u voorspellingen wilt genereren.
Wat is een tijdreeks?
Bij Qlik Predict tijdreeksvoorspelling wordt elke groep — inclusief alleen het doel — beschouwd als afzonderlijke tijdreeksen binnen de trainingsdataset. Bijvoorbeeld, stel dat uw trainingsgegevensverzameling 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 trainingsgegevensverzameling.
Een trainingsgegevensverzameling voorbereiden
Voor multivariate tijdreeksvoorspellingen moet uw trainingsgegevensverzameling de volgende kolommen bevatten:
-
Datumindexatie
-
Doelkolom
-
Groepskolommen (optioneel)
-
Functiekolommen (optioneel—zonder functies traint u een univariat prognosemodel)
Illustraties die de vereiste kolommen en gegevens voor trainingsdatasets voor tijdreeksen tonen. Scenario's met geen groepen, één groep en twee groepen worden beschreven.

Lineair diagram dat de benodigde componenten en tijdlijn van een trainingsdataset voor een tijdreeksvoorspellingsmodel schetst.

Datum-indexkolom
U hebt een datum-index nodig die volledige datums of tijdstempels bevat. Deze kolom is de chronologische index waarlangs de doel- en covariabele metingen worden bijgehouden. De datum-indexkolom ordent de tijdgebaseerde metingen opeenvolgend langs een consistent tijdsinterval (de tijdstap).
De datumindexkolom is als volgt georganiseerd, afhankelijk van of u groepen gebruikt of niet:
-
Geen groepen: Eén record voor elke tijdstap. Bijvoorbeeld, met een dagelijkse prognose, vertegenwoordigt elke rij één dag.
-
Met groepen: Eén of meer gedupliceerde vermeldingen voor elke tijdstap, afhankelijk van de gebruikte groepen.
Met een multivariate trainingsdataset zijn er één of meer gedupliceerde vermeldingen voor elke tijdstap, afhankelijk van de gebruikte groepen. Er is flexibiliteit in de tijdstap die u gebruikt — u zou bijvoorbeeld datums één of meerdere keren kunnen vastleggen op dagelijkse, wekelijkse of maandelijkse basis, enzovoort.
Ontbrekende of inconsistent vastgelegde waarden in deze kolom zijn soms acceptabel, als ze kunnen worden geïnterpoleerd.Echter, uw datumindexwaarden kunnen geen meerdere verschillende tijdstappen bevatten. Bijvoorbeeld, als het interval is vastgesteld op eenmaal daags, maar op een bepaald moment een interval van tweemaal daags wordt geïdentificeerd, zal er een fout optreden tijdens de training.
Doelkolom en groepskolommen
Uw dataset moet een doelkolom bevatten met een numerieke meting die u wilt voorspellen. Een veelvoorkomend voorbeeld is verkoop.
Als u groepen gebruikt, geeft u historische doelwaarden op voor elke mogelijke waarde in groepen die u toevoegt. Bijvoorbeeld, als uw doel Verkoop is en u voegt een groep Winkelnummer toe die gegevens bevat voor Winkel A en Winkel B, moet uw dataset twee afzonderlijke records bevatten voor elke tijdstap: één met de verkoopwaarde voor Winkel A, en de andere met de verkoopwaarde voor Winkel B.
Functiekolommen
U kunt een tijdreeksmodel trainen zonder covariaten. Echter, als u covariaten opneemt, geeft u een kolom op in de dataset voor elke functie. Functiegegevens moeten over het algemeen historisch vastgelegde gegevens zijn, tenzij u toekomstige functies toevoegt. Kolommen met toekomstige functies kunnen zowel historische als toekomstige gegevens bevatten. U moet alleen toekomstige functiegegevens opnemen in de trainingsdataset 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 deze als zodanig moet selecteren in de trainingsconfiguratie.
Gegevensvolume
Uw dataset moet voldoende records bevatten. Het volume van uw historische gegevens speelt een rol bij het bepalen hoe ver u in de toekomst kunt voorspellen. Uw gewenste prognosevenster beïnvloedt ook hoeveel historische gegevens u nodig heeft.
Over het algemeen zijn meer historische gegevens beter dan minder. De gegevens moeten echter van goede kwaliteit zijn en de gewenste trends vastleggen. Als de gegevens irrelevante informatie 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 handhaven van kwaliteit en relevantie.
Voorbeelden
Gegevensset toepassen voorbereiden
Nadat u een tijdreeksmodel implementeert, moet u een gegevensset toepassen ontwikkelen waarvoor voorspellingen worden gedaan.
Gegevensset toepassen — Vereisten en validatie
Voor tijdreeksmodellen heeft de apply-dataset nodig:
-
Kolommen en kolomkoppen voor alle kolommen die zijn opgenomen in de trainingsgegevensverzameling.
-
Dezelfde tijdstap als de trainingsgegevensverzameling.
-
Evenveel of meer historische gegevensrecords (per doel en groep) vóór de cut-off tijd 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 covariaatwaarden bevatten. Het toepassingsvenster wordt bepaald door het prognosevenster en de kloof die zijn geconfigureerd tijdens de training — hoe verder in de toekomst u moet voorspellen, hoe meer historische gegevens u nodig hebt in uw toegepaste gegevensverzameling om voorspellingen uit te voeren.
-
Records voor alle toekomstige tijdstappen in uw prognosehorizon. Voor deze toekomstige records, neemt u alleen de waarden op voor de datumindexkolom, evenals eventuele toekomstige functies. Laat de waarden voor de andere kolommen leeg.
Illustraties die de vereiste kolommen en gegevens tonen voor apply-datasets die worden gebruikt om voorspellingen te genereren van tijdreeksvoorspellingsmodellen. Scenario's zonder groepen, één groep en twee groepen worden beschreven.

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