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

การแปลงข้อมูลดิบ

ในบทที่แล้ว คุณได้คำนวณค่าเฉลี่ยแบบ rolling ไปแล้ว ในแบบฝึกหัดนี้ จะได้กำหนดฟังก์ชันที่คำนวณการเปลี่ยนแปลงเป็นเปอร์เซ็นต์ของจุดข้อมูลล่าสุดเทียบกับค่าเฉลี่ยของข้อมูลก่อนหน้าในช่วง window ฟังก์ชันนี้จะช่วยคำนวณการเปลี่ยนแปลงเป็นเปอร์เซ็นต์บน rolling window ได้

วิธีนี้ให้ข้อมูลอนุกรมเวลาที่มีความเสถียรมากขึ้น ซึ่งมักเป็นประโยชน์ในการเรียนรู้ของเครื่อง

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

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

ดูคอร์ส

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

  • กำหนดฟังก์ชัน percent_change ที่รับอนุกรมเวลาเป็น input แล้วดำเนินการดังนี้:
    • ดึงค่าทั้งหมดยกเว้นค่าสุดท้ายของ series (กำหนดให้ previous_values) และเฉพาะค่าสุดท้ายของอนุกรมเวลา (กำหนดให้ last_value)
    • คำนวณความแตกต่างเป็นเปอร์เซ็นต์ระหว่างค่าสุดท้ายกับค่าเฉลี่ยของค่าก่อนหน้า
  • ใช้ rolling window ขนาด 20 เพื่อ apply ฟังก์ชันนี้กับ prices แล้ววิซัวไลซ์ผลลัพธ์โดยใช้โค้ดที่กำหนดให้

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

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

# Your custom function
def percent_change(series):
    # Collect all *but* the last value of this window, then the final value
    previous_values = series[:____]
    last_value = series[-1]

    # Calculate the % difference between the last value and the mean of earlier values
    percent_change = (____ - np.mean(previous_values)) / np.mean(previous_values)
    return percent_change

# Apply your custom function and plot
prices_perc = prices.rolling(20).____
prices_perc.loc["2014":"2015"].plot()
plt.show()
แก้ไขและรันโค้ด