Làm thế nào để phù hợp với một mô hình cho một chuỗi thời gian có chứa các ngoại lệ


9

Tôi đã trang bị mô hình ARIMA (5,1,2) bằng cách sử dụng auto.arima()chức năng trong R và bằng cách tìm thứ tự, chúng tôi có thể nói đây không phải là mô hình tốt nhất để dự báo. Nếu các ngoại lệ tồn tại trong chuỗi dữ liệu, phương pháp nào để khớp một mô hình với dữ liệu đó là gì?


Bạn có bất kỳ dữ liệu / lý thuyết nào về những điểm nào là ngoại lệ không? Bạn không thể đơn giản cho rằng các điểm "ở xa" là ngoại lệ, nhưng nếu bạn biết rằng điều gì đó đặc biệt đã xảy ra vào một ngày cụ thể và sự kiện đó sẽ ảnh hưởng đến dữ liệu của bạn, bạn có thể thêm một biến chỉ báo cho mô hình của mình cho ngày đó. Xem bình luận của IrishStat, bên dưới.
Wayne

Nếu điều gì đó đặc biệt xảy ra vào 1 hoặc 2 tuần trong khoảng thời gian đó và nó ảnh hưởng đến mô hình, thì mô hình có thể không chính xác. vì không có lý do nào khác như sự thay đổi theo mùa, tôi cho rằng các ngoại lệ là nguyên nhân ảnh hưởng đến mô hình.
Anthony

Câu trả lời:


7

Michael Chernick chỉ cho bạn đi đúng hướng. Tôi cũng sẽ xem xét công việc của Ruey Tsay khi bổ sung vào nhóm kiến ​​thức này. Xem thêm tại đây .

Bạn không thể cạnh tranh với các thuật toán máy tính tự động ngày nay. Họ xem xét nhiều cách để tiếp cận chuỗi thời gian mà bạn chưa xem xét và thường không được ghi lại trong bất kỳ bài báo hay cuốn sách nào. Khi người ta hỏi làm thế nào để thực hiện ANOVA, một câu trả lời chính xác có thể được mong đợi khi so sánh với các thuật toán khác nhau. Khi một người đặt câu hỏi làm thế nào để tôi nhận dạng mẫu, có thể có nhiều câu trả lời vì có liên quan đến heuristic. Câu hỏi của bạn liên quan đến việc sử dụng heuristic.

Cách tốt nhất để phù hợp với mô hình ARIMA, nếu các ngoại lệ tồn tại trong dữ liệu là đánh giá các trạng thái có thể có của tự nhiên và chọn phương pháp được coi là tối ưu cho một tập dữ liệu cụ thể. Một trạng thái có thể có của tự nhiên là quá trình ARIMA là nguồn chính của biến thể được giải thích. Trong trường hợp này, người ta sẽ "xác định tạm thời" quá trình ARIMA thông qua chức năng acf / pacf và sau đó kiểm tra các phần dư cho các ngoại lệ có thể. Các ngoại lệ có thể là Xung, tức là các sự kiện một lần HOẶC xung theo mùa được chứng minh bằng các ngoại lệ có hệ thống ở một số tần số (giả sử, 12 cho dữ liệu hàng tháng). Một loại ngoại lệ thứ ba là nơi người ta có một bộ xung liên tục, mỗi xung có cùng một dấu hiệu và cường độ, đây được gọi là một bước hoặc mức dịch chuyển. Sau khi kiểm tra các phần dư từ quy trình ARIMA dự kiến, người ta có thể thêm cấu trúc xác định theo kinh nghiệm để tạo ra một mô hình kết hợp dự kiến. Cũng không phải nếu nguồn biến thể chính là một trong 4 loại hoặc "ngoại lệ" thì người ta sẽ được phục vụ tốt hơn bằng cách xác định chúng ab initio (đầu tiên) và sau đó sử dụng phần dư từ "mô hình hồi quy" này để xác định cấu trúc ngẫu nhiên (ARIMA) . Bây giờ hai chiến lược thay thế này trở nên phức tạp hơn một chút khi một "vấn đề" trong đó các tham số ARIMA thay đổi theo thời gian hoặc phương sai lỗi thay đổi theo thời gian do một số nguyên nhân có thể, có thể là do bình phương có trọng số nhỏ nhất hoặc biến đổi công suất như nhật ký / đối ứng, vv Một sự phức tạp / cơ hội khác là làm thế nào và khi nào hình thành sự đóng góp của loạt dự đoán do người dùng đề xuất để tạo thành một mô hình tích hợp liền mạch kết hợp bộ nhớ, nhân quả và chuỗi giả được xác định theo kinh nghiệm. Vấn đề này càng trở nên trầm trọng hơn khi người ta có một loạt xu hướng được mô hình hóa tốt nhất với chuỗi chỉ số có dạnghoặc 1 , 2 , 3 , 4 , 5 , . . . n và các kết hợp của chuỗi dịch chuyển cấp như 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 10,0,0,0,1,2,3,4,...1,2,3,4,5,...n0,0,0,0,0,0,1,1,1,1,1. Bạn có thể muốn thử và viết các thủ tục như vậy trong R, nhưng cuộc sống rất ngắn. Tôi sẽ rất vui khi thực sự giải quyết vấn đề của bạn và chứng minh trong trường hợp này quy trình hoạt động như thế nào, vui lòng gửi dữ liệu hoặc gửi đến sales@autobox.com


