1. MÔ HÌNH DỰ BÁO ARIMA
(Autoregressive Integrated Moving Average)
George Box và Gwilym Jenkins (1976) đã nghiên cứu mô hình ARIMA (Autoregressive
Integrated Moving Average - Tự hồi qui tích hợp Trung bình truợt), và tên của họ thuờng
đuợc dùng dể gọi tên các quá trình ARIMA tổng quát, áp dụng vào việc phân tích và dự
báo các chuỗi thời gian. Phương pháp Box-Jenkins với bốn buớc: nhận dạng mô hình thử
nghiệm, uớc luợng, kiểm dịnh bằng chẩn doán, và dự báo.
Có nhiều phương pháp dự báo, ví dụ PP sử dụng hồi quy bội (yêu cầu nhiều biến, nhiều
dữ liệu và người nghiên cứu phải có lý thuyết tốt). Nhưng mô hình ARIMA sẽ giúp dự báo
với độ tin cậy cao hơn từ các PP lập mô hình kinh tế lượng truyền thống, đặc biệt đối với
dự báo ngắn hạn. Tuy nhiên nếu làm luận văn cử nhận, thạc sỹ thì không nên chỉ dùng
mô hình này vì nó tương đối dễ.
Số quan sát tối thiểu để dùng được ARIMA là 50, môi trường dự báo trong tương lai ít có
sự biến động. ARIMA đuợc sử dụng khá phổ biến trong dự báo ngắn hạn, từ ARIMA có
thể mở rộng PP dự báo ARCH và GARCH
Đọc thêm chương 21, 22 của Guja (Basic economietric Gujarati 2002)
Quy trình dự báo bằng PP ARIMA (Phương pháp Box-Jenkins)
-
Bước 1 : Nhận dạng mô hình ARIMA(p,d,q)
d : chính là bậc tích hợp, bậc sai phân
p,q xác định bằng đồ thị correlogram (SAC,SPAC)
-
Bước 2 : Ước luợng các tham số cho mô hình ARMIA
TH1: ARIMA (p,0,q) trường hợp đơn giản
LS Y C AR(1) AR(2) … AR(p) MA(1) MA(2)… MA(q)
TH2 : ARIMA(p,d,q)
LS D(Y) C AR(1) AR(2) … AR(p) MA(1) MA(2)… MA(q)
-
-
Bước 3 : Kiểm tra và chuẩn đoán
Xem xét sai số (phần dư) có phải là nhiễu trắng (ngẫu nhiên thuần túy) không ?
Nếu có thì đó là mô hình đụơc chọn, nếu không thì chọn mô hình khác hoặc bắt
đầu lại
Bước 4 : Dự báo
Chú ý : Tìm kiếm mô hình ARIMA là một quá trình thử và sai.
Commented [s1]: Nếu d=0 ; nếu d=1 thì gõ d(y) ; d=2 thì gõ
d(y,2).
Với Y là biến phụ thuộc
Commented [s2]: Đại diện cho Y(t-1) – Độ trễ bậc 1
Commented [s3]: Đại diện chọ Y(t-p) – Độ trễ bậc p
Commented [s4]: Đại diện cho U(t-q), Ut chính là sai số hay
phần dư
2. Ví dụ thực hành : Dùng data rice.wf1
Kiểm tra tính dừng bằng PP đồ thị
RICE
5,000
4,000
3,000
2,000
1,000
0
90
91
92
93
94
95
96
97
98
99
Chuỗi có xu thế (tăng, giảm) tức chưa dừng
D(RICE)
400
300
200
100
0
-100
-200
-300
90
91
92
93
94
95
96
97
98
99
Chuỗi này nằm ngang thì chuỗi Drice có khả năng dừng (Phương sai và trung bình
của tất cả các thời điểm đều xấp xỉ bằng nhau thì chuỗi đó dừng)
Nhìn trên đồ thị có thể phán đóan không đúng, nên ta dùng Kiểm định Unit Root
text
Null Hypothesis: D(RICE) has a unit root
Exogenous: Constant
Lag Length: 0 (Automatic based on SIC, MAXLAG=12)
t-Statistic
Augmented Dickey-Fuller test statistic
Prob.*
-6.969006
0.0000
3. Test critical
values:
1% level
-3.489659
5% level
-2.887425
10% level
-2.580651
*MacKinnon (1996) one-sided p-values.
Kiểm định ADF ( Augmented Dickey – Fuller) cho chuỗi D(RICE) ta thấy P-value(ADF) = 0
(<alpha) D(RICE) dừng
Vậy RICE ~ I(1) , hay d=1
Xác định p,q bằng đồ thị correlogram
[Số bậc trễ (lags) thông thường bằng xấp xỉ căn bậc hai số quan sát = sqrt(120) 11]
4. Partial Correlation : đồ thị tự tương quan riêng phần (PAC), Autocorrelation : hệ số tự
tương quan (AC)
Thanh đồ thị nằm bên trái nếu giá trị là âm, bên phải nếu giá trị dương ; gạch đứt 2 bên
chính là đường giới hạn (Đường giới hạn = ± 1.96 x (1/sqrt(n)))
Thanh nằm trong hai giới hạn thì coi như giá trị của nó bằng 0 (giá trị không đáng kể)
Cách xác định p,q
-
-
p là bậc của AR : AR(p) sẽ dựa vào đồ thị PAC (partial correlation) , xét từ độ
trễ đầu tiên thanh nào nằm ngoài đuờng giới hạn và sau đó giảm 1 cách đáng
kể sau 1 độ trễ (theo đồ thị) thì hệ số tự tương quan riêng phần của bậc đó
chính là p. Hay xét giá trị PAC bậc nào có giá trị lớn và sau đó giảm về 0 một
cách đáng kể.
q là bậc của MA : MA(q) sẽ dựa vào đồ thị AC (auto correlation), tương tự p
Chú ý : p, q thừơng ở 3 thanh đầu (hay 3 độ trễ đầu tiên) ; nếu p,q nằm ngoài 3 độ trễ thì
đó là 1 trường hợp khác
Xét TH trên, với k=1 (k là độ trễ) ta thấy thanh đồ thị AC và PAC đều lọt ra ngoài đường
giới hạn và các thanh đồ thị khác đều lọt vào 2 đường giới hạn. p=q=1
Vậy MH nhận dạng là ARIMA(1,1,1) [mô hình nghi ngờ] , ARIMA(0,1,1) , ARIMA(1,1,0) ,
ARIMA(0,1,0) Thử và sai để quyết định mô hình
Commented [s5]: Hai mô hình này là giảm bậc của p,q
Commented [s6]: Mô hình này ít xảy ra, có thể không xem
xét cũng đuợc, p và q luôn nằm trong vùng giới hạn
(Có thể viết phương trình ra nếu muốn)
C
AR(1)
MA(1)
Sai số là ngẫu nhiên
thuần túy
AIC
MAPE
Theil’s
ARIMA(1,1,1)
28.5**
0.20
0.22
Yes
ARIMA(1,1,0)
28.57**
0.387***
----Yes
ARIMA(0,1,1)
28.268
----0.382***
Yes
11.8
2.863
0.015
11.8
2.852
0.015
11.8
2.887
0.015
** Kiểm định Ttest có ý nghĩa thống kê (Pro <alpha) ; *** Kiểm định Ttest rất ý nghĩa thống kê (Pro = 0)
Commented [s7]: Quan tâm nhất, xem thử phần dư ước
luợng có phải là nhiễu trắng không (white noise) Sử dụng
kiểm định Q-statistic của phần dư (lags=11) quan trọng hơn
cả các chi tiêu đo độ chính xác MAPE, Thel’s
Commented [s8]: AIC chỉ so sánh đụơc giữa các mô hình có
cùng bậc d , lúc đó có thể dùng các chỉ tiêu đo độ chính xác
của mô hình MAPE, Theil’s (Kết quả đuợc lưu khi forecast)
5. Xét TH ARIMA(1,1,1)
Để xem xét sai số (hay phần dư) có phải là ngẫu nhiên thuần túy (hay nhiễu trắng) không)
là xét đồ thị tự tương quan của phần dư (AC) : Nếu tất cả các thanh đồ thị AC đều nằm
trong 2 đường giới hạn thì chứng tỏ sai số là nhiễu trắng hoặc nếu tất cả các giá trị Prob >
alpha thì chứng tỏ tất cả các giá trị AC đều bằng nhau và bằng 0 hay sai số là nhiễu trắng.
Vậy, với đồ thị trên chứng tỏ sai số là nhiễu trắng
Tiếp tục, dự báo :
6. Dự báo tĩnh (static forecast) thì chính xác hơn dự báo động (Dynamic forecast)
(2 đuờng xanh, đỏ các bám xát nhau càng tốt AIC ,MAPE,Theil’s càng bé càng tốt)
(lưu lại các chỉ tiêu đo độ chính xác: MAPE = 2,863, hệ số Theil’s = 0.0166)
Mô hình này sử dụng đụơc nhưng vẫn chưa tốt (do 2 giá trị AR(1) và MA(1) không có ý
nghĩa thống kê, mặc dù chúng ta cũng không cần quan tâm nhiều đến nó có ý nghĩa thống
kê hay không)
Commented [s9]: Hệ số MAPE <=10% là tốt
Commented [s10]: Hệ số Theil’s <=0.55 là tốt
7. (giá trị dự báo điểm ở tháng 7 = 3924.2 & giá trị dự báo khoảng ở độ tin cậy 95% mô
hình càng kém tin cậy nếu khoảng này càng rộng )
Vậy nếu muốn dự báo cho tháng 8 thì sao??? lấy giá trị dự báo tháng 7 đưa vào giá trị
thực (rice) và bấm lại lệnh dự báo
Kiểm tra kết quả xem có chính xác không : [plot rice ricef111]
5,000
4,000
3,000
2,000
1,000
0
90
91
92
93
RICE
94
95
96
97
98
99
RICEF111
Nếu xem xét các chỉ số đo độ chính xác, cùng với các hệ số hồi quy (Ar(1),Ma(1)) có ý
nghĩa thống kê thì ta nên chọn mô hình ARIMA(1,1,0) . Mặc dù trong dự báo ARIMA các
hệ số hồi quy AR(1) và MA(1) không cần quan tâm nhưng nếu có ý nghĩa thống kê thì vẫn
tốt hơn.
Lựa chọn mô hình tốt hơn và viết PT dự báo ??? (đọc thêm chương 22)
8. Vậy, viết phương trình dự báo ARIMA như thế nào ? Ví dụ ARIMA(1,1,1)