การเรียนรู้ที่เพิ่มขึ้นสำหรับโมเดลอนุกรมเวลา LOESS


9

ขณะนี้ฉันกำลังทำงานกับข้อมูลอนุกรมเวลาฉันรู้ว่าฉันสามารถใช้แบบจำลอง LOESS / ARIMA

ข้อมูลถูกเขียนไปยังเวกเตอร์ที่มีความยาว 1,000 ซึ่งเป็นคิวการอัพเดททุก 15 นาที

ดังนั้นข้อมูลเก่าจะโผล่ออกมาในขณะที่ข้อมูลใหม่พุชในเวกเตอร์

ฉันสามารถรันโมเดลทั้งหมดบนตัวกำหนดตารางเวลาอีกครั้งเช่นฝึกอบรมใหม่ทุก ๆ 15 นาทีนั่นคือใช้ค่าทั้งหมด 1,000 เพื่อฝึกแบบจำลอง LOESS อย่างไรก็ตามมันไม่มีประสิทธิภาพมากเพราะทุกครั้งที่ใส่ค่าเพียงหนึ่งในขณะที่อีก 999 vlaues ยังคงเหมือนเดิม

ดังนั้นฉันจะบรรลุประสิทธิภาพที่ดีขึ้นได้อย่างไร

ขอบคุณมาก


3
"LOESS / ARIMA model" คืออะไร? คุณหมายถึงแนวโน้มเวลาไม่เชิงเส้นที่มีข้อผิดพลาด ARIMA ซึ่งมีการประมาณแนวโน้มไม่เชิงเส้นโดยใช้ LOESS หรือไม่
Rob Hyndman

ขอโทษฉันหมายถึงรุ่น LOESS หรือ ARIMA เช่นฉันใช้ LOESS เพื่อค้นหาส่วนที่เหลือเป็น: ส่วนที่เหลือ (เวลา (x ~ เวลา)) เนื่องจาก data x เป็นเวกเตอร์ที่มีค่า 1,000 ค่าซึ่งจะอัปเดตทุก ๆ 15 นาที ฉันจะได้รับส่วนที่เหลือได้อย่างมีประสิทธิภาพได้อย่างไร แต่จะไม่เรียกใช้ datset ทั้งหมดเป็นอินพุตอีกครั้งทุกครั้ง เนื่องจากมีเพียงการอัปเดตเพียง 1 ค่าทุกครั้งค่า 999 อีกค่าก็ยังคงเหมือนเดิม
จาง

วิธีหนึ่งที่เป็นไปได้อาจใช้ค่า 1,000 ค่าแรกในการทำนายค่า 1,000 ค่าถัดไป (แม้ว่า LOESS รองรับเฉพาะค่า 4 ค่า) จากนั้นคำนวณค่าส่วนที่เหลือเป็นความแตกต่างระหว่างค่าจริงและค่าทำนายที่สอดคล้องกัน นี่ไม่ใช่รุ่น LOESS ดั้งเดิมที่ฉันต้องการเลย :-(
zhang

คำตอบ:


1

ให้ฉันกำหนดใหม่นี้เป็นสิ่งที่คุ้นเคยกับฉัน ARIMA นั้นคล้ายคลึงกับการประมาณ PID ฉันเป็นส่วนประกอบสำคัญ แมสซาชูเซตคือพี AR สามารถแสดงเป็นสมการความแตกต่างซึ่งเป็นเทอม D LOESS เป็นแอนะล็อกที่เหมาะสมกับกำลังสองน้อยที่สุด (พี่ใหญ่ไฮเทคจริงๆ)

ดังนั้นถ้าฉันต้องการปรับปรุงแบบจำลองลำดับที่สอง (PID) จะต้องทำอย่างไร

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

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


1

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

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

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

อย่างไรก็ตามสำหรับฉันแล้วมันก็คุ้มค่าที่จะทำถ้าค่าใช้จ่ายในการเพิ่มเวลาในการเขียนโปรแกรมน้อยกว่าค่าใช้จ่ายในเวลาที่ใช้คอมพิวเตอร์เพียงแค่ติดตั้งแบบจำลองทุก ๆ 15 นาที ด้วยจุดข้อมูลเพียง 1,000 จุดแน่นอนว่ามันไม่ใช่เรื่องใหญ่ที่จะปรับรุ่นให้เหมาะสมตั้งแต่เริ่มต้นในแต่ละครั้ง

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