|
3 weeks ago | |
---|---|---|
.. | ||
solution | 3 weeks ago | |
working | 3 weeks ago | |
README.md | 3 weeks ago | |
assignment.md | 3 weeks ago |
README.md
บทนำสู่การพยากรณ์ข้อมูลอนุกรมเวลา
สเก็ตโน้ตโดย Tomomi Imura
ในบทเรียนนี้และบทเรียนถัดไป คุณจะได้เรียนรู้เกี่ยวกับการพยากรณ์ข้อมูลอนุกรมเวลา ซึ่งเป็นส่วนที่น่าสนใจและมีคุณค่าของเครื่องมือในคลังของนักวิทยาศาสตร์ ML แม้ว่าจะไม่เป็นที่รู้จักเท่าหัวข้ออื่น ๆ การพยากรณ์ข้อมูลอนุกรมเวลาเปรียบเสมือน 'ลูกแก้ววิเศษ': โดยอ้างอิงจากข้อมูลในอดีต เช่น ราคา คุณสามารถคาดการณ์มูลค่าในอนาคตได้
🎥 คลิกที่ภาพด้านบนเพื่อดูวิดีโอเกี่ยวกับการพยากรณ์ข้อมูลอนุกรมเวลา
แบบทดสอบก่อนเรียน
นี่เป็นสาขาที่มีประโยชน์และน่าสนใจซึ่งมีคุณค่าต่อธุรกิจ เนื่องจากสามารถนำไปใช้แก้ปัญหาเกี่ยวกับการตั้งราคา การจัดการสินค้าคงคลัง และปัญหาในห่วงโซ่อุปทาน แม้ว่าจะมีการนำเทคนิคการเรียนรู้เชิงลึกมาใช้เพื่อให้ได้ข้อมูลเชิงลึกมากขึ้นในการพยากรณ์ประสิทธิภาพในอนาคต แต่การพยากรณ์ข้อมูลอนุกรมเวลายังคงเป็นสาขาที่ได้รับอิทธิพลอย่างมากจากเทคนิค ML แบบคลาสสิก
หลักสูตรเกี่ยวกับข้อมูลอนุกรมเวลาที่มีประโยชน์จาก Penn State สามารถดูได้ ที่นี่
บทนำ
สมมติว่าคุณดูแลระบบมิเตอร์จอดรถอัจฉริยะที่ให้ข้อมูลเกี่ยวกับความถี่และระยะเวลาการใช้งานในช่วงเวลาต่าง ๆ
จะเป็นอย่างไรถ้าคุณสามารถคาดการณ์มูลค่าในอนาคตของมิเตอร์ตามกฎของอุปสงค์และอุปทาน โดยอ้างอิงจากประสิทธิภาพในอดีต?
การคาดการณ์ช่วงเวลาที่เหมาะสมในการดำเนินการเพื่อให้บรรลุเป้าหมายเป็นความท้าทายที่สามารถแก้ไขได้ด้วยการพยากรณ์ข้อมูลอนุกรมเวลา แม้ว่าการคิดค่าบริการเพิ่มขึ้นในช่วงเวลาที่มีความต้องการสูงอาจไม่ทำให้ผู้คนพอใจ แต่ก็เป็นวิธีที่แน่นอนในการสร้างรายได้เพื่อทำความสะอาดถนน!
มาสำรวจประเภทของอัลกอริทึมข้อมูลอนุกรมเวลาและเริ่มต้นสร้างโน้ตบุ๊กเพื่อทำความสะอาดและเตรียมข้อมูลกัน ข้อมูลที่คุณจะวิเคราะห์นำมาจากการแข่งขันการพยากรณ์ GEFCom2014 ซึ่งประกอบด้วยข้อมูลการใช้ไฟฟ้ารายชั่วโมงและอุณหภูมิระหว่างปี 2012 ถึง 2014 โดยอ้างอิงจากรูปแบบในอดีตของการใช้ไฟฟ้าและอุณหภูมิ คุณสามารถคาดการณ์ค่าการใช้ไฟฟ้าในอนาคตได้
ในตัวอย่างนี้ คุณจะได้เรียนรู้วิธีการพยากรณ์ล่วงหน้า 1 ขั้นตอน โดยใช้ข้อมูลการใช้ไฟฟ้าในอดีตเท่านั้น อย่างไรก็ตาม ก่อนเริ่มต้น จะเป็นประโยชน์ที่จะเข้าใจสิ่งที่เกิดขึ้นเบื้องหลัง
คำจำกัดความบางประการ
เมื่อพบคำว่า 'ข้อมูลอนุกรมเวลา' คุณจำเป็นต้องเข้าใจการใช้งานในบริบทต่าง ๆ
🎓 ข้อมูลอนุกรมเวลา
ในทางคณิตศาสตร์ "ข้อมูลอนุกรมเวลา คือชุดของจุดข้อมูลที่จัดเรียงตามลำดับเวลา โดยทั่วไปข้อมูลอนุกรมเวลาคือชุดข้อมูลที่เก็บรวบรวมในช่วงเวลาที่มีระยะห่างเท่ากัน" ตัวอย่างของข้อมูลอนุกรมเวลาคือค่าปิดตลาดรายวันของ Dow Jones Industrial Average การใช้กราฟข้อมูลอนุกรมเวลาและการสร้างแบบจำลองทางสถิติมักพบในงานประมวลผลสัญญาณ การพยากรณ์อากาศ การคาดการณ์แผ่นดินไหว และสาขาอื่น ๆ ที่เหตุการณ์เกิดขึ้นและจุดข้อมูลสามารถวางกราฟตามเวลาได้
🎓 การวิเคราะห์ข้อมูลอนุกรมเวลา
การวิเคราะห์ข้อมูลอนุกรมเวลา คือการวิเคราะห์ข้อมูลอนุกรมเวลาที่กล่าวถึงข้างต้น ข้อมูลอนุกรมเวลาอาจมีรูปแบบที่แตกต่างกัน รวมถึง 'ข้อมูลอนุกรมเวลาที่ถูกขัดจังหวะ' ซึ่งตรวจจับรูปแบบในวิวัฒนาการของข้อมูลอนุกรมเวลาก่อนและหลังเหตุการณ์ที่ขัดจังหวะ ประเภทของการวิเคราะห์ที่จำเป็นสำหรับข้อมูลอนุกรมเวลาขึ้นอยู่กับลักษณะของข้อมูล ข้อมูลอนุกรมเวลาเองอาจอยู่ในรูปแบบของชุดตัวเลขหรืออักขระ
การวิเคราะห์ที่ดำเนินการใช้วิธีการหลากหลาย รวมถึงการวิเคราะห์ในโดเมนความถี่และโดเมนเวลา แบบเชิงเส้นและไม่เชิงเส้น และอื่น ๆ เรียนรู้เพิ่มเติม เกี่ยวกับวิธีการวิเคราะห์ข้อมูลประเภทนี้
🎓 การพยากรณ์ข้อมูลอนุกรมเวลา
การพยากรณ์ข้อมูลอนุกรมเวลา คือการใช้แบบจำลองเพื่อคาดการณ์ค่าที่จะเกิดขึ้นในอนาคต โดยอ้างอิงจากรูปแบบที่แสดงโดยข้อมูลที่รวบรวมไว้ในอดีต แม้ว่าจะสามารถใช้แบบจำลองการถดถอยเพื่อสำรวจข้อมูลอนุกรมเวลา โดยใช้ดัชนีเวลาเป็นตัวแปร x บนกราฟ แต่ข้อมูลดังกล่าวเหมาะสมที่สุดที่จะวิเคราะห์โดยใช้แบบจำลองเฉพาะประเภท
ข้อมูลอนุกรมเวลาเป็นรายการของการสังเกตที่จัดเรียงตามลำดับ ซึ่งแตกต่างจากข้อมูลที่สามารถวิเคราะห์ได้ด้วยการถดถอยเชิงเส้น แบบจำลองที่พบมากที่สุดคือ ARIMA ซึ่งเป็นคำย่อของ "Autoregressive Integrated Moving Average"
แบบจำลอง ARIMA "เชื่อมโยงค่าปัจจุบันของชุดข้อมูลกับค่าที่ผ่านมาและข้อผิดพลาดในการพยากรณ์ที่ผ่านมา" แบบจำลองเหล่านี้เหมาะสมที่สุดสำหรับการวิเคราะห์ข้อมูลในโดเมนเวลา ซึ่งข้อมูลถูกจัดเรียงตามเวลา
มีหลายประเภทของแบบจำลอง ARIMA ซึ่งคุณสามารถเรียนรู้เพิ่มเติม ที่นี่ และคุณจะได้สัมผัสในบทเรียนถัดไป
ในบทเรียนถัดไป คุณจะสร้างแบบจำลอง ARIMA โดยใช้ ข้อมูลอนุกรมเวลาแบบตัวแปรเดียว ซึ่งเน้นที่ตัวแปรเดียวที่เปลี่ยนแปลงค่าตามเวลา ตัวอย่างของข้อมูลประเภทนี้คือ ชุดข้อมูลนี้ ที่บันทึกความเข้มข้นของ CO2 รายเดือนที่หอดูดาว Mauna Loa:
CO2 | YearMonth | Year | Month |
---|---|---|---|
330.62 | 1975.04 | 1975 | 1 |
331.40 | 1975.13 | 1975 | 2 |
331.87 | 1975.21 | 1975 | 3 |
333.18 | 1975.29 | 1975 | 4 |
333.92 | 1975.38 | 1975 | 5 |
333.43 | 1975.46 | 1975 | 6 |
331.85 | 1975.54 | 1975 | 7 |
330.01 | 1975.63 | 1975 | 8 |
328.51 | 1975.71 | 1975 | 9 |
328.41 | 1975.79 | 1975 | 10 |
329.25 | 1975.88 | 1975 | 11 |
330.97 | 1975.96 | 1975 | 12 |
✅ ระบุตัวแปรที่เปลี่ยนแปลงตามเวลาในชุดข้อมูลนี้
ลักษณะของข้อมูลอนุกรมเวลาที่ควรพิจารณา
เมื่อดูข้อมูลอนุกรมเวลา คุณอาจสังเกตเห็นว่ามันมี ลักษณะบางประการ ที่คุณต้องคำนึงถึงและลดผลกระทบเพื่อทำความเข้าใจรูปแบบของมันได้ดีขึ้น หากคุณพิจารณาข้อมูลอนุกรมเวลาเป็น 'สัญญาณ' ที่คุณต้องการวิเคราะห์ ลักษณะเหล่านี้สามารถถือเป็น 'เสียงรบกวน' คุณมักจะต้องลด 'เสียงรบกวน' นี้โดยใช้เทคนิคทางสถิติเพื่อชดเชยลักษณะบางประการเหล่านี้
นี่คือแนวคิดบางประการที่คุณควรรู้เพื่อทำงานกับข้อมูลอนุกรมเวลา:
🎓 แนวโน้ม
แนวโน้มหมายถึงการเพิ่มขึ้นและลดลงที่สามารถวัดได้ตามเวลา อ่านเพิ่มเติม ในบริบทของข้อมูลอนุกรมเวลาเกี่ยวกับวิธีการใช้และหากจำเป็นต้องลบแนวโน้มออกจากข้อมูลอนุกรมเวลา
🎓 ฤดูกาล
ฤดูกาลหมายถึงความผันผวนที่เกิดขึ้นเป็นระยะ เช่น ช่วงเทศกาลที่อาจส่งผลต่อยอดขาย ดูเพิ่มเติม เกี่ยวกับวิธีการแสดงฤดูกาลในข้อมูลด้วยกราฟประเภทต่าง ๆ
🎓 ค่าผิดปกติ
ค่าผิดปกติคือค่าที่อยู่ห่างจากความแปรปรวนของข้อมูลมาตรฐาน
🎓 วัฏจักรระยะยาว
นอกเหนือจากฤดูกาล ข้อมูลอาจแสดงวัฏจักรระยะยาว เช่น ภาวะเศรษฐกิจตกต่ำที่กินเวลานานกว่าหนึ่งปี
🎓 ความแปรปรวนคงที่
ในช่วงเวลา ข้อมูลบางอย่างแสดงความผันผวนคงที่ เช่น การใช้พลังงานในช่วงกลางวันและกลางคืน
🎓 การเปลี่ยนแปลงอย่างฉับพลัน
ข้อมูลอาจแสดงการเปลี่ยนแปลงอย่างฉับพลันที่อาจต้องการการวิเคราะห์เพิ่มเติม เช่น การปิดกิจการอย่างฉับพลันเนื่องจาก COVID ซึ่งทำให้ข้อมูลเปลี่ยนแปลง
✅ นี่คือตัวอย่างกราฟข้อมูลอนุกรมเวลา กราฟนี้ แสดงการใช้เงินในเกมรายวันในช่วงหลายปี คุณสามารถระบุลักษณะใด ๆ ที่กล่าวถึงข้างต้นในข้อมูลนี้ได้หรือไม่?
แบบฝึกหัด - เริ่มต้นกับข้อมูลการใช้พลังงาน
มาเริ่มต้นสร้างแบบจำลองข้อมูลอนุกรมเวลาเพื่อคาดการณ์การใช้พลังงานในอนาคตโดยอ้างอิงจากการใช้ในอดีตกัน
ข้อมูลในตัวอย่างนี้นำมาจากการแข่งขันการพยากรณ์ GEFCom2014 ซึ่งประกอบด้วยข้อมูลการใช้ไฟฟ้ารายชั่วโมงและอุณหภูมิระหว่างปี 2012 ถึง 2014
Tao Hong, Pierre Pinson, Shu Fan, Hamidreza Zareipour, Alberto Troccoli และ Rob J. Hyndman, "การพยากรณ์พลังงานเชิงความน่าจะเป็น: การแข่งขันการพยากรณ์พลังงานระดับโลก 2014 และอื่น ๆ", International Journal of Forecasting, vol.32, no.3, pp 896-913, กรกฎาคม-กันยายน, 2016.
-
ในโฟลเดอร์
working
ของบทเรียนนี้ เปิดไฟล์ notebook.ipynb เริ่มต้นโดยเพิ่มไลบรารีที่ช่วยให้คุณโหลดและแสดงผลข้อมูลimport os import matplotlib.pyplot as plt from common.utils import load_data %matplotlib inline
หมายเหตุ คุณกำลังใช้ไฟล์จากโฟลเดอร์
common
ที่รวมอยู่ซึ่งตั้งค่าสภาพแวดล้อมของคุณและจัดการการดาวน์โหลดข้อมูล -
จากนั้น ตรวจสอบข้อมูลในรูปแบบ dataframe โดยเรียกใช้
load_data()
และhead()
:data_dir = './data' energy = load_data(data_dir)[['load']] energy.head()
คุณจะเห็นว่ามีสองคอลัมน์ที่แสดงวันที่และการใช้พลังงาน:
load 2012-01-01 00:00:00 2698.0 2012-01-01 01:00:00 2558.0 2012-01-01 02:00:00 2444.0 2012-01-01 03:00:00 2402.0 2012-01-01 04:00:00 2403.0 -
ตอนนี้ ลองสร้างกราฟข้อมูลโดยเรียกใช้
plot()
:energy.plot(y='load', subplots=True, figsize=(15, 8), fontsize=12) plt.xlabel('timestamp', fontsize=12) plt.ylabel('load', fontsize=12) plt.show()
-
จากนั้น ลองสร้างกราฟสำหรับสัปดาห์แรกของเดือนกรกฎาคม 2014 โดยระบุช่วงเวลาในรูปแบบ
[จากวันที่]: [ถึงวันที่]
:energy['2014-07-01':'2014-07-07'].plot(y='load', subplots=True, figsize=(15, 8), fontsize=12) plt.xlabel('timestamp', fontsize=12) plt.ylabel('load', fontsize=12) plt.show()
กราฟที่สวยงาม! ลองดูกราฟเหล่านี้และดูว่าคุณสามารถระบุลักษณะใด ๆ ที่กล่าวถึงข้างต้นได้หรือไม่ เราสามารถสรุปอะไรได้จากการแสดงผลข้อมูลนี้?
ในบทเรียนถัดไป คุณจะสร้างแบบจำลอง ARIMA เพื่อสร้างการพยากรณ์
🚀ความท้าทาย
ลองทำรายการอุตสาหกรรมและสาขาการศึกษาทั้งหมดที่คุณคิดว่าสามารถได้รับประโยชน์จากการพยากรณ์ข้อมูลอนุกรมเวลา คุณสามารถคิดถึงการประยุกต์ใช้เทคนิคเหล่านี้ในศิลปะ เศรษฐมิติ นิเวศวิทยา การค้าปลีก อุตสาหกรรม การเงิน หรือที่อื่น ๆ ได้หรือไม่?
แบบทดสอบหลังเรียน
ทบทวนและศึกษาด้วยตนเอง
แม้ว่าเราจะไม่ได้กล่าวถึงในที่นี้ แต่บางครั้งเครือข่ายประสาทเทียมถูกนำมาใช้เพื่อเพิ่มประสิทธิภาพวิธีการคลาสสิกของการพยากรณ์ข้อมูลอนุกรมเวลา อ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ ในบทความนี้
งานที่ได้รับมอบหมาย
ลองแสดงผลข้อมูลอนุกรมเวลาเพิ่มเติม
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้