การจัดกลุ่มการแปรปรวนเวลาแบบไดนามิก


40

วิธีใดที่จะใช้ Dynamic Time Warping (DTW) เพื่อทำคลัสเตอร์ของอนุกรมเวลา

ฉันได้อ่านเกี่ยวกับ DTW เป็นวิธีการค้นหาความคล้ายคลึงกันระหว่างสองอนุกรมเวลาในขณะที่พวกเขาสามารถเลื่อนเวลา ฉันสามารถใช้วิธีนี้เป็นวิธีการวัดความคล้ายคลึงกันสำหรับอัลกอริทึมการจัดกลุ่มอย่าง k- หมายถึงได้หรือไม่


2
ใช่คุณสามารถใช้การวัดความคล้ายคลึงกันเป็นอินพุตถึง k หมายถึงการจัดกลุ่มแล้วกำหนดกลุ่มในข้อมูลของคุณ
พยากรณ์

ขอบคุณสำหรับคำตอบของคุณครับ ฉันเดาว่าสำหรับการวนซ้ำแต่ละครั้งฉันจะต้องสร้างเมทริกซ์ระยะทางสำหรับคู่ (centroid, clustering point) แต่ละคู่และคำนวณ centroids ใหม่ในรูปแบบมาตรฐานซึ่งเป็นค่าเฉลี่ยของชุดทั้งหมดที่อยู่ในกลุ่มหรือไม่
Marko

1
อเล็กซานเดอร์ Blekh ในคำตอบด้านล่างมีโพสต์บล็อกที่ให้ตัวอย่างรายละเอียดเกี่ยวกับวิธีการทำเช่นนี้ในอาร์
พยากรณ์

2
@forecaster ไม่ใช้ k- mean กับ DTW k-หมายถึงลดความแปรปรวน, ไม่ใช่ระยะทาง ความแปรปรวนคือกำลังสองแบบยุคลิด แต่นั่นไม่ได้หมายความว่า k-mean สามารถปรับระยะทางอื่นให้เหมาะสมได้ ค่าเฉลี่ยไม่ได้และใน DTW มันควรจะค่อนข้างง่ายในการสร้างตัวอย่างแบบคู่เช่นคลื่นไซน์ที่ชดเชยด้วย : ทั้งคู่คล้ายกันมากกับ DTW แต่ค่าเฉลี่ยของพวกเขานั้นคงที่ - ต่างกันมาก π
Anony-Mousse

1
K-mean ไม่ใช่อัลกอริทึมที่เหมาะสมสำหรับการจัดกลุ่มอนุกรมเวลา โมเดลมาร์คอฟที่ซ่อนอยู่สำหรับข้อมูลที่ไม่ต่อเนื่องตามยาวนั้นเหมาะสม ขณะนี้มีหนังสือหลายเล่มที่ออกมาในหัวข้อนี้รวมถึงข้อมูลสำคัญจาก Oded Netzer (โคลัมเบีย) และ Steve Scott (Google) อีกวิธีหนึ่งคือวิธีการทางทฤษฎีข้อมูลที่พัฒนาโดย Andreas Brandmaier ที่ Max Planck เรียกว่าการจัดกลุ่มการกระจายการเปลี่ยนแปลง เขายังเขียนโมดูล R การเปรียบเทียบโซลูชันคลัสเตอร์เป็นปัญหาอื่น รายงานของ Marina Meila, การเปรียบเทียบ Clusterings, U of Washington Statistics Tech Report 418 นั้นดีที่สุด
Mike Hunter

คำตอบ:


33

อย่าได้ใช้ K-หมายถึงการ timeseries

DTW จะไม่ย่อเล็กสุดด้วยค่าเฉลี่ย k- ค่าเฉลี่ยอาจไม่ได้มาบรรจบกันและแม้ว่ามันจะมาบรรจบกันก็จะไม่ให้ผลลัพธ์ที่ดีมาก ค่าเฉลี่ยเป็นตัวประมาณกำลังสองน้อยที่สุดบนพิกัด มันช่วยลดความแปรปรวนในระยะทางไม่ได้โดยพลการและk หมายถึงถูกออกแบบมาเพื่อลดความแปรปรวนไม่ได้ระยะทางโดยพลการ

สมมติว่าคุณมีอนุกรมเวลาสองชุด คลื่นไซน์สองตัวที่มีความถี่เท่ากันและมีระยะเวลาการสุ่มตัวอย่างค่อนข้างนาน แต่พวกเขาจะชดเชยด้วย\เนื่องจาก DTW ทำการแปรปรวนเวลามันสามารถจัดแนวพวกเขาเพื่อให้ตรงกับที่สมบูรณ์แบบยกเว้นจุดเริ่มต้นและจุดสิ้นสุด DTW จะกำหนดระยะทางที่ค่อนข้างเล็กให้กับสองซีรี่ส์นี้ อย่างไรก็ตามถ้าคุณคำนวณค่าเฉลี่ยของทั้งสองซีรีส์มันจะเป็นค่าแบน 0 - มันจะยกเลิก ค่าเฉลี่ยไม่ทำการแปรปรวนเวลาแบบไดนามิกและสูญเสียค่าทั้งหมดที่ DTW ได้รับ จากข้อมูลดังกล่าวค่าเฉลี่ย k อาจไม่สามารถรวมกันได้และผลลัพธ์จะไม่มีความหมาย K-จริงๆหมายถึงควรจะใช้เฉพาะกับความแปรปรวน (= Squared ยุคลิด) หรือบางกรณีที่มีเทียบเท่า (เช่นโคไซน์บน L2 ปกติข้อมูลที่โคไซน์คล้ายคลึงกันคือ2 -πเช่นเดียวกับระยะทางแบบยุคลิดกำลังสอง)2

