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

อุณหภูมิเป็น Random Walk (แบบมี Drift) หรือไม่?

โมเดล ARMA เป็นวิธีการพยากรณ์การเปลี่ยนแปลงสภาพภูมิอากาศที่เรียบง่าย แต่ช่วยให้เห็นภาพรวมของหัวข้อต่าง ๆ ที่เรียนมาตลอดคอร์สได้เป็นอย่างดี

DataFrame temp_NY มีข้อมูลอุณหภูมิเฉลี่ยรายปีในย่าน Central Park เมืองนิวยอร์ก ตั้งแต่ปี 1870 ถึง 2016 (ดาวน์โหลดจาก NOAA ที่นี่) ให้พล็อตข้อมูลและทดสอบว่าข้อมูลนี้เป็น Random Walk (แบบมี Drift) หรือไม่

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

การวิเคราะห์อนุกรมเวลาด้วย Python

ดูคอร์ส

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

  • แปลง index ของปีให้เป็น datetime object โดยใช้ pd.to_datetime() และเนื่องจากข้อมูลเป็นรายปี ให้ส่งอาร์กิวเมนต์ format='%Y' ด้วย
  • พล็อตข้อมูลโดยใช้ .plot()
  • คำนวณค่า p-value จากการทดสอบ Augmented Dickey Fuller โดยใช้ฟังก์ชัน adfuller
  • บันทึกผลการทดสอบ ADF ไว้ในตัวแปร result แล้วพิมพ์ค่า p-value จาก result[1]

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

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

# Import the adfuller function from the statsmodels module
from statsmodels.tsa.stattools import adfuller

# Convert the index to a datetime object
temp_NY.index = pd.to_datetime(___.___, format=___)

# Plot average temperatures
temp_NY.___
plt.show()

# Compute and print ADF p-value
result = ___(temp_NY['TAVG'])
print("The p-value for the ADF test is ", result[1])
แก้ไขและรันโค้ด