You are on page 1of 8

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) 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
TH2 : ARIMA(p,d,q)
Commented [s2]: Đại diện cho Y(t-1) – Độ trễ bậc 1

LS D(Y) C AR(1) AR(2) … AR(p) MA(1) MA(2)… MA(q) 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ư
- 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.
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

-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 Prob.*

Augmented Dickey-Fuller test statistic -6.969006 0.0000


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]
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) , Commented [s5]: Hai mô hình này là giảm bậc của p,q

ARIMA(0,1,0)  Thử và sai để quyết định mô hình 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)

ARIMA(1,1,1) ARIMA(1,1,0) ARIMA(0,1,1)


C 28.5** 28.57** 28.268
AR(1) 0.20 0.387*** -----
MA(1) 0.22 ----- 0.382***
Sai số là ngẫu nhiên Yes Yes Yes
thuần túy 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
AIC 11.8 11.8 11.8 kiểm định Q-statistic của phần dư (lags=11)  quan trọng hơn
MAPE 2.863 2.852 2.887 cả các chi tiêu đo độ chính xác MAPE, Thel’s

Theil’s 0.015 0.015 0.015 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
** 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) của mô hình MAPE, Theil’s (Kết quả đuợc lưu khi forecast)
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 :


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) Commented [s9]: Hệ số MAPE <=10% là tốt
Commented [s10]: Hệ số Theil’s <=0.55 là tốt
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)
(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 94 95 96 97 98 99

RICE 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)
Vậy, viết phương trình dự báo ARIMA như thế nào ? Ví dụ ARIMA(1,1,1)

You might also like