Sử dụng gói dự báo tuyệt vời của Rob Hyndman, tôi đã thấy rằng không chỉ cần có các khoảng dự đoán, mà còn mô phỏng một số con đường trong tương lai, đưa ra các quan sát trong quá khứ về chuỗi thời gian phức tạp. Có một cái gì đó cho chuỗi thời gian ít phức tạp hơn chỉ với một hoặc hai tính thời vụ (simulation.ets () trong gói dự báo), nhưng trong trường hợp của tôi, tôi sẽ yêu cầu tương đương với simulation.ets () cho mô hình tbats phức tạp hơn.
Tôi giả định rằng dữ liệu cần thiết để tạo các đường dẫn như vậy đã có trong đối tượng phù hợp, tuy nhiên khả năng tạo các đường dẫn mẫu dường như không thể truy cập trực tiếp. Do đó, tôi đã đưa ra một giải pháp ngây thơ và muốn biết, liệu phương pháp này có đúng không.
require(forecast)
fit = bats(test,use.parallel=T,use.damped.trend=F,use.trend=T,seasonal.periods=seasonal.periods)
Ngây thơ, tôi tưởng tượng rằng các đường dẫn mẫu có thể được xây dựng bằng cách sử dụng dự báo điểm từ
fit
> forecast(fit)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
1960.016 24.48576 23.82518 25.14633 23.47550 25.49602
1960.032 24.79870 23.88004 25.71735 23.39374 26.20366
1960.048 25.31743 24.39878 26.23608 23.91247 26.72239
1960.065 25.69254 24.77389 26.61120 24.28759 27.09750
1960.081 26.06863 25.14998 26.98729 24.66367 27.47359
1960.097 26.43215 25.51350 27.35080 25.02719 27.83711
1960.113 26.77674 25.85809 27.69540 25.37179 28.18170
và chỉ cần thêm các giá trị được rút ngẫu nhiên từ quy trình khớp mô hình.
> fit$errors
Time Series:
Start = c(1959, 2)
End = c(1960, 1)
Frequency = 365
[1] 0.140656913 -0.455335141 -0.558989185 1.697532911 -0.114406022 0.366182718 -0.377056927 0.396144296
Do đó, với
prediction = forecast(fit)
errors = fit$errors
path = prediction$mean + sample(errors, size = length(prediction$mean))
plot(ts(path))
một đường dẫn mẫu có thể được xây dựng.
Đây có phải là một cách hợp lệ để xây dựng các đường dẫn mẫu? Nếu không, điều gì sẽ là một cách chính xác?
Cảm ơn rất nhiều vì sự giúp đỡ!
simulate.tbats
phương pháp?