Почему нормализующий фактор требуется в теореме Байеса?

20

Теорема Байеса имеет вид

P(model|data)=P(model)×P(data|model)P(data)

Это все хорошо. Но я где-то читал:

По сути, P (данные) - это не что иное, как нормализующая константа, то есть константа, которая заставляет апостериорную плотность интегрироваться в единицу.

Мы знаем, что0P(model)1 и . 0п(данные|модель)1

Следовательно, должно быть в от 0 до 1. В таком случае, зачем нам нормализующая константа, чтобы задняя интеграция в единицу?п(модель)×п(данные|модель)

Шреджит Рамакришнан
источник
4
Когда вы работаете с вероятностью плотности , как уже упоминалось в этой статье, вы можете больше не заключать 0 <= P(model) <= 1ни 0 <= P(data/model) <= 1, потому что либо (или даже оба!) Тех , кто может превышать (и даже быть бесконечным). См. Stats.stackexchange.com/questions/4220 . 1
whuber
1
Это не тот случай, когда потому что эта расплывчатая запись представляет интегрированную вероятность данных, а не вероятность.
п(данные|модель)1
Сиань

Ответы:

15

Во-первых , интеграл «вероятность x предшествующий» не обязательно 1 .

Это не правда, что если:

и 0 P ( данные | модель ) 10п(модель)10п(данные|модель)1

тогда интеграл этого произведения по модели (действительно, по параметрам модели) равен 1.

Демонстрация. Представьте две дискретные плотности:

п(модель)знак равно[0,5,0,5] (это называется "до")п(данные | модель)знак равно[0,80,0.2] (это называется "вероятность")

Если вы умножите их обоих, вы получите: что не является допустимой плотностью, поскольку она не интегрируется в единицу: 0,40 + 0,25 = 0,65

[0,40,0,25]
0,40+0,25знак равно0,65

Σmodel_paramsп(модель)п(данные | модель)знак равноΣmodel_paramsп(модель, данные)знак равноп(данные)знак равно0,65

(извините за плохую запись. Я написал три разных выражения для одной и той же вещи, поскольку вы можете увидеть их все в литературе)

Во-вторых , «правдоподобие» может быть любым, и даже если это плотность, она может иметь значения выше 1 .

Как сказал @whuber, эти факторы не обязательно должны быть между 0 и 1. Им нужно, чтобы их интеграл (или сумма) был 1.

В-третьих , «конъюгаты» - это ваши друзья, которые помогут вам найти нормирующую константу .

п(модель|данные)αп(данные|модель)п(модель)
альберто
источник
+1. Это единственный ответ, который фактически отвечает на первоначальный вопрос о том, зачем нужна нормализационная константа, чтобы апостериорная интеграция в единицу . Что вы делаете с последующим позже (например, вывод MCMC или вычисление абсолютных вероятностей) - это другой вопрос.
Педро
п(моdеL)знак равно[0,5,0,5]σ2знак равно1μп(μ)знак равно[0,5,0,5]
μ
12

Короткий ответ на ваш вопрос заключается в том, что без знаменателя выражение в правой части является просто вероятностью , а не вероятностью , которая может варьироваться только от 0 до 1. «Нормализующая константа» позволяет нам получить вероятность для возникновение события, а не просто относительная вероятность этого события по сравнению с другим.

heropup
источник
8

У вас уже есть два правильных ответа, но позвольте мне добавить два моих цента.

Теорема Байеса часто определяется как:

п(модель | данные)αп(модель)×п(данные | модель)

потому что единственная причина, по которой вам нужна константа, состоит в том, что она интегрируется в 1 (см. ответы других). Это не требуется в большинстве подходов моделирования MCMC к байесовскому анализу, и, следовательно, постоянная отбрасывается из уравнения. Так что для большинства симуляций это не даже требуется.

Мне нравится описание Крушке : последний щенок (постоянный) сонный, потому что ему нечего делать в формуле.

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

Также некоторые, как Эндрю Гельман, считают эту константу «переоцененной» и «в основном бессмысленной, когда люди используют плоские априоры» (см. Обсуждение здесь ).

Тим
источник
9
+1 к внедрению щенков. «Ни один из животных не пострадал при написании этого ответа» :)
Альберто