Скрытая марковская модель для прогнозирования событий

9

Вопрос : Является ли установка ниже разумной реализации скрытой марковской модели?

У меня есть набор данных 108,000наблюдений (взятых в течение 100 дней) и приблизительно 2000событий на протяжении всего периода наблюдения. Данные выглядят как на рисунке ниже, где наблюдаемая переменная может принимать 3 дискретных значения а красные столбцы выделяют время события, т.е. :[1,2,3]TЕ

введите описание изображения здесь

Как показано на рисунке красными прямоугольниками, я { to } для каждого события, эффективно рассматривая их как «окна до события».TЕTЕ-5

Тренировка HMM: я планирую тренировать скрытую марковскую модель (HMM), основанную на всех «окнах перед событием», используя методологию множественных последовательностей наблюдений, как предложено на стр. 273 из бумаги Рабинера . Надеюсь, это позволит мне обучить HMM, который фиксирует шаблоны последовательности, которые приводят к событию.

Предсказание HMM: Затем я планирую использовать этот HMM для прогнозирования на новый день, где будут представлять собой вектор скользящего окна, обновляемый в режиме реального времени, чтобы содержать наблюдения между текущим временем и как день продолжается.Lог[п(ОбsерvaTяоNs|ЧАСMM)]ОбsерvaTяоNsTT-5

Я ожидаю увидеть увеличение для которые напоминают «окна перед событием». По сути, это должно позволить мне прогнозировать события до того, как они произойдут.Lог[п(ОбsерvaTяоNs|ЧАСMM)]ОбsерvaTяоNs

Zhubarb
источник
Вы можете разделить свои данные для построения модели (скажем, 0,7), а затем протестировать свою модель на оставшихся данных. Просто мысль, я не специалист в этой области.
Фернандо
Да спасибо. Это больше пригодность HMM для задачи, в которой я не уверен.
Жубарб
@Zhubarb Я имею дело с подобной проблемой и хотел бы следовать вашему подходу HMM. Где вы успешно это делаете? Или вы наконец-то вернулись к логистической регрессии / SVM и т. Д.?
Хавьерфдр
@Javierfdr, в итоге я не реализовал его из-за сложности реализации и проблем, которые альт подчеркивает в своем ответе. По сути, у HMM есть бремя необходимости создания обширной генеративной модели, в то время как мое внутреннее чувство в настоящее время относится к рассматриваемой проблеме, можно легче сойти с дискриминационной модели (SVM, Neural Net и т. Д.), Как вы предлагаете ,
Жубарб

Ответы:

3

Одна из проблем с подходом, который вы описали, заключается в том, что вам необходимо определить, какое увеличение имеет смысл, что может быть затруднительно, так как P ( O ) всегда будет очень маленьким в целом. Может быть лучше обучить два НММ, например НММ1 для последовательностей наблюдения, где происходит интересующее событие, и НММ2 для последовательностей наблюдения, где событие не происходит. Тогда, учитывая последовательность наблюдений O, вы получаете P ( H H M 1 | O )п(О)п(О)О а также для HMM2. Тогда вы можете предсказать, что событие произойдет, если P ( H M M 1 | O )

п(ЧАСЧАСM1|О)знак равноп(О|ЧАСMM1)п(ЧАСMM1)п(О)αп(О|ЧАСMM1)п(ЧАСMM1)
п(ЧАСMM1|О)>п(ЧАСMM2|О)п(ЧАСMM1)п(О|ЧАСMM1)п(О)>п(ЧАСMM2)п(О|ЧАСMM2)п(О)п(ЧАСMM1)п(О|ЧАСMM1)>п(ЧАСMM2)п(О|ЧАСMM2),

Отказ от ответственности : то, что следует, основано на моем личном опыте, поэтому принимайте его таким, какое оно есть. Одна из приятных особенностей HMM - они позволяют вам иметь дело с последовательностями переменной длины и эффектами переменного порядка (благодаря скрытым состояниям). Иногда это необходимо (как во многих приложениях НЛП). Однако кажется, что вы априори предположили, что только последние 5 наблюдений имеют отношение к прогнозированию интересующего события. Если это предположение реалистично, то вам может быть значительно больше удачи, если использовать традиционные методы (логистическая регрессия, наивный байесовский анализ, SVM и т. Д.) И просто использовать последние 5 наблюдений в качестве признаков / независимых переменных. Как правило, эти типы моделей легче обучать и (по моему опыту) дают лучшие результаты.

альт
источник
пзнак равноLог(п(О|часмм))п1знак равно-2504,п2знак равно-2403,п3знак равно-2450п: Я выбрал 5 в качестве размера моего окна произвольно, он, вероятно, будет длиннее, чем в реальной реализации.
Жубарб
1
п(ЧАСMM1)
@Berkan Что касается размера окна, основываясь на моем личном опыте, я ожидаю, что то, что я сказал в этом вопросе, сохранится для любого фиксированного размера окна. Очевидно, что все сказанное мною необходимо будет проверить эмпирически на предмет вашей конкретной проблемы.
альт
Lог(п(ЧАСMM1))+Lог(п(О|ЧАСMM1))>?Lог(п(ЧАСMM2))+Lог(п(О|ЧАСMM2))Lог(п(ЧАСMM1))Lог(п(ЧАСMM1))
Lог(п(ЧАСMM1))+Lог(п(О|ЧАСMM1))>?Lог(п(ЧАСMM2))+Lог(п(О|ЧАСMM2))Lог(п(ЧАСMM1))ЧАСMM1знак равно(5*2,000)/108,000