Dela via


Slutsatsdragning och utvärdering av prognosmodeller (förhandsversion)

Viktigt

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och vi rekommenderar den inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.

Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Den här artikeln beskriver begrepp som rör modellinferens och utvärdering i prognostiseringsuppgifter. Instruktioner och exempel för modeller för träningsprognoser i AutoML finns i vår artikel om att konfigurera AutoML för prognostisering av tidsserier .

När du har använt AutoML för att träna och välja en bästa modell är nästa steg att generera prognoser och sedan, om möjligt, utvärdera deras noggrannhet på en testuppsättning som hålls ute från träningsdata. Information om hur du konfigurerar och kör utvärdering av prognosmodeller i automatiserad maskininlärning finns i vår guide om inferens- och utvärderingskomponenter.

Slutsatsdragningsscenarier

Inom maskininlärning är slutsatsdragning processen att generera modellförutsägelser för nya data som inte används i träning. Det finns flera sätt att generera förutsägelser i prognostisering på grund av datans tidsberoende. Det enklaste scenariot är när inferensperioden omedelbart följer träningsperioden och vi genererar förutsägelser ut till prognoshorisonten. Det här scenariot illustreras i följande diagram:

Diagram som visar en prognos direkt efter träningsperioden.

Diagrammet visar två viktiga slutsatsdragningsparametrar:

  • Kontextlängden eller mängden historik som modellen kräver för att göra en prognos,
  • Prognoshorisonten, som är hur långt fram i tiden prognosmakaren tränas att förutsäga.

Prognosmodeller använder vanligtvis viss historisk information, kontexten, för att göra förutsägelser framåt i tid fram till prognoshorisonten. När kontexten är en del av träningsdata sparar AutoML det som behövs för att göra prognoser, så det finns inget behov av att uttryckligen ange det.

Det finns två andra slutsatsdragningsscenarier som är mer komplicerade:

  • Generera förutsägelser längre in i framtiden än prognoshorisonten,
  • Få förutsägelser när det finns en lucka mellan tränings- och slutsatsdragningsperioderna.

Vi granskar dessa fall i följande underavsnitt.

Förutsägelse förbi prognoshorisonten: rekursiv prognostisering

När du behöver prognoser förbi horisonten tillämpar AutoML modellen rekursivt under slutsatsdragningsperioden. Det innebär att förutsägelser från modellen matas tillbaka som indata för att generera förutsägelser för efterföljande prognostiseringsfönster. Följande diagram visar ett enkelt exempel:

Diagram som visar en rekursiv prognos för en testuppsättning.

Här genererar vi prognoser för en period som är tre gånger så lång som horisonten genom att använda förutsägelser från ett fönster som kontext för nästa fönster.

Varning

Rekursiva prognostiseringsföreningar modellerar fel, så förutsägelser blir mindre exakta ju längre de är från den ursprungliga prognoshorisonten. Du kan hitta en mer exakt modell genom att träna om med en längre horisont i det här fallet.

Förutsägelse med en lucka mellan tränings- och slutsatsdragningsperioder

Anta att du har tränat en modell tidigare och vill använda den för att göra förutsägelser från nya observationer som ännu inte var tillgängliga under träningen. I det här fallet finns det ett tidsgap mellan tränings- och slutsatsdragningsperioderna:

Diagram som visar en prognos med en lucka mellan tränings- och slutsatsdragningsperioderna.

AutoML stöder det här slutsatsdragningsscenariot, men du måste ange kontextdata i gapperioden, som du ser i diagrammet. Förutsägelsedata som skickas till slutsatsdragningskomponenten behöver värden för funktioner och observerade målvärden i gapet och saknade värden eller "NaN"-värden för målet under slutsatsdragningsperioden. I följande tabell visas ett exempel på det här mönstret:

Tabell som visar ett exempel på förutsägelsedata när det finns ett mellanrum mellan tränings- och slutsatsdragningsperioderna.

Här tillhandahålls kända värden för målet och funktionerna för 2023-05-01 till 2023-05-03. Målvärden som saknas från 2023-05-04 anger att slutsatsdragningsperioden börjar vid det datumet.

AutoML använder nya kontextdata för att uppdatera fördröjning och andra återblicksfunktioner, och även för att uppdatera modeller som ARIMA som behåller ett internt tillstånd. Den här åtgärden uppdaterar inte eller passar inte modellparametrar igen.

Modellutvärdering

Utvärdering är en process för att generera förutsägelser på en testuppsättning som hålls ute från träningsdata och databehandlingsmått från dessa förutsägelser som vägleder beslut om modelldistribution. Därför finns det ett slutsatsdragningsläge som är särskilt anpassat för modellutvärdering – en rullande prognos. Vi granskar det i följande underavsnitt.

Rullande prognos

En metod för bästa praxis för att utvärdera en prognosmodell är att flytta den tränade prognosmakaren framåt i tiden över testuppsättningen, med medelvärde för felmått över flera förutsägelsefönster. Den här proceduren kallas ibland för ett backtest, beroende på kontexten. Helst är testuppsättningen för utvärderingen lång i förhållande till modellens prognoshorisont. Uppskattningar av prognostiseringsfel kan annars vara statistiskt bullriga och därför mindre tillförlitliga.

Följande diagram visar ett enkelt exempel med tre prognostiseringsfönster:

Diagram som visar en rullande prognos för en testuppsättning.

Diagrammet visar tre rullande utvärderingsparametrar:

  • Kontextlängden eller mängden historik som modellen kräver för att göra en prognos,
  • Prognoshorisonten, som är hur långt fram i tiden prognosmakaren tränas att förutsäga,
  • Stegstorleken, vilket är hur långt i förväg det rullande fönstret går framåt för varje iteration i testuppsättningen.

Det är viktigt att kontexten utvecklas tillsammans med prognosfönstret. Det innebär att faktiska värden från testuppsättningen används för att göra prognoser när de hamnar inom det aktuella kontextfönstret. Det senaste datumet för faktiska värden som används för ett visst prognosfönster kallas för fönstrets ursprungstid . I följande tabell visas ett exempel på utdata från den rullande prognosen med tre dagar i tre fönster och en stegstorlek på en dag:

Exempel på utdatatabell från en rullande prognos.

Med en tabell som denna kan vi visualisera prognoserna jämfört med faktiska värden och beräkna önskade utvärderingsmått. AutoML-pipelines kan generera rullande prognoser på en testuppsättning med en slutsatsdragningskomponent.

Anteckning

När testperioden är lika lång som prognoshorisonten ger en rullande prognos ett enda fönster med prognoser upp till horisonten.

Utvärderingsmått

Valet av utvärderingssammanfattning eller mått drivs vanligtvis av det specifika affärsscenariot. Några vanliga alternativ är:

  • Diagram över observerade målvärden jämfört med prognostiserade värden för att kontrollera att viss dynamik i data samlas in av modellen.
  • MAPE (genomsnittligt absolut procentfel) mellan faktiska och prognostiserade värden,
  • RMSE (rotvärdets kvadratfel), eventuellt med en normalisering, mellan faktiska och prognostiserade värden,
  • MAE (genomsnittligt absolut fel), eventuellt med en normalisering, mellan faktiska och prognostiserade värden.

Det finns många andra möjligheter, beroende på affärsscenariot. Du kan behöva skapa egna verktyg för efterbearbetning för att beräkna utvärderingsmått från slutsatsdragningsresultat eller rullande prognoser. Mer information om mått finns i artikeln om regressions- och prognostiseringsmått .

Nästa steg