จำแนกอนุกรมเวลาหลายตัวแปร


9

ฉันมีชุดข้อมูลที่ประกอบด้วยอนุกรมเวลา (8 คะแนน) ที่มีประมาณ 40 มิติ (ดังนั้นแต่ละชุดเวลาคือ 8 คูณ 40) ouput ที่สอดคล้องกัน (ผลลัพธ์ที่เป็นไปได้สำหรับหมวดหมู่) คือ eitheir 0 หรือ 1

อะไรจะเป็นวิธีที่ดีที่สุดในการออกแบบลักษณนามสำหรับอนุกรมเวลาที่มีหลายมิติ

กลยุทธ์เริ่มต้นของฉันคือการดึงคุณสมบัติต่างๆจากอนุกรมเวลาเหล่านั้น: หมายถึงมาตรฐานรูปแบบสูงสุดสำหรับแต่ละมิติ ฉันได้รับชุดข้อมูลที่ฉันใช้ในการฝึกซ้อม RandomTreeForest การตระหนักถึงความไร้เดียงสาทั้งหมดของเรื่องนี้และหลังจากได้รับผลลัพธ์ที่ไม่ดีตอนนี้ฉันกำลังมองหาโมเดลที่ปรับปรุงมากขึ้น

โอกาสในการขายของฉันมีดังนี้จัดหมวดหมู่ซีรีส์สำหรับแต่ละมิติ (โดยใช้อัลกอริธึม KNN และ DWT) ลดมิติด้วย PCA และใช้ลักษณนามสุดท้ายตามหมวดหมู่หลายมิติ การเป็น ML ค่อนข้างใหม่ฉันไม่รู้ว่าฉันผิดทั้งหมดหรือเปล่า


สิ่งที่คุณกำลังทำอยู่เป็นวิธีที่ดีทีเดียว คุณมีตัวอย่างจำนวนเท่าใดในชุดข้อมูลของคุณ
Kasra Manshaei

ฉันมีอนุกรมเวลาประมาณ 500,000 ชุด (นึกถึงว่าแต่ละชุดเวลาคือ 8 การประทับเวลา * 40 มิติ)
AugBar

คุณได้ลองใช้คุณสมบัติ 320 แบบใหม่หรือยัง 320 คุณสมบัติไม่มากนักสำหรับ 500,000 ตัวอย่าง
Jan van der Vegt

@Jan van der Vegt: ฉันได้ลองใช้วิธีการนี้โดยใช้โครงข่ายประสาทเทียม แต่ผลลัพธ์ไม่น่าเชื่อถือเท่าไร - ฉันใช้ข้อมูลดิบโดยไม่ต้องประมวลผลล่วงหน้า ฉันควรใช้การดำเนินการใดกับล่วงหน้าในคุณลักษณะ 320 แบบของฉันเพื่อป้อนตัวแยกประเภท
AugBar

1
ในกรณีที่เครือข่ายนิวรัลทำให้การอินพุตปกติของคุณเป็นสิ่งสำคัญขึ้นอยู่กับช่วงของคุณสมบัติของคุณที่อาจมีความสำคัญ แต่ฉันจะป้อนฟีเจอร์แบบดิบลงใน RF และดูว่ามันใช้งานได้ดีได้อย่างไรปรับแต่งให้น้อยลงเพื่อดูว่าคุณสามารถนำสิ่งต่าง ๆ ออกมาได้อย่างง่ายดายหรือไม่
Jan van der Vegt

คำตอบ:


5

คุณมาถูกทางแล้ว ดูการคำนวณคุณสมบัติเพิ่มเติมอีกสองสามอย่างทั้งในเวลาและโดเมนความถี่ ตราบใดที่จำนวนตัวอย่าง >> จำนวนคุณสมบัติคุณไม่น่าจะเกินความเหมาะสม มีวรรณกรรมเรื่องปัญหาที่คล้ายกันบ้างไหม? ถ้าเป็นเช่นนั้นนั่นจะเป็นจุดเริ่มต้นที่ดีเสมอ

ลองตัวจําแนกทรีแบบเพิ่มประสิทธิภาพเช่น xgboost หรือ LightGBM พวกเขามักจะปรับพารามิเตอร์พารามิเตอร์ได้ง่ายขึ้นและให้ผลลัพธ์ที่ดีด้วยพารามิเตอร์เริ่มต้น ทั้งฟอเรสต์แบบสุ่มและตัวแยกประเภทต้นไม้ที่ได้รับการปรับปรุงสามารถกลับมาให้ความสำคัญกับคุณลักษณะเพื่อให้คุณสามารถดูว่าคุณลักษณะใดที่เกี่ยวข้องกับปัญหา คุณสามารถลองลบฟีเจอร์เพื่อตรวจสอบความแปรปรวนร่วมได้

สิ่งสำคัญที่สุดคือถ้าผลลัพธ์ของคุณไม่ดีอย่างไม่คาดคิดให้แน่ใจว่าปัญหาของคุณได้รับการกำหนดอย่างถูกต้อง ตรวจสอบผลลัพธ์ของคุณด้วยตนเองเพื่อให้แน่ใจว่าไม่มีข้อบกพร่องในท่อของคุณ


6

หากคุณอยู่ใน Python มีแพ็คเกจสองสามชุดที่สามารถดึงคุณสมบัติเป็นร้อยหรือพันได้โดยอัตโนมัติจากไทม์ซีรีย์ของคุณเชื่อมโยงกับฉลากของคุณเลือกโมเดลที่สำคัญที่สุดและฝึกอบรมให้กับคุณ

https://github.com/blue-yonder/tsfresh

https://github.com/rtavenar/tslearn


2

คุณสามารถเพิ่มคุณสมบัติเพิ่มเติมลงในชุดข้อมูลของคุณได้ดังต่อไปนี้

  1. คุณสามารถลองแพคเกจ nolds ถ้าข้อมูลของคุณมาจากกระบวนการเชิงเส้นที่ไม่สูงมาก

  2. สูงสุด, นาที, ค่าเฉลี่ย, ความเบ้, ความรุนแรงและหากเป็นไปได้จะมีสถิติการหมุน

ฉันทำงานในสิ่งที่คล้ายกันและผมก็ถามคำถามที่เกี่ยวข้อง


1

ฉันเห็นด้วยกับแจนแวนเดอร์เวอท์ท์การกำหนดมาตรฐาน (เช่น [-1, 1]) หรือการทำให้เป็นมาตรฐาน N (0, 1) รวมกับฟังก์ชั่นการเปิดใช้งานนั้นสำคัญมากสำหรับเครือข่ายประสาท ฉันจะตรวจสอบวิทยานิพนธ์ของพิชัยวรุณโชติกุล:“ การพยากรณ์น้ำท่วมโดยใช้โครงข่ายประสาทเทียม” สำหรับข้อมูลเพิ่มเติมของ ANN มันมีข้อแม้ที่น่าสนใจมาก อย่างไรก็ตามฉันเคยลองก่อน แต่เมื่อผลลัพธ์ไม่เป็นที่น่าพอใจฉันจะลองทำการทดลองทั้งสองอย่าง ไม่แน่ใจว่าจะช่วยได้ แต่ฉันจะตรวจสอบ R package TSclustและเอกสารที่เกี่ยวข้อง ผู้เขียนมีความกรุณาและพวกเขาจะช่วยคุณในการหารูปแบบเฉพาะที่จะทำ พวกเขาเป็นผู้เชี่ยวชาญในการวิเคราะห์อนุกรมเวลา! โชคดี!

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