Kom igångKom igång gratis

Jämföra auto.arima() och ets() på säsongsdata

Hur gör du när du vill skapa tränings- och testuppsättningar för data med högre frekvens än årsvis? Vid behov kan du använda en vektor på formen c(year, period) för nyckelorden start och/eller end i funktionen window(). Du behöver också se till att du använder rätt värde på h i prognoseringsfunktionerna. Kom ihåg att h ska vara lika med antalet observationer i din testuppsättning.

Om din data sträcker sig över 15 år, träningsuppsättningen består av de första 10 åren och du vill prognostisera de sista 5 åren, ska du till exempel använda h = 12 * 5 och inte h = 5 – eftersom testuppsättningen innehåller 60 månatliga observationer. Om träningsuppsättningen i stället består av de första 9,5 åren och du vill prognostisera de sista 5,5 åren, använder du h = 66 för att ta hänsyn till de extra 6 månaderna.

I det avslutande avsnittet för det här kapitlet jämför du säsongs-ARIMA- och ETS-modeller tillämpade på kvartalsdata över cementproduktion, qcement. Eftersom serien är mycket lång kan du använda en tränings- och testuppsättning i stället för tidsserieskorsvalidering. Det går betydligt snabbare.

Datamängden qcement finns tillgänglig i din workspace.

Den här övningen är en del av kursen

Prognoser i R

Visa kurs

Övningsinstruktioner

  • Skapa en träningsuppsättning kallad train som består av 20 år av qcement-data med start år 1988 och slut vid sista kvartalet 2007. Du måste använda en vektor för end. Återstående data utgör din testuppsättning.
  • Anpassa ARIMA- och ETS-modeller till träningsdata och spara dem som fit1 respektive fit2.
  • Kontrollera, precis som i tidigare övningar, att båda modellerna har vitbrusigangresualer.
  • Skapa prognoser för återstående data från båda modellerna som fc1 respektive fc2. Sätt h till det totala antalet kvartal i din testuppsättning. Var uppmärksam – den sista observationen i qcement är inte det sista kvartalet på året!
  • Använd funktionen accuracy() för att hitta den bättre modellen baserat på RMSE-värdet och spara den som bettermodel.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Use 20 years of the qcement data beginning in 1988
train <- window(___, start = ___, end = ___)

# Fit an ARIMA and an ETS model to the training data
fit1 <- ___
fit2 <- ___

# Check that both models have white noise residuals
___
___

# Produce forecasts for each model
fc1 <- forecast(___, h = ___)
fc2 <- forecast(___, h = ___)

# Use accuracy() to find better model based on RMSE
accuracy(___, ___)
accuracy(___, ___)
bettermodel <- ___
Redigera och kör kod