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

การสร้างฟีเจอร์แบบเลื่อนเวลา

ในการเรียนรู้ของเครื่องสำหรับอนุกรมเวลา มักใช้ข้อมูลจากช่วงเวลาก่อนหน้าเพื่อทำนายค่าในช่วงเวลาถัดไป

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

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

Machine Learning สำหรับข้อมูล Time Series ใน Python

ดูคอร์ส

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

  • ใช้ dictionary comprehension เพื่อสร้างเวอร์ชันที่เลื่อนเวลาหลายรูปแบบของ prices_perc โดยอิงจาก lag ที่กำหนดไว้ใน shifts
  • แปลงผลลัพธ์ให้เป็น DataFrame
  • ใช้โค้ดที่เตรียมไว้เพื่อแสดงผลลัพธ์เป็นภาพ

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

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

# These are the "time lags"
shifts = np.arange(1, 11).astype(int)

# Use a dictionary comprehension to create name: value pairs, one pair per shift
shifted_data = {"lag_{}_day".format(day_shift): prices_perc.____(____) for day_shift in shifts}

# Convert into a DataFrame for subsequent use
prices_perc_shifted = ____(shifted_data)

# Plot the first 100 samples of each
ax = prices_perc_shifted.iloc[:100].plot(cmap=plt.cm.viridis)
prices_perc.iloc[:100].plot(color='r', lw=2)
ax.legend(loc='best')
plt.show()
แก้ไขและรันโค้ด