การแยกส่วนประกอบอนุกรมเวลา
ในการวิเคราะห์ข้อมูลอนุกรมเวลา ควรสังเกตรูปแบบที่สำคัญดังนี้
- ฤดูกาล (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(____)