Tôi đã có dữ liệu hàng tháng từ năm 1993 đến 2015 và muốn dự báo về những dữ liệu này. Tôi đã sử dụng gói tsoutliers để phát hiện các ngoại lệ, nhưng tôi không biết làm cách nào để tiếp tục dự báo với bộ dữ liệu của mình.
Đây là mã của tôi:
product.outlier<-tso(product,types=c("AO","LS","TC"))
plot(product.outlier)
Đây là đầu ra của tôi từ gói tsoutliers
ARIMA(0,1,0)(0,0,1)[12]
Coefficients:
sma1 LS46 LS51 LS61 TC133 LS181 AO183 AO184 LS185 TC186 TC193 TC200
0.1700 0.4316 0.6166 0.5793 -0.5127 0.5422 0.5138 0.9264 3.0762 0.5688 -0.4775 -0.4386
s.e. 0.0768 0.1109 0.1105 0.1106 0.1021 0.1120 0.1119 0.1567 0.1918 0.1037 0.1033 0.1040
LS207 AO237 TC248 AO260 AO266
0.4228 -0.3815 -0.4082 -0.4830 -0.5183
s.e. 0.1129 0.0782 0.1030 0.0801 0.0805
sigma^2 estimated as 0.01258: log likelihood=205.91
AIC=-375.83 AICc=-373.08 BIC=-311.19
Outliers:
type ind time coefhat tstat
1 LS 46 1996:10 0.4316 3.891
2 LS 51 1997:03 0.6166 5.579
3 LS 61 1998:01 0.5793 5.236
4 TC 133 2004:01 -0.5127 -5.019
5 LS 181 2008:01 0.5422 4.841
6 AO 183 2008:03 0.5138 4.592
7 AO 184 2008:04 0.9264 5.911
8 LS 185 2008:05 3.0762 16.038
9 TC 186 2008:06 0.5688 5.483
10 TC 193 2009:01 -0.4775 -4.624
11 TC 200 2009:08 -0.4386 -4.217
12 LS 207 2010:03 0.4228 3.746
13 AO 237 2012:09 -0.3815 -4.877
14 TC 248 2013:08 -0.4082 -3.965
15 AO 260 2014:08 -0.4830 -6.027
16 AO 266 2015:02 -0.5183 -6.442
Tôi có những tin nhắn cảnh báo là tốt.
Warning messages:
1: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
2: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
3: In locate.outliers.oloop(y = y, fit = fit, types = types, cval = cval, :
stopped when ‘maxit’ was reached
4: In arima(x, order = c(1, d, 0), xreg = xreg) :
possible convergence problem: optim gave code = 1
5: In auto.arima(x = c(5.77, 5.79, 5.79, 5.79, 5.79, 5.79, 5.78, 5.78, :
Unable to fit final model using maximum likelihood. AIC value approximated
Nghi ngờ:
- Nếu tôi không sai, gói tsoutliers sẽ xóa các ngoại lệ mà nó phát hiện và thông qua việc sử dụng bộ dữ liệu với các ngoại lệ bị xóa, nó sẽ cung cấp cho chúng tôi mô hình arima tốt nhất phù hợp với tập dữ liệu, điều đó có đúng không?
- Tập dữ liệu loạt điều chỉnh đang bị dịch chuyển xuống rất nhiều do loại bỏ sự thay đổi cấp độ, v.v. Điều này không có nghĩa là nếu việc dự báo được thực hiện trên chuỗi điều chỉnh, đầu ra của dự báo sẽ rất không chính xác, vì dữ liệu gần đây đã hơn 12, trong khi dữ liệu được điều chỉnh chuyển sang khoảng 7-8.
- Thông điệp cảnh báo 4 và 5 có nghĩa là gì? Có nghĩa là nó không thể làm auto.arima bằng cách sử dụng chuỗi điều chỉnh?
- [12] trong ARIMA (0,1,0) (0,0,1) [12] có nghĩa là gì? Có phải chỉ là tần suất / định kỳ của tập dữ liệu của tôi, mà tôi đặt nó thành hàng tháng? Và điều này cũng có nghĩa là chuỗi dữ liệu của tôi cũng theo mùa?
- Làm cách nào để phát hiện tính thời vụ trong bộ dữ liệu của tôi? Từ hình dung của cốt truyện chuỗi thời gian, tôi không thể thấy bất kỳ xu hướng rõ ràng nào, và nếu tôi sử dụng chức năng phân tách, nó sẽ cho rằng có một xu hướng theo mùa? Vì vậy, tôi chỉ tin những gì các tsoutliers nói với tôi, nơi có xu hướng theo mùa, vì có MA của đơn hàng 1?
- Làm cách nào để tiếp tục thực hiện dự báo của mình với dữ liệu này sau khi xác định các ngoại lệ này?
- Làm cách nào để kết hợp các ngoại lệ này với các mô hình dự báo khác - Làm mịn theo cấp số nhân, ARIMA, Mô hình cơ sở, Đi bộ ngẫu nhiên, theta? Tôi chắc chắn rằng tôi không thể xóa các ngoại lệ vì có sự thay đổi cấp độ và nếu tôi chỉ lấy dữ liệu chuỗi điều chỉnh, các giá trị sẽ quá nhỏ, vậy tôi phải làm gì?
Tôi có cần thêm các ngoại lệ này làm công cụ hồi quy trong auto.arima để dự báo không? Làm thế nào để nó hoạt động sau đó?