Bagaimana menghadapi deret waktu yang berubah dalam musim atau pola lain?

22

Latar Belakang

Saya sedang mengerjakan serangkaian data pembacaan meter energi. Panjang seri bervariasi menurut meter - untuk beberapa saya punya beberapa tahun, yang lain hanya beberapa bulan, dll. Banyak menampilkan musiman yang signifikan, dan sering beberapa lapisan - dalam hari, minggu, atau tahun.

Salah satu hal yang saya kerjakan adalah pengelompokan dari deret waktu ini. Pekerjaan saya bersifat akademis untuk saat ini, dan sementara saya juga melakukan analisis data lainnya, saya memiliki tujuan khusus untuk melakukan pengelompokan.

Saya melakukan beberapa pekerjaan awal di mana saya menghitung berbagai fitur (persentase digunakan pada akhir pekan vs hari kerja, persentase digunakan dalam blok waktu yang berbeda, dll.). Saya kemudian beralih ke melihat menggunakan Dynamic Time Warping (DTW) untuk mendapatkan jarak antara seri yang berbeda, dan pengelompokan berdasarkan nilai perbedaan, dan saya telah menemukan beberapa makalah terkait dengan ini.

Pertanyaan

Apakah perubahan musiman pada rangkaian tertentu menyebabkan pengelompokan saya salah? Dan jika demikian, bagaimana saya menghadapinya?

Kekhawatiran saya adalah bahwa jarak yang diperoleh DTW bisa menyesatkan dalam kasus di mana pola dalam rangkaian waktu telah berubah. Ini dapat menyebabkan pengelompokan yang salah.

Jika hal di atas tidak jelas, perhatikan contoh-contoh ini:

Contoh 1

Satu meter memiliki pembacaan rendah dari tengah malam hingga jam 8 pagi, pembacaan kemudian meningkat tajam untuk jam berikutnya dan tetap tinggi dari jam 9 pagi sampai jam 5 sore, kemudian turun tajam dari jam berikutnya dan kemudian tetap rendah dari jam 6 sore sampai tengah malam. Meteran melanjutkan pola ini secara konsisten setiap hari selama beberapa bulan, tetapi kemudian berubah menjadi pola di mana bacaan hanya tetap pada tingkat yang konsisten sepanjang hari.

Contoh 2

Satu meter menunjukkan kira-kira jumlah energi yang sama yang dikonsumsi setiap bulan. Setelah beberapa tahun, itu berubah menjadi pola di mana penggunaan energi lebih tinggi selama bulan-bulan musim panas sebelum kembali ke jumlah yang biasa.

Kemungkinan Arah

  • Saya bertanya-tanya apakah saya dapat terus membandingkan seri waktu keseluruhan, tetapi membaginya dan menganggapnya sebagai seri terpisah jika polanya berubah banyak. Namun, untuk melakukan ini, saya harus dapat mendeteksi perubahan tersebut. Juga, saya tidak tahu apakah ini cara yang cocok atau bekerja dengan data.
  • Saya juga mempertimbangkan untuk membagi data dan mempertimbangkannya sebagai banyak seri waktu yang terpisah. Misalnya, saya bisa menganggap kombinasi setiap hari / meter sebagai seri terpisah. Namun, saya kemudian harus melakukan hal yang sama jika saya ingin mempertimbangkan pola mingguan / bulanan / tahunan. Saya pikir ini akan berhasil, tetapi ini berpotensi cukup berat dan saya akan benci untuk menempuh jalan ini jika ada cara yang lebih baik yang saya lewatkan.

Catatan selanjutnya

Ini adalah hal-hal yang muncul dalam komentar, atau hal-hal yang saya pikirkan karena komentar, yang mungkin relevan. Saya meletakkannya di sini sehingga orang tidak perlu membaca semuanya untuk mendapatkan informasi yang relevan.

  • Saya bekerja di Python, tetapi memiliki rpy untuk tempat-tempat di mana R lebih cocok. Saya belum tentu mencari jawaban Python - jika seseorang memiliki jawaban praktis tentang apa yang harus dilakukan, saya senang mengetahui sendiri detail implementasi.
  • Saya memiliki banyak kode "draft kasar" yang berfungsi - saya telah melakukan beberapa proses DTW, saya telah melakukan beberapa jenis pengelompokan, dll. Saya pikir saya sangat memahami arah yang saya ambil, dan apa yang saya lakukan. Saya benar-benar mencari terkait dengan bagaimana saya memproses data saya sebelum menemukan jarak, menjalankan clustering, dll. Mengingat ini, saya menduga jawabannya akan sama apakah jarak antara seri dihitung melalui DTW atau Euclidean Distance (ED) yang lebih sederhana.
  • Saya telah menemukan makalah ini sangat informatif tentang deret waktu dan DTW dan mereka mungkin membantu jika beberapa latar belakang diperlukan untuk bidang topik: http://www.cs.ucr.edu/~eamonn/selected_publications.htm
