Hur man visualiserar återkommande prognosfel i tidsserier med Python

Hur man visualiserar återkommande prognosfel i tidsserier med Python

Prognosfel vid tidsserieregressionsproblem kallas rest- eller restfel.

Noggrann utforskning av kvarvarande fel i ditt tidsserieprognosproblem kan berätta mycket om din prognosmodell och till och med föreslå förbättringar.

I denna handledning kommer du att upptäcka hur du visualiserar kvarvarande fel från tidsserieprognoser.

Efter att ha slutfört denna handledning vet du:

  • Hur man skapar och granskar linjediagram över kvarvarande fel över tiden.
  • Hur man granskar sammanfattningsstatistik och tomter för fördelningen av kvarvarande tomter.
  • Hur man utforskar korrelationsstrukturen för kvarvarande fel.

Starta ditt projekt med min nya bok Time Series Forecasting With Python, inklusive steg-för-steg-självstudier och den Python-källkod filer för alla exempel.

Låt oss börja.

  • Uppdaterad apr / 2019: Uppdaterade länken till dataset.
  • Uppdaterad augusti / 2019: Uppdaterad dataladdning för att använda nytt API.
  • Uppdaterad september / 2019: Uppdaterade exempel för att använda senaste API.

Restprognosfel

Prognosfel vid ett tidsserieprognosproblem kallas restfel eller restfel.

Ett kvarvarande fel beräknas som det förväntade resultatet minus prognosen, till exempel:

Eller mer kortfattat och med standardtermer som:

Vi stannar ofta där och sammanfattar skickligheten hos en modell som en sammanfattning av detta fel.

Istället kan vi samla in dessa individuella restfel i alla prognoser och använda dem för att bättre förstå prognosmodellen.

Generellt sett letar vi efter mönster eller struktur när vi utforskar kvarvarande fel. Ett tecken på ett mönster antyder att felen inte är slumpmässiga.

Vi förväntar oss att de återstående felen är slumpmässiga, eftersom det betyder att modellen har fångat upp hela strukturen och det enda felet kvar är de slumpmässiga fluktuationerna i tidsserien som inte kan modelleras.

Ett tecken på ett mönster eller en struktur antyder att det finns mer information som en modell kan fånga och använda för att göra bättre förutsägelser.

Innan vi börjar utforska de olika sätten att leta efter mönster i kvarvarande fel behöver vi sammanhang. I nästa avsnitt kommer vi att titta på en dataset och en enkel prognosmetod som vi kommer att använda för att generera kvarvarande fel att utforska i denna handledning.

Sluta lära sig tidsserieprognoser långsam väg!

Ta min gratis 7-dagars e-postkurs och upptäck hur du kommer igång (med exempelkod).

Klicka för att registrera dig och få en gratis PDF-e-bokversion av kursen.

Starta din GRATIS minikurs nu!

Dataset för kvinnliga födelser dagligen

Denna dataset beskriver antalet dagliga kvinnliga födda i Kalifornien 1959.

Enheterna är ett antal och det finns 365 observationer. Källan till datasetet krediteras Newton, 1988.

Ladda ner datamängden och placera den i din nuvarande arbetskatalog med filnamnet “daglig-totalt-kvinnlig-födelse. csv“.

Nedan följer ett exempel på hur du laddar datauppsättningen Daily Female Births från CSV.

Att köra exemplet skriver ut de första 5 raderna i den laddade filen.

Datasetet visas också i en linjediagram över observationer över tiden.

Dataset för kvinnliga födelser dagligen

Dataset för kvinnliga födelser dagligen

Persistensprognosmodell

Den enklaste prognosen vi kan göra är att förutsäga att det som hände i föregående tidssteg kommer att vara detsamma som vad som kommer att hända i nästa tidssteg.

Detta kallas ”naiv prognos”Eller uthållighetsprognosmodellen.

Vi kan implementera uthållighetsmodellen i Python.

Efter att datauppsättningen har laddats formuleras den som ett övervakat inlärningsproblem. En försenad version av datasetet skapas där föregående tidssteg (t-1) används som inmatningsvariabel och nästa tidssteg (t + 1) tas som utdatavariabel.

Därefter delas datauppsättningen i tränings- och testuppsättningar. Totalt 66% av uppgifterna sparas för träning och de återstående 34% förvaras för testuppsättningen. Ingen utbildning krävs för uthållighetsmodellen; detta är bara ett vanligt tillvägagångssätt.

Efter att ha delats separeras tåget och testuppsättningarna i sina in- och utgångskomponenter.

Persistensmodellen tillämpas genom att förutsäga utgångsvärdet (y) som en kopia av inmatningsvärdet (x).

De återstående felen beräknas sedan som skillnaden mellan det förväntade resultatet (retlig) och förutsägelsen (förutsägelser).

Exemplet sammanställer allt detta och ger oss en uppsättning återstående prognosfel som vi kan utforska i denna handledning.

Att köra exemplet skriver ut de första 5 raderna av prognosresterna.

Restlinje tomt

Den första handlingen är att titta på de återstående prognosfelen över tid som en linjediagram.

Vi förväntar oss att plottet är slumpmässigt runt värdet 0 och inte visar någon trend eller cyklisk struktur.

Matrisen med kvarvarande fel kan läggas in i en Pandas DataFrame och plottas direkt. Koden nedan ger ett exempel.

Att köra exemplet visar en till synes slumpmässig plot av den återstående tidsserien.

Om vi ​​såg trend-, säsongs- eller cyklisk struktur kunde vi gå tillbaka till vår modell och försöka fånga dessa element direkt.

Linjediagram över restfel för den dagliga kvinnofödsdataset

Linjediagram över restfel för den dagliga kvinnofödsdataset

Därefter tittar vi på sammanfattningsstatistik som vi kan använda för att se hur felen sprids runt noll.

Reststatistik

Vi kan beräkna sammanfattningsstatistik över återstående fel.

I första hand är vi intresserade av medelvärdet av restfelen. Ett värde nära noll antyder ingen bias i prognoserna, medan positiva och negativa värden antyder en positiv eller negativ bias i de gjorda prognoserna.

Det är användbart att känna till en bias i prognoserna eftersom den kan korrigeras direkt i prognoser innan de används eller utvärderas.

Nedan följer ett exempel på beräkning av sammanfattande statistik över fördelningen av kvarvarande fel. Detta inkluderar medelvärdet och standardavvikelsen för distributionen, samt percentiler och de observerade minimi- och maximifelen.

Du kan också vara intresserad av