การทำนายอนุกรมเวลาโดยใช้ LSTM: ความสำคัญของการสร้างอนุกรมเวลาให้ไม่หยุดนิ่ง


21

ในลิงค์นี้เกี่ยวกับ Stationarity และดิฟเฟอเรนเชียลมันถูกกล่าวถึงว่าโมเดลเช่น ARIMA ต้องการอนุกรมเวลาสำหรับการพยากรณ์เนื่องจากคุณสมบัติทางสถิติเช่นค่าเฉลี่ยความแปรปรวนความสัมพันธ์แบบออโตคอร์เรชั่น ฯลฯ คงที่ตลอดเวลา เนื่องจาก RNNs มีความสามารถที่ดีกว่าในการเรียนรู้ความสัมพันธ์ที่ไม่ใช่เชิงเส้น ( ตามที่กำหนดไว้ที่นี่: สัญญาของเครือข่ายประสาทที่เกิดขึ้นอีกสำหรับการพยากรณ์อนุกรมเวลา ) และทำงานได้ดีกว่าโมเดลอนุกรมเวลาทั่วไปเมื่อข้อมูลมีขนาดใหญ่ ข้อมูลจะมีผลต่อผลลัพธ์ คำถามที่ฉันต้องรู้คำตอบมีดังนี้:

  1. ในกรณีที่มีรูปแบบการพยากรณ์อนุกรมเวลาแบบดั้งเดิมความคงที่ของข้อมูลอนุกรมเวลาทำให้ง่ายต่อการคาดการณ์ว่าทำไมและอย่างไร

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

คำตอบ:


29

โดยทั่วไปอนุกรมเวลาจะไม่แตกต่างจากปัญหาการเรียนรู้ของเครื่องอื่น ๆ - คุณต้องการให้ชุดการทดสอบของคุณดูเหมือน 'ชุดการฝึกอบรมของคุณเพราะคุณต้องการให้แบบจำลองที่คุณเรียนรู้ในชุดการฝึกอบรมของคุณยังคงเหมาะสมสำหรับชุดการทดสอบของคุณ นั่นเป็นแนวคิดพื้นฐานที่สำคัญเกี่ยวกับความคงที่ อนุกรมเวลามีความซับซ้อนเพิ่มเติมที่อาจมีโครงสร้างระยะยาวในข้อมูลของคุณที่แบบจำลองของคุณอาจไม่ซับซ้อนพอที่จะเรียนรู้ ตัวอย่างเช่นเมื่อใช้ความล่าช้าของอัต N, เราไม่สามารถเรียนรู้การพึ่งพามากกว่าช่วงเวลาที่นานกว่า N. ดังนั้นเมื่อใช้แบบจำลอง ARIMA ง่ายๆเช่นเราต้องการข้อมูลไปยังท้องถิ่นนิ่ง

  1. ดังที่คุณกล่าวไว้เครื่องเขียนหมายถึงสถิติของโมเดลไม่เปลี่ยนแปลงตลอดเวลา แบบจำลอง ARIMA เป็นแบบจำลองการถดถอยโดยที่คุณใช้ค่า N ที่ผ่านมาเป็นอินพุตไปยังการถดถอยเชิงเส้นเพื่อทำนายค่า N + 1 (อย่างน้อยนั่นคือสิ่งที่ส่วน AR ทำ) เมื่อคุณเรียนรู้รูปแบบที่คุณกำลังเรียนรู้สัมประสิทธิ์การถดถอย หากคุณมีอนุกรมเวลาที่คุณเรียนรู้ความสัมพันธ์ระหว่างจุด N ที่ผ่านมาและจุดต่อไปจากนั้นคุณใช้กับชุด N จุดอื่นเพื่อทำนายค่าถัดไปคุณจะถือว่าความสัมพันธ์เดียวกันอยู่ระหว่าง มีตัวทำนาย N จุดและจุด N + 1 ต่อไปนี้ที่คุณกำลังพยายามทำนาย นั่นคือเครื่องเขียน หากคุณแยกการฝึกซ้อมออกเป็นสองช่วงและฝึกฝนแยกต่างหาก และมีสองแบบที่แตกต่างกันมาก - คุณจะสรุปได้อย่างไร คุณคิดว่าคุณจะรู้สึกมั่นใจที่จะใช้แบบจำลองเหล่านี้เพื่อทำนายข้อมูลใหม่ คุณจะใช้อันไหน ปัญหาเหล่านี้เกิดขึ้นหากข้อมูลนั้นเป็น 'ไม่คงที่'

  2. การใช้ RNN ของฉันคือสิ่งนี้ - คุณยังคงเรียนรู้รูปแบบจากส่วนหนึ่งของอนุกรมเวลาและคุณยังต้องการนำไปใช้กับส่วนอื่นของอนุกรมเวลาเพื่อรับการคาดการณ์ โมเดลเรียนรู้การเป็นตัวแทนที่ง่ายของอนุกรมเวลา - และถ้าการแทนนั้นใช้กับชุดฝึกอบรม แต่ไม่อยู่ในชุดทดสอบมันจะทำงานได้ไม่ดี อย่างไรก็ตามแตกต่างจาก ARIMA, RNNs มีความสามารถในการเรียนรู้แบบไม่เชิงเส้นและโหนดพิเศษเช่นโหนด LSTM จะดีกว่านี้ โดยเฉพาะอย่างยิ่ง LSTMs และ GRUs นั้นดีมากในการเรียนรู้การพึ่งพาระยะยาว ดูตัวอย่างโพสต์บล็อกนี้ อย่างมีประสิทธิภาพหมายความว่าสิ่งที่มีความหมายโดย 'stationarity' มีความเปราะน้อยกว่า RNNs ดังนั้นจึงค่อนข้างกังวลน้อย เพื่อให้สามารถเรียนรู้การพึ่งพาระยะยาวได้คุณจำเป็นต้องมีข้อมูลจำนวนมากในการฝึกอบรม

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


2
คำตอบนี้ยอดเยี่ยม ถือว่าดีและถี่ถ้วน
StatsSorceress

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