Sử dụng hàm arima0 để ước lượng cho cỏc chuỗi thời gian một chiều và dự bỏo về mụ hỡnh đó được ước lượng

Một phần của tài liệu Khai thác phần mềm r để xử lí số liệu chuỗi thời gian thông qua mô hình arima (Trang 53 - 60)

p values for Ljung-Box statistic

2.2.3 Sử dụng hàm arima0 để ước lượng cho cỏc chuỗi thời gian một chiều và dự bỏo về mụ hỡnh đó được ước lượng

chiều và dự bỏo về mụ hỡnh đó được ước lượng

Để ước lượng cho cỏc chuỗi thời gian một chiều, và dự bỏo từ mụ hỡnh đó được ước lượng đú. Ta dựng cấu trỳc lệnh như sau:

arima0(x, order = c(0, 0, 0),

seasonal = list(order = c(0, 0, 0), period = NA), xreg = NULL, include.mean = TRUE, delta = 0.01, transform.pars = TRUE, fixed = NULL, init = NULL,

method = c("ML", "CSS"), n.cond, optim.control = list()) ## S3 method for class 'arima0':

predict(object, n.ahead = 1, newxreg, se.fit = TRUE, ...)

Trong đú cỏc thành phần x, order, seasonal, xreg, fixed,

transform.pars, n.cond, optim.control hoàn toàn giống như ở

include.mean

Biến logic: Mụ hỡnh ARIMA chứa giỏ trị trung bỡnh khụng? Mặc định là TRUE cho những chuỗi khụng lấy sai phõn. FALSE cho những chuỗi cú lấy sai phõn (ở đõy giỏ trị trung bỡnh sẽ khụng ảnh hưởng tới sự ước lượng cũng như dự bỏo).

delta Một giỏ trị chỉ ra tại thời điểm “phộp truy hồi nhanh”.

method Phương phỏp ước lượng: hợp lý cực đại (ML) hoặc tổng cỏc bỡnh

phương với điều kiện nhỏ nhất (CSS).

obiject Kết quả ước lượng một arima0.

newxreg Những giỏ trị mới của xreg được sử dụng để dự đoỏn. Phải cú ớt

nhất n.ahead dũng.

n.ahead Số lượng cỏc giỏ trị tiếp theo mà dự đoỏn yờu cầu.

se.fit Biến logic: sai số chuẩn của dự bỏo cú được đưa ra hay khụng?

… Thờm đối số hay phương phỏp khỏc

Chi tiết thuật toỏn

Nhỡn chung chi tiết về thuật toỏn cũng tương tự như arima một số điểm khỏc nhau như sau:

Đối với cỏc mụ hỡnh ARIMA cú thực hiện bước lấy sai phõn, thỡ chuỗi sau khi được lấy sai phõn trở thành mụ hỡnh ARMA cú trung bỡnh 0. Nhất là khi kết thỳc ước lượng thỡ điểm biờn nghịch đảo được. Đối với dự đoỏn, phương phỏp thống kờ này chỉ hiệu quả nếu phần ước lượng của MA là khả nghịch. Do đú,

predict.arima0 sẽ đưa ra một lưu ý cho những mụ hỡnh MA khụng khả nghịch.

Ước lượng bằng arima0 thỡ đầu ra là một bảng danh sỏch cỏc lớp đối tượng của “arima0” bao gồm cỏc thành phần coef,sigma2,var.coef,

loglik,arma,aic,residuals,Call,series,convergence~code(giỏ

trị gửi tới optim), n.cond cú ý nghĩa giống đầu ra của ước lượng bằng arima.

hợp se.fit=TRUE, một bảng danh sỏch cỏc thành phần pred của những dự bỏo, và se là những sai số chuẩn đó được ước lượng. Cả hai thành phần đều là chuỗi thời gian.

Cỏc phương phỏp ước lượng:

Cỏc khả năng được tớnh chớnh xỏc thụng qua phộp biễu diễn khụng gian trạng thỏi của quỏ trỡnh ARIMA và những biến đổi, cũn phương sai của chỳng được tỡm thấy bởi một bộ lọc Kalman và được dựa trờn cụng trỡnh nghiờn cứu của Gardner. Điều đú tựy chọn nhằm chuyển sang “phộp đệ quy nhanh” (giả sử một kết quả là −∞) nếu biến đổi phương sai đủ gần tới giới hạn tiệm cận. Đối

số delta thiết lập sai số cho phộp: tại đú mặc định giỏ trị của phộp xấp xỉ

thường khụng đỏng kể và dần dần được tăng lờn. Những tớnh toỏn chớnh xỏc cú thể được xỏc định bằng cỏch thiết lập delta là một giỏ trị õm.

