Làm thế nào để đo độ mịn của một chuỗi thời gian trong R?


25

Có cách nào tốt để đo độ mịn của chuỗi thời gian trong R không? Ví dụ,

-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0

mịn hơn nhiều

-1, 0.8, -0.6, 0.4, -0.2, 0, 0.2, -0.4, 0.6, -0.8, 1.0

mặc dù chúng có cùng độ lệch trung bình và độ lệch chuẩn. Sẽ thật tuyệt nếu có một chức năng giúp tôi đạt điểm cao trong một chuỗi thời gian.


4
Sự mượt mà có một ý nghĩa được xác định rõ trong lý thuyết về các quá trình ngẫu nhiên. ( "Một variogram là một thống kê dựa trên, định lượng, mô tả về độ nhám của bề mặt": goldensoftware.com/variogramTutorial.pdf ., Tr 16.) Smoothness có liên quan đến ngoại suy của variogram bằng không xa. (SD của sự khác biệt liên tiếp và tự động tương quan lag là một phiên bản nhanh và bẩn của điều này). Thông tin cần thiết được chứa trong các hệ số của chuỗi Taylor ở mức 0. Ví dụ, hằng số khác không thực sự là thô; một số 0 ở mức 0 cho thấy một chuỗi rất trơn tru.
whuber

Tôi cũng đã nghe nói về số mũ của Hurst .
Taylor

Thật buồn cười, bản thân tôi đã tự hỏi điều này. Cảm ơn vì đăng!
Chris Beeley

@whuber: đó là một câu trả lời, không phải là một bình luận.
ness101

@ naught101 Tôi khiêm tốn cầu xin khác biệt: nhận xét của tôi là apropos một tình huống liên quan và nó chỉ đề cập đến quá trình lý thuyết được sử dụng để mô hình hóa dữ liệu không gian, chứ không phải là cách người ta thực sự ước tính độ trơn tru đó. Có một nghệ thuật để ước tính mà tôi quen thuộc ở nhiều chiều, nhưng không phải là một chiều, đó là điều đặc biệt (do hướng mũi tên của thời gian), vì vậy tôi ngần ngại tuyên bố rằng việc áp dụng các quy trình đa chiều cho chuỗi thời gian là hoàn toàn thông thường hoặc thậm chí là một cách tiếp cận tốt.
whuber

Câu trả lời:


22

Độ lệch chuẩn của sự khác biệt sẽ cho bạn ước tính độ mịn thô:

x <- c(-1, -0.8, -0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6, 0.8, 1.0)
y <- c(-1, 0.8, -0.6, 0.4, -0.2, 0, 0.2, -0.4, 0.6, -0.8, 1.0)
sd(diff(x))
sd(diff(y))

Cập nhật: Như Cyan chỉ ra, điều đó mang lại cho bạn một biện pháp phụ thuộc vào quy mô. Một biện pháp độc lập theo quy mô tương tự sẽ sử dụng hệ số biến đổi thay vì độ lệch chuẩn:

sd(diff(x))/abs(mean(diff(x)))
sd(diff(y))/abs(mean(diff(y)))

Trong cả hai trường hợp, các giá trị nhỏ tương ứng với chuỗi mượt mà hơn.


1
Điểm số đó không phải là bất biến tỷ lệ, có thể có hoặc không có ý nghĩa tùy thuộc vào ứng dụng. (Và đề xuất của riêng tôi bất biến tỷ lệ, do đó, mối quan tâm tương tự cũng được áp dụng cho nó.) Ngoài ra, đáng để chỉ ra rằng đối với điểm số trên, các giá trị nhỏ hơn biểu thị chuỗi thời gian mượt mà hơn.
Cyan

1
Cảm ơn @Cyan. Bây giờ tôi cũng đã thêm một phiên bản độc lập quy mô.
Rob Hyndman

2
Bạn có thực sự có ý định đưa diffvào mẫu số không? Các giá trị sẽ đại số giảm theo (x[n]-x[1])/(n-1)đó là thước đo (thô) của xu hướng và nên, trong nhiều trường hợp, cực kỳ gần với 0, dẫn đến một thống kê không ổn định và không có ý nghĩa khủng khiếp. Tôi bối rối vì điều đó, nhưng có lẽ tôi đang nhìn vào một thứ gì đó rõ ràng ...
whuber

1
Tôi đã sử dụng diffđể tránh một giả định của văn phòng phẩm. Nếu nó được xác định bằng mẫu số abs(mean(x))thì tỷ lệ sẽ chỉ hoạt động khi xđứng yên. Lấy khác biệt có nghĩa là nó cũng sẽ làm việc cho các quá trình đứng yên khác nhau. Tất nhiên, khác biệt có thể không làm cho xvăn phòng phẩm và sau đó vẫn có vấn đề. Chuỗi thời gian mở rộng là khó khăn vì lý do này. Nhưng tôi có quan điểm của bạn về sự ổn định. Tôi nghĩ rằng để làm bất cứ điều gì tốt hơn sẽ đòi hỏi một cái gì đó tinh vi hơn đáng kể --- ví dụ như sử dụng một máy mịn hơn không đối xứng.
Rob Hyndman

1
Tôi đã nghĩ rằng một xu hướng liên tục sẽ hoàn toàn trơn tru, vì vậy câu trả lời phải là 0.
Rob Hyndman

13

Sự tự tương quan lag-one sẽ đóng vai trò là điểm số và cũng có cách giải thích thống kê khá đơn giản.

cor(x[-length(x)],x[-1])

Giải thích điểm:

  • điểm gần 1 ngụ ý một loạt thay đổi suôn sẻ
  • điểm gần 0 ngụ ý rằng không có mối quan hệ tuyến tính tổng thể giữa điểm dữ liệu và điểm sau (nghĩa là âm mưu (x [-length (x)], x [-1]) sẽ không đưa ra biểu đồ tán xạ với bất kỳ tuyến tính rõ ràng nào)
  • điểm gần -1 cho thấy chuỗi này bị lởm chởm theo một cách cụ thể: nếu một điểm cao hơn giá trị trung bình, điểm tiếp theo có thể nằm dưới giá trị trung bình bằng khoảng cùng một lượng và ngược lại.

0

Bạn chỉ có thể kiểm tra mối tương quan với số dấu thời gian. Điều đó sẽ tương đương với việc lấy R² của hồi quy tuyến tính đơn giản trên các mốc thời gian. Tuy nhiên, xin lưu ý rằng đó là hai khoảng thời gian rất khác nhau, vì vậy tôi không biết nó hoạt động tốt như thế nào khi so sánh.


4
Đó sẽ là thước đo độ tuyến tính theo thời gian, nhưng không phải là độ mịn.
Rob Hyndman
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.