Nhận xét bổ sung sau khi nhận / phân tích dữ liệu / dữ liệu hàng ngày cho tỷ giá hối đoái / 18 = 765 giá trị bắt đầu từ 1/1/2007

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

Dữ liệu có một acf:

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

Khi xác định một mô hình arma có dạng và một số ngoại lệ acf của phần dư cho thấy tính ngẫu nhiên vì các giá trị acf rất nhỏ. AUTOBOX đã xác định một số ngoại lệ:(1,1,0)(0,0,0)

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

Mô hình cuối cùng:

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

bao gồm sự cần thiết phải tăng cường ổn định phương sai một la TSAY trong đó các thay đổi phương sai trong phần dư được xác định và kết hợp. Vấn đề mà bạn gặp phải khi chạy tự động là quy trình bạn đang sử dụng, như kế toán viên, tin rằng dữ liệu thay vì thách thức dữ liệu thông qua Phát hiện can thiệp (hay còn gọi là Phát hiện ngoại lệ). Tôi đã đăng một phân tích đầy đủ ở đây .

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


@IrishStat: Trong tương lai, bạn có thể sử dụng các tùy chọn định dạng không? (khóa chính xác để chèn liên kết là ctrl-l, không phải ctrl-c).
dùng603

@ user603 Tôi chỉ đơn giản là sử dụng tùy chọn thêm biểu đồ. Tôi không biết ý của bạn là gì bởi ctrl-l hoặc cntrl-c. Có lẽ bạn có thể giúp tôi, xin vui lòng liên hệ với tôi tại dave / @ / autobox.com và có lẽ bạn có thể đi bộ / nói chuyện với tôi về điều này.
IrishStat

@IrishStat: có một cái nhìn ở đây .
dùng603

@ user603 OK nhưng tôi vẫn không biết ý của bạn là gì bởi ctrl-l và cntrl-c. Tôi đã sử dụng chuyển hình ảnh nơi tôi có thể chèn một hình ảnh. Nếu tôi gõ cntrl-g, tôi chỉ nhận được một màn hình bật lên trống.
IrishStat

@IrishStat: không sao - phương pháp của liên kết thậm chí còn tốt hơn ctrl-l :). Tái bút: mục đích của tôi là giúp bạn làm cho câu trả lời / nhận xét của bạn hấp dẫn hơn, về mặt thẩm mỹ, bằng cách ẩn các liên kết dài này cắt ngang dòng văn bản. Các liên kết giải thích cho bạn làm thế nào để đạt được điều đó.
dùng603

6

Không có sẵn sàng để sử dụng đối tác mạnh mẽ cho chức năng arima trong R (chưa) ; Nếu một cái xuất hiện, nó sẽ được liệt kê ở đây . Có thể một giải pháp thay thế là giảm trọng lượng cho những quan sát ngoại lệ đối với quy tắc phát hiện ngoại lệ đơn giản đơn giản, nhưng tôi cũng không thấy sẵn sàng sử dụng các gói để chạy hồi quy ARMA có trọng số. Một cách khác có thể sau đó sẽ là Winsorize các điểm ngoại vi:

#parameters
para     <- list(ar=c(0.6,-0.48), ma=c(-0.22,0.24))
#original series
y1 <- y0 <- arima.sim(n=100, para, sd=sqrt(0.1796)) 
#outliers
out      <- sample(1:100, 20)               
#contaminated series
y1[out]  <- rnorm(20, 10, 1)                
plot( y1, type="l")
lines(y0, col="red")

ví dụ về ô nhiễm ngẫu nhiên

#winsorized series
y2      <- rep(NA, length(y1))
a1      <- (y1-median(y1)) / mad(y1)
a2      <- which(abs(a1)>3)
y2[-a2] <- y1[-a2]
for(i in 2:length(y2)){
   if(is.na(y2[i])){ y2[i] <- y2[i-1] }
}       

loạt sạch


Một quy trình dựa trên quy tắc hoạt động cho chuỗi này bu đã xem xét chuỗi thời gian trong gần 42 năm có thể không hoạt động nói chung. Xem xét một chuỗi đơn giản có quy trình tự động phóng xạ, ví dụ1,9,1,9,1,9,5,9, 1,9,1,9 trong đó giá trị thứ 7 là đặc biệt HOẶC nói chung một chuỗi có cấu trúc tự động mạnh mẽ của một số dạng chưa biết HOẶC một chuỗi có 1,2,1,1,1,2,1,1,1, 2,1,20,1,2,1,2,1,1,1,2,1,2,2,19,2,1,1,2,1,2,1,1,2,2, 2,21 một chuỗi hàng tháng không có xung NHƯNG có một DUMMY SEASONAL không xác định. Phát hiện 12,24 và 36 khi BAD sẽ ném em bé ra ngoài bằng nước tắm.
IrishStat

