ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Define una función percent_change que 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 a last_value).
    • Calcula la diferencia porcentual entre el último valor y la media de los valores anteriores.
  • Usando una ventana deslizante de 20, aplica esta función a prices y 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()
Editar y ejecutar código