Создание признаков со сдвигом по времени
В машинном обучении для временных рядов часто используют информацию о предыдущих временных точках, чтобы предсказать следующую.
В этом упражнении вы «сдвинете» исходные данные и визуализируете результат. Вы будете работать с временным рядом процентного изменения, который вычисляли в предыдущей главе, — на этот раз с очень коротким окном. Короткое окно важно потому, что в реальных задачах нужно предсказывать ежедневные колебания временного ряда, а не изменения за длительный период.
Это упражнение является частью курса
Машинное обучение для данных временных рядов на Python
Инструкции к упражнению
- С помощью словарного включения создайте несколько версий
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()