Промежуток времени поезда / Val / Test LSTM

У меня есть набор данных за несколько месяцев (с 15 января по 17 сентября), в котором я сообщаю о финансовом положении клиентов за каждый месяц. Моя задача - спрогнозировать совокупные продажи для каждого покупателя на ближайшие 12 месяцев.

Мой набор данных выглядит так (это необработанные данные, для обучения я буду создавать отстающие функции)

Month   CustomerID NetSales
JAN-15     A          10
JAN-15     B          10
JAN-15     C          10
FEB-15     A          10
FEB-15     B          10
FEB-15     C          10
...

Как я могу разделить его на TRAIN / VAL / TEST со временем? Могу я сделать что-то подобное?

  • ПОЕЗД -> все клиенты в месяц с 15 января по 16 марта (я беру каждый месяц хотя бы один раз, чтобы модель узнала сезонные закономерности.
  • VAL -> все покупатели / мес. с 16 апреля по 16 июня
  • ТЕСТ -> все клиенты / месяцы с 16 июля по 16 сентября (я останавливаюсь на этом, потому что мне потребовались следующие 12 месяцев для создания целевой переменной)

Это последовательная стратегия разделения? В качестве альтернативы, что бы вы посоветовали?

Большое спасибо, Андреа


person Andrea Barral    schedule 01.10.2019    source источник
comment
Привет @ andrea-barral, у меня нет большого опыта, но одна старая задача в kaggle имеет, по-моему, очень хорошую стратегию разделения данных: You are provided hourly rental data spanning two years. For this competition, the training set is comprised of the first 19 days of each month, while the test set is the 20th to the end of the month. You must predict the total count of bikes rented during each hour covered by the test set, using only information available prior to the rental period.   -  person 404pio    schedule 01.10.2019


Ответы (1)


Это последовательная стратегия разделения?

Да, вы уважаете тот факт, что вы не используете данные для вашего набора проверки, который предшествует вашим обучающим данным, то же самое для вашего набора тестов. Вы предотвращаете утечку данных, это правильный способ сделать это.

В качестве альтернативы, что бы вы посоветовали?

Единственное, что вы можете изменить, - это часть вашего набора train, val, test, но вы можете попробовать. Поскольку это временные ряды, вам следует учитывать сезонные тенденции, поскольку все они отражены в ваших тренировочных данных.

person PV8    schedule 01.10.2019