У меня есть некоторые проблемы с пониманием принципов использования tsfre sh в анализе временных рядов.
Например, у меня есть тренировочные данные с двумя столбцами (дата и некоторые цифры c target), и мне нужно прогноз на три месяца. Согласно основному c примеру (https://github.com/blue-yonder/tsfresh/blob/master/notebooks/timeseries_forecasting_basic_example.ipynb). Я применяю make_forecasting_frame () для подготовки набора данных с помощью катания. Затем я создаю новые функции с помощью extract_features () и обучаю некоторых оценщиков этому новому набору данных. Следующим шагом я хочу сделать прогноз с тестовыми данными, имеющими те же функции, что и набор обучающих данных.
Вопрос в том, как создать набор тестовых данных, если у меня есть только столбец даты? Я не могу добавить строки прогноза непосредственно в набор поездов с нулевыми значениями или без них, поскольку это влияет на окончательный прогноз.
Пример кода:
import pandas as pd
from tsfresh.feature_extraction import extract_features
from tsfresh.utilities import dataframe_functions
train_data = pd.DataFrame([1, 2, 3, 2, 3, 2], columns=['y'], index = pd.date_range('2019-01-01', periods=6, freq='M'))
df_shift, y_train = dataframe_functions.make_forecasting_frame(train_data.y,
kind="123", max_timeshift=6, rolling_direction=1)
X_train = extract_features(df_shift, column_id="id", column_sort="time", column_value="value",
show_warnings=False, impute_function=dataframe_functions.impute)
model = LinearRegression()
model.fit(X_train, y_train)
model.predict(data_test) #How can I get it?