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
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 dadoscementpara um horizonte de previsão de 4. Use as funçõesfetsrecém-criada esnaiveexistente como seu argumento de função de previsão parae1ee2, 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 <- ___