лучший способ тренировать регрессионную модель с учетом данных временных рядов - PullRequest
0 голосов
/ 26 января 2019

Учитывая данные за неделю 1 и неделю 2, я пытаюсь обучить модель прогнозированию данных за неделю 3.

целевая метка называется target .

Я не совсем понимаю, какие правильные функции следует использовать для обучения модели, учитывая, что эта проблема рассматривает историческое действие пользователя, чтобы предсказать его дальнейшее действие

данные поезда

id,date,week_day,target
1,2019-01-01,1,10
1,2019-01-02,2,6
1,2019-01-03,3,7
2,2019-01-01,1,8
2,2019-01-02,1,5
2,2019-01-03,1,4

данные испытаний (см. Будущую дату)

id,date,week_day,target
1,2019-01-10,1,15
1,2019-01-11,2,13
1,2019-01-12,3,8
2,2019-01-10,1,7
2,2019-01-11,1,7
2,2019-01-12,1,4

1) Мне интересно, правильно ли сохранять идентификатор в качестве функции в данных обучения? я знаю, что большинство проблем ML не поддерживают поле id, но эта проблема немного отличается от того, что то же самое поле id используется в тестовом наборе данных.

2) я планирую опустить поле даты

Ответы [ 3 ]

0 голосов
/ 26 января 2019

У ваших данных слишком мало функций. Вы можете попробовать несколько моделей, таких как Sarima, как рекомендует Пьер, но, имея только те функции, с которыми вы можете столкнуться, я бы посоветовал вам попытаться построить матрицу корреляции и посмотреть, есть ли -отношение между входами и выходами, если нет никакой модели, которая может вам помочь, если есть взаимосвязь между признаками, то только модель сможет изучить эту взаимосвязь и обобщить.

Эта ссылка может быть полезна, если вы не знаете, как построить матрицу взаимосвязей https://seaborn.pydata.org/examples/many_pairwise_correlations.html

Эта ссылка может помочь вам разобраться в матрице отношений, если вы с ними не знакомы https://machinelearningmastery.com/how-to-use-correlation-to-understand-the-relationship-between-variables/

Если вы не можете что-то понять по ссылкам, не стесняйтесь комментировать.

0 голосов
/ 28 января 2019

1) Мне интересно, правильно ли сохранять идентификатор в качестве функции в тренировочные данные? я знаю, что большинство проблем ML не держат поле id, но эта проблема немного отличается от того, используется в тестовом наборе данных.

Как я вижу, у вас есть два типа дат для одного и того же id (как в поездах, так и в тестовых наборах). Итак, если это id представляет что-то, связанное с целью - оставьте это. В противном случае, бросьте его.

2) я планирую опустить поле даты

И вы потеряете год, месяцы, номер недели, номер дня, отметку выходного дня как возможные функции.

В дополнение к SARIMA я могу посоветовать попробовать здесь привести некоторую регрессионную модель. Иногда они работают в задачах, подобных временным рядам.

0 голосов
/ 26 января 2019

Похоже, что ваша проблема может рассматриваться как прогноз временных рядов. У вас есть сезонность в ваших данных. Вместо выполнения регрессии, вы можете попробовать алгоритм, такой как sarima

...