Tworzenie cech z przesunięciem czasowym
W uczeniu maszynowym dla danych czasowych często wykorzystuje się informacje z poprzednich punktów czasowych do przewidywania kolejnego.
W tym ćwiczeniu „przesuniesz" swoje surowe dane i zwizualizujesz wyniki. Skorzystasz z szeregu zmiany procentowej, który obliczyłeś w poprzednim rozdziale – tym razem z bardzo krótkim oknem. Krótkie okno jest istotne, ponieważ w rzeczywistym scenariuszu zależy nam na przewidywaniu dziennych wahań szeregu czasowego, a nie jego zmian w dłuższym przedziale czasowym.
To ćwiczenie jest częścią kursu
Uczenie maszynowe dla danych szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Użyj słownikowego wyrażenia listowego, aby utworzyć wiele wersji
prices_percz przesunięciem czasowym, korzystając z opóźnień określonych wshifts. - Przekształć wynik w obiekt DataFrame.
- Skorzystaj z dostarczonego kodu, aby zwizualizować wyniki.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()