Chuỗi thời gian khác biệt trước Arima hoặc trong Arima


12

Có phải tốt hơn để phân biệt một chuỗi (giả sử nó cần nó) trước khi sử dụng Arima HOẶC tốt hơn để sử dụng tham số d trong Arima?

Tôi đã ngạc nhiên về mức độ khác nhau của các giá trị được trang bị tùy thuộc vào tuyến đường nào được thực hiện với cùng một mô hình và dữ liệu. Hay tôi đang làm gì đó không đúng?

install.packages("forecast")
library(forecast)

wineindT<-window(wineind, start=c(1987,1), end=c(1994,8))
wineindT_diff <-diff(wineindT)

#coefficients and other measures are similar
modA<-Arima(wineindT,order=c(1,1,0))
summary(modA)
modB<-Arima(wineindT_diff,order=c(1,0,0))
summary(modB)

#fitted values from modA
A<-forecast.Arima(modA,1)$fitted

#fitted from modB, setting initial value to the first value in the original series
B<-diffinv(forecast.Arima(modB,1)$fitted,xi=wineindT[1])


plot(A, col="red")
lines(B, col="blue")

THÊM VÀO:

Xin lưu ý rằng tôi đang phân biệt chuỗi một lần và khớp arima (1,0,0) sau đó tôi khớp arima (1,1,0) với chuỗi gốc. Tôi (tôi nghĩ) đảo ngược sự khác biệt về các giá trị được trang bị cho arima (1,0,0) trên tệp khác biệt.

Tôi đang so sánh các giá trị được trang bị - không phải là dự đoán.

Đây là cốt truyện (màu đỏ là arima (1,1,0) và màu xanh là arima (1,0,0) trên chuỗi khác biệt sau khi thay đổi trở lại tỷ lệ ban đầu):

nhập mô tả hình ảnh ở đây

Trả lời câu trả lời của bác sĩ Hyndman:

1) Bạn có thể minh họa bằng mã R những gì tôi cần làm để có được hai giá trị được trang bị (và có lẽ là dự báo) khớp với nhau (cho phép chênh lệch nhỏ do điểm đầu tiên trong câu trả lời của bạn) giữa Arima (1,1, 0) và Arima (1,0,0) trên chuỗi phân biệt thủ công? Tôi cho rằng điều này có liên quan đến việc không được đưa vào modA, nhưng tôi không hoàn toàn chắc chắn về cách tiến hành.

2) Về số 3 của bạn. Tôi biết tôi đang thiếu rõ ràng, nhưng không phải là X t = X t - 1 + φ ( X t - 1 - X t - 2 )Y t = φ ( X t - 1 - X t - 2 ) các tương tự khi Y t được định nghĩa là ? Có phải bạn đang nói tôi "không tán thành" không chính xác?X^t=Xt1+ϕ(Xt1Xt2)Y^t=ϕ(Xt1Xt2)Y^tX^tXt1


1
Về cập nhật của bạn. 1) Tôi có thể thấy không có điểm nào trong việc này. Arima () sẽ tạo ra các giá trị và dự báo được trang bị. Tại sao tôi nên tạo mã R bổ sung để làm điều tương tự như Arima () đã làm? 2) Có, nhưng mũ X khác biệt không cung cấp cho bạn mũ Y. Vì vậy, không thể thảo luận Y-hat không cung cấp cho bạn mũ X.
Rob Hyndman

2
Cảm ơn. 1) Là một bài tập học tập cho tôi. 2) Lỗi của tôi trong tính toán trong câu hỏi ban đầu của tôi (sử dụng diffinv) là khi sử dụng các giá trị được trang bị và không phải là nguyên bản mà tôi nghĩ rằng tôi đang nhận được từ điều này. (?) ... dẫn đến # 1 về cách khắc phục không quan tâm đến dữ liệu. Tôi biết Arima sẽ làm điều đó, chỉ cần cố gắng làm theo một ví dụ cuốn sách bằng cách sử dụng các phương trình.
B_Miner

Câu trả lời:


14

