Чому в теорезі Байєса необхідний нормуючий фактор?


20

Теорема Байєса йде

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

Це все добре. Але я десь читав:

В основному P (дані) - це не що інше, як нормалізуюча константа, тобто константа, яка змушує задню щільність інтегруватися в одну.

Ми знаємо, що і . 0P(model)10P(data|model)1

Тому має бути від 0 до 1. У такому випадку для чого нам потрібна нормалізуюча константа, щоб змусити задній інтегруватися до одного?P(model)×P(data|модель)


4
Коли ви працюєте з ймовірністю щільності , як уже згадувалося в цій статті, ви можете більше не укладати 0 <= P(model) <= 1ні 0 <= P(data/model) <= 1, тому що або (або навіть обидва!) Тих , хто може перевищувати (і навіть бути нескінченним). Дивіться stats.stackexchange.com/questions/4220 . 1
whuber

1
Не так, щоб оскільки це розпливчасте позначення являє собою інтегровану ймовірність даних, а не ймовірність.
P(data|model)1
Сіань

Відповіді:


15

По-перше , інтеграл "ймовірності x попереднього" не обов'язково 1 .

Не вірно, що якщо:

і 0 P ( дані | модель ) 10P(model)10P(data|model)1

то інтеграл цього виробу стосовно моделі (до параметрів моделі, дійсно) дорівнює 1.

Демонстрація. Уявіть дві дискретні щільності:

P(model)=[0.5,0.5] (this is called "prior")P(data | model)=[0.80,0.2] (this is called "likelihood")

Якщо помножити їх обоє, ви отримаєте: що не є дійсною щільністю, оскільки вона не інтегрується до одиниці: 0.40 + 0.25 = 0.65

[0.40,0.25]
0.40+0.25=0.65

Отже, що нам робити, щоб інтеграл дорівнював 1? Використовуйте нормуючий коефіцієнт, який є:

model_paramsP(model)P(data | model)=model_paramsP(model, data)=P(data)=0.65

(Вибачте за погану нотацію. Я написав три різні вирази для однієї і тієї ж речі, оскільки ви можете їх побачити в літературі)

По-друге , "ймовірність" може бути будь-якою, і навіть якщо це щільність, вона може мати значення, вищі за 1 .

Як сказав @whuber, цим факторам не потрібно бути між 0 і 1. Їм потрібно, щоб їх інтеграл (або сума) дорівнював 1.

Третє [додатково], "кон'югати" - це ваші друзі, які допоможуть вам знайти константа нормалізації .

Ви часто побачите: тому що відсутній знаменник можна легко отримати, інтегруючи цей продукт. Зауважте, що ця інтеграція матиме один добре відомий результат, якщо попередня та ймовірність є сполученими .

P(model|data)P(data|model)P(model)

+1. Це єдина відповідь, яка насправді стосується початкового питання, чому необхідна константа нормалізації, щоб задній інтегрувався до одного . Що ви робите з заднім пізніше (наприклад, висновок MCMC або обчислення абсолютних ймовірностей) - інша справа.
Педро Медіано

P(model)=[0.5,0.5]σ2=1μP(μ)=[0.5,0.5]

μ

12

Коротка відповідь на ваше запитання полягає в тому, що без знаменника вираз праворуч - це лише ймовірність , а не ймовірність , яка може становити лише від 0 до 1. "Константа нормалізації" дозволяє нам отримати ймовірність для виникнення події, а не просто відносна ймовірність цієї події порівняно з іншою.


8

Ви вже отримали дві обґрунтовані відповіді, але дозвольте додати свої два центи.

Теорему Байєса часто визначають як:

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

тому що єдиною причиною, чому вам потрібна константа, є те, що вона інтегрується до 1 (див. відповіді інших). Це не потрібно в більшості підходів моделювання MCMC до аналізу Байєса, і, отже, константа випадає з рівняння. Тож для більшості симуляцій це навіть не потрібно.

Я люблю опис Крушке : останній щеня (постійний) сонний, тому що йому немає чого робити у формулі.

enter image description here

Також деякі, як Ендрю Гельман, вважають константу "завищеною" та "в основному безглуздою, коли люди використовують плоскі пріори" (перевірте дискусію тут ).


9
+1 до впровадження цуценят. "Жодна тварина не була заподіяна шкоди при написанні цієї відповіді" :)
Альберто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.