Какой алгоритм машинного обучения подходит для прогнозирования одного временного ряда по другому?

Вы — самолет, отслеживающий вражеский корабль, который путешествует по океану, поэтому вы собрали серию (x, y, time) координат корабля. Вы знаете, что скрытая подводная лодка путешествует вместе с кораблем, чтобы защитить его, но, несмотря на то, что между их позициями существует корреляция, подводная лодка часто отходит от корабля, поэтому, хотя она часто находится рядом с ним, она также может быть на другой стороне корабля. мир изредка. Вы хотите предсказать путь подводной лодки, но, к сожалению, он скрыт от вас.

Но однажды в апреле вы замечаете, что субмарина забывает спрятаться, поэтому у вас есть ряд координат как для субмарины, так и для корабля на протяжении 1000 рейсов. Используя эти данные, вы хотите построить модель для предсказания пути скрытой подводной лодки, учитывая только движения корабля. Наивной исходной линией было бы сказать «угадывание положения подводной лодки = «текущее положение корабля», но из апрельских данных, где подводная лодка была видна, вы заметили, что подводная лодка имеет тенденцию немного опережать корабль, поэтому «положение подводной лодки предположение = положение корабля через 1 минуту» — еще более точная оценка. Кроме того, апрельские данные показывают, что, когда корабль стоит в воде в течение длительного периода времени, подводная лодка, вероятно, находится далеко, патрулируя прибрежные воды. Есть и другие закономерности. конечно.

Как бы вы построили эту модель, используя апрельские данные в качестве обучающих данных, чтобы предсказать путь подводной лодки? Мое текущее решение представляет собой специальную линейную регрессию, в которой факторами являются «время в пути», «координата x грузового корабля», «грузовое судно простаивало в течение 1 дня» и т. д., а затем R вычисляет веса и выполняет кросс -Проверка. Но мне бы очень хотелось, чтобы эти факторы автоматически генерировались из апрельских данных. Кроме того, модель, использующая последовательность или время, была бы неплохой, поскольку линейная регрессия этого не делает, и я думаю, что это уместно.

Редактировать: я переформулировал проблему с выдуманной историей, чтобы она была менее запутанной. Первоначальная проблема, которую я опубликовал, заключается в следующем:

У меня есть данные отслеживания взгляда двух субъектов — учителя и ученика. Он представлен в форме (x, y, время), поэтому для каждого предмета имеется ряд таких значений. То, на что смотрит учитель, влияет на то, на что смотрит ученик. Какой метод я бы использовал, чтобы предсказать, на что смотрит ученик, используя только данные учителя? Допустим, я могу обучить некоторый алгоритм обучения, используя золотой стандартный набор данных учеников и учителей.

Я думал, что скрытая марковская модель будет уместна, учитывая определение в Википедии, но я не уверен, как применить это на практике в моем наборе данных.

Подробнее: у меня есть данные о том, как учитель и ученик смотрят на карту, и некоторые показания. У меня есть 40 таких наборов данных, которые выглядят как [(366 234,0), (386 234,5), ...], что означает, что учитель посмотрел на точку (366 234) в момент времени 0, а затем через 5 секунд переместился вверх, чтобы посмотреть на координата (386, 234). Я могу изучить модель, чтобы понять взаимосвязь между тем, как учитель смотрит на контент, чтобы предсказать, как студент будет смотреть на тот же контент. Так что, возможно, ученик просматривает содержимое в том же порядке, что и учитель, но медленнее. Или, возможно, ученик не так много оглядывается, а учитель просматривает больше контента. У меня есть оба набора данных, и я хочу посмотреть, насколько точна модель, которую я могу получить — смогу ли я предсказать поведение ученика в пределах 50 пикселей от поведения учителя?


person user2077851    schedule 16.02.2013    source источник
comment
Кажется, что каждый сеанс изучения карты можно рассматривать как ориентированный граф G(V,E), где каждая вершина v представляет собой координаты (x,y), в которых взгляд был направлен более чем на некоторое пороговое количество времени (точки интересующая карта). Края E представляют движение глаз, а также временной порядок в их направлении. Итак, по заданному графику учителя нужно найти график ученика. Это правильно? Если да, то можно было бы упростить обучающие данные в такие графики и узнать их параметры. Или: учитывая точку (x, y), на которую смотрит учитель, вам нужно угадать (x, y), куда смотрит ученик?   -  person Alptigin Jalayr    schedule 17.02.2013
comment
Альптигин, да, именно это я и пытаюсь сделать. Хотя я думаю, что на графике есть и временное измерение. Знаете ли вы какой-нибудь способ обучить что-то генерировать график ученика из графика учителя?   -  person user2077851    schedule 17.02.2013
comment
Ну, я бы сказал, сначала упростите свой набор данных до этих графиков, визуализируйте их. Я не могу навскидку сказать, какой именно метод будет успешным.   -  person Alptigin Jalayr    schedule 18.02.2013


Ответы (1)


Я бы посоветовал взглянуть на фильтры Калмана или, в более общем смысле, на модели в пространстве состояний (SSM). ), которые определены в книге, рекомендованной ниже, как «точно такие же, как HMM, за исключением того, что скрытые состояния непрерывны».

Я могу порекомендовать главу книги по теме — глава 18 в книге Кевина П. Мерфи «Машинное обучение: вероятностный подход»; есть также онлайн-ресурсы (поиск фильтров Калмана), но я не могу порекомендовать какой-то конкретный.

РЕДАКТИРОВАТЬ: вы можете найти здесь ссылки для использование фильтров Калмана с R для прогнозирования временных рядов.

Надеюсь это поможет,

person etov    schedule 17.02.2013
comment
Спасибо, etov, я уже думал о фильтрах Калмана, но похоже, что они используются для прогнозирования следующих шагов в серии, а не для прогнозирования всей второй серии. Не могли бы вы указать мне, как я буду использовать его для предсказания второго временного ряда? - person user2077851; 18.02.2013
comment
Кроме того, будут ли они делать марковское предположение, что только самое последнее состояние влияет на будущие состояния? - person user2077851; 18.02.2013
comment
Интуиция такова, что вы можете рассматривать положение корабля как зашумленное измерение положения подводной лодки. шум не обязательно белый — он может иметь различные эффекты в зависимости от прошлых событий. Таким образом, предсказание положения подводной лодки аналогично оценке скрытых параметров модели. Я не уверен, что он такой же общий, как и все случаи, на которые вы ссылаетесь, но я думаю, что он может охватывать по крайней мере некоторые из них. - person etov; 18.02.2013