Gå till huvudinnehåll Gå till ytterligare innehåll

Arbeta med multivariat tidsserieprognostisering

Med Qlik Predict kan du träna maskininlärningsmodeller för att prognostisera tidsspecifika mätvärden. Med neurala nätverksbaserade metoder lär sig modeller och förutsäger komplexa mönster som involverar tidsspecifika associationer, grupperad mål-data, historiska funktioner och kända framtida variabler. För att skapa en tidsserieprognos måste du förbereda en träningsdatauppsättning, använda den i ett tidsserieexperiment, distribuera en modell och sedan skapa tillämpade datauppsättningar som du kan använda för att generera prognoser.

Komponenter i ett tidsserieproblem

Med tidsserieprognoser är målet att förutsäga målvärden för specifika datum i framtiden. Du vill kanske till exempel förutsäga försäljningen för nästa vecka, månad eller kvartal.

När du utvecklar ditt tidsserieproblem ska du definiera följande komponenter:

  • Mål och grupper

  • Datumindex

  • Prognoshorisont

  • Kovariater

Anteckning om informationDetta ramverk beskriver hur en maskininlärningsfråga definieras för problem med tidsserieprognoser. För att definiera maskininlärningsfrågor för klassificerings- och regressionsproblem, se Definiera frågor för maskininlärning.

Förenklad illustration som beskriver komponenterna i ett tidsserieprognosproblem i Qlik Predict.

Mål

Precis som med andra experimenttyper är målet den kolumn för vilken du vill att modellen ska förutsäga framtida värden. För tidsserieexperiment måste målet innehålla numeriska data – till exempel försäljning eller lager.

Om du använder grupper i tidsserieprognosen kommer modeller att förutsäga ett målvärde per grupp per tidssteg i prognosfönstret. Om du inte använder grupper kommer dina tränade modeller att förutsäga ett målvärde för varje tidssteg i prognosfönstret.

Datumindex

Datumindexet spårar tidsseriemåtten över ett kontinuerligt tidsintervall (tidssteg). Du måste bestämma ditt tidssteg i ett tidigt skede: hur ofta behöver du förutsäga framtida värden?

Datumindexet i synnerhet är en kolumn som visas i dina tränings- och tillämpade datauppsättningar för tidsserieproblem. Datumindexet bestämmer strukturen för båda dessa tillämpade datauppsättningar – varje rad representerar ett steg i tiden (eller, med grupper, ett steg i tiden för varje unik gruppering).

När du lägger till din träningsdatauppsättning i ett tidsserieexperiment identifieras möjliga datumindexkolumner automatiskt och presenteras för dig som insikter på kolumnnivå. Du kan identifiera dem från insikten Möjligt datumindex i schemavyn.

Grupper

Grupper är funktioner som innehåller kategorisk information för vilka du vill generera prognoser separat. Klassiska exempel på grupper inkluderar butiksnummer och produkt, som kunde ha använts för att organisera data för ett mål som försäljning. Genom att välja butiksnummer och produkttyp som grupper kommer dina tidsseriemodeller att tillhandahålla prognoser för varje enskilt värde över dessa kolumner. Till exempel, med ett försäljningsmål, om du har tre butiksnummer – 1, 2 och 3 – och två produkttyper – livsmedel och färskvaror – kommer din modell att generera försäljningsprognoser för varje unik kombination av dessa värden.

Du bör inkludera grupper i ditt tidsserieproblem om du har data och behöver individuella prognoser per kategori. En annan fördel med grupper är att modeller kan lära sig globalt, och bättre förstå mönstren som finns mellan de olika grupperingarna du definierar.

Du kan konfigurera grupperna att använda för varje experimentversion. Om du inte anger grupper men grupper identifieras i din träningsdatauppsättning, kommer träningen att använda grupper.

Grupper identifieras av kopierade värden i datumindexkolumnen – till exempel, för ett datum den 2025-01–14, har du två poster: en för butik A och den andra för butik B.

Varje grupp i ett tidsserieexperiment – inklusive endast målet – anses vara separata tidsserier inom din datauppsättning. Se Vad är en tidsserie?.

Prognoshorisont

Prognoshorisonten anger hur långt in i framtiden du vill prognostisera. Prognoshorisonten består av prognosfönstret (antalet tidssteg för vilka du behöver förutsägelser) och prognosgapet (ett valfritt antal tidssteg efter dina historiska data för vilka du inte vill ha förutsägelser).