Nếu transform.pars=TRUE, sự tối ưu húa được thực hiện bằng sử dụng tham số (tựy biến) thay thế và tham số (tựy biến) thay thế này là một sự biến đổi được đề xuất bởi Jones (1980) và khẳng định rằng mụ hỡnh là cú tớnh dừng. Đối với một mụ hỡnh AR(p) sự tham số húa thụng qua phộp lấy nghịch đảo tang hyperbol của hàm tự tương quan riờng: cựng một thủ tục được ỏp dụng thỡ tỏch được từ AR những số hạng AR cú tớnh mựa. Những số hạng MA khụng bắt buộc khả nghịch trong suốt quỏ trỡnh tối ưu húa, nhưng nếu gỏn

transform.pars=TRUE thỡ chỳng sẽ được chuyển sang dạng nghịch đảo sau

khi tối ưu húa.

Lưu ý rằng MLE ứng với cỏc số hạng của MA đụi khi xảy ra cho cỏc đa thức MA với cỏc nghiệm gốc: Như vậy cỏc mụ hỡnh cú thể đó được ước lượng bằng cỏch gỏn transform.pars=FALSE và xỏc định tốt tập giỏ trị ban đầu (thường thu được từ một sự ước lượng với transform.pars=TRUE).

Những giỏ trị thiếu được chấp nhận, nhưng một vài giỏ trị thiếu sẽ dẫn tới delta là bỏ qua được và phộp đệ quy hoàn toàn được cho phộp. Lưu ý rằng cỏc

giỏ trị thiếu sẽ được tăng lờn bởi sự sai phõn. Vỡ vậy ở trường hợp này cỏc thủ tục được sử dụng trong phương phỏp là khụng hoàn toàn cú hiệu quả.

Điều kiện tổng của cỏc bỡnh phương là phương phỏp chủ yếu được dựng cho cỏc mục đớch để giải thớch. Tổng cỏc bỡnh phương của cỏc sai số tớnh được trong ước lượng được xỏc định từ những quan sỏt n.cond trờn, (ở đõy

n.cond bộ nhất tại độ trễ cực đại của một số hạng AR), xem như tất cả cỏc biến đổi ban đầu bằng 0. Đối số n.cond cú thể cho phộp được sử dụng để so sỏnh tớnh tương thớch giữa cỏc ước lượng khỏc nhau. Phần log hợp lý là số hạng đầu tiờn, một nửa log là ước lượng bỡnh phương trung bỡnh. Những giỏ trị thiếu được chấp nhận, tuy nhiờn sẽ tạo ra sai số lớn dẫn tới làm mất giỏ trị.

Khi cỏc biến hồi quy độc lập đó được xỏc định, chỳng đó được trực giao húa trước khi ước lượng, trừ khi mọi hệ số là khụng đổi. Nú cú thể giỳp ớch xấp xỉ tỉ lệ biến hồi quy tới trung bỡnh 0 và phương sai đơn vị.

Chỳ ý.

Sai số tiờu chuẩn của sự dự bỏo khụng chắc chắn được loại trừ trong sự ước lượng đối với mụ hỡnh ARIMA và cỏc hệ số hồi quy.

Cỏc kết quả cú thể sẽ khụng giống nhau từ arima.mle của S-PLUS, điều kiện hợp lý của cỏc tớnh toỏn là khụng bao hàm giỏ trị trung bỡnh trong mụ hỡnh. Hơn nữa, theo quy ước được dựng ở arima.mle đảo ngược với cỏc dấu hiệu của cỏc hệ số MA.

Vớ dụ 10.

## Not run: arima0(lh, order = c(1,0,0)) > arima0(lh, order = c(3,0,0))

Call:

arima0(x = lh, order = c(3, 0, 0)) Coefficients:

ar1 ar2 ar3 intercept 0.6448 -0.0634 -0.2198 2.3931 s.e. 0.1394 0.1668 0.1421 0.0963

Ở vớ dụ 4 và vớ dụ 10 ta đều lựa chọn một mụ hỡnh ARIMA(3,0,0) và dựng hàm arima và arima0 để ước lượng, thỡ ta thấy rằng với cựng một phương phỏp ước lượng thỡ đều cho kết quả giống nhau và phương phỏp ước lượng ở đõy là “ML”. Vớ dụ 11. > arima0(lh, order = c(1,0,1)) Call: arima0(x = lh, order = c(1, 0, 1)) Coefficients:

ar1 ma1 intercept 0.4521 0.1983 2.4101 s.e. 0.1357 0.1777 0.1357

sigma^2 estimated as 0.1923:log likelihood =-28.76,aic = 65.52

Vớ dụ 12. >arima0(lh, order = c(1,1,1)) Call: arima0(x = lh, order = c(1, 1, 1)) Coefficients: ar1 ma1 0.5900 -0.8244 s.e. 0.0806 0.2430

