Mô hình chuỗi thời gian cách đều nhau


12

Tôi có một biến liên tục, được lấy mẫu trong khoảng thời gian một năm tại các khoảng thời gian không đều. Một số ngày có nhiều hơn một quan sát mỗi giờ, trong khi các giai đoạn khác không có gì trong nhiều ngày. Điều này khiến việc phát hiện các mẫu trong chuỗi thời gian trở nên đặc biệt khó khăn, bởi vì một số tháng (ví dụ tháng 10) được lấy mẫu cao, trong khi các mẫu khác thì không.

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

Câu hỏi của tôi là cách tiếp cận tốt nhất để mô hình chuỗi thời gian này là gì?

  • Tôi tin rằng hầu hết các kỹ thuật phân tích chuỗi thời gian (như ARMA) cần một tần số cố định. Tôi có thể tổng hợp dữ liệu, để có một mẫu không đổi hoặc chọn một tập hợp con của dữ liệu rất chi tiết. Với cả hai tùy chọn, tôi sẽ thiếu một số thông tin từ bộ dữ liệu ban đầu, có thể tiết lộ các mẫu riêng biệt.
  • Thay vì phân tách chuỗi theo chu kỳ, tôi có thể cung cấp mô hình với toàn bộ tập dữ liệu và hy vọng nó sẽ nhận được các mẫu. Chẳng hạn, tôi đã chuyển đổi giờ, ngày trong tuần và tháng theo các biến phân loại và thử hồi quy bội với kết quả tốt (R2 = 0,71)

Tôi có ý tưởng rằng các kỹ thuật học máy như ANN cũng có thể chọn các mẫu này từ chuỗi thời gian không đồng đều, nhưng tôi tự hỏi liệu có ai đã thử nó chưa, và có thể cung cấp cho tôi một lời khuyên về cách biểu diễn các mẫu thời gian tốt nhất trong mạng Thần kinh.

Câu trả lời:


4

ARIMA, Làm mịn theo cấp số nhân và những người khác thực sự yêu cầu các điểm mẫu cách đều nhau. Khi bạn viết, bạn có thể xô dữ liệu của mình (nói thành ngày), nhưng khi bạn viết, bạn sẽ mất thông tin. Ngoài ra, bạn có thể kết thúc với các giá trị bị thiếu, do đó bạn sẽ cần phải xử lý, vì ARIMA không giỏi xử lý các giá trị bị thiếu.

Một cách khác, như bạn một lần nữa viết, là đưa những người giả thời gian vào một khung hồi quy. Cá nhân tôi không thực sự thích các hình nộm phân loại, bởi vì điều này ngụ ý một sự cắt đứt sắc nét giữa các danh mục lân cận. Điều này thường không tự nhiên lắm. Vì vậy, tôi thà nhìn vào các spline định kỳ với các chu kỳ khác nhau. Cách tiếp cận này có lợi thế là xử lý việc lấy mẫu không đồng đều của bạn và cả các giá trị còn thiếu.

Hãy rất cẩn thận về việc giải thích . Sự phù hợp trong mẫu nổi tiếng là sai lệch như một thước đo độ chính xác dự báo ngoài mẫu ( xem tại đây ). Tôi sẽ lập luận rằng việc ngắt kết nối giữa độ phù hợp trong mẫu và độ chính xác dự báo ngoài mẫu cũng có nghĩa là không có mối liên hệ nào giữa độ phù hợp trong mẫu và mức độ mà một mô hình "hiểu" dữ liệu, ngay cả khi mối quan tâm của bạn không nằm trong dự báo , nhưng chỉ trong mô hình mỗi se. Triết lý của tôi là nếu bạn không thể dự đoán một chuỗi thời gian tốt, bạn đã không hiểu nó theo bất kỳ ý nghĩa nào.R2

Cuối cùng, đừng lạm dụng mô hình. Chỉ từ việc đánh dấu dữ liệu của bạn, rõ ràng đã có chuyện xảy ra vào tháng 6, vào một ngày trong tháng 8 và tháng 9 / tháng 10. Tôi khuyên bạn trước tiên nên tìm hiểu cái gì đócái gì và đưa cái này vào mô hình của bạn, ví dụ như là các biến giải thích (mà bạn có thể đưa vào ARIMAX nếu bạn muốn). Những gì đã xảy ra ở đó rõ ràng không phải là thời vụ.


0

Vì câu hỏi của bạn và câu trả lời hay từ @Stephan Kolassa nói riêng về ARIMA và các mạng thần kinh, tôi muốn đề cập rằng bạn có thể cung cấp forecastgói trong Rmột lần - nó có nnetarchức năng huấn luyện một mạng nơ ron chuyển tiếp đơn giản với 1 lớp ẩn và đầu vào bị trễ.

Có lẽ bạn có thể thử một cái gì đó dọc theo dòng:

  • trích xuất nhiều tính năng cho từng quan sát của bạn như ngày trong tuần, ngày trong tháng, ngày trong tuần / cuối tuần, v.v. (chỉ datetime được đề cập như một phụ thuộc tiềm năng trong câu hỏi của bạn vì vậy đó là lý do tại sao tôi đưa vào điều này - nhưng bạn có thể bao gồm tất cả những điều có thể mà bạn tin rằng có thể ảnh hưởng đến biến quan tâm của bạn).
  • các giá trị bị trễ của biến quan tâm cũng như thông tin về thời gian (như ngày trong tuần, v.v.) sẽ là đầu vào của bạn. bạn có thể bao gồm các biến datetime như các biến hồi quy bên ngoài ( xreg) chẳng hạn.

và dự đoán các giá trị tương lai của var bạn quan tâm dựa trên các đầu vào này. Ngoài ra, bạn cũng có thể nghĩ đến việc bao gồm giá trị trung bình và phương sai / độ lệch quan sát được vào mỗi ngày nhất định của giá trị bạn muốn dự đoán. Điều này có nghĩa là trước tiên bạn phải dự báo giá trị trung bình và phương sai dự kiến ​​của mình với ARIMA, sau đó thêm vào đó làm đầu vào bổ sung cho phương pháp được đề cập ở trên.

hth

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.