Створення ознак зі зсувом у часі
У машинному навчанні для часових рядів часто використовують інформацію про попередні моменти часу, щоб передбачити наступний.
У цій вправі ви «зсунете» сирі дані та візуалізуєте результат. Ви використаєте часовий ряд відсоткової зміни, який обчислили в попередньому розділі, цього разу з дуже коротким вікном. Коротке вікно важливе, адже в реальному сценарії ви хочете передбачати щоденні коливання часового ряду, а не його зміну за довший проміжок часу.
Ця вправа є частиною курсу
Machine Learning для часових рядів у Python
Інструкції до вправи
- Використайте словникове включення (dictionary comprehension), щоб створити кілька версій
prices_percзі зсувами, заданими вshifts. - Перетворіть результат на DataFrame.
- Використайте наданий код, щоб візуалізувати результати.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()