Tần số tần số Giá trị đầu mối cho dữ liệu khoảng thời gian giây / phút trong R


28

Tôi đang sử dụng các mô hình R (3.1.1) và ARIMA để dự báo. Tôi muốn biết tham số "tần số" nào được chỉ định trong ts()hàm , nếu tôi sử dụng dữ liệu chuỗi thời gian:

  1. cách nhau vài phút và trải đều trên 180 ngày (1440 phút / ngày)
  2. cách nhau bởi giây và được trải đều trong 180 ngày (86.400 giây / ngày).

Nếu tôi nhớ lại đúng định nghĩa, "tần số" tính bằng ts trong R, là số lượng quan sát trên mỗi "mùa".

Câu hỏi phần 1:

"Mùa" trong trường hợp của tôi là gì?

Nếu mùa là "ngày", thì "tần số" cho phút = 1440 và 86.400 cho giây?

Câu hỏi phần 2:

"Tần suất" cũng có thể phụ thuộc vào những gì tôi đang cố gắng đạt được / dự báo? ví dụ, trong trường hợp của tôi, tôi muốn có một dự báo rất ngắn hạn. Một bước trước 10 phút mỗi lần. Sau đó có thể coi mùa này là một giờ thay vì một ngày không? Trong trường hợp đó tần số = 60 cho phút, tần số = 3600 cho giây?

Ví dụ, tôi đã thử sử dụng tần số = 60 cho dữ liệu phút và có kết quả tốt hơn so với tần số = 1440 (được sử dụng fourierxem liên kết dưới đây của Hyndman) http://robjhyndman.com/hyndsight/forecasting-weekly-data/

(Việc so sánh được thực hiện bằng cách sử dụng MAPE để đo lường độ chính xác dự báo)

Trong trường hợp kết quả hoàn toàn tùy ý và tần số không thể thay đổi. Điều gì thực sự sẽ là sự giải thích của việc sử dụng freq = 60 trên dữ liệu của tôi?

Tôi cũng nghĩ rằng đáng để đề cập rằng dữ liệu của tôi chứa tính thời vụ vào mỗi giờ và hai giờ một lần (bằng cách quan sát dữ liệu thô và chức năng Tự động tương quan)

Câu trả lời:


38

"Tần suất" là số lượng quan sát trên mỗi "chu kỳ" (thông thường là một năm, nhưng đôi khi một tuần, một ngày, một giờ, v.v.). Điều này trái ngược với định nghĩa về tần số trong vật lý, hoặc trong phân tích Fourier, trong đó "thời gian" là độ dài của chu kỳ và "tần số" là nghịch đảo của thời kỳ. Khi sử dụng ts()hàm trong R, nên sử dụng các lựa chọn sau.

Data      frequency
Annual     1
Quarterly  4
Monthly   12
Weekly    52

Trên thực tế, không có 52 tuần trong một năm, nhưng trung bình 365,25 / 7 = 52,18. Nhưng hầu hết các hàm sử dụng tscác đối tượng yêu cầu tần số nguyên.

Một khi tần số quan sát nhỏ hơn một tuần, thì thường có nhiều hơn một cách xử lý tần số. Ví dụ: dữ liệu được quan sát mỗi phút có thể có tính thời vụ hàng giờ (tần số = 60), tính thời vụ hàng ngày (tần số = 24x60 = 1440), tính thời vụ hàng tuần (tần số = 24x60x7 = 10080) và tính thời vụ hàng năm (tần số = 24x60x365.25 = 525960). Nếu bạn muốn sử dụng một tsđối tượng, thì bạn cần phải quyết định cái nào là quan trọng nhất.

Một cách khác là sử dụng một mstsđối tượng (được xác định trong forecastgói) xử lý nhiều chuỗi thời gian theo mùa. Sau đó, bạn có thể chỉ định tất cả các tần số có thể có liên quan. Nó cũng đủ linh hoạt để xử lý các tần số không nguyên.

Bạn sẽ không nhất thiết muốn bao gồm tất cả các tần số này --- chỉ những tần số có khả năng xuất hiện trong dữ liệu. Vì bạn chỉ có 180 ngày dữ liệu, bạn có thể bỏ qua tính thời vụ hàng năm. Nếu dữ liệu là các phép đo của một hiện tượng tự nhiên (ví dụ: nhiệt độ), bạn cũng có thể bỏ qua tính thời vụ hàng tuần.

Với nhiều tính thời vụ, bạn có thể sử dụng mô hình TBATS hoặc thuật ngữ Fourier trong mô hình hồi quy hoặc mô hình ARIMA. Các fourierchức năng từ gói dự báo sẽ xử lý mstscác đối tượng.


Một biến thể về câu trả lời này đã được đăng trên blog của tôi: robjhyndman.com/hyndsight/s Lý do- kỳ hạn
Rob Hyndman

Giáo sư Hyndman, cảm ơn bạn rất nhiều vì bài viết của bạn! Tôi rất vui khi có câu hỏi của tôi được trả lời.
Apython
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.