Utvärdera prognosnoggrannhet för säsongsbundna metoder
Som du lärde dig i det första kapitlet används funktionen window() för att ange start och end för en tidsserie med hjälp av faktiska tidpunkter i stället för indexvärden. Båda argumenten kan anges som en vektor av typen c(år, period), vilket du även tidigare har använt som argument till ts(). Observera att period här avser kvartal.
Här använder du de kvartalsvisa besökssiffrorna för Melbourne (visnights[, "VICMetro"]) för att skapa tre olika träningsuppsättningar, där det sista 1, 2 respektive 3 åren utelämnas. Granska de förinstallerade data i visnights i din konsol innan du börjar övningen – det hjälper dig att avgöra vilket värde som ska användas för nyckelordet h (som anger hur många värden du vill prognostisera) i dina prognosmetoder.
Beräkna sedan nästa års data för varje träningsuppsättning och jämför slutligen det genomsnittliga absoluta procentuella felet (MAPE) för prognoserna med hjälp av accuracy(). Varför tror du att MAPE varierar så mycket?
Den här övningen är en del av kursen
Prognoser i R
Övningsinstruktioner
- Använd
window()för att skapa tre träningsuppsättningar frånvisnights[,"VICMetro"], där det sista 1, 2 respektive 3 åren utelämnas. Kalla demtrain1,train2ochtrain3. Ange nyckelordetendpå rätt sätt. - Beräkna ett års prognoser för varje träningsuppsättning med metoden
snaive(). Kalla demfc1,fc2ochfc3. - Jämför MAPE för de tre prognosuppsättningarna med funktionen
accuracy()enligt strukturen i exempelkoden, och använd din testuppsättning.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create three training series omitting the last 1, 2, and 3 years
train1 <- window(visnights[, "VICMetro"], end = c(2015, 4))
train2 <- ___
train3 <- ___
# Produce forecasts using snaive()
fc1 <- snaive(___, h = ___)
fc2 <- ___
fc3 <- ___
# Use accuracy() to compare the MAPE of each series
accuracy(fc1, visnights[, "VICMetro"])["Test set", "MAPE"]
___
___