การแปลงข้อมูลรูปแบบอื่น
การ differencing ควรเป็นการแปลงข้อมูลแบบแรกที่ลองใช้เพื่อทำให้ time series มีความนิ่ง (stationary) แต่บางครั้งก็ไม่ใช่ตัวเลือกที่ดีที่สุด
วิธีคลาสสิกในการแปลง time series ของหุ้นคือการหา log-return ของอนุกรม ซึ่งคำนวณได้ดังนี้: $$log\_return ( y_t ) = log \left( \frac{y_t}{y_{t-1}} \right)$$
ข้อมูล time series ของหุ้น Amazon ถูกโหลดไว้ให้แล้วในชื่อ amazon สามารถคำนวณ log-return ของ DataFrame นี้ได้โดยแทนค่าดังนี้:
- \(y_t \rightarrow\)
amazon - \(y_{t-1} \rightarrow\)
amazon.shift(1) - \(log() \rightarrow\)
np.log()
ในแบบฝึกหัดนี้ จะเปรียบเทียบการแปลงด้วย log-return และผลต่างอันดับหนึ่ง (first order difference) ของ time series หุ้น Amazon เพื่อหาว่าแบบใดให้ผลที่ stationary ได้ดีกว่ากัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ARIMA Models ใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate the first difference and drop the nans
amazon_diff = ____
amazon_diff = amazon_diff.dropna()
# Run test and print
result_diff = adfuller(amazon_diff['close'])
print(result_diff)