Phát hiện hình dạng cho dữ liệu chuỗi thời gian


8

Tôi có một bộ sưu tập lớn về chuỗi thời gian - các phép đo được thực hiện cứ sau 15 phút (96 lần đo trong một ngày) trong khoảng thời gian 1 năm tại nhiều địa điểm khác nhau.

Tôi đã chia mỗi chuỗi thời gian thành 365 chuỗi thời gian nhỏ hơn, 1 cho mỗi ngày trong năm. Nhìn vào chuỗi thời gian này, chắc chắn có nhiều hình dạng riêng biệt cho một ngày. Một số trông hình sin, một số là không đổi, một số trông giống như một quá trình ngẫu nhiên ngẫu nhiên, một số trông parabol và một số trông giống như của U.

Những gì tôi muốn làm là sử dụng một thuật toán có thể tìm thấy những hình dạng phổ biến này. Tôi đã nghĩ về việc phân cụm và sử dụng các cụm sao để xác định các hình dạng phổ biến, nhưng muốn kiểm tra với cộng đồng nếu điều này đúng. Cho đến nay, tôi đã xem Dynamic Time Warp như một số liệu, nhưng có vẻ như số liệu đó đòi hỏi rất nhiều tính toán. Tôi cũng đã tìm thấy

http://mox.polimi.it/it/progetti/pubblicazioni/quaderni/13-2008.pdf từ SE.

Tôi cũng đã thấy Có thể thực hiện phân cụm chuỗi thời gian dựa trên hình dạng đường cong không? nhưng câu hỏi này là từ năm 2010 và có thể đã lỗi thời.

Một ý tưởng khác mà tôi có là thực hiện các phép ma trận được định dạng như sau:

Ma trận là một ma trận của tất cả các chuỗi thời gian được quan sát vào ngày i . Mỗi hàng của ma trận M i là một chuỗi thời gian có độ dài 96. Sau đó, tôi sẽ thực hiện 365 lần xuất tinh và sử dụng các hàm riêng như các hình dạng phổ biến. Điều này nghe có vẻ hợp lý?MTôiTôiMTôi

Cảm ơn!

Câu trả lời:


7

Tôi sẽ không đi quá sâu vào việc phân cụm chuỗi thời gian dựa trên phân tích đường cong phức tạp, vì bạn có thể có rất nhiều nhiễu trong dữ liệu của mình và bạn có thể sẽ nhận được các cụm lạ (vô nghĩa).

Tôi nghĩ rằng một cách dễ dàng hơn sẽ là khám phá mô hình chính của dữ liệu của bạn, rất có thể sẽ dựa trên xu hướng và tính thời vụ (các ngày trong tuần, cuối tuần, ngày lễ ...). Bạn có thể tìm thấy nó với việc vẽ một số thống kê từ mỗi ngày (trung bình, xu hướng buổi sáng, xu hướng buổi tối ...) với thời gian (ngày trong năm, ngày trong tuần, ngày trong tháng ...) trên trục x. Điều này sẽ cung cấp cho bạn đường cơ sở của dữ liệu của bạn và do đó các cụm cơ bản của bạn.

Ví dụ: trong R, nếu bạn có ngày ở col 1 và ý nghĩa của bạn ở col 2, bạn có thể dễ dàng vẽ đường cơ sở của mẫu ngày trong tuần bằng cách:

data[,3] <- as.factor(weekdays(data[,1]))
plot(data[,3],data[,2],main='mean by Day of Week')

Bước tiếp theo có thể là xác định các ngoại lệ của bạn và kiểm tra xem bạn có thể tìm thấy một mẫu ở đó không.

Nếu bạn thích làm việc theo thứ tự ngược lại; chạy phân tích tự động như những gì bạn đề xuất hoặc nhiều Dòng thời gian được điều chỉnh là LB_Keogh hoặc kml , điều này là ổn. Nhưng bạn cần quay lại cách giải thích có ý nghĩa của những phát hiện với logic ở trên.

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.