การวิเคราะห์อนุกรมเวลาด้วยส่วนประกอบ

การวิเคราะห์อนุกรมเวลาด้วยส่วนประกอบ

คลิกเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับผู้เขียนร่วม Maarit Widmann คลิกเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับผู้เขียนร่วม Daniele Tonini คลิกเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับผู้เขียนร่วม Corey Weisinger ศาสตราจารย์ดานิเอเล โทนีนี กล่าวว่า การคาดการณ์อนุกรมเวลามักถูกละเลยว่า “เมื่อพิจารณาถึงบทความ แอปพลิเคชัน บทแนะนำบนเว็บ และความท้าทายมากมายเกี่ยวกับหัวข้อวิทยาศาสตร์ข้อมูลที่เราเห็นในช่วง 3-5 ปีที่ผ่านมา การค้นหาเพียงแค่ บางส่วนของพวกเขาทุ่มเทให้กับการวิเคราะห์และพยากรณ์อนุกรมเวลา เรากำลังอยู่ในยุคทองของการวิเคราะห์ข้อมูล โดยมีข้อมูลและอัลกอริธึมมากมาย… แต่หัวข้ออย่างการเรียนรู้เชิงลึก ปัญญาประดิษฐ์ และ NLP นั้นดึงดูดความสนใจของผู้ปฏิบัติงานได้ทั้งหมด ในขณะที่แนวคิดของการพยากรณ์อนุกรมเวลา มักถูกละเลย เนื่องจากวิธีการพยากรณ์หลายแบบย้อนหลังไปหลายทศวรรษ จึงค่อนข้างง่ายที่จะพูดว่า “ไม่มีอะไรน่าสนใจเป็นพิเศษที่นั่น… มาเน้นที่อัลกอริธึมแมชชีนเลิร์นนิงใหม่ล่าสุดกันเถอะ!” แต่นี่อาจเป็นความผิดพลาดครั้งใหญ่ เนื่องจากการคาดการณ์ที่แม่นยำและมีความเอนเอียงน้อยกว่านั้นสามารถเป็นหนึ่งในตัวขับเคลื่อนประสิทธิภาพสูงสุดในธุรกิจ การดำเนินงาน การเงิน และวิทยาศาสตร์ (และเพื่อให้ชัดเจนยิ่งขึ้น นวัตกรรมในการวิเคราะห์อนุกรมเวลาคือ ทุกวันนี้ยังคงเคลื่อนไหวอยู่ ถ้าคุณขุดลึกลงไปใต้ผิวน้ำ) การรู้พื้นฐานของการวิเคราะห์อนุกรมเวลาเป็นขั้นตอนสำคัญอย่างหนึ่งในโลกของ Data Science ที่เปิดใช้งานความสามารถที่สำคัญในการจัดการกับลำดับและไดนามิกของเวลา เพื่อที่จะก้าวไปไกลกว่าการวิเคราะห์ข้อมูลภาคตัดขวางทั่วไป การเผชิญกับพื้นฐานของการคาดการณ์ด้วยข้อมูลอนุกรมเวลา การมุ่งเน้นไปที่แนวคิดที่สำคัญ เช่น ฤดูกาล ความสัมพันธ์อัตโนมัติ ความไม่คงที่ ฯลฯ เป็นส่วนสำคัญของการวิเคราะห์ประเภทนี้ การพยากรณ์อาจรู้สึกเหมือนเป็นสัตว์ร้ายที่แตกต่างอย่างสิ้นเชิงจากปัญหาวิทยาศาสตร์ข้อมูลอื่น ๆ เช่นการจำแนกประเภทหรือการทำนายตัวเลข มันเข้ากับกระบวนทัศน์ที่แตกต่างจาก “ข้อมูลใน; ทำนายผล” จากกรณีก่อนหน้านี้ ร่วมกับศาสตราจารย์ Daniele Tonini แห่งมหาวิทยาลัย Bocconi ในเมืองมิลาน ประเทศอิตาลี เราได้สร้างชุดส่วนประกอบใน KNIME เพื่อช่วยเริ่มต้นงานนี้ คอมโพเนนต์คือโหนดที่ห่อหุ้มฟังก์ชันการทำงานของเวิร์กโฟลว์ เช่น การฝึกโมเดล ARIMA ส่วนประกอบสามารถใช้ซ้ำและแชร์ในเครื่อง ผ่านเซิร์ฟเวอร์ หรือบนฮับ ส่วนประกอบสำหรับการวิเคราะห์อนุกรมเวลาครอบคลุมงานต่างๆ ตั้งแต่การรวมและตรวจสอบฤดูกาลในอนุกรมเวลา ไปจนถึงการสร้างแบบจำลอง AutoRegressive Integrated Moving Average (ARIMA) และการตรวจสอบส่วนที่เหลือของแบบจำลอง ส่วนประกอบเหล่านี้ใช้การรวม Python ซึ่งขยายขีดความสามารถในการวิเคราะห์ของ KNIME Analytics Platform สำหรับการวิเคราะห์อนุกรมเวลาด้วยโมดูล statsmodels ใน Python อย่างไรก็ตาม โค้ดจะทำงานในเบื้องหลังเท่านั้น และคุณสามารถกำหนดการตั้งค่าสำหรับแต่ละงาน เช่นเดียวกับโหนด KNIME อื่นๆ: ในไดอะล็อกการกำหนดค่าของคอมโพเนนต์ ส่วนประกอบอนุกรมเวลามีอยู่ในฮับ ลากและวางลงในโปรแกรมแก้ไขเวิร์กโฟลว์ของคุณ และเริ่มสร้างเวิร์กโฟลว์สำหรับการวิเคราะห์อนุกรมเวลา! รูปที่ 1: การเข้าถึงส่วนประกอบอนุกรมเวลา: ลากและวางส่วนประกอบลงในเครื่องมือแก้ไขเวิร์กโฟลว์ของคุณ ในบล็อกโพสต์นี้ เราอยากจะใช้เวลาสักครู่เพื่อแนะนำส่วนประกอบใหม่เหล่านี้เพียงไม่กี่อย่าง และพูดคุยเกี่ยวกับวิธีที่ส่วนประกอบเหล่านี้เชื่อมต่อกันในไปป์ไลน์การวิเคราะห์อนุกรมเวลา . ขั้นตอนในการวิเคราะห์อนุกรมเวลา สมมติว่าคุณมีเซ็นเซอร์ติดอยู่กับบางสิ่ง อาจเป็นมิเตอร์ไฟฟ้าในบ้านของคุณ และคุณต้องการวางแผนงบประมาณของคุณ คุณต้องคาดการณ์ว่าจะใช้พลังมากแค่ไหนในอนาคต การรวมเวลา ขั้นตอนแรกที่เราอาจทำหลังจากเข้าถึงข้อมูลเซ็นเซอร์นี้คือการลดให้เป็นรูปร่างที่สามารถจัดการได้ การรวมข้อมูลนี้อาจเป็นชั่วโมง ไม่เพียงแต่จะลดขนาดข้อมูลลงอย่างมาก แต่ยังทำให้สัญญาณรบกวนบางส่วนราบรื่นขึ้นด้วย สำหรับการดำเนินการนี้ เราจะต้องมีองค์ประกอบ Aggregation Granularity ที่สร้างการใช้พลังงานทั้งหมดในแต่ละวันจากข้อมูลรายชั่วโมง มีรายละเอียดและวิธีการรวมจำนวนมาก และเราสามารถสร้าง ตัวอย่างเช่น ค่าเฉลี่ยรายเดือนจากข้อมูลรายวัน (รูปที่ 2): รูปที่ 2: การรวมอนุกรมเวลาโดยความละเอียดที่เลือกและวิธีการรวมโดยใช้องค์ประกอบ Aggregation Granularity ในตัวอย่างนี้ เราคำนวณค่ารวมรายวันของคอลัมน์ “cluster_10” Timestamp Alignment ต่อไปเราต้องตรวจสอบว่าข้อมูลของเราสะอาด แบบจำลองอนุกรมเวลาหนึ่งข้อสันนิษฐานที่จำเป็นต้องใช้คือข้อมูลที่เว้นระยะอย่างต่อเนื่อง แต่ถ้าเซ็นเซอร์ของเราถูกจับหรือเราไม่ใช้พลังงานเป็นเวลาหนึ่งชั่วโมงล่ะ หากเราพบช่องว่างในอนุกรมเวลาของเรา เราจะเติมช่องว่างนั้น เราเพียงแค่ต้องกำหนดความละเอียดของการเว้นวรรค ซึ่งกำหนดช่องว่างเป็นนาที ชั่วโมง หรือวันที่ขาดหายไป เป็นต้น การประทับเวลาที่แทรกจะถูกเติมด้วยค่าที่หายไปซึ่งสามารถแทนที่ได้ ตัวอย่างเช่น การประมาณค่าเชิงเส้นของอนุกรมเวลา (รูปที่ 3): รูปที่ 3: การเติมช่องว่างในอนุกรมเวลาโดยใช้ส่วนประกอบ Timestamp Alignment ในตัวอย่างนี้ จะไม่มีการรายงานการใช้พลังงานในชั่วโมงสุดท้ายของเดือนมีนาคม , 2010 ดังนั้น การประทับเวลาจะถูกเพิ่มลงในอนุกรมเวลาและเติมด้วยค่าที่ขาดหายไป การตรวจสอบฤดูกาลและแนวโน้ม ตกลง ดังนั้นเราจึงมีข้อมูลที่รวบรวมและทำความสะอาดแล้ว ก่อนที่เราจะเข้าสู่การสร้างแบบจำลอง เราควรสำรวจมันด้วยสายตาเสมอ โมเดลยอดนิยมจำนวนมากใช้อนุกรมเวลาที่อยู่กับที่ ซึ่งหมายความว่าสถิติจะยังคงเหมือนเดิมเมื่อเวลาผ่านไป ดังนั้นเราจึงแยกอนุกรมเวลาออกเป็นเทรนด์และฤดูกาล และในที่สุดก็ปรับโมเดลให้เข้ากับส่วนที่ไม่ปกติ เราสามารถตรวจสอบฤดูกาลในอนุกรมเวลาในพล็อตความสัมพันธ์อัตโนมัติ (ACF) จุดสูงสุดและจุดต่ำสุดปกติในโครงเรื่องจะบอกเกี่ยวกับฤดูกาลในอนุกรมเวลา ซึ่งสามารถลบออกได้โดยการทำให้ข้อมูลที่ล่าช้ามีความสัมพันธ์กันมากที่สุด ในการหาค่าสูงสุดในพื้นที่นี้ เราใช้องค์ประกอบตรวจสอบฤดูกาล (รูปที่ 4) ในการลบฤดูกาลที่ระดับสูงสุดในพื้นที่ เราใช้องค์ประกอบลบฤดูกาล ฤดูกาลที่สอง สาม ฯลฯ สามารถลบออกได้โดยการทำซ้ำขั้นตอนนี้ (รูปที่ 5): รูปที่ 4: การตรวจสอบฤดูกาลในอนุกรมเวลาโดยใช้องค์ประกอบตรวจสอบฤดูกาล พบความสัมพันธ์สูงสุดระหว่างค่าปัจจุบันและค่า 24 ชั่วโมงก่อนหน้า รูปที่ 5: การลบฤดูกาลในอนุกรมเวลาโดยใช้องค์ประกอบลบฤดูกาล ในตัวอย่างนี้ ฤดูกาลแรก (รายวัน) จะถูกลบออกโดยแยกความแตกต่างของข้อมูลที่ล่าช้า ซึ่งเป็นฤดูกาลแรก (รายวัน) ที่กำหนดโดยฤดูกาลตรวจสอบ ส่วนประกอบ. พล็อตความสัมพันธ์อัตโนมัติจะแสดงฤดูกาลที่สอง (รายสัปดาห์) ซึ่งสามารถลบออกได้โดยใช้องค์ประกอบลบฤดูกาลอีกครั้ง การสลายตัวของสัญญาณโดยอัตโนมัติ ในส่วนก่อนหน้านี้ เราได้ตรวจสอบสัญญาณของเราและทำให้แตกต่างออกไป จากนั้นเราตรวจสอบฤดูกาลที่สองและแยกความแตกต่าง นี่เป็นกลยุทธ์ที่ดีอย่างสมบูรณ์และให้คุณควบคุมการประมวลผลข้อมูลของคุณได้อย่างสมบูรณ์ เราได้เผยแพร่ส่วนประกอบที่เรียกว่า Decompose Signal มันจะตรวจสอบสัญญาณของคุณโดยอัตโนมัติสำหรับแนวโน้มและฤดูกาลสองระดับ ส่งคืนองค์ประกอบที่สลายตัวและสัญญาณที่เหลือของคุณเพื่อการวิเคราะห์เพิ่มเติม (รูปที่ 6) บางทีกับส่วนประกอบ ARIMA ของเราในหัวข้อถัดไป รูปที่ 6: มุมมองเอาต์พุตของส่วนประกอบสัญญาณสลายตัว มุมมองแสดงความคืบหน้าของสัญญาณในขณะที่มันดำเนินผ่านขั้นตอนการสลายตัวตลอดจนแผน ACF ตามลำดับ ในตัวอย่างนี้ เราลบเทรนด์ (เล็กน้อยมาก) และฤดูกาลสองชั้นที่แสดงในแผนภาพเส้นทางด้านซ้าย สองฤดูกาลแรกเป็นรายวัน () และรายสัปดาห์ (168) การสร้างแบบจำลอง ARIMA เราใกล้จะถึงจุดนั้นแล้ว เราบรรลุข้อกำหนดในการหยุดนิ่งของแบบจำลองอย่าง ARIMA แล้ว เราสามารถสร้างโมเดลนี้ได้อย่างง่ายดายด้วยส่วนประกอบ ARIMA Learner ใหม่ (อัตโนมัติ) เมื่อเราสร้างแบบจำลอง ARIMA เราจำเป็นต้องกำหนดพารามิเตอร์สามตัวที่กำหนดโครงสร้างชั่วคราวที่แบบจำลองจับ พารามิเตอร์เหล่านี้บอกความสัมพันธ์ระหว่างค่าปัจจุบันและค่าที่ล่าช้า (ลำดับ AR) ระหว่างข้อผิดพลาดในการคาดการณ์ปัจจุบันและข้อผิดพลาดในการคาดการณ์ที่ล่าช้า (คำสั่ง MA) และระดับของความแตกต่างที่จำเป็นในการทำให้อนุกรมเวลาคงที่ (คำสั่ง I) คำสั่ง AR, I และ MA ที่ดีที่สุดสามารถกำหนดได้โดยการสำรวจแผนภาพความสัมพันธ์อัตโนมัติ (บางส่วน) ของอนุกรมเวลา ด้วยคำสั่ง AR, I และ MA ที่กำหนดไว้ เราสามารถฝึกโมเดล ARIMA ได้ อย่างไรก็ตาม การกำหนดค่าพารามิเตอร์ไม่ได้ตรงไปตรงมาเสมอไป ในกรณีเช่นนี้ เราสามารถให้ค่าสูงสุดสำหรับพารามิเตอร์เหล่านี้ ฝึกโมเดล ARIMA หลายตัว และเลือกค่าที่ทำงานได้ดีที่สุดตามเกณฑ์ข้อมูล AIC หรือ BIC เราสามารถทำได้ด้วยคอมโพเนนต์ Auto ARIMA Learner ส่วนประกอบทั้งสองจะแสดงแบบจำลอง สถิติสรุป และค่าคงเหลือในการคาดการณ์ในตัวอย่าง (รูปที่ 7): รูปที่ 7: การฝึกโมเดล ARIMA โดยใช้ส่วนประกอบ ARIMA Learner และ Auto ARIMA Learner คอมโพเนนต์ ARIMA Learner จะฝึกโมเดลด้วยคำสั่ง AR, I และ MA ที่กำหนดไว้ล่วงหน้า คอมโพเนนต์ Auto ARIMA Learner จะฝึกโมเดลหลายรุ่นด้วยชุดคำสั่ง AR, I และ MA ที่แตกต่างกันภายในช่วงที่กำหนด และสร้างโมเดลที่มีประสิทธิภาพดีที่สุดในผลลัพธ์ ข้อมูลที่ส่งออกของส่วนประกอบแสดงสถิติสรุปแบบจำลองและเศษเหลือจากการพยากรณ์ในตัวอย่าง การพยากรณ์โดยแบบจำลอง ARIMA ในที่สุด เราก็พร้อมที่จะสร้างแบบจำลองแล้ว เราจำเป็นต้องสร้างการคาดการณ์นั้นเพื่อที่เราจะสามารถเติมรายการพลังงานในงบประมาณของเราได้! คอมโพเนนต์ ARIMA Predictor ใช้แบบจำลองกับข้อมูลการฝึกอบรม และสร้างการคาดการณ์ทั้งในตัวอย่างและนอกตัวอย่าง สำหรับการคาดการณ์ที่ไม่อยู่ในตัวอย่าง เราจำเป็นต้องกำหนดขอบฟ้าการคาดการณ์ ในกรณีของเราที่นี่ เราเลือกขอบฟ้าการคาดการณ์ “1” หากเราสนใจเกี่ยวกับการใช้พลังงานโดยประมาณในชั่วโมงถัดไป สำหรับวันถัดไป 168 สำหรับสัปดาห์หน้าเป็นต้น สำหรับการคาดการณ์ในตัวอย่าง เราสามารถใช้ค่าการคาดการณ์เพื่อสร้างการคาดการณ์ในตัวอย่างใหม่ (การคาดการณ์แบบไดนามิก) หรือใช้ค่าจริงสำหรับการคาดการณ์ในตัวอย่างทั้งหมด นอกจากนี้ หากลำดับ I ของแบบจำลอง ARIMA มีค่ามากกว่าศูนย์ เราจะกำหนดว่าเราคาดการณ์อนุกรมเวลาเดิม (ระดับ) หรือส่วนต่าง (เชิงเส้น) (รูปที่ 8): รูปที่ 8: การสร้างการคาดการณ์ในตัวอย่างและนอกตัวอย่างด้วยองค์ประกอบ ARIMA Predictor เราสามารถควบคุมจำนวนการพยากรณ์ที่ไม่อยู่ในตัวอย่างได้ก่อน ประการที่สองว่าค่าจริงหรือค่าพยากรณ์ (การทำนายแบบไดนามิก) จะใช้สำหรับการคาดการณ์ในตัวอย่าง และประการที่สามไม่ว่าจะคาดการณ์อนุกรมเวลาเดิมหรือส่วนต่างหรือไม่ ถ้าลำดับ I ของแบบจำลองคือ มากกว่าศูนย์ วิเคราะห์ค่าคงเหลือที่คาดการณ์ ก่อนที่เราจะปรับใช้แบบจำลองของเราและใช้ประโยชน์จากมันจริงๆ สิ่งสำคัญคือเราต้องมั่นใจในมัน แพลตฟอร์มการวิเคราะห์ของ KNIME มีเครื่องมือมากมายสำหรับการวิเคราะห์คุณภาพของแบบจำลอง ตั้งแต่เส้นโค้ง ROC ไปจนถึงเมทริกซ์ที่สับสนกับโหนดผู้บันทึกคะแนน ไปจนถึงคะแนนทางสถิติ เช่น MSE เรายังได้เพิ่มส่วนประกอบที่สร้างขึ้นโดยเฉพาะสำหรับ ARIMA ตกค้าง: ส่วนประกอบวิเคราะห์ ARIMA ตกค้าง องค์ประกอบนี้จะใช้การทดสอบ Ljung-Box ของความสัมพันธ์อัตโนมัติสำหรับความล่าช้าครั้งแรก 10 และรายงานว่าสมมติฐานคงที่ถูกปฏิเสธหรือไม่โดยยึดตาม 95% ระดับความเชื่อมั่น (รูปที่ 9) นอกจากนี้ยังจะแสดงแผน ACF สำหรับส่วนที่เหลือและแผนการวินิจฉัยอื่นๆ อีกสองสามรายการ รูปที่ 9: มุมมองผลลัพธ์ขององค์ประกอบ Analyze ARIMA Residuals ที่แสดงแผนภาพ ACF รวมถึงสถิติ LB-Test และหากคุณเลื่อนลงไปที่พล็อตเวลาที่เหลือและการวัดความปกติ ในการใช้องค์ประกอบ Analyze ARIMA Residuals เพียงเลือกคอลัมน์ข้อมูลที่เหลือและระดับความอิสระที่เหมาะสมสำหรับโมเดลอินพุตของคุณ สรุป! ในบล็อกโพสต์นี้ เราได้แนะนำขั้นตอนสองสามขั้นตอนในการวิเคราะห์อนุกรมเวลาและวิธีดำเนินการต่างๆ ตั้งแต่การประมวลผลล่วงหน้าไปจนถึงการแสดงภาพ การแยกส่วน การสร้างแบบจำลอง และการคาดการณ์อนุกรมเวลาโดยใช้ส่วนประกอบของอนุกรมเวลาที่มีอยู่ในฮับ แน่นอน การดำเนินการที่จำเป็นในอนุกรมเวลาก่อนการประมวลผลมักจะเป็นมากกว่าแค่การรวมอนุกรมเวลาและการตรวจสอบฤดูกาล นอกจากโมเดล ARIMA แล้ว อนุกรมเวลายังสามารถคาดการณ์ได้โดยใช้วิธีการแบบคลาสสิก วิธีการที่ใช้แมชชีนเลิร์นนิง และโครงข่ายประสาทเทียม

  • บ้าน
  • ธุรกิจ
  • วิทยาศาสตร์ข้อมูล
  • การตลาดดิจิทัล

  • ตลาดการค้า
  • Leave a comment

    Your email address will not be published. Required fields are marked *