You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/th/7-TimeSeries/1-Introduction/README.md

25 KiB

บทนำสู่การพยากรณ์ข้อมูลอนุกรมเวลา

สรุปข้อมูลอนุกรมเวลาในรูปแบบสเก็ตโน้ต

สเก็ตโน้ตโดย 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.

  1. ในโฟลเดอร์ working ของบทเรียนนี้ เปิดไฟล์ notebook.ipynb เริ่มต้นโดยเพิ่มไลบรารีที่ช่วยให้คุณโหลดและแสดงผลข้อมูล

    import os
    import matplotlib.pyplot as plt
    from common.utils import load_data
    %matplotlib inline
    

    หมายเหตุ คุณกำลังใช้ไฟล์จากโฟลเดอร์ common ที่รวมอยู่ซึ่งตั้งค่าสภาพแวดล้อมของคุณและจัดการการดาวน์โหลดข้อมูล

  2. จากนั้น ตรวจสอบข้อมูลในรูปแบบ 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
  3. ตอนนี้ ลองสร้างกราฟข้อมูลโดยเรียกใช้ plot():

    energy.plot(y='load', subplots=True, figsize=(15, 8), fontsize=12)
    plt.xlabel('timestamp', fontsize=12)
    plt.ylabel('load', fontsize=12)
    plt.show()
    

    กราฟพลังงาน

  4. จากนั้น ลองสร้างกราฟสำหรับสัปดาห์แรกของเดือนกรกฎาคม 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 แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้