Du anger prognosfönstret och gapstorleken när du konfigurerar en experimentversion. Dessa värden används både under modellträning och när förutsägelser genereras från modeller som distribueras som ML-distributioner.

Prognosfönstret är antalet tidssteg för vilka du vill förutsäga in i framtiden. Till exempel, om ditt tidssteg är en dag och du vill prognostisera försäljning för de kommande två veckorna, skulle du ställa in ditt prognosfönster till 14.

Prognosgapet är den tidsperiod i framtiden för vilken du inte behöver förutsägelser. Att ställa in ett prognosgap är valfritt eftersom du kanske inte behöver något. Prognosgapet börjar vid slutet av de registrerade historiska träningsdata som du har tillhandahållit. Prognosfönstret börjar där prognosgapet slutar.

Till exempel kanske du vill förutsäga framtida försäljning, men du är bara intresserad av framtida försäljning för datum som är senare än en vecka efter slutet av dina indata. I det här fallet, med ett tidssteg på dagar, kan du ställa in din prognosgapstorlek till sju tidssteg.

Ditt valda prognosfönster, utöver hur mycket träningsdata du har, begränsar hur långt in i framtiden du kan prognostisera. Mer information finns i Maximalt prognosfönster.

Kovariater

I tidsserieproblem kallas funktioner ofta kovariater. I likhet med andra maskininlärningsproblem är kovariater de andra variablerna som du misstänker har ett inflytande på målets resultat. Varje kovariat representeras som en enskild kolumn i din träningsdatauppsättning.

Inom tidsserieprognostisering finns det flera typer av kovariater och de har några viktiga skillnader:

  • Statiska kovariater: Kolumner som inte varierar under en tidsseries gång. Statiska kovariater är tillämpliga i tidsserieexperiment där grupper används. Anta till exempel att du har grupper för Produkt och Butiksnummer och funktionen Standardrabatt. Om Produkt A i Butik 1 har en standardrabatt på 10 % och Produkt B i Butik 2 har en standardrabatt på 20 %, skulle Standardrabatt vara en statisk kovariat. Det vill säga, den varierar inte inom data för den grupp inom vilken den förekommer.

    Statiska kovariater detekteras automatiskt från historiska funktioner som du inkluderar i experimentet. Du behöver inte ange vilka funktioner som är statiska kovariater.

  • Tidigare kovariater: Tidsberoende variabler som endast är tillgängliga i historiska data och som varierar över dessa data. Tidigare kovariater detekteras automatiskt från historiska funktioner som du inkluderar i experimentet. Du behöver inte uttryckligen ange vilka funktioner som är tidigare kovariater.

  • Framtida kovariater: Framtida kovariater, även kallade framtida funktioner, är tidsberoende variabler för vilka du kommer att känna till de framtida värdena inom prognoshorisonten. När du använder framtida kovariater i träningen måste du ange dem som framtida funktioner i träningskonfigurationen.

Framtida funktioner

Med framtida funktioner kan du tillhandahålla ytterligare data till dina modeller om framtida information som du redan känner till eller rimligen kan förvänta dig. I synnerhet har du tillgång till framtida värden för denna funktion som sträcker sig över din valda prognoshorisont. När du definierar framtida funktioner måste du tillhandahålla både historiska och framtida data.

Till exempel, för en modell som förutsäger mätvärden som kan påverkas av framtida rabatter som erbjuds av en butik, kan du inkludera de historiskt observerade rabatterna, samt rabatterna för framtida tidsperioder inom prognosfönstret. Andra exempel på framtida funktioner kan vara väder- eller kalenderinformation.

Andra viktiga begrepp

Detta delavsnitt beskriver begrepp som är relevanta för ditt tidsserieproblem, men som du inte konfigurerar direkt i ett experiment eller en ML-distribution. Dessa är egenskaper som definieras av dina data eller av andra egenskaper du konfigurerar för modellen.

Tidssteg

Tidssteget definieras av din träningsdatauppsättning och är viktigt för både träning och prognoser.

I din träningsdatauppsättning är tidssteget det intervall med vilket data i ditt datumindex registreras. Tidssteget kan till exempel vara dagligen, varje timme, varje minut eller varje sekund.

Det är viktigt att vara medveten om vilket tidssteg som används i din träningsdata. Andra experimentparametrar du definierar, såsom prognosfönster och prognosgapstorlek, kommer att följa detta tidsstegsintervall.

Efter att ha distribuerat din modell måste de tillämpade data för vilka du vill skapa förutsägelser följa samma tidssteg som definierats i träningsdatauppsättningen.

