ETS vs säsongsmässig naiv metod
Här ska du jämföra ETS-prognoser med den säsongsmässiga naiva metoden för 20 år av cement, som innehåller kvartalsvis cementproduktion. Du använder korsvalidering av tidsserier för 4 steg framåt. Eftersom det tar ett tag att köra finns en förkortad version av serien cement tillgänglig i din arbetsyta.
Det andra argumentet till tsCV() måste returnera ett prognosobjekt, så du behöver en funktion som anpassar en modell och returnerar prognoser. Kom ihåg:
> args(tsCV)
function (y, forecastfunction, h = 1, ...)
I den här övningen använder du både en befintlig prognosfunktion och en som redan är skapad åt dig. Kom ihåg att enkla metoder ibland fungerar bättre än mer avancerade!
Den här övningen är en del av kursen
Prognoser i R
Övningsinstruktioner
- En funktion för att returnera ETS-prognoser,
fets(), har redan skrivits åt dig. - Tillämpa
tsCV()för både ETS och den säsongsmässiga naiva metoden påcement-data med en prognoshorisont på 4. Använd den nyskapade funktionenfetsrespektive den befintligasnaivesom prognosfunktionsargument före1oche2. - Beräkna MSE för de resulterande 4-stegsfelen och ta bort saknade värden. Uttrycken för att beräkna MSE finns redan, men de andra valfria argumenten saknas (du har använt dem tidigare).
- Spara det bästa MSE som
bestmse. Du kan helt enkelt kopiera hela kodraden som genererar det bästa MSE från föregående instruktion.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Function to return ETS forecasts
fets <- function(y, h) {
forecast(ets(y), h = h)
}
# Apply tsCV() for both methods
e1 <- tsCV(___, ___, h = ___)
e2 <- tsCV(___, ___, h = ___)
# Compute MSE of resulting errors (watch out for missing values)
mean(e1^2, ___)
mean(e2^2, ___)
# Copy the best forecast MSE
bestmse <- ___