Определение точки переключения с вероятностным программированием (pymc)

9

В настоящее время я читаю "книгу" вероятностного программирования и байесовских методов для хакеров . Я прочитал несколько глав, и я думал о первой главе, где первый пример с pymc состоит из обнаружения точки ведьмы в текстовых сообщениях. В этом примере случайная величина, указывающая, когда происходит точка переключения, указывается с помощью τ . После шага MCMC заднее распределение задано:τвведите описание изображения здесь

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

Автор отвечает на вопрос «произошла ли точка переключения»: «Если бы не произошло никаких изменений, или если бы изменение было постепенным с течением времени, последующее распределение было бы более распространенным». Но как вы можете ответить на это с вероятностью, например, есть вероятность 90%, что точка переключения произошла, и есть вероятность 50%, что это произошло в день 45.τ

Нужно ли менять модель? Или можно ответить с текущей моделью?

Olivier_s_j
источник
Упоминание об авторе книги @ Cam.Davidson.Pilon, который может иметь лучший ответ, чем мой ниже.
Шон Пасха

Ответы:

6

У SeanEaster есть несколько полезных советов. Байесовский фактор может быть сложно вычислить, но в PyMC2 есть несколько хороших постов в блоге, специально посвященных байесовскому фактору.

Тесно связанный вопрос - это соответствие модели. Справедливый метод для этого - просто проверка - авторы могут дать нам свидетельство соответствия. Как цитата:

«Если бы не произошло никаких изменений или если бы изменение было постепенным с течением времени, заднее распределение было бы более распространенным»τ

Это правда. Задняя точка довольно пик около времени 45. Как вы говорите,> 50% массы находится в 45, тогда как если бы не было точки переключения, масса должна (теоретически) быть ближе к 1/80 = 1,125% в момент времени 45.

То, что вы намереваетесь сделать, это точно восстановить набор данных наблюдений, учитывая вашу модель. В Главе 2 они представляют собой модели генерации поддельных данных. Если ваши наблюдаемые данные сильно отличаются от ваших искусственных данных, то, скорее всего, ваша модель не подходит.

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

Cam.Davidson.Pilon
источник
λλλ
1
λ1п+λ2(1-п)пзнак равно1/(1+еИксп(-βT))β
Что касается подбора модели, я бы добавил, что апостериорные p-значения являются одним из способов оценки подбора. Смотрите эту статью .
Шон Пасха
2

Это скорее вопрос сравнения моделей: интерес заключается в том, лучше ли объясняет данные модель без точки переключения, чем модель с точкой переключения. Один из подходов к ответу на этот вопрос состоит в том, чтобы вычислить байесовский фактор моделей с и без точки переключения. Короче говоря, фактор Байеса - это отношение вероятностей данных в обеих моделях:

Кзнак равноPr(D|M1)Pr(D|M2)знак равноPr(θ1|M1)Pr(D|θ1,M1)dθ1Pr(θ2|M2)Pr(D|θ2,M2)dθ2

M1M2К

Также обратите внимание, что в контексте MCMC вышеуказанные интегралы будут заменены суммами значений параметров из цепочек MCMC. Более подробное рассмотрение байесовских факторов с примерами доступно здесь .

п(M1|D)п(M1|D)Σязнак равно1Nп(Mя|D)знак равно1

Шон Пасха
источник