Transformar datos en bruto
En el capítulo anterior calculaste la media móvil. En este ejercicio, vas a definir una función que calcule el cambio porcentual del dato más reciente con respecto a la media de una ventana de datos previos. Esta función te ayudará a calcular el cambio porcentual sobre una ventana deslizante.
Este es un tipo de serie temporal más estable que suele ser útil en Machine Learning.
Este ejercicio forma parte del curso
Machine Learning para datos de series temporales en Python
Instrucciones del ejercicio
- Define una función
percent_changeque tome una serie temporal de entrada y haga lo siguiente:- Extrae todos los valores excepto el último de la serie de entrada (asignados a
previous_values) y el último valor de la serie temporal (asignado alast_value). - Calcula la diferencia porcentual entre el último valor y la media de los valores anteriores.
- Extrae todos los valores excepto el último de la serie de entrada (asignados a
- Usando una ventana deslizante de 20, aplica esta función a
pricesy visualízala con el código proporcionado.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()