ให้คำนวณเมทริกซ์ระยะทางโดยใช้ DTW จากนั้นเรียกใช้การจัดกลุ่มลำดับชั้นเช่นลิงก์เดียว ในทางตรงกันข้ามกับค่าเฉลี่ย k ชุดอาจมีความยาวต่างกัน


4
แน่นอนว่ามี PAM (K-medoids) ที่ทำงานกับระยะทางโดยพลการ หนึ่งในหลายอัลกอริทึมที่รองรับระยะทางตามอำเภอใจ - k-mean ไม่ได้ ตัวเลือกอื่น ๆ ได้แก่ DBSCAN, OPTICS, CLARANS, HAC, ...
Anony-Mousse

1
อาจ. เนื่องจาก k-medoids ใช้ DTW-medoid เพื่อค้นหาศูนย์คลัสเตอร์ไม่ใช่ค่าเฉลี่ย L2 ฉันไม่รู้เกี่ยวกับการจัดกลุ่มเวลาที่ประสบความสำเร็จในโลกแห่งความเป็นจริง ฉันเชื่อว่าฉันเคยเห็นเอกสาร แต่ไม่มีใครที่ใช้ผลลัพธ์จริงๆ หลักฐานพิสูจน์แนวคิดเท่านั้น
Anony-Mousse

1
@Aleksandr Blekh ให้สิ่งนี้เป็นหนึ่งในตัวอย่างของเขาnbviewer.ipython.org/github/alexminnaar/ ......ความคิดเห็นของคุณเกี่ยวกับเรื่องนี้คืออะไร?
Marko

1
ปัญหาของเล่น ไร้ประโยชน์ในโลกแห่งความจริง ข้อมูลจริงมีเสียงรบกวนมากมายซึ่งจะทำร้ายมากกว่าเส้นโค้งไซน์ที่ราบรื่นและรูปแบบที่แสดงในข้อมูลนี้
Anony-Mousse

1
ฉันคิดว่าการจัดกลุ่มแบบลำดับชั้นเป็นตัวเลือกที่ดีกว่า คุณจะไม่สามารถประมวลผลซีรี่ส์จำนวนมากได้
Anony-Mousse

49

ใช่คุณสามารถใช้DTWแนวทางในการจำแนกและการจัดกลุ่มของอนุกรมเวลา ฉันได้รวบรวมทรัพยากรต่อไปนี้ซึ่งมุ่งเน้นที่หัวข้อนี้มาก (เมื่อเร็ว ๆ นี้ฉันได้ตอบคำถามที่คล้ายกัน แต่ไม่ได้อยู่ในเว็บไซต์นี้ดังนั้นฉันจึงคัดลอกเนื้อหาที่นี่เพื่อความสะดวกของทุกคน):


2
+1 ชุดบทความและบล็อกที่ยอดเยี่ยม การอ้างอิงที่ดีมาก
พยากรณ์

@forecaster: ขอบคุณสำหรับคำพูดเก่งและใจดี! ดีใจที่คุณชอบคอลเลกชัน มันเศร้าเกินไปที่ในปัจจุบันฉันไม่มีเวลาที่จะเรียนรู้การคาดการณ์และสาขาอื่น ๆ ของสถิติและวิทยาศาสตร์ข้อมูลอย่างจริงจังมากขึ้น แต่ฉันใช้ทุกโอกาสเพื่อเรียนรู้สิ่งใหม่
Aleksandr Blekh

1
@AleksandrBlekh ขอบคุณมากสำหรับคำตอบของคุณฉันได้พูดคุยกับ Anony-Mousse เกี่ยวกับ aproach นี้เนื่องจากฉันสนใจ DTW เป็นพิเศษในการวัดความคล้ายคลึงกันสำหรับ K-mean ดังนั้นฉันสามารถรับ centroids เป็นผลลัพธ์ได้ ความคิดเห็นและประสบการณ์ของคุณคืออะไร อย่างที่คุณเห็น Anony-Mousse ให้ข้อโต้แย้งว่าผลลัพธ์อาจไม่ดีนักในกรณีนี้ ... บางทีประสบการณ์ส่วนตัวบางอย่างในทางปฏิบัติ?
Marko