Kvalitet

När du väljer en träningsdatauppsättning härleder systemet det använda tidssteget. Om det finns några saknade eller inkonsekventa värden i datumindexet kan dessa funktioner interpoleras automatiskt av systemet. Men om dina data innehåller tidsintervall som är inkonsekventa till den grad att olika tidssteg upptäcks, måste dina data åtgärdas först. Om du till exempel har flera månaders data som registrerats en gång dagligen, men det finns ett delavsnitt där data konsekvent registreras veckovis, kan datauppsättningen inte användas eftersom flera tidssteg kommer att upptäckas.

Tillämpningsfönster

Tillämpningsfönstret, eller återblicksperioden, är den del av dina träningsdata som algoritmen kan använda för att tillhandahålla prognoserna för ditt angivna prognosfönster.

Tillämpningsfönstret beräknas och ställs in av systemet. Det mäts i tidssteg. Tillämpningsfönstret definieras av vad du anger som prognosfönster och gap (prognoshorisont).

Tillämpningsfönstret identifieras automatiskt från din träningskonfiguration. För att generera förutsägelser för ett givet prognosfönster måste du tillhandahålla historiska data som täcker minst ditt tillämpningsfönster. Detta tillhandahålls i din tillämpade datauppsättning. Se Förbereder en tillämpad datauppsättning.

Maximalt prognosfönster

Det maximala prognosfönstret uppskattas när du konfigurerar ditt tidsserieexperiment. Efter att du har kört en version av träningen bekräftas det maximala prognosfönstret med säkerhet. Det maximala prognosfönstret visas för dig som Beräknad maximal prognos eller Maximal prognos under Baserat på dina data när du öppnar Mål och experimenttyp i panelen för experimentkonfiguration. Det maximala prognosfönstret är det maximala antalet tidssteg för vilka du kan generera prognoser, med tanke på ditt valda prognosfönster, hur mycket historisk data du har tillhandahållit och den minsta urvalsstorlek som förväntas av systemet. Ju mer historiska data du tillhandahåller, desto längre fram i tiden kommer du att kunna förutsäga. Det är dock viktigt att välja ett rimligt prognosfönster för att generera tillförlitliga förutsägelser.

Det maximala prognosfönstret kan vara så stort som 180 tidssteg.

Prognosens bryttid

Prognosens bryttid är särskilt viktig när du definierar din tillämpade datauppsättning under förutsägelser. Prognosens bryttid är det sista datumet i ditt urval för vilket du har ett målvärde. I huvudsak är det datum efter denna bryttid för vilka du vill generera förutsägelser.

Vad är en tidsserie?

Vid Qlik Predict tidsserieprognoser anses varje grupp – inklusive endast målet – vara separata tidsserier inom din träningsdatauppsättning. Anta till exempel att din träningsdatauppsättning innehåller försäljningsmått. Dessa försäljningsmått är definierade för varje butik och produkttyp. Med kolumnerna Butik och Produkttyp definierade som grupper finns det tre tidsserier i träningsdatauppsättningen.

Förbereda en träningsdatauppsättning

För prognoser av multivariata tidsserier måste din träningsdatauppsättning innehålla följande kolumner:

  • Datumindex

  • Målkolumn

  • Gruppkolumner (valfritt)

  • Funktionskolumner (valfritt – utan funktioner tränar du en univariat prognosmodell)

Illustrationer som visar de nödvändiga kolumnerna och data för träningsdatauppsättningar för tidsserier. Scenarier utan grupper, med en grupp och med två grupper beskrivs.

Linjärt diagram som beskriver de nödvändiga komponenterna och tidslinjen för en träningsdatauppsättning för en tidsserieprognosmodell.

Datumindexkolumn

Du behöver ett datumindex som innehåller fullständiga datum eller tidsstämplar. Denna kolumn är det kronologiska index längs vilket mål- och kovariatmåtten mäts. Datumindexkolumnen organiserar de tidsbaserade mätningarna sekventiellt längs ett konsekvent tidsintervall (tidssteget).

Datumindexkolumnen är organiserad på följande sätt, beroende på om du använder grupper eller inte:

  • Inga grupper: En enskild post för varje tidssteg. Med en daglig prognos till exempel representerar varje rad en enskild dag.

  • Med grupper: En eller flera kopierade poster för varje tidssteg beroende på de använda grupperna.

