Transformación de datos brutos
En el último capítulo, calculaste la media móvil. En este ejercicio, definirás una función que calcula el cambio porcentual del último punto de datos respecto a la media de una ventana de puntos de datos anteriores. Esta función te ayudará a calcular el cambio porcentual a lo largo de una ventana móvil.
Se trata de 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 de ejercicio
- Define una función
percent_change
que tome una serie temporal de entrada y haga lo siguiente:- Extrae todos los valores de la serie de entrada excepto el último (asignado a
previous_values
) y el sólo 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 de la serie de entrada excepto el último (asignado a
- Utilizando una ventana móvil de 20, aplica esta función a
prices
, y visualízala utilizando el código dado.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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()