ComeçarComece de graça

ETS vs sazonal ingênuo

Aqui, você vai comparar previsões ETS com a previsão sazonal ingênua para 20 anos de cement, que contém a produção trimestral de cimento, usando validação cruzada em séries temporais para 4 passos à frente. Como isso leva um tempo para rodar, uma versão reduzida da série cement estará disponível no seu workspace.

O segundo argumento de tsCV() deve retornar um objeto de previsão, então você precisa de uma função que ajuste um modelo e retorne previsões. Lembre-se:

> args(tsCV)
function (y, forecastfunction, h = 1, ...)

Neste exercício, você vai usar uma função de previsão existente e outra que já foi criada para você. Lembre-se: às vezes, métodos simples funcionam melhor do que métodos mais sofisticados!

Este exercício faz parte do curso

Previsão em R

Ver curso

Instruções do exercício

  • Uma função para retornar previsões ETS, fets(), já foi escrita para você.
  • Aplique tsCV() tanto para os métodos ETS quanto para o sazonal ingênuo nos dados cement para um horizonte de previsão de 4. Use as funções fets recém-criada e snaive existente como seu argumento de função de previsão para e1 e e2, respectivamente.
  • Calcule o MSE dos erros resultantes de 4 passos e remova os valores ausentes. As expressões para calcular o MSE já foram fornecidas, mas os segundos argumentos opcionais não (você já os usou antes).
  • Salve o melhor MSE como bestmse. Você pode simplesmente copiar a linha inteira de código que gera o melhor MSE da instrução anterior.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 <- ___
Editar e executar o código