#перевод типа данных Datetime в datetime64 и настрока столбца с датой - индексом таблицы
import pandas as pd
df= pd.read_csv('/folder/name.csv', index_col=['colname'], parse_dates=[0])
#проверка, в хронологическом ли порядке расположены даты и время
print (df.info())
df = df.sort_index()
print(df.index.is_monotonic)
#интервал с июня по декабрь 1995
data = data['1995-06': '1995-12' ]
# скользящее среднее с окном 5
df.rolling(5).mean()
#новый столбец со скользящим средними и график
df['rolling_mean_new_col'] = df.rolling(3).mean()
df.plot()
для генерации фичей на скользящих окнах: https://tsfresh.readthedocs.io/en/latest/
# ресемплирование
df = df.resample('5Y').mean()
Tips:
* валидация с помощью TimeseriesSplit Sklearn
* + часто желательно делать рядо более стационарным и делать тест на стационарность, использовать логарифмирование (в крайниз случаях метод Бокса Кокса), чтобы избаляться от разной дисперсии и других проблем, делать матрицу корреляций, чтобы не было мультиколлинеарности (если корреляция больше, чем 0,8-0,7, то убирать один из признаков), избавляться от тренда и сезонности. Можно использовать также не просто лаги, а статистики на лагах и т.д.
* глубина дереьвев на бустинге через лограифм от количества фичей
*если нужно несколько прогнозов лучше для каждого прогноза заново модель, иначе ранее спрогнозированные данные могут исказить
* если R2 низкий, значит модель плохо попадает в пики, лучще от 0,7 до 1, но ровно 1 может говорить об утечке таргета
* для догросрочного прогнозирования не лаги, а дообогащение и экстрафичи, номер недели в году, наличие праздника, и т.д.
* выявление в зависимостей во временных рядах, кластеризация
* нейросети GRU, LSTM
(чтобы предсказывать пики можно сделать фичи, классификацию: пик или не пик)
* если нужно, чтобы последние значения вносили больший вес, иногда оправдано использование экспоненциальных окон и др. способов, в т.ч. из test fresh
* для стационарных dif, если лаги, то shift
Подробнее:
Автоматически генерируем признаки https://otus.ru/nest/post/1024/
https://habr.com/ru/company/ods/blog/327242/
Джон Э. Ханк, Артур Дж. Райте, Дин У. Уичерн "Бизнес-прогнозирование"
Т. УОЛЛАС, Р. СТАЛЬ "планирование продаж и операций"