0Pricing
Learn AI with Python · บทเรียน

องค์ประกอบของอนุกรมเวลาและภาวะสถิต

แนวโน้ม ฤดูกาล สัญญาณรบกวน การทดสอบ ADF สำหรับภาวะสถิต และการหาผลต่างเพื่อให้ข้อมูลมีภาวะสถิต

องค์ประกอบของอนุกรมเวลาและภาวะสถิต เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

อนุกรมเวลาคืออะไร

อนุกรมเวลา คือข้อมูลที่จัดดัชนีตามลำดับเวลา เช่น ยอดขายรายวันหรืออุณหภูมิรายชั่วโมง เนื่องจากข้อมูลถูกเรียงลำดับและมักมีความสัมพันธ์กัน จึงต้องใช้เทคนิคเฉพาะ คุณไม่สามารถสลับแถวแบบสุ่มเหมือนข้อมูลตารางทั่วไปได้

องค์ประกอบสามประการ

มุมมองแบบคลาสสิกจะแยกอนุกรมออกเป็น:

  • แนวโน้ม: การเคลื่อนไหวขึ้นหรือลงในระยะยาว
  • ฤดูกาล: รูปแบบที่เกิดซ้ำในช่วงเวลาคงที่ เช่น รายสัปดาห์หรือรายปี
  • ค่าคงเหลือ: สัญญาณรบกวนแบบสุ่มที่เหลืออยู่หลังจากนำแนวโน้มและฤดูกาลออกแล้ว

แบบบวกกับแบบคูณ

ในแบบจำลอง บวก: y = trend + seasonality + residual ใช้เมื่อความผันผวนตามฤดูกาลมีขนาดคงที่

ในแบบจำลอง คูณ: y = trend * seasonality * residual ใช้เมื่อความผันผวนตามฤดูกาลเพิ่มขึ้นตามแนวโน้ม

seasonal_decompose

ไลบรารีสำหรับแบบจำลองทางสถิติสามารถแยกอนุกรมออกเป็นองค์ประกอบต่าง ๆ ได้โดยอัตโนมัติ

from statsmodels.tsa.seasonal import seasonal_decompose

result = seasonal_decompose(series, model="additive", period=12)
result.trend
result.seasonal
result.resid

การแสดงการแยกองค์ประกอบด้วยภาพ

การวาดผลลัพธ์จะแสดงองค์ประกอบแต่ละส่วนเรียงซ้อนกัน ทำให้มองเห็นแนวโน้มและฤดูกาลได้ง่าย และช่วยให้คุณเลือกแนวทางการพยากรณ์ได้

import matplotlib.pyplot as plt

result.plot()
plt.tight_layout()
plt.show()

ภาวะอยู่กับที่คืออะไร

อนุกรมจะอยู่ใน ภาวะอยู่กับที่ เมื่อคุณสมบัติทางสถิติของอนุกรม เช่น ค่าเฉลี่ย ความแปรปรวน และสหสัมพันธ์ในตัวเอง คงที่ตลอดเวลา แบบจำลองคลาสสิกจำนวนมาก เช่น ARIMA ตั้งสมมติฐานว่าอนุกรมอยู่กับที่ ดังนั้นการตรวจสอบและทำให้เกิดภาวะนี้จึงเป็นขั้นตอนแรกที่สำคัญ

เหตุใดภาวะอยู่กับที่จึงสำคัญ

หากค่าเฉลี่ยเปลี่ยนไปเรื่อย ๆ หรือความแปรปรวนเพิ่มขึ้นอย่างรุนแรงตามเวลา แบบจำลองที่ปรับเข้ากับข้อมูลช่วงต้นจะไม่สามารถใช้ได้ดีกับข้อมูลช่วงหลัง การนำแนวโน้มออกและทำให้ความแปรปรวนมีเสถียรภาพช่วยให้พยากรณ์อนุกรมได้อย่างสม่ำเสมอ

การทดสอบ ADF

การทดสอบ Augmented Dickey-Fuller (ADF) ใช้ตรวจสอบภาวะอยู่กับที่ สมมติฐานว่างคือ "ไม่อยู่กับที่ (มีรากหนึ่งหน่วย)" หากค่า p ต่ำกว่า 0.05 คุณสามารถปฏิเสธสมมติฐานว่างและถือว่าอนุกรมอยู่กับที่ได้

from statsmodels.tsa.stattools import adfuller

stat, pvalue, *_ = adfuller(series)
print("p-value:", pvalue)
# pvalue < 0.05  -> stationary

การหาผลต่างเพื่อให้เกิดภาวะอยู่กับที่

การหาผลต่าง นำค่าก่อนหน้ามาลบออกจากแต่ละค่าเพื่อกำจัดแนวโน้ม การหาผลต่างอันดับหนึ่งมักจัดการกับแนวโน้มเชิงเส้นได้ หากจำเป็นให้ทำซ้ำอีกครั้ง

diff1 = series.diff().dropna()      # first difference
diff2 = series.diff().diff().dropna()  # second difference

การยืนยันหลังการหาผลต่าง

เรียกใช้การทดสอบ ADF อีกครั้งกับอนุกรมที่ผ่านการหาผลต่างแล้ว เมื่อค่า p ลดลงต่ำกว่า 0.05 แสดงว่าคุณทำให้อนุกรมอยู่ในภาวะอยู่กับที่ได้สำเร็จ และได้บันทึกอันดับการหาผลต่าง d ซึ่งจะถูกนำไปใช้โดยตรงใน ARIMA

stat, pvalue, *_ = adfuller(series.diff().dropna())
print("p-value after differencing:", pvalue)

การแปลงรูปแบบอื่นเพื่อเพิ่มเสถียรภาพ

หากความแปรปรวนเพิ่มขึ้นตามเวลา การแปลงแบบ log หรือ บ็อกซ์–ค็อกซ์ จะช่วยทำให้ความแปรปรวนมีเสถียรภาพก่อนการหาผลต่าง การใช้การแปลงแบบ log ร่วมกับการหาผลต่างจัดการกับอนุกรมที่มีการเติบโตแบบคูณในโลกจริงได้หลายประเภท

import numpy as np

log_series = np.log(series)
stationary = log_series.diff().dropna()

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจเกี่ยวกับภาวะอยู่กับที่ของคุณ

ทบทวน

คุณได้แยกอนุกรมเป็น แนวโน้ม ฤดูกาล และค่าคงเหลือ ด้วย seasonal_decompose เรียนรู้แบบจำลองบวกกับแบบคูณ ทดสอบ ภาวะอยู่กับที่ ด้วย การทดสอบ ADF และใช้ การหาผลต่าง (อันดับ d) เพื่อทำให้อนุกรมอยู่กับที่ บทถัดไป: ARIMA และ SARIMA

คำถามที่พบบ่อย

บทเรียน “องค์ประกอบของอนุกรมเวลาและภาวะสถิต” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “องค์ประกอบของอนุกรมเวลาและภาวะสถิต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “องค์ประกอบของอนุกรมเวลาและภาวะสถิต”

แนวโน้ม ฤดูกาล สัญญาณรบกวน การทดสอบ ADF สำหรับภาวะสถิต และการหาผลต่างเพื่อให้ข้อมูลมีภาวะสถิต คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “องค์ประกอบของอนุกรมเวลาและภาวะสถิต” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. องค์ประกอบของอนุกรมเวลาและภาวะสถิต
  2. แบบจำลอง ARIMA และ SARIMA
  3. Prophet สำหรับการพยากรณ์อัตโนมัติ
  4. LSTM สำหรับการพยากรณ์อนุกรมเวลา
← กลับไปที่ Learn AI with Python