Creación de características desplazadas en el tiempo
En Machine Learning para series temporales, es habitual usar información de los puntos temporales anteriores para predecir un punto posterior.
En este ejercicio, vas a “desplazar” tus datos en bruto y a visualizar los resultados. Utilizarás la serie temporal de variación porcentual que calculaste en el capítulo anterior, esta vez con una ventana muy corta. Una ventana corta es importante porque, en un escenario real, quieres predecir las fluctuaciones diarias de una serie temporal, no su cambio en una ventana de tiempo más larga.
Este ejercicio forma parte del curso
Machine Learning para datos de series temporales en Python
Instrucciones del ejercicio
- Usa una comprensión de diccionario para crear varias versiones desplazadas en el tiempo de
prices_percusando los retardos especificados enshifts. - Convierte el resultado en un DataFrame.
- Usa el código proporcionado para visualizar los resultados.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# These are the "time lags"
shifts = np.arange(1, 11).astype(int)
# Use a dictionary comprehension to create name: value pairs, one pair per shift
shifted_data = {"lag_{}_day".format(day_shift): prices_perc.____(____) for day_shift in shifts}
# Convert into a DataFrame for subsequent use
prices_perc_shifted = ____(shifted_data)
# Plot the first 100 samples of each
ax = prices_perc_shifted.iloc[:100].plot(cmap=plt.cm.viridis)
prices_perc.iloc[:100].plot(color='r', lw=2)
ax.legend(loc='best')
plt.show()