Bắt đầu ngayBắt đầu miễn phí

Khớp mô hình AR(1)

Hãy nhớ rằng bạn dùng cặp ACF và PACF để giúp nhận diện bậc \(p\) và \(q\) của mô hình ARMA. Bảng dưới đây tóm tắt kết quả:

AR(\(p\)) MA(\(q\)) ARMA(\(p,q\))
ACF Giảm dần (đuôi kéo dài) Cắt đột ngột
sau độ trễ \(q\)
Giảm dần
PACF Cắt đột ngột
sau độ trễ \(p\)
Giảm dần Giảm dần

Trong bài này, bạn sẽ sinh dữ liệu từ mô hình AR(1), $$X_t = .9 X_{t-1} + W_t,$$ quan sát dữ liệu mô phỏng và cặp ACF/PACF mẫu để xác định bậc. Sau đó, bạn sẽ khớp mô hình và so sánh các tham số ước lượng với tham số thật.

Xuyên suốt khóa học, bạn sẽ dùng sarima() từ gói astsa để dễ dàng khớp mô hình với dữ liệu. Lệnh này tạo ra đồ thị chẩn đoán phần dư; bạn có thể bỏ qua cho đến khi phần chẩn đoán được thảo luận ở phần sau của chương.

Bài tập này là một phần của khóa học

Mô hình ARIMA trong R

Xem khóa học

Hướng dẫn bài tập

  • Gói astsa đã được nạp sẵn.
  • Dùng lệnh arima.sim() đã viết sẵn để sinh 100 quan sát từ mô hình AR(1) với tham số AR bằng .9. Lưu vào x.
  • Vẽ đồ thị dữ liệu đã sinh bằng plot().
  • Vẽ cặp ACF và PACF mẫu bằng lệnh acf2() từ gói astsa.
  • Dùng sarima() từ astsa để khớp mô hình AR(1) cho dữ liệu đã sinh. Xem bảng t và so sánh các ước lượng với giá trị thật. Ví dụ, nếu chuỗi thời gian nằm trong x, để khớp mô hình AR(1) cho dữ liệu, hãy dùng sarima(x, p = 1, d = 0, q = 0) hoặc đơn giản là sarima(x, 1, 0, 0).

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Generate 100 observations from the AR(1) model
x <- arima.sim(model = list(order = c(1, 0, 0), ar = .9), n = 100) 

# Plot the generated data 


# Plot the sample P/ACF pair


# Fit an AR(1) to the data and examine the t-table

Chỉnh sửa và Chạy Mã