สร้างฟีเจอร์แบบ Rolling หลายรายการพร้อมกัน
หลังจากฝึกการสร้างฟีเจอร์แบบง่ายแล้ว มาลองทำสิ่งที่ซับซ้อนขึ้นกัน โดยจะคำนวณฟีเจอร์หลายรายการจากข้อมูล time series แล้ววิเคราะห์การเปลี่ยนแปลงของฟีเจอร์เหล่านั้นตามเวลา กระบวนการนี้คล้ายกับวิธีที่โมเดล time series หลายประเภทใช้งานจริง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning สำหรับข้อมูล Time Series ใน Python
คำแนะนำการฝึกหัด
- กำหนด list ที่ประกอบด้วยฟีเจอร์ 4 รายการที่ต้องการคำนวณ ได้แก่ ค่าต่ำสุด ค่าสูงสุด ค่าเฉลี่ย และส่วนเบี่ยงเบนมาตรฐาน (ตามลำดับนี้)
- ใช้ rolling window (
prices_perc_rolling) ที่กำหนดให้ เพื่อคำนวณฟีเจอร์จากfeatures_to_calculate - พล็อตผลลัพธ์ตามเวลา พร้อมกับข้อมูล time series ต้นฉบับโดยใช้โค้ดที่กำหนดให้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define a rolling window with Pandas, excluding the right-most datapoint of the window
prices_perc_rolling = prices_perc.rolling(20, min_periods=5, closed='right')
# Define the features you'll calculate for each window
features_to_calculate = [np.min, ____, ____, ____]
# Calculate these features for your rolling window object
features = prices_perc_rolling.____(features_to_calculate)
# Plot the results
ax = features.loc[:"2011-01"].plot()
prices_perc.loc[:"2011-01"].plot(ax=ax, color='k', alpha=.2, lw=3)
ax.legend(loc=(1.01, .6))
plt.show()