Med en multivariat träningsdatauppsättning kommer det att finnas en eller flera kopierade poster för varje tidssteg beroende på de använda grupperna. Det finns flexibilitet i det tidssteg du använder – du kan till exempel registrera datum en eller flera gånger dagligen, veckovis eller månadsvis, och så vidare.

Saknade eller inkonsekvent registrerade värden i den här kolumnen är ibland acceptabla, om de kan interpoleras. Däremot kan dina datumindexvärden inte innehålla flera olika tidssteg. Om intervallet till exempel bestäms till en gång dagligen men det vid någon tidpunkt identifieras ett intervall på två gånger dagligen kommer ett fel att uppstå under träningen.

Målkolumn och gruppkolumner

Din datauppsättning måste ha en målkolumn som innehåller ett numeriskt mått som du vill prognostisera. Försäljning är ett vanligt exempel.

Om du använder grupper tillhandahåller du historiska målvärden för varje möjligt värde i grupper som du lägger till. Om ditt mål till exempel är Försäljning och du lägger till en grupp Butiksnummer som innehåller data för Butik A och Butik B, måste din datauppsättning innehålla två separata poster för varje tidssteg: en med försäljningsvärdet för Butik A, och den andra med försäljningsvärdet för Butik B.

Funktionskolumner

Du kan träna en tidsseriemodell utan några kovariater. Men om du inkluderar kovariater, ange en kolumn i datauppsättningen för varje funktion. Funktionsdata bör i allmänhet vara historiskt registrerade data om du inte lägger till framtida funktioner. Framtida funktionskolumner kan innehålla både historiska och framtida data. Du bör endast inkludera framtida funktionsdata i träningsdatauppsättningen om du är säker på att de framtida värdena för dessa kolumner kommer att vara kända när du skapar förutsägelser.

Håll reda på vilka funktioner du kommer att använda som framtida funktioner, eftersom du måste välja dem som sådana i träningskonfigurationen.

Datavolym

Din datauppsättning måste innehålla tillräckligt många poster. Mängden av dina historiska data spelar påverkar hur långt in i framtiden du kan förutsäga. Ditt önskade prognosfönster påverkar också hur mycket historiska data du behöver.

Generellt är mer historiska data bättre än mindre. Dock behöver dina data vara av god kvalitet och fånga de önskade trenderna. Om dina data innehåller irrelevant information eller felaktigheter är det inte någon hjälp att ha dem i modellen. Överväg en balans mellan att optimera volym och att bibehålla kvalitet och relevans.

Exempel

Förbereder en tillämpad datauppsättning

Efter att du har distribuerat en tidsseriemodell måste du utveckla en tillämpad datauppsättning för vilken förutsägelser kommer att göras.

Tillämpad datauppsättning – Krav och validering

För tidsseriemodeller behöver den tillämpade datauppsättningen:

  • Kolumner och kolumnrubriker för alla kolumner som ingår i träningsdatauppsättningen.

  • Samma tidssteg som träningsdatauppsättningen.

  • Lika många eller fler historiska dataposter (per mål och grupp) före prognosens bryttid som antalet poster i tillämpningsfönstret för modellen. Dessa måste vara fullständiga poster som innehåller det historiskt observerade datumet eller tidsstämpeln, målet och kovariatvärden. Tillämpningsfönstret bestäms av prognosfönstret och gapet som konfigurerats under träningen — ju längre in i framtiden du behöver förutsäga, desto mer historisk data behöver du i din tillämpningsdatauppsättning för att köra förutsägelser.

  • Poster för alla framtida tidssteg i din prognoshorisont. För dessa framtida poster, inkludera endast värdena för datumindexkolumnen, samt eventuella framtida funktioner. Lämna värdena för de andra kolumnerna tomma.

Anteckning om tipsDe flesta av kraven på historiska data för din tillämpade datauppsättning är att ange minsta acceptabla datavolymer. Du kan alltid tillhandahålla mer än vad som behövs. När modellen genererar förutsägelser används endast de poster som behövs för att täcka tillämpningsfönstret.

Illustrationer som visar de nödvändiga kolumnerna och data för tillämpade datauppsättningar som används för att generera förutsägelser från tidsserieprognosmodeller. Scenarier utan grupper, med en grupp och med två grupper beskrivs.

Linjärt diagram som beskriver de nödvändiga komponenterna och tidslinjen för en tillämpad datauppsättning som används för att generera prognoser med en tidsserieprognosmodell.

Exempel

Var den här sidan till hjälp för dig?

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!