Jo Douglass
sumber
+1 Pertanyaan yang sangat bagus, dan sangat menyenangkan melihat begitu banyak antusiasme! Saya pikir Anda bisa sedikit menjawab pertanyaan Anda, jadi lebih mengundang orang lain untuk membaca, dan kemudian memberi Anda jawaban.
Rubens
@ Ruben Terima kasih! Saya akan bekerja kembali ketika saya pulang malam ini, saya bisa melihat di mana akan berguna untuk memasukkan beberapa informasi lebih lanjut tentang bagaimana saya sampai pada titik ini dan mengapa. Saya khawatir itu terlalu lama, tetapi saya akan memisahkan latar belakang dan sedikit lebih banyak pertanyaan untuk menghindarinya agar tidak terbaca.
Jo Douglass
Ini mungkin bukan pertanyaan "statistik murni" tetapi membutuhkan jawaban statistik murni. Anda akan berjuang sampai Anda bisa memikirkannya dalam istilah statistik murni.
Spacedman
@Spacedman - Saya menyambut jawaban dengan cara apa pun yang dirasakan orang adalah cara terbaik untuk menjawabnya, dengan peringatan bahwa saya mungkin memiliki pertanyaan lebih lanjut jika jawabannya berat pada formula atau referensi ke konsep statistik yang belum saya mengerti.
Jo Douglass
Jo, apakah Anda menemukan jawaban yang tepat untuk pertanyaan Anda? Saya dalam situasi yang sama dan saya butuh bantuan. Terima kasih
LSola

Jawaban:

14

Setelah membaca pertanyaan Anda, saya menjadi ingin tahu tentang topik pengelompokan seri waktu dan waktu dinamis warping (DTW) . Jadi, saya telah melakukan pencarian terbatas dan muncul dengan pemahaman dasar (untuk saya) dan set referensi yang relevan IMHO (untuk Anda). Saya harap Anda akan menemukan ini berguna, tetapi perlu diingat bahwa saya sengaja melewatkan makalah penelitian, karena saya lebih tertarik pada aspek praktis dari topik tersebut.

Sumber:

Aleksandr Blekh
sumber
1
Beberapa di antaranya adalah sumber daya yang telah saya lihat - saya telah mengimplementasikan versi modifikasi dari pekerjaan di poin 2 dan 4, misalnya - jadi kita mungkin berada di halaman yang sama sekarang. Dan sebagian besar dari apa yang saya tahu didasarkan pada makalah atau artikel Eamonn Keogh berdasarkan pada mereka. Tetapi ada beberapa di sini yang belum saya baca, dan satu tentang pengelompokan seri waktu berbagi sepeda menarik - terima kasih! Saya tidak melihat apa pun yang secara khusus menjawab pertanyaan saya, tetapi tunjukkan jika saya melewatkan sesuatu saat membaca.
Jo Douglass
1
Juga, jika Anda masih menemukan ini menarik, makalah Keogh benar-benar layak dibaca. Mereka secara mengejutkan mudah dibaca dan cukup praktis mengingat fokus menggunakan banyak set data, dan memberikan informasi yang cukup bahwa seseorang dapat membuat kembali semua eksperimen. Yang paling baru menarik, dan inilah yang sedang saya kerjakan ketika saya disingkirkan oleh pertanyaan saya. cs.ucr.edu/~eamonn/selected_publications.htm
Jo Douglass
1
@ JoDouglass: Sama-sama! Saya tidak bermaksud menjawab pertanyaan Anda secara langsung (karena pengetahuan saya yang terbatas tentang topik ini), tetapi berharap itu akan membantu, yang tampaknya menjadi masalah. Terima kasih atas komentar yang baik dan referensi - Saya akan menelusuri surat kabar dan mencoba untuk mendapatkan ide yang lebih baik. Ada begitu banyak yang harus dipelajari, ini sedikit luar biasa.
Aleksandr Blekh
1
Luar biasa benar, saya menendang diri saya karena memilih topik ini untuk sementara waktu! Saya merasa seperti saya akan sampai di sana - dan itu benar-benar menarik untuk dipelajari. Saya memiliki beberapa hal dan berjalan sebagai semacam versi kasar dari apa yang perlu saya lakukan, dan saya pikir ini lebih tentang mencari tahu bagaimana memproses data saya sebelum menjalankannya melalui model saya, sekarang. Link berbagi sepeda itu menarik bagi saya karena ini adalah yang pertama kali saya lihat membahas rata-rata deret waktu sejak membaca makalah Keogh baru-baru ini yang saya sebutkan.
Jo Douglass
1
@ JoDouglass: Ketika saya mengatakan "luar biasa", maksud saya seluruh domain ilmu data (termasuk AI / ML dan statistik, khususnya). Saya belum menemukan sumber daya , yang menyajikan sebuah tingkat tinggi diskusi tentang berbagai pendekatan dan / atau metode sebagai tema , diintegrasikan ke dalam yang komprehensif , namun pelit , kerangka .
Aleksandr Blekh
4

