Kiểm tra sự ổn định trong một chuỗi thời gian


9

Có một phương pháp tiêu chuẩn (hoặc tốt nhất) để thử nghiệm khi một chuỗi thời gian nhất định đã ổn định không?


Một số động lực

Tôi có một hệ thống động ngẫu nhiên tạo ra giá trị tại mỗi bước . Hệ thống này có một số hành vi nhất thời cho đến bước thời gian và sau đó ổn định xung quanh một số giá trị trung bình với một số lỗi. Không ai trong số , hoặc lỗi được biết đến với tôi. Tôi sẵn sàng đưa ra một số giả định (như lỗi Gaussian quanh t N t * x * t * x * x * x 0 0 x * x *xttNtxtxxví dụ) nhưng tôi càng cần ít giả định tiên nghiệm thì càng tốt. Điều duy nhất tôi biết chắc chắn, đó là chỉ có một điểm ổn định mà hệ thống hội tụ hướng tới, và các dao động xung quanh điểm ổn định nhỏ hơn nhiều so với các dao động trong thời gian nhất thời. Quá trình này cũng đơn điệu, tôi có thể giả sử rằng bắt đầu gần và leo lên (có thể quá mức một chút trước khi ổn định xung quanh ).x00xx

Các dữ liệu sẽ được xuất phát từ một mô phỏng, và tôi cần kiểm tra sự ổn định như một điều kiện dừng cho mô phỏng của tôi (vì tôi chỉ quan tâm trong giai đoạn thoáng qua).xt

Câu hỏi chính xác

Chỉ được cấp quyền truy cập vào giá trị thời gian đối với một số hữu hạn , có phương pháp nào để nói với độ chính xác hợp lý rằng hệ thống động ngẫu nhiên đã ổn định quanh một số điểm không? Điểm thưởng nếu bài kiểm tra cũng trả về , và lỗi xung quanh . Tuy nhiên, điều này không cần thiết vì có những cách đơn giản để tìm ra điều này sau khi mô phỏng kết thúc. T x * x * t * x *x0...xTTxxtx


Cách tiếp cận ngây thơ

Cách tiếp cận ngây thơ xuất hiện đầu tiên trong tâm trí tôi (mà tôi đã thấy được sử dụng làm điều kiện giành chiến thắng cho một số mạng thần kinh chẳng hạn) là chọn tham số và , sau đó nếu các dấu thời gian cuối cùng không có hai điểm và sao cho thì ta kết luận chúng ta đã ổn định. Cách tiếp cận này dễ dàng, nhưng không nghiêm ngặt. Nó cũng buộc tôi phải đoán xem giá trị tốt của và là gì.E T x x x - x > E T ETETxxxx>ETE

Có vẻ như nên có một cách tiếp cận tốt hơn để xem lại một số bước trong quá khứ (hoặc có thể bằng cách nào đó giảm giá dữ liệu cũ), tính toán lỗi tiêu chuẩn từ dữ liệu này và sau đó kiểm tra xem có một số bước khác (hoặc khác không chương trình giảm giá) chuỗi thời gian không nằm ngoài phạm vi lỗi này. Tôi bao gồm một chiến lược hơi ngây thơ nhưng vẫn đơn giản như một câu trả lời .


Bất kỳ trợ giúp, hoặc tài liệu tham khảo cho các kỹ thuật tiêu chuẩn được đánh giá cao.

Ghi chú

Tôi cũng đã đăng chéo câu hỏi này với tư cách là MetaOptizing và trong một mô tả có hương vị mô phỏng hơn cho Khoa học tính toán .


Bạn đã tìm thấy một giải pháp rõ ràng? Tôi quan tâm đến cùng một câu hỏi nhưng tất cả các câu trả lời đều không thuyết phục.
Herman Toothrot

1
@ user4050 thật không may, tôi không có. Tôi nghĩ rằng nó thực sự là một câu hỏi rất rộng và có nhiều kỹ thuật tốt hơn trong một số lĩnh vực và tồi tệ hơn trong những lĩnh vực khác.
Artem Kaznatcheev

Câu trả lời:


5