Tất cả những gì bạn nói là đúng, tức là bạn đã cung cấp một băng hỗ trợ giúp đỡ vết thương nếu 1) loạt phim đứng yên trong số những thứ khác không thay đổi cấp độ, không xu hướng et al, không cấu trúc ARIMA; và 2) bộ phim phải không theo mùa hoặc đã được hủy theo mùa trước đó; . Theo kinh nghiệm của tôi, những giả định như vậy hầu như không bao giờ được giữ và người dùng bỏ qua sự cảnh giác của bạn khi họ cố gắng vật lộn với chuỗi thời gian có "sự không hoàn hảo". Nhận xét của tôi ở đây không có nghĩa là tranh luận mà là sáng tỏ (với một số người!)
IrishStat

@IrishStat OP đã cập nhật câu hỏi của anh ấy và tuyên bố rằng không có tính thời vụ.
dùng603

Bạn có phải là Barshe không?
IrishStat

2

Có một tài liệu khá lớn về các mô hình chuỗi thời gian mạnh mẽ. Martin và Yohai là một trong những người đóng góp chính. Công việc của họ quay trở lại những năm 1980. Bản thân tôi đã thực hiện một số công việc phát hiện các ngoại lệ trong chuỗi thời gian, nhưng Martin thực sự là một trong nhiều người đóng góp cho cả việc phát hiện các ngoại lệ và ước lượng tham số trong sự hiện diện của các ngoại lệ hoặc phần dư có đuôi nặng trong chuỗi thời gian.


Phần mềm được sử dụng để dự báo Robust là gì? Có phù hợp với loạt univariate?
Anthony

@Anthony Đó là một câu hỏi rất hay. Tôi đã không thực hiện bất kỳ mô hình chuỗi thời gian mạnh mẽ. đào Martin đã thành lập công ty có tên Insightful (họ thực sự có một vài tên gọi) đã bán cho SPlus. Tôi khá chắc chắn rằng anh ấy đã bao gồm các chất rắn mạnh mẽ trong phần mềm SPlus. Có lẽ bây giờ có một phiên bản trong R. Tôi sẽ kiểm tra nó. Đây là một bài viết Wikipedia bao gồm lịch sử của SPlus. vi.wikipedia.org/wiki/S-PLUS
Michael R. Chernick

@Anthony Đây là một nguồn được cung cấp bởi Rob Hyndman về những gì có sẵn trong R về phân tích chuỗi thời gian. Nó bao gồm những gì có trong CRAN và bao gồm rất nhiều phương pháp bao gồm lọc mạnh mẽ. cran.r-project.org/web/view/TimeSeries.html
Michael R. Chernick

2

mục đích của mô hình của bạn là để dự báo hoặc phân tích lịch sử? nếu đây không phải là để dự báo và bạn biết rằng đây là các ngoại lệ, thì chỉ cần thêm biến giả, là 1 trong các ngày đó và 0 trong các ngày khác. bằng cách này, các hệ số giả sẽ quan tâm đến các ngoại lệ và bạn sẽ có thể diễn giải các hệ số khác trong mô hình.

Nếu điều này là để dự báo, thì bạn phải tự hỏi mình hai câu hỏi: những ngoại lệ này có xảy ra nữa không? nếu họ muốn, tôi có phải tính đến họ không?

Chẳng hạn, giả sử chuỗi dữ liệu của bạn có giá trị ngoại lệ khi anh em nhà Lehman đi xuống. Rõ ràng đó là một sự kiện mà bạn không có cách nào để dự đoán, rõ ràng, nhưng bạn không thể đơn giản bỏ qua nó bởi vì điều gì đó như thế này chắc chắn sẽ xảy ra trong tương lai. nếu bạn ném vào hình nộm cho các ngoại lệ, thì bạn sẽ loại bỏ sự không chắc chắn của sự kiện này khỏi phương sai lỗi một cách hiệu quả. dự báo của bạn sẽ đánh giá thấp rủi ro đuôi - có lẽ không phải là một điều tốt, có lẽ, đối với quản lý rủi ro. tuy nhiên, nếu bạn định đưa ra dự báo cơ bản về doanh số, hình nộm sẽ hoạt động, bởi vì bạn không quan tâm đến cái đuôi, bạn quan tâm đến các tình huống có thể xảy ra - vì vậy bạn không phải tính đến sự kiện không thể đoán trước được Mục đích này.

Do đó, mục đích của mô hình của bạn tác động đến cách bạn đối phó với các ngoại lệ.

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.