Có một số vấn đề ở đây.

  1. Nếu bạn khác biệt trước, thì Arima()sẽ phù hợp với một mô hình với dữ liệu khác biệt. Nếu bạn để Arima()thực hiện sự khác biệt như là một phần của thủ tục ước tính, nó sẽ sử dụng một khuếch tán trước khi khởi tạo. Điều này được giải thích trong tập tin trợ giúp cho arima(). Vì vậy, kết quả sẽ khác nhau do cách xử lý quan sát ban đầu khác nhau. Tôi không nghĩ nó làm cho nhiều sự khác biệt về chất lượng của ước tính. Tuy nhiên, việc Arima()xử lý sự khác biệt sẽ dễ dàng hơn nhiều nếu bạn muốn dự báo hoặc giá trị được trang bị trên dữ liệu gốc (không phân biệt).

  2. Ngoài sự khác biệt trong ước tính, hai mô hình của bạn không tương đương vì modBbao gồm một hằng số trong khi modAkhông. Theo mặc định, Arima()bao gồm một hằng số khi và không có hằng số khi d > 0 . Bạn có thể vượt quá các mặc định này với đối số.d=0d>0include.mean

  3. Các giá trị được trang bị cho dữ liệu gốc không tương đương với các giá trị được trang bị không phân biệt trên dữ liệu được phân biệt. Để thấy điều này, lưu ý rằng các giá trị được trang bị trên các dữ liệu ban đầu được đưa ra bởi X t = X t - 1 + φ ( X t - 1 - X t - 2 ) trong khi các giá trị được trang bị trên các dữ liệu differenced được đưa ra bởi Y t = ϕ ( X t - 1 - X t - 2 ) trong đó { X t

    X^t=Xt1+ϕ(Xt1Xt2)
    Y^t=ϕ(Xt1Xt2)
    là chuỗi thời gian ban đầu và { Y t } là chuỗi khác biệt. Do đó X t - X t - 1Y t .{Xt}{Yt}
    X^tX^t1Y^t.

1
+1, tôi sẽ đưa ra như một câu trả lời 2 điểm. Kudos bao gồm cả 2.
mpiktas

Bác sĩ Hyndman, cảm ơn bạn đã phản hồi! Tôi có ALOT để tìm hiểu về phân tích chuỗi thời gian. Tôi có thể yêu cầu theo dõi không? Tôi không chắc chắn chính xác tôi biết phải làm gì với thông tin này vì vậy tôi đang đăng một phần bổ sung vào câu hỏi ban đầu của mình.
B_Miner

2

Đôi khi bạn cần loại bỏ các phương tiện địa phương để làm cho loạt văn phòng phẩm. Nếu sê-ri gốc có acf không chết thì điều này có thể là do sự thay đổi cấp độ / bước trong sê-ri. Biện pháp khắc phục là để de-có nghĩa là loạt.

TRẢ LỜI CHO BOUNTY:

Cách để có được kết quả / giá trị được trang bị giống nhau là sau khi phân biệt vật lý chuỗi gốc (Y (t) để có sự khác biệt đầu tiên (ước tính), ước tính AR (1) không có hằng số. Đây là tương đương để phù hợp với mô hình OLS của form dely (t) = B1 * dely (t-1) + a (t) KHÔNG CÓ đánh chặn. Các giá trị được trang bị từ mô hình này, được tích hợp phù hợp với thứ tự 1 (tôi tin) sẽ cung cấp cho bạn các giá trị được trang bị của một mô hình; [ 1-B] [AR (1)] Y (t) = a (t). Hầu hết các phần mềm, ngoại trừ ghi chú của AUTOBOX sẽ KHÔNG cho phép bạn ước tính mô hình AR (1) không có hằng số. Dưới đây là phương trình cho dely = + [(1- .675B * 1)] ** - 1 [A (T)] trong khi phương trình của Y là

[(1-B * 1)] Y (T) = + [(1- .676B * 1)] ** - 1 [A (T)]. Lưu ý lỗi làm tròn do sự khác biệt vật lý của Y. Lưu ý rằng khi sự khác biệt có hiệu lực (trong mô hình) HOẶC người dùng không thể chọn có bao gồm hay không loại trừ hằng số. Quá trình thông thường là bao gồm một hằng số cho mô hình ARIMA đứng yên (tức là không phân biệt) và tùy ý bao gồm một hằng số khi có sự khác biệt trong mô hình. Có vẻ như cách tiếp cận thay thế (Arima) buộc một hằng số vào một mô hình đứng yên mà theo tôi đã gây ra tình trạng khó xử của bạn.


Điều đó có nên tác động đến các giá trị được trang bị trong trường hợp này giữa arima (1,0,0) trên delta-y và arima (1,1,0) trên y không?
B_Miner

Trong cả hai trường hợp, bạn đang điều chỉnh AR (1) cho sự khác biệt đầu tiên của chuỗi thời gian phải không? Nếu đó là trường hợp và các phương pháp phù hợp là như nhau thì họ nên làm chính xác cùng một điều. Thậm chí không có sự khác biệt trong thứ tự hoạt động.
Michael R. Chernick

Có vẻ như không phải là trường hợp ở đây. Có lẽ @Rob_Hyndman sẽ đăng ký.
B_Miner

1

Tôi không biết tại sao sẽ có sự khác biệt trong kết quả trừ khi bằng cách nào đó bạn khác biệt nhiều lần theo cách này so với cách khác. đối với ARIMA (p, d, q), sự khác biệt d được thực hiện trước khi có bất kỳ mô hình nào phù hợp. Sau đó, mô hình ARMA (p, q) cố định phù hợp với chuỗi khác biệt. Giả định là sau khi loại bỏ các xu hướng đa thức trong chuỗi, chuỗi còn lại là đứng yên. Số lượng khác biệt tương ứng với thứ tự của đa thức mà bạn muốn loại bỏ. Vì vậy, đối với một xu hướng tuyến tính, bạn chỉ cần lấy một sự khác biệt, đối với một xu hướng bậc hai, bạn có hai sự khác biệt. Tôi không đồng ý với hầu hết những gì được nói trong câu trả lời của John.


0

Một lý do để khác biệt một loạt I (1) là làm cho nó đứng yên. Giả sử bạn có đặc điểm kỹ thuật chính xác cho mô hình ARIMA, phần dư cho mô hình sẽ có các thành phần trung bình tự động và di chuyển được loại bỏ và nên đứng yên. Về mặt đó, có thể có ý nghĩa khi sử dụng phần dư cho mô hình, thay vì khác biệt. Tuy nhiên, trong trường hợp bạn có nhiều dữ liệu mà bạn cho là xấp xỉ I (1), một số người sẽ chỉ khác biệt dữ liệu thay vì ước tính toàn bộ mô hình ARIMA. Mô hình ARIMA có thể phù hợp với một loạt các vấn đề về chuỗi thời gian trong đó nó có thể không có ý nghĩa gì với sự khác biệt. Chẳng hạn, nếu dữ liệu có ý nghĩa đảo ngược, điều này có thể không phải lúc nào cũng phù hợp với sự khác biệt vì nó có thể không phải là tôi (1).


Bạn có mong đợi sự khác biệt lớn như vậy không? Nó làm tôi nghĩ rằng tôi đang làm một cái gì đó không chính xác theo cách tôi đang trở lại từ sự khác biệt so với bản gốc.
B_Miner

Bạn có thể giải thích chính xác những gì bạn đã làm? Tôi không giỏi đọc mã R. Nếu bạn có cùng số lượng khác nhau theo cả hai cách và phù hợp với cùng một mô hình ARMA sau khi phân biệt, bạn sẽ nhận được kết quả giống nhau miễn là các kỹ thuật lắp là như nhau (thường sử dụng bình phương tối thiểu có điều kiện).
Michael R. Chernick

Anh ta lấy một số dữ liệu, phù hợp với ARIMA (1,1,0), sau đó lấy sự khác biệt và phù hợp với ARIMA (1,0,0). Cuối cùng, anh so sánh một giai đoạn trong số các dự báo mẫu với nhau. Có lẽ chúng khác nhau, nhưng chúng ta không thể nhìn thấy các biểu đồ trong bài viết.
Giăng

yt= =βyt-1+εtyt= =(β-1)yt-1+εt. Tuy nhiên, nếu bạn muốn tìmεt, bạn sẽ không nhận được câu trả lời tương tự nếu bạn ước tính yt= =βyt-1+εt
Giăng

1
Cuối cùng cũng đúng. Tôi không thể làm LaTex sau 5 phút! Tốt nhất tôi có thể nói phương trình trên xuất hiện cả hai cách.
Michael R. Chernick
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.