Jika Anda hanya ingin menambang untuk pola musiman, maka lihatlah autokorelasi . Jika Anda mencari model yang dapat mempelajari pola musiman dan membuat perkiraan darinya, maka Holt-Winters adalah awal yang baik, dan ARIMA akan menjadi hal yang baik untuk ditindaklanjuti. Di sini [pdf] adalah tutorial yang membantu saya.

Ilmuwan TheGrimm
sumber
Pekerjaan itu (untuk saat ini) bersifat akademis, bukan murni praktis. Saya mungkin melakukan peramalan sangat terlambat atau di masa depan, tetapi saya lebih tertarik mengeksplorasi data masa lalu untuk saat ini. Pengelompokan adalah tujuan dalam dan dari dirinya sendiri, serta beberapa ide yang ingin saya eksplorasi melewati titik itu.
Jo Douglass
Maaf, tekan enter sebelum waktunya. Saya telah melihat ke dalam autocorrelation sampai batas tertentu dan menjalankannya pada subset data saya beberapa waktu lalu, tetapi tidak terlalu jelas bagi saya apa yang bisa saya dapatkan darinya. Data ini sangat berisik. Pola musiman kadang-kadang cukup jelas pada visualisasi, tetapi tidak tepat waktu mereka - jadi saya mungkin mencari pola yang sama tetapi tidak pada jadwal yang baik, bahkan. Saya diberitahu bahwa autokorelasi kemungkinan akan bermasalah pada data seperti itu, tetapi senang memiliki tampilan lain jika ada nilai di dalamnya. Saya tidak ingin hanya mencari musiman, tetapi memahami itu adalah tujuan.
Jo Douglass
Kerjakan tutorial itu setidaknya hingga dan termasuk 2.5. Ini menggunakan R yang sangat baik untuk lingkungan akademik Anda. Ini akan mengajarkan Anda autokorelasi yang kedengarannya persis seperti apa yang Anda cari (tidak dapat memastikan apakah itu tidak cocok karena Anda tidak tahu apa yang Anda lihat, atau datanya sebenarnya terlalu berisik). Jika kebisingan adalah masalah, pemulusan eksponensial adalah salah satu cara untuk membantu hal itu, yang akan diajarkan sebagai bagian dari model holt-winters. Bahkan jika semua itu tidak memberi Anda jawaban, itu pasti akan membuat langkah Anda selanjutnya menjadi lebih jelas.
TheGrimmScientist
Saya telah membaca tutorialnya, tetapi sebagian besar membahas hal-hal yang sudah saya ketahui. Saya sebenarnya bekerja di Python dan saya agak terlalu jauh dalam hal-hal untuk beralih ke R, meskipun saya berniat untuk mengambil rpy di beberapa titik jika ada beberapa hal yang saya tidak dapat menemukan di perpustakaan Python. Saya telah menulis ulang pertanyaan saya seandainya ada manfaatnya - seperti saya katakan, pengelompokan adalah tujuan dalam dan dari dirinya sendiri, saya tidak mencari arah yang sama sekali berbeda untuk masuk. Saya khawatir tutorialnya tidak ' Aku tidak benar-benar menjawab pertanyaanku.
Jo Douglass