R, série de tempos, modelo de Arima, previsão, dados diários [closed]

Eu estou tentando fazer alguma previsão de demanda com dados diários, de 16 de janeiro de 2012 a 10 de outubro de 2013. Mas a previsão apenas retorna resultados terríveis. Alguma pista porque?

É assim que os dados se parecem em um gráfico: Existem sazonalidades semanais e mensais. Ou seja: Mais demanda durante a semana e menos demanda durante o final de semana.

Aqui está a aparência do gráfico de previsão: onde a linha preta é os dados reais e a linha azul são os dados previstos.

 x = ts(data, freq=7, start=c(3,2))
 fit <- auto.arima(x)
 pred <- forecast(fit, h=300)

Eu fiz muita pesquisa sobre como ajustar dados diários com o modelo arima. E como há sazonalidade semanal, escolhi freq = 7.

No entanto, desde que os prognósticos são ruins. E alguém foi bom o suficiente para apontar um dos métodos que o professor Hyndman compartilhou sobre a montagem de modelos com múltiplas sazonalidades.

https://stats.stackexchange.com/questions/74418/frequency-of-time-series-in-r/74426#74426

Então eu peguei o conselho dos mocinhos e encaixei os modelos com os 2 métodos fornecidos no link acima.

Método 1: usando a função tbats ().

x_new <- msts(x, seasonal.periods=c(7,7*52))
fit <- tbats(x_new)
fc <- forecast(fit, h=7*52)

Eu usei a sazonalidade semanal 7 e a sazonalidade anual 7 * 52. Desde que eu não descobri uma maneira fácil de obter a sazonalidade mensal. Com base no resultado, a previsão também não é boa. Nota: se eu usar 7 * 4 como o segundo período sazonal mensal, isso dará uma pior previsão.

Método 2: Usando fouriers como um xreg.

seas1 <- fourier(x, K=1)
seas2 <- fourier(ts(x,freq=7*52), K=1)
fit <- auto.arima(x, xreg=cbind(seas1,seas2))
seas1.f <- fourierf(x, K=1, h=7*52)
seas2.f <- fourierf(ts(x,freq=7*52), K=1, h=7*52)
fc1 <- forecast(fit, xreg=cbind(seas1.f, seas2.f))

Eu tentei com K diferente, e isso não melhora a previsão.

Portanto, estou preso! Desde que a previsão está longe. Alguém poderia apontar onde estão meus erros? Ou como devo melhorar meu modelo?

Muito Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion