转换原始数据
在上一章中,您计算了滑动平均。本练习中,您将定义一个函数,用于计算最新数据点相对于之前数据点窗口均值的百分比变化。该函数将帮助您在滑动窗口上计算百分比变化。
这是一类更稳定的时间序列,常用于机器学习。
本练习是课程的一部分
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()