2012 년 1 월 16 일부터 10 월 10 일까지 일일 데이터로 일부 수요 예측을 시도하고 있습니다. 그러나 예측을하면 엄청난 결과가 반환됩니다. 어떤 단서?R, Times Series, Arima Model, Forecasting, Daily data
이것은 데이터가 플롯에서와 같은 방식입니다. 주간 및 월간 계절성이 있습니다. 즉 : 평일에는 수요가 많고 주말에는 수요가 적습니다. 검은 선은 실제 데이터이며, 청색 선은 예측 데이터이다 : 여기
는 예측 플롯의 모습이다.
x = ts(data, freq=7, start=c(3,2))
fit <- auto.arima(x)
pred <- forecast(fit, h=300)
나는 아리마 모델 매일 데이터를 맞게하는 방법에 대한 연구를 많이했다. 그리고 주간 계절성이 있으므로 freq = 7을 선택했습니다.
그러나 예측이 나쁘기 때문에. 그리고 누군가는 Hyndman 교수가 여러 계절에 맞는 모델을 공유하는 방법 중 하나를 지적하기에 충분했습니다.
https://stats.stackexchange.com/questions/74418/frequency-of-time-series-in-r/74426#74426
그래서 나는 좋은 사람의 충고를 따랐다 및 위의 링크에서 주어진 두 방법과 모델을 맞습니다.방법 1 : tbats() 함수 사용.
x_new <- msts(x, seasonal.periods=c(7,7*52))
fit <- tbats(x_new)
fc <- forecast(fit, h=7*52)
는 I 7 연간 계절 52 * 7 주간 계절성 사용. 월별 계절성을 쉽게 얻을 수있는 방법을 찾아 내지 못했기 때문입니다. 결과를 바탕으로 예측도 좋지 않습니다. 참고 : 매월 두 번째 계절 기간으로 7 * 4를 사용하면 더 나쁜 예측이됩니다.
방법 2 : freg를 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))
나는 다른 K와 그것을 시도, 그것은 예측이 향상되지 않습니다.
따라서 저는 붙어 있습니다! 예측이 끝나기 때문입니다. 아무도 내 실수가 어디 있는지 지적 해 주시겠습니까? 또는 모델을 어떻게 개선해야합니까?
감사합니다.
이 질문은 R 코드보다 통계 모델링에 관한 내용이므로 주제가 아닌 것으로 보입니다. –