Glidande medelutjämning för dataförberedelse och prognoser för tidsserier i Python

Glidande medelutjämning för dataförberedelse och prognoser för tidsserier i Python

Rörlig genomsnittlig utjämning är en naiv och effektiv teknik i prognoser för tidsserier.

Den kan användas för dataförberedelse, funktionsteknik och till och med direkt för att göra förutsägelser.

I den här handledningen kommer du att upptäcka hur du använder glidande medelutjämning för tidsserieprognoser med Python.

Efter att ha slutfört denna handledning vet du:

  • Hur rörlig genomsnittlig utjämning fungerar och vissa förväntningar på dina data innan du kan använda den.
  • Hur man använder glidande medelutjämning för dataförberedelse och funktionsteknik.
  • Hur man använder glidande medelutjämning för att göra förutsägelser.

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.
Glidande genomsnittlig utjämning för dataförberedelse, funktionsteknik och prognoser för tidsserier med Python

Glidande genomsnittlig utjämning för dataförberedelse, funktionsteknik och prognoser för tidsserier med Python
Foto av Bureau of Land Management, vissa rättigheter reserverade.

Utjämning av glidande medelvärde

Utjämning är en teknik som tillämpas på tidsserier för att ta bort den finkorniga variationen mellan tidsstegen.

Hoppet om utjämning är att ta bort buller och bättre exponera signalen från de underliggande orsaksprocesserna. Rörliga medelvärden är en enkel och vanlig typ av utjämning som används vid tidsserieanalys och tidsserieprognoser.

Att beräkna ett glidande medel innebär att skapa en ny serie där värdena består av genomsnittet av råa observationer i den ursprungliga tidsserien.

Ett glidande medelvärde kräver att du anger en fönsterstorlek som kallas fönsterbredden. Detta definierar antalet råa observationer som används för att beräkna det rörliga genomsnittsvärdet.

Den "rörliga" delen i det rörliga genomsnittet hänvisar till det faktum att fönstret som definieras av fönsterbredden skjuts längs tidsserien för att beräkna medelvärdena i den nya serien.

Det finns två huvudtyper av glidande medelvärde som används: Centrerad och efterföljande glidande medelvärde.

Centrerat glidande medelvärde

Värdet vid tidpunkten

Till exempel beräknas ett centralt glidande medelvärde med ett fönster på 3 som:

Nedan följer en plot av hela datasetet.

Dataset för kvinnliga födelser dagligen

Dataset för kvinnliga födelser dagligen

Denna dataset är ett bra exempel för att utforska metoden för glidande medelvärde eftersom den inte visar någon tydlig trend eller säsongsmässighet.

Ladda in den dagliga datafolket för kvinnliga födelser

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

Utdraget nedan laddar datauppsättningen som en serie, visar de fem första raderna i datauppsättningen och grafer hela serien som en linjediagram.

Att köra exemplet skriver ut de första 5 raderna enligt följande:

Nedan visas linjediagrammet för laddade data.

Daglig kvinnlig födelsedata

Daglig kvinnlig födelsedata

Glidande medelvärde som dataförberedelse

Rörligt genomsnitt kan användas som en dataförberedelsesteknik för att skapa en utjämnad version av den ursprungliga datasetet.

Utjämning är användbar som en dataförberedelsesteknik eftersom den kan minska den slumpmässiga variationen i observationerna och bättre exponera strukturen för de underliggande orsaksprocesserna.

Rullande () -funktionen på Series Pandas-objektet grupperar observationer automatiskt i ett fönster. Du kan ange fönsterstorlek och som standard skapas ett efterfönster. När fönstret har skapats kan vi ta medelvärdet och detta är vår transformerade dataset.

Nya observationer i framtiden kan lika lätt omvandlas genom att behålla råvärdena för de senaste observationerna och uppdatera ett nytt medelvärde.

För att göra detta konkret, med en fönsterstorlek på 3, beräknas det transformerade värdet vid tid

Att köra exemplet skriver ut de första 10 observationerna från den transformerade datasetet.

Vi kan se att de två första observationerna måste kasseras.

De råa observationerna är ritade (blå) med den rörliga genomsnittstransformationen överlagrad (röd).

Glidande medelomvandling

Glidande medelomvandling

För att få en bättre uppfattning om effekten av transformationen kan vi zooma in och plotta de första 100 observationerna.

Zoomad glidande genomsnittlig omvandling

Zoomad glidande genomsnittlig omvandling

Här kan du tydligt se fördröjningen i den transformerade datasetet.

Låt oss därefter titta på hur det glidande genomsnittet används som en funktionsteknikmetod.

Glidande medelvärde som funktionsteknik

Det glidande genomsnittet kan användas som en källa till ny information när man modellerar en tidsserieprognos som ett övervakat inlärningsproblem.

I det här fallet beräknas det glidande genomsnittet och läggs till som en ny inmatningsfunktion som används för att förutsäga nästa tidssteg.

Först måste en kopia av serien flyttas framåt med ett tidssteg. Detta kommer att representera ingången till vårt förutsägelsesproblem eller en version av serien = lag = 1. Detta är en standardövervakad inlärningsvy av tidsserieproblemet. Till exempel:

Därefter måste en andra kopia av serien flyttas framåt med en minus fönsterstorleken. Detta för att säkerställa att det rörliga genomsnittet sammanfattar de sista värdena och inte inkluderar det värde som ska förutses i genomsnittet, vilket skulle vara en ogiltig inramning av problemet eftersom ingången skulle innehålla kunskap om framtiden som förutses.

Till exempel, med en fönsterstorlek på 3 måste vi flytta serien framåt med två tidssteg. Detta beror på att vi vill inkludera de två föregående observationerna samt den aktuella observationen i det glidande genomsnittet för att förutsäga nästa värde. Vi kan sedan beräkna glidande medelvärde från denna skiftade serie.

Nedan följer ett exempel på hur de första 5 glidande medelvärdena beräknas. Kom ihåg att datasetet flyttas framåt två tidssteg och när vi går längs tidsserien tar det minst tre tidssteg innan vi ens har tillräckligt med data för att beräkna ett fönster = 3 glidande medelvärde.

Nedan följer ett exempel på att inkludera det glidande medelvärdet av de tidigare 3 värdena som en ny funktion, samt som en lag-1-inmatningsfunktion för datasetet Daily Female Births.

Du kan också vara intresserad av