เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแยกส่วนประกอบอนุกรมเวลา

ในการวิเคราะห์ข้อมูลอนุกรมเวลา ควรสังเกตรูปแบบที่สำคัญดังนี้

  • ฤดูกาล (seasonality): ข้อมูลแสดงรูปแบบที่เกิดซ้ำอย่างสม่ำเสมอหรือไม่?
  • แนวโน้ม (trend): ข้อมูลมีทิศทางขึ้นหรือลงอย่างต่อเนื่องหรือไม่?
  • สัญญาณรบกวน (noise): มีจุดข้อมูลผิดปกติหรือค่าที่หายไปซึ่งไม่สอดคล้องกับข้อมูลส่วนที่เหลือหรือไม่?

สามารถใช้วิธีที่เรียกว่าการแยกส่วนประกอบอนุกรมเวลา (time-series decomposition) เพื่อดึงและวัดโครงสร้างของข้อมูลอนุกรมเวลาโดยอัตโนมัติ ไลบรารี statsmodels มีฟังก์ชัน seasonal_decompose() ที่ช่วยให้ทำการแยกส่วนประกอบได้ทันที

decomposition = sm.tsa.seasonal_decompose(time_series)

สามารถดึงส่วนประกอบที่ต้องการออกมาได้ เช่น ส่วนของฤดูกาล โดยเข้าถึง attribute seasonal ของออบเจ็กต์การแยกส่วนประกอบ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การแสดงภาพข้อมูล Time Series ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้า statsmodels.api โดยใช้ alias ว่า sm
  • ทำการแยกส่วนประกอบอนุกรมเวลาจาก DataFrame co2_levels แล้วเก็บผลลัพธ์ไว้ในตัวแปรชื่อ decomposition
  • แสดงผลส่วนประกอบฤดูกาลจากการแยกส่วนประกอบอนุกรมเวลา

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import statsmodels.api as sm
import ____ as ____

# Perform time series decompositon
decomposition = sm.tsa.____(____)

# Print the seasonality component
print(____)
แก้ไขและรันโค้ด