Nhận xét ngắn này là xa câu trả lời đầy đủ, chỉ là một số gợi ý:

  • nếu bạn có hai khoảng thời gian mà hành vi khác nhau, thì khác tôi có nghĩa là sự khác biệt về tham số mô hình (không liên quan trong tình huống cụ thể này), trung bình hoặc phương sai hoặc bất kỳ đặc điểm dự kiến ​​nào khác của đối tượng chuỗi thời gian ( trong trường hợp của bạn) , bạn có thể thử bất kỳ phương pháp nào ước tính thời gian (khoảng thời gian) thay đổi cấu trúc (hoặc dịch) .xt
  • Trong R có một strucchange thư viện cho những thay đổi cấu trúc trong các mô hình hồi quy tuyến tính. Mặc dù nó chủ yếu được sử dụng để kiểm tra và giám sát các thay đổi trong các tham số hồi quy tuyến tính, một số thống kê có thể được sử dụng cho các thay đổi cấu trúc chung trong chuỗi thời gian.

Sự vắng mặt của bất kỳ sự thay đổi / xu hướng thay đổi / xu hướng ngoại lai VÀ việc không tính toán tương quan nối tiếp của bất kỳ độ trễ nào trong phần dư của mô hình là các thành phần thường khiến các thử nghiệm F tiêu chuẩn bị áp dụng sai, do đó nên cẩn thận (như bạn đã đề xuất!).
IrishStat

@IrishStat, như bạn có thể thấy từ bài đăng của tôi, tôi không đề xuất sử dụng mô hình hồi quy tuyến tính, tôi chỉ lưu ý rằng nó có thể có dạng thống kê tương tự (CUMSUM hoặc bất cứ điều gì, vì sau này được áp dụng cho phần dư của mô hình, rằng rõ ràng là các đối tượng chuỗi thời gian) với (có thể) các phân phối giới hạn khác nhau chiếm tỷ lệ tự động (có thể kiểm tra) và nếu bạn muốn bạn có thể thực hiện các điều chỉnh ngoại lệ (cũng có thể kiểm tra) trước khi thử nghiệm thêm. Nó chỉ là thư viện R duy nhất tôi biết hoạt động với những thay đổi cấu trúc.
Dmitrij Celov

Tôi bắt đầu thích câu trả lời này ngày càng nhiều. Bạn có gợi ý cho một tài liệu tham khảo tốt (tốt nhất là một bài khảo sát gần đây) cho một số phương pháp phổ biến để ước tính thời gian thay đổi cấu trúc không?
Artem Kaznatcheev

4

Khi tôi đọc câu hỏi của bạn "và các dao động xung quanh điểm ổn định nhỏ hơn nhiều so với các dao động trong khoảng thời gian thoáng qua" những gì tôi nhận được từ đó là một yêu cầu phát hiện khi nào và nếu phương sai của các lỗi đã thay đổi và nếu vậy thì khi nào! Nếu đó là mục tiêu của bạn thì bạn có thể xem xét xem xét công việc hoặc R. Tsay "ngoại lệ, thay đổi cấp độ và thay đổi phương sai trong chuỗi thời gian", Tạp chí Dự báo số 7, 1-20 (1988). Tôi đã thực hiện công việc đáng kể trong lĩnh vực này và thấy nó rất hiệu quả trong việc mang lại phân tích tốt. Theo tôi, các cách tiếp cận khác (ví dụ phân tích hồi quy tuyến tính / giả định) cho rằng các quan sát độc lập và không có Outliers Pulse và / hoặc không có sự thay đổi mức độ hoặc xu hướng thời gian cục bộ và các tham số bất biến theo thời gian là không đủ theo quan điểm của tôi.


1

Tôi đã suy nghĩ nhiều hơn về câu hỏi và nghĩ rằng tôi sẽ tăng cường một chút về cách tiếp cận ngây thơ như một câu trả lời với hy vọng mọi người biết thêm ý tưởng theo hướng. Nó cũng cho phép chúng tôi loại bỏ sự cần thiết phải biết kích thước của các biến động.


Cách dễ nhất để thực hiện nó là với hai tham số . Đặt là thay đổi trong chuỗi thời gian giữa dấu thời gian và . Khi chuỗi ổn định quanh , sẽ dao động quanh 0 với một số lỗi tiêu chuẩn. Ở đây chúng tôi sẽ cho rằng lỗi này là bình thường.y t = x t + 1 - x t t t + 1 x y(T,α)yt=xt+1xttt+1xy