1
ตกลงขอบคุณอีกครั้ง คุณมี +1 จากฉันและเขาได้รับคำตอบเนื่องจากคำถามของฉันมุ่งเน้นไปที่ k-mean และ DTW
Marko

1
@pera: ความสุขของฉัน ขอบคุณสำหรับการ upvoting เข้าใจและยอมรับอย่างสมบูรณ์เกี่ยวกับการยอมรับไม่มีปัญหาเลย
Aleksandr Blekh

1

วิธีการล่าสุด DTW Barycenter Averaging (DBA) ได้รับการเสนอโดยPetitjean และคณะ เป็นอนุกรมเวลาโดยเฉลี่ย ในกระดาษอื่น ๆพวกเขาพิสูจน์เชิงประจักษ์และเชิงทฤษฎีว่ามันสามารถใช้เพื่อจัดกลุ่มอนุกรมเวลาด้วยค่าเฉลี่ย k การดำเนินการมีให้ใน GitHub โดยผู้เขียน ( ลิงค์ไปยังรหัส )

1 F. Petitjean, G. Forestier, GI Webb, AE Nicholson, Y. Chen และ E. Keogh, "Dynamic Time Warping การหาค่าเฉลี่ยของอนุกรมเวลาช่วยให้การจำแนกรวดเร็วขึ้นและแม่นยำยิ่งขึ้น" 2014 IEEE International Conference on Data Mining, Shenzhen, 2014 .

2 F. Petitjean, P. Gançarski, สรุปชุดเวลาโดยการหาค่าเฉลี่ย: จากลำดับ Steiner ไปจนถึงการจัดเรียงหลายแบบกะทัดรัด, วิทยาการคอมพิวเตอร์เชิงทฤษฎี, เล่มที่ 414, ฉบับที่ 1, 2012


2
โปรดระบุข้อมูลอ้างอิงแบบเต็มแทนลิงก์ ลิงค์สามารถตาย
แอนทอน

1

Dynamic Time Warp เปรียบเทียบจุดข้อมูลที่รับรู้ซึ่งอาจหรืออาจไม่ทำงาน วิธีการอย่างเข้มงวดมากขึ้นคือการเปรียบเทียบการกระจายของอนุกรมเวลาโดยวิธีการที่เรียกว่าตัวชี้วัดระยะกล้องโทรทรรศน์

สิ่งที่ยอดเยี่ยมเกี่ยวกับตัวชี้วัดนี้ก็คือการคำนวณเชิงประจักษ์ทำได้โดยการปรับชุดตัวแยกประเภทไบนารีเช่น SVM ให้เหมาะสม

สำหรับคำอธิบายสั้น ๆ ให้ดูนี้

สำหรับอนุกรมเวลาการจัดกลุ่มมันแสดงให้เห็นว่ามีประสิทธิภาพสูงกว่า DTW; ดูตารางที่ 1 ในกระดาษต้นฉบับ [1]

[1] Ryabko, D. , & Mary, J. (2013) เมทริกการจัดประเภทตามไบนารีระหว่างการแจกแจงอนุกรมเวลาและการใช้ในปัญหาทางสถิติและการเรียนรู้ วารสารการวิจัยการเรียนรู้ของเครื่อง, 14 (1), 2837-2856


2
หมายเหตุบรรณาธิการที่พยายามทำ: "Jérémie Mary (ผู้เขียนร่วม) มีหน้าเว็บที่พูดถึงอัลกอริทึมด้วยการนำไปใช้ R
gung - Reinstate Monica

@ gung Wow ยอดเยี่ยม! ฉันมีการโต้ตอบกับผู้เขียนคนแรกและเขาไม่ได้พูดถึงเรื่องนี้
horaceT

ฉันแค่คัดลอกมาจากคนที่พยายามแก้ไขสิ่งนี้ในคำตอบของคุณ @horaceT ฉันไม่รู้เกี่ยวกับเรื่องนี้มากเกินไป
gung - Reinstate Monica

0

ใช่. วิธีการที่ไร้เดียงสาและอาจช้า

  1. สร้างการรวมกลุ่มของคุณทั้งหมด k ใช้สำหรับการนับคลัสเตอร์และ n เป็นจำนวนชุด n! / k! / (n-k)!จำนวนของสินค้าที่ส่งกลับควรจะเป็น สิ่งเหล่านี้จะเหมือนกับศูนย์ที่มีศักยภาพ
  2. สำหรับแต่ละชุดคำนวณระยะทางผ่านDTWสำหรับแต่ละศูนย์ในแต่ละกลุ่มคลัสเตอร์และกำหนดให้น้อยที่สุด
  3. สำหรับแต่ละกลุ่มคลัสเตอร์ให้คำนวณระยะทางทั้งหมดภายในแต่ละกลุ่ม
  4. เลือกขั้นต่ำ

ฉันใช้สิ่งนี้สำหรับโครงการขนาดเล็ก นี่คือที่เก็บของฉันเกี่ยวกับการทำคลัสเตอร์อนุกรมเวลาและคำตอบอื่น ๆ ของฉันเกี่ยวกับเรื่องนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.