Chuyển tới nội dung chính

AR / MA / ARMA / ARIMA — Họ Box-Jenkins

Đây là họ mô hình chuỗi thời gian đơn biến kinh điển để mô tả và dự báo một chuỗi dựa trên chính quá khứ của nó:

  • AR(p) — Autoregressive: YtY_t phụ thuộc các giá trị trễ của chính nó.
  • MA(q) — Moving Average: YtY_t phụ thuộc các sai số (cú sốc) trễ.
  • ARMA(p,q) — kết hợp AR và MA cho chuỗi dừng.
  • ARIMA(p,d,q) — thêm sai phân bậc dd để xử lý chuỗi không dừng.
Khi nào dùng

Dùng cho dự báo một chuỗi (doanh thu, lạm phát, giá). Kiểm tra tính dừng trước (ADF/KPSS); nếu không dừng, lấy sai phân (bậc dd) ⇒ ARIMA. Có mùa vụ ⇒ SARIMA; có biến động cụm ⇒ GARCH.


Đặc tả mô hình

ARMA(p,q):

Yt=c+i=1pϕiYti+εt+j=1qθjεtjY_t = c + \sum_{i=1}^{p} \phi_i Y_{t-i} + \varepsilon_t + \sum_{j=1}^{q} \theta_j \varepsilon_{t-j}

ARIMA(p,d,q): áp dụng ARMA(p,q) cho chuỗi đã sai phân dd lần ΔdYt\Delta^d Y_t.


Quy trình Box-Jenkins


Thực hiện trong EcoLab

  1. Module Mô hình hóa → họ Chuỗi thời gian đơn biếnARIMA.
  2. Chọn chuỗi YY; khai báo (p,d,q)(p,d,q) hoặc dùng auto-ARIMA (AIC/BIC).
  3. Chạy; xem chẩn đoán phần dư + dự báo kèm khoảng tin cậy; xuất mã tái lập.

Minh họa mã tái lập

* === ARIMA — Họ Box-Jenkins ===

* --- Kiểm định tính dừng ---
dfuller gdp_growth, lags(4) regress
kpss gdp_growth

* --- Ước lượng ARIMA(1,1,1) ---
arima gdp_growth, arima(1,1,1)

* --- Hoặc: sai phân thủ công + ARMA ---
gen d_gdp = D.gdp_growth
arima d_gdp, ar(1) ma(1)

* --- Chẩn đoán phần dư ---
predict resid, residuals
corrgram resid, lags(20)
wntestq resid, lags(12)

* --- Dự báo ---
tsappend, add(12)
predict gdp_hat, dynamic(.)

Hạn chế

  • Giả định quan hệ tuyến tính và cấu trúc ổn định; kém khi có gãy cấu trúc.
  • Không mô hình hóa phương sai thay đổi theo thời gian ⇒ dùng ARCH/GARCH.

Video minh họa

Video Tutorial: Hướng dẫn chạy ARIMA trong EcoLab

Xem thêm