Lấy , cuối cùng và khớp với Gaussian với độ tin cậy bằng cách sử dụng một hàm như Normfit của Matlab . Sự phù hợp sẽ cung cấp cho chúng tôi trung bình với lỗi tin cậy trên trung bình và độ lệch chuẩn với lỗi tương ứng . Nếu , thì bạn có thể chấp nhận. Nếu bạn muốn chắc chắn hơn, thì bạn cũng có thể tái chuẩn hóa các bằng bạn đã tìm thấy (để bây giờ bạn có độ lệch chuẩn ) và thử nghiệm với Kolmogorov-Smirnovy t α μ α E μ σ E σ 0 ( μ - E μ , μ + E μ ) y t σ 1 αTytαμαEμσEσ0(μEμ,μ+Eμ)ytσ1kiểm tra ở mức độ tin cậy .α


Ưu điểm của phương pháp này là không giống như cách tiếp cận ngây thơ, bạn không còn cần phải biết bất cứ điều gì về cường độ của các dao động nhiệt xung quanh giá trị trung bình. Hạn chế là bạn vẫn có một tham số tùy ý và chúng tôi phải giả sử phân phối bình thường trên tạp âm (điều này không phải là không hợp lý). Tôi không chắc chắn nếu điều này có thể được sửa đổi bởi một số trung bình có trọng số với giảm giá. Nếu một phân phối khác được dự kiến ​​sẽ mô hình hóa nhiễu, thì kiểm tra Normfit và kiểm tra Kolmogorov-Smirnov nên được thay thế bằng các phân phối tương đương của chúng cho phân phối đó.T


0

Bạn có thể xem xét thử nghiệm ngược (với một cửa sổ cuộn) để hợp tác giữa xvà trung bình dài hạn.

Khi xđang xoay quanh giá trị trung bình, hy vọng thử nghiệm Augmented Dickey Fuller có cửa sổ, hoặc bất kỳ thử nghiệm đồng tích hợp nào bạn chọn, sẽ cho bạn biết rằng hai loạt được hợp nhất. Khi bạn bước vào giai đoạn chuyển tiếp, trong đó hai chuỗi đi xa nhau, hy vọng bài kiểm tra của bạn sẽ cho bạn biết rằng loạt cửa sổ không được hợp nhất.

Vấn đề với sơ đồ này là khó phát hiện sự hợp nhất trong một cửa sổ nhỏ hơn. Và, một cửa sổ quá lớn, nếu nó chỉ bao gồm một phân đoạn nhỏ của giai đoạn chuyển tiếp, sẽ cho bạn biết rằng loạt cửa sổ được tích hợp khi không nên. Và, như bạn có thể đoán, không có cách nào để biết trước kích thước cửa sổ "đúng" có thể là gì.

Tất cả những gì tôi có thể nói là bạn sẽ phải chơi xung quanh nó để xem bạn có nhận được kết quả hợp lý không.


0

Khi mô phỏng chạy, phép chia lấy 2N điểm cuối phân đoạn thành nửa đầu và nửa sau. Tính toán chuỗi thay đổi (giá trị của ) cho số liệu quan tâm cho mỗi nửa. Kiểm tra sự phân phối của hai bộ đồng bằng này cho sự ổn định. Cách dễ nhất để làm điều này là tính toán cdf của mỗi phân phối, gắn nhãn cho phân phối gần đây là "được quan sát" và trước đó là "dự kiến". Sau đó tiến hành kiểm tra chi bình phương của Pearson cho giá trị của số liệu của bạn tại mỗi decile.mt+1mt


0

Ngoài giải pháp Kalman Filter rõ ràng, bạn có thể sử dụng phân tách sóng con và có được phổ công suất cục bộ thời gian và tần số. Điều này thỏa mãn mong muốn không giả định của bạn, nhưng thật không may, không cung cấp cho bạn một thử nghiệm chính thức khi hệ thống ổn định. Nhưng, đối với một ứng dụng thực tế, nó ổn; Chỉ cần nhìn vào thời gian khi năng lượng ở tần số cao chết đi, và khi hệ số sóng con cha ổn định.


Không phải điều đó chỉ vượt qua được, vì tôi không phải kiểm tra khi chuỗi thời gian hệ số sóng cha ổn định? Hoặc có một phương pháp tiêu chuẩn cho chuỗi thời gian cụ thể này? Giải pháp lọc Kalman rõ ràng là gì?
Artem Kaznatcheev

@ArtemKaznatcheev Tại sao bạn không thể nhìn vào một chuỗi các chuỗi hệ số? Tôi đã cố gắng đưa ra một giải pháp không tuân thủ mong muốn thử nghiệm của bạn, nhưng vì sự đánh đổi là không có nhiều giả định.
dùng2763361
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.