開始使用免費開始

轉換原始資料

在上一章中,你已經計算過移動平均。這個練習中,你會定義一個函式,用來計算「最新資料點」相對於「前一段資料點的平均值」的百分比變化。這個函式能幫你在移動視窗上計算百分比變化。

這是一種較為穩定的時間序列表現,常見於機器學習的前處理。

本練習屬於課程

Python 的時間序列資料機器學習

檢視課程

練習說明

  • 定義一個 percent_change 函式,輸入為一個時間序列,並完成以下步驟:
    • 取出輸入序列「除了最後一個值之外」的所有值(指定給 previous_values),以及「只有最後一個值」的時間序列值(指定給 last_value)。
    • 計算最後一個值與較早期值平均數之間的百分比差異。
  • 使用大小為 20 的移動視窗,將此函式套用到 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()
編輯並執行程式碼