sigma^2 estimated as 0.2246:log likelihood = -31.69,aic =69.38

Vớ dụ 13.

> predict(arima0(lh, order = c(3,0,0)), n.ahead = 2)#dự bỏo 2 giỏ trị tiếp theo của chuỗi.

$pred Time Series: Start = 49 End = 50 Frequency = 1 [1] 2.460173 2.270829 $se Time Series: Start = 49 End = 50 Frequency = 1 [1] 0.4226823 0.5029332

Trong ước lượng bằng hàm arima0 nếu khụng chỉ rừ dựng phương phỏp ước lượng nào thỡ được mặc định là “ML” và theo quy ước thỡ khụng dựng phương phỏp “ML-CSS” cũn nếu dựng method="CSS" thỡ phải bổ sung vào trong cõu lệnh như sau:

Vớ dụ 14.

> arima0(lh, order = c(3,0,0), method = "CSS") Call:

arima0(x = lh, order = c(3, 0, 0), method = "CSS") Coefficients:

ar1 ar2 ar3 intercept 0.6580 -0.0660 -0.2339 2.3999 s.e. 0.1414 0.1702 0.1469 0.0981

sigma^2 estimated as 0.1905: part log likelihood = -28.31

Vớ dụ 15.

> (fit <- arima0(USAccDeaths, order = c(0,1,1), seasonal = list(order=c(0,1,1)), delta = -1))

Call:

arima0(x = USAccDeaths, order = c(0, 1, 1), seasonal = list(order = c(0, 1, 1)), delta = -1)

Coefficients:

ma1 sma1 -0.4304 -0.5526 s.e. 0.1228 0.1785

sigma^2 estimated as 99355:log likelihood =-425.44,aic=856.88 > predict(fit, n.ahead = 6)# dự đoỏn 6 giỏ trị tiếp theo và

sai số chuẩn của 6 giỏ trị đó dự đoỏn đú.

$pred

Jan Feb Mar Apr May Jun

1979 8336.028 7531.760 8314.593 8616.864 9488.916 9859.727$se $se

Jan Feb Mar Apr May Jun

1979 315.4607 362.9949 404.9878 443.0180 478.0322 510.6511

Vớ dụ 16.

>(fit1<-arima0(presidents,c(1,0,0),delta =-1)) Call:

arima0(x = presidents, order = c(1, 0, 0), delta = -1) Coefficients:

ar1 intercept 0.8242 56.3057 s.e. 0.0541 4.5266

>tsdiag(fit1)#kiểm tra tớnh phự hợp của mụ hỡnh chọn trong fit1 Standardized Residuals Time 1945 1950 1955 1960 1965 1970 1975 -2 -1 0 1 2 0 1 2 3 4 5 -0 .2 0 .2 0 .6 1 .0 Lag A C F ACF of Residuals 2 4 6 8 10 0 .0 0 .4 0 .8

p values for Ljung-Box statistic

lag p v a lu e

Dựa vào đồ thị trờn ta thấy mụ hỡnh mà ta lựa chọn khụng phự hợp. Thật vậy tồn tại một giỏ trị ACF nằm ngoài giới hạn cho phộp với mức ý nghĩa α cho trước và cú 6 giỏ trị của thống kờ Q hay cũn gọi là thống kờ Ljung-Box nằm trong ngưỡng khụng cho phộp.

Vớ dụ 17.

>(fit3 <- arima0(presidents,c(3, 0, 0),delta = -1))

Call:

arima0(x = presidents, order = c(3, 0, 0), delta = -1) Coefficients:

ar1 ar2 ar3 intercept 0.7496 0.2523 -0.1891 56.3054 s.e. 0.0912 0.1111 0.0922 4.1759

sigma^2 estimated as 81.12:log likelihood =-414.08,aic =838.16 Trong trường hợp này thỡ chỉ số AIC nhỏ hơn ở trong vớ dụ 17. Liệu mụ hỡnh này cú phự hợp khụng?

>tsdiag(fit3)# kiểm tra tớnh phự hợp của mụ hỡnh đó chọn. Standardized Residuals Time 1945 1950 1955 1960 1965 1970 1975 -2 -1 0 1 2 0 1 2 3 4 5 -0 .2 0 .2 0 .6 1 .0 Lag A C F ACF of Residuals 2 4 6 8 10 0 .0 0 .4 0 .8

p values for Ljung-Box statistic

lag p v a lu e

Dựa vào đồ thị ta thấy mụ hỡnh mà ta chọn đó phự hợp.

Một phần của tài liệu Khai thác phần mềm r để xử lí số liệu chuỗi thời gian thông qua mô hình arima (Trang 53 - 60)

Tải bản đầy đủ (DOC)

(79 trang)
w