подскажет..
Данные: есть датасет собранный мной сами где ВРЕМЕННЫЕ РЯДЫ из онлайн игры. То есть, игровое время и куча предикторов. Данные обновляются каждую минуту, поэтому на матч там 15-60 строк.
Цель: предсказать победит команда или проиграет по первым, к примеру, 10 минутам.
Проблема: Не могу правильно понять, как мне их анализировать. Ведь это не стандартный временной ряд, где у меня 1-НО СОБЫТИЕ и его 1000 записей. А много событий (каждый отдельный матч).
К чему я сам пришёл на данный момент: Мне нужна LSTM модель, так как важно, чтобы предсказание учитывало во внимание именно изменение значений с ходом времени. Но как её обучать?
- Может батчами как-то можно загружать по этих 10 минут за одну эпоху и тем самым учить...
- Может вообще распрямить эти 10 минут в один сплошной вектор и подать целиком (но тогда теряется фактор изменения со временем)..
В общем, я в замешательстве и буду благодарен за подсказку ❤️
Сам не сталкивался с подобным, но мне вот что пришло в голову: Вот у нас есть игра номер 1. Она длилась 30 минут и закончилась победой команды. То есть таргетом будет 1. Из этих 30 минут нам нужно только 10, поэтому мы берем первые 10 записей и строим по всем важным параметрам лаг - минуту, две, три... n назад. Дальше надо как-то посчитать скорость изменения этих показателей и превратить это все в вектор. Для простоты пускай это будет средний diff между лагами. То есть, сумма разностей между лагами признака/10 И тогда мы подаем этот вектор на вход в модель (хоть логистическую регрессию для начала), а на выходе получаем 1 или 0 - выиграла или проиграла команда.
Интересная мысль! На данный момент, немного больше разобрался с ЛСТМ и, насколько я понимаю, она должна работать так как и задумано - принимать данные пачкой для каждого матча и замечать различия - выдавать решение. Но, если не получится, попробую твой метод, спасибо, что ответил 🤗
А как этот ЛСТМ реализуется? Что подается на вход, и какой ответ на выходе? Мне интересно, потому что иногда приходится по работе с временными рядами иметь дело)
Смотри, точно ответить сейчас наверное не смогу, так как сам ещё не пробовал и моё представление пока поверхностное, но я получил некоторое понимание из 2-х источников: Сначала я прочёл эту статью -https://publications.lib.chalmers.se/records/fulltext/250411/250411.pdf А затем получил подтверждение слов в статье этим сообщением: У тебя на каждый матч есть кадры данных, т.е. на каждую минуту есть куча данных, на следующую минуту данные будут другие, это всё касаемо одного матча. Берёшь и пихаешь в лстм эти данные, грубо говоря это как кинолента с кадрами, и по изменениям в этих кадрах тебе надо так обучить сетку чтобы она выдавала 0 или 1, проиграл или выиграл. Сеть должна обучаться на куче таких кинолент, что собственно у тебя и есть.
Обсуждают сегодня