Làm thế nào để đối phó với chuỗi thời gian thay đổi theo mùa hoặc các mô hình khác?


22

Lý lịch

Tôi đang làm việc trên một tập hợp dữ liệu chuỗi thời gian của các chỉ số đo năng lượng. Độ dài của chuỗi thay đổi theo mét - đối với một số tôi có vài năm, số khác chỉ vài tháng, v.v. Nhiều người thể hiện tính thời vụ quan trọng và thường là nhiều lớp - trong ngày, tuần hoặc năm.

Một trong những điều tôi đang làm việc là phân cụm các chuỗi thời gian này. Hiện tại công việc của tôi là học thuật và trong khi tôi đang thực hiện phân tích dữ liệu khác, tôi có một mục tiêu cụ thể để thực hiện một số cụm.

Tôi đã thực hiện một số công việc ban đầu khi tôi tính toán các tính năng khác nhau (phần trăm được sử dụng vào cuối tuần so với ngày trong tuần, phần trăm được sử dụng trong các khối thời gian khác nhau, v.v.). Sau đó, tôi chuyển sang xem xét sử dụng Độ cong thời gian động (DTW) để thu được khoảng cách giữa các chuỗi khác nhau và phân cụm dựa trên các giá trị khác nhau và tôi đã tìm thấy một số bài báo liên quan đến điều này.

Câu hỏi

Tính thời vụ trong một chuỗi cụ thể thay đổi có khiến cụm của tôi không chính xác không? Và nếu vậy, làm thế nào để tôi đối phó với nó?

Mối quan tâm của tôi là khoảng cách thu được từ DTW có thể gây hiểu nhầm trong trường hợp mô hình trong chuỗi thời gian đã thay đổi. Điều này có thể dẫn đến phân cụm không chính xác.

Trong trường hợp trên không rõ ràng, hãy xem xét các ví dụ sau:

ví dụ 1

Một mét có số đọc thấp từ nửa đêm cho đến 8 giờ sáng, số đọc sau đó tăng mạnh trong giờ tiếp theo và duy trì ở mức cao từ 9 giờ sáng đến 5 giờ chiều, sau đó giảm mạnh trong giờ tiếp theo và sau đó duy trì ở mức thấp từ 6 giờ tối đến nửa đêm. Đồng hồ tiếp tục mô hình này một cách nhất quán mỗi ngày trong vài tháng, nhưng sau đó thay đổi thành một mẫu trong đó các bài đọc chỉ đơn giản là ở một mức nhất quán trong suốt cả ngày.

Ví dụ 2

Một mét cho thấy khoảng cùng một lượng năng lượng được tiêu thụ mỗi tháng. Sau vài năm, nó thay đổi thành một mô hình trong đó mức sử dụng năng lượng cao hơn trong những tháng mùa hè trước khi trở lại mức thông thường.

Chỉ đường khả thi

  • Tôi đã tự hỏi liệu tôi có thể tiếp tục so sánh chuỗi toàn thời gian hay không, nhưng tách chúng ra và coi chúng là một chuỗi riêng biệt nếu mô hình thay đổi đáng kể. Tuy nhiên, để làm điều này tôi cần có khả năng phát hiện những thay đổi đó. Ngoài ra, tôi chỉ không biết liệu đây là cách phù hợp hay làm việc với dữ liệu.
  • Tôi cũng đã xem xét việc chia dữ liệu và coi đó là nhiều chuỗi thời gian riêng biệt. Chẳng hạn, tôi có thể coi sự kết hợp mỗi ngày / mét là một chuỗi riêng biệt. Tuy nhiên, sau đó tôi cần phải làm tương tự nếu tôi muốn xem xét các mẫu hàng tuần / hàng tháng / hàng năm. Tôi nghĩ rằng nó sẽ hoạt động, nhưng nó có khả năng khá nguy hiểm và tôi không muốn đi theo con đường này nếu có cách tốt hơn mà tôi đang thiếu.

Ghi chú thêm

Đây là những điều xuất hiện trong các bình luận, hoặc những điều tôi nghĩ đến do các bình luận, có thể có liên quan. Tôi đang đặt chúng ở đây để mọi người không phải đọc qua mọi thứ để có được thông tin liên quan.

  • Tôi đang làm việc trong Python, nhưng thích thú với những nơi mà R phù hợp hơn. Tôi không nhất thiết phải tìm kiếm một câu trả lời Python mặc dù - nếu ai đó có câu trả lời thực tế về những gì nên làm, tôi rất vui khi tự mình tìm ra chi tiết thực hiện.
  • Tôi có rất nhiều mã "bản nháp thô" đang hoạt động - Tôi đã thực hiện một số lần chạy DTW, tôi đã thực hiện một số loại phân cụm khác nhau, v.v. Tôi nghĩ rằng tôi phần lớn hiểu được hướng tôi đang đi và những gì tôi Tôi thực sự tìm kiếm có liên quan đến cách tôi xử lý dữ liệu của mình trước khi tìm khoảng cách, chạy phân cụm, v.v. Với điều này, tôi nghi ngờ câu trả lời sẽ giống nhau cho dù khoảng cách giữa các chuỗi được tính thông qua DTW hay Khoảng cách Euclide đơn giản hơn (ED).
  • Tôi đã tìm thấy các bài viết này đặc biệt nhiều thông tin về chuỗi thời gian và DTW và chúng có thể hữu ích nếu một số nền tảng cần thiết cho khu vực chủ đề: http://www.cs.ucr.edu/~eamonn/selected_publications.htmlm

+1 Câu hỏi rất hay, và thật tuyệt khi thấy rất nhiều sự nhiệt tình! Tôi nghĩ rằng bạn có thể rút ra câu hỏi của mình một chút, vì vậy việc mời người khác đọc nhiều hơn và sau đó cho bạn câu trả lời.
Rubens

@Rubens Cảm ơn! Tôi sẽ làm việc lại khi tôi về nhà tối nay, tôi có thể thấy nơi nào hữu ích để đưa thêm một số thông tin về cách tôi đã đi đến điểm này và tại sao. Tôi đã lo lắng về việc nó trở nên quá dài, nhưng tôi sẽ tách ra khỏi nền và hỏi thêm một chút để tránh nó không thể đọc được.
Jo Doulass

Nó có thể không phải là một câu hỏi "thống kê thuần túy" nhưng nó cần một câu trả lời thống kê thuần túy. Bạn sẽ đấu tranh cho đến khi bạn có thể nghĩ về nó trong các điều khoản thống kê thuần túy.
Spainedman

@Spacesman - Tôi hoan nghênh câu trả lời theo bất cứ cách nào mọi người cảm thấy là cách tốt nhất để trả lời nó, với lời cảnh báo mà tôi có thể có thêm câu hỏi nếu câu trả lời nặng về công thức hoặc tham chiếu đến các khái niệm thống kê mà tôi chưa hiểu.
Jo Doulass

Jo bạn đã tìm thấy câu trả lời đúng cho câu hỏi của bạn? Tôi đang ở trong tình trạng tương tự và tôi cần sự giúp đỡ. Cảm ơn bạn
LSola

Câu trả lời:


14

Sau khi đọc câu hỏi của bạn, tôi trở nên tò mò về chủ đề phân cụm chuỗi thời giancong vênh thời gian động (DTW) . Vì vậy, tôi đã thực hiện một tìm kiếm hạn chế và đưa ra những hiểu biết cơ bản (đối với tôi) và bộ tài liệu tham khảo liên quan IMHO sau đây (dành cho bạn). Tôi hy vọng rằng bạn sẽ thấy điều này hữu ích, nhưng hãy nhớ rằng tôi đã cố tình bỏ qua các tài liệu nghiên cứu, vì tôi quan tâm nhiều hơn đến các khía cạnh thực tế của chủ đề.

Tài nguyên:


1
Một số trong số này là các tài nguyên mà tôi đã xem xét - ví dụ, tôi đã triển khai một phiên bản sửa đổi của công việc ở các điểm 2 và 4 - vì vậy có lẽ chúng ta hiện đang ở trên cùng một trang. Và phần lớn những gì tôi biết được dựa trên các bài báo hoặc bài báo của Eamonn Keogh dựa trên chúng. Nhưng có một số ở đây tôi đã không đọc, và một trong những cụm về thời gian chia sẻ xe đạp rất thú vị - cảm ơn! Tôi không thấy bất cứ điều gì trả lời cụ thể câu hỏi của tôi, nhưng hãy chỉ ra nếu tôi bỏ lỡ điều gì đó trong khi đọc.
Jo Doulass

1
Ngoài ra, nếu bạn vẫn thấy điều này thú vị, các bài viết của Keogh thực sự đáng để đọc. Chúng dễ đọc một cách đáng ngạc nhiên và khá thực tế, tập trung vào việc sử dụng nhiều bộ dữ liệu và cung cấp đủ thông tin để ai đó có thể tạo lại tất cả các thử nghiệm. Điều gần đây nhất là thú vị, và là những gì tôi đã làm việc theo cách của mình khi tôi bị loại bỏ bởi câu hỏi của tôi. cs.ucr.edu/~eamonn/selected_publications.htmlm
Jo

1
@JoDoulass: Bạn được chào đón! Tôi không có ý định trả lời câu hỏi của bạn trực tiếp (do kiến ​​thức hạn hẹp của tôi về chủ đề này), nhưng hy vọng rằng nó sẽ hữu ích, dường như là trường hợp. Cảm ơn bạn đã bình luận tốt và tham khảo - Tôi sẽ duyệt các bài báo và cố gắng để có được một ý tưởng tốt hơn. Có quá nhiều thứ để học, nó quá sức một chút.
Alexanderr Blekh

1
Choáng ngợp là đúng, tôi đã tự đá mình vì đã chọn chủ đề này trong một thời gian! Mặc dù vậy, tôi cảm thấy như mình đang đến đó - và thật tuyệt khi tìm hiểu về nó. Tôi có một số thứ đang hoạt động như một phiên bản sơ bộ của những gì tôi cần làm và tôi nghĩ rằng đó là cách tìm ra cách xử lý dữ liệu của tôi trước khi chạy nó qua các mô hình của tôi. Liên kết chia sẻ xe đạp đó rất thú vị đối với tôi vì đây là lần đầu tiên tôi thấy thảo luận về tính trung bình của chuỗi thời gian kể từ khi đọc bài báo Keogh gần đây tôi đã đề cập.
Jo Doulass

1
@JoDoulass: Khi tôi nói "áp đảo", tôi có nghĩa là toàn bộ lĩnh vực khoa học dữ liệu (bao gồm cả AI / ML và thống kê, cụ thể). Tôi vẫn chưa tìm thấy một nguồn lực , trong đó trình bày một cấp cao thảo luận về nhiều cách tiếp cận và / hoặc các phương pháp như chủ đề , tích hợp vào một toàn diện , tuy nhiên tiêu dùng tiết kiệm , khuôn khổ .
Alexanderr Blekh 27/12/14

4

Nếu bạn muốn chỉ khai thác cho các mẫu theo mùa, sau đó xem xét tự động . Nếu bạn đang tìm kiếm một mô hình có thể học các mô hình theo mùa và đưa ra dự báo từ nó, thì Holt-Winters là một khởi đầu tốt và ARIMA sẽ là một điều tốt để theo dõi. Ở đây [pdf] là hướng dẫn đưa tôi lên mặt đất.


Công việc này (hiện tại) mang tính học thuật, thay vì hoàn toàn thực tế. Tôi có thể thực hiện một số dự báo rất muộn hoặc trong tương lai, nhưng hiện tại tôi thích khám phá dữ liệu quá khứ hơn. Việc phân cụm là một mục tiêu trong chính nó, cũng như một số ý tưởng tôi muốn khám phá qua điểm đó.
Jo Doulass

Xin lỗi, nhấn enter sớm. Tôi đã xem xét tự động đến một mức độ nào đó và chạy nó trên một tập hợp con dữ liệu của tôi toàn bộ trước đây nhưng nó thực sự không rõ ràng với tôi những gì tôi có thể thoát khỏi nó. Dữ liệu khá ồn ào. Các mô hình thời vụ đôi khi khá rõ ràng về trực quan hóa, nhưng không chính xác trong thời gian của chúng - vì vậy tôi có thể đang tìm kiếm các mô hình tương tự nhưng không theo một lịch trình đẹp, thậm chí. Tôi đã nói rằng tự động tương quan có thể có vấn đề trên dữ liệu đó, nhưng rất vui khi có một cái nhìn khác nếu có giá trị trong đó. Tôi không muốn chỉ tìm thấy tính thời vụ, nhưng hiểu nó là một mục tiêu.
Jo Doulass

Làm việc thông qua hướng dẫn đó ít nhất lên đến và bao gồm 2,5. Nó sử dụng R đặc biệt tốt cho môi trường học tập của bạn. Nó sẽ dạy cho bạn tự tương quan nghe có vẻ chính xác những gì bạn đang tìm kiếm (không thể biết nó có phù hợp không vì bạn không biết bạn đang nhìn gì, hoặc dữ liệu thực sự quá ồn ào). Nếu tiếng ồn là vấn đề, làm mịn theo cấp số nhân là một cách để giúp với điều đó, sẽ được dạy như là một phần của mô hình holt-winters. Ngay cả khi tất cả những điều đó không cung cấp cho bạn câu trả lời, nó chắc chắn sẽ làm cho bước tiếp theo của bạn rõ ràng hơn.
TheGrimmSellectist

Tôi đã đọc qua hướng dẫn, nhưng nó chủ yếu đi qua những điều tôi đã biết. Tôi thực sự đang làm việc với Python và tôi hơi quá xa trong việc chuyển sang R, mặc dù tôi đã có ý định chộp lấy một lúc nào đó trong trường hợp có một số điều tôi không thể tìm thấy trong bất kỳ thư viện Python nào. Tôi đã viết lại câu hỏi của mình trong trường hợp nó giúp ích cho mọi người - như tôi nói, việc phân cụm là một mục tiêu trong chính nó, tôi không tìm kiếm một hướng hoàn toàn khác để đi vào. Tôi sợ hướng dẫn không ' t thực sự trả lời câu hỏi của tôi
Jo Doulass
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.