Байесовское обновление с новыми данными

17

Как мы можем вычислить апостериор с предшествующим N ~ (a, b) после наблюдения n точек данных? Я предполагаю, что мы должны вычислить среднее значение выборки и дисперсию точек данных и выполнить какое-то вычисление, которое объединяет апостериор с предыдущим, но я не совсем уверен, как выглядит формула комбинации.

statstudent
источник

Ответы:

22

Основная идея байесовского обновления заключается в том, что с учетом некоторых данных и предшествующего параметра, представляющего интерес , где связь между данными и параметром описывается с помощью функции правдоподобия , для получения апостериорного значения используется теорема Байеса.Иксθ

p(θX)p(Xθ)p(θ)

Это можно сделать последовательно, когда после просмотра первой точки данных до обновляется до posterior , затем вы можете взять вторую точку данных и использовать апостериор, полученный до как ваш предыдущий , чтобы обновить его еще раз и т. Д. ,x1 θ x 2θx2θ

Позвольте привести пример. Представьте, что вы хотите оценить среднее значение нормального распределения, и вам известна. В таком случае мы можем использовать нормально-нормальную модель. Мы предполагаем нормальный априор для с гиперпараметрамиσ 2 μ μ 0 , σ 2 0 :μσ2μμ0,σ02:

XμNormal(μ, σ2)μNormal(μ0, σ02)

Так как нормальное распределение является сопряженным априором для нормального распределения, мы имеем решение в закрытой форме для обновления предыдущегоμ

E(μ'|Икс)знак равноσ2μ+σ02Иксσ2+σ02Вaр(μ'|Икс)знак равноσ2σ02σ2+σ02

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

Ниже вы можете увидеть пример данных:

n <- 1000
set.seed(123)
x     <- rnorm(n, 1.4, 2.7)
mu    <- numeric(n)
sigma <- numeric(n)

mu[1]    <- (10000*x[i] + (2.7^2)*0)/(10000+2.7^2)
sigma[1] <- (10000*2.7^2)/(10000+2.7^2)
for (i in 2:n) {
  mu[i]    <- ( sigma[i-1]*x[i] + (2.7^2)*mu[i-1] )/(sigma[i-1]+2.7^2)
  sigma[i] <- ( sigma[i-1]*2.7^2                  )/(sigma[i-1]+2.7^2)
}

Если вы нанесете на график результаты, вы увидите, как апостериорный приближается к оценочному значению (его истинное значение отмечено красной линией) по мере накопления новых данных.

Обновление предыдущего в последующих шагах в нормальной-нормальной модели

Для получения дополнительной информации вы можете проверить эти слайды и сопрягать байесовский анализ гауссовой распределительной статьи Кевина П. Мерфи. Проверьте также, становятся ли байесовские априорные значения несущественными при большом размере выборки? Вы также можете проверить эти заметки и эту запись в блоге, чтобы ознакомиться с пошаговым введением в байесовский вывод.

Тим
источник
Спасибо, это очень полезно. Как нам решить этот простой пример (неизвестная дисперсия, в отличие от вашего примера)? Предположим, что у нас есть предварительное распределение N ~ (5, 4), а затем мы наблюдаем 5 точек данных (8, 9, 10, 8, 7). Что будет после после этих наблюдений? Заранее спасибо. Очень признателен.
statstudent
@Kelly, вы можете найти примеры для случаев, когда либо дисперсия неизвестна и значит известна, либо и то, и другое неизвестно в статье Википедии о сопряженных априорных значениях и ссылках, которые я предоставил в конце моего ответа. Если среднее значение и дисперсия неизвестны, это становится немного сложнее.
Тим
μσ2
4

п(θ)п(Икс|θ)

п(θ|Икс)знак равноΣθп(Икс|θ)п(θ)п(Икс)

п(Икс)

п(θ|Икс)~Σθп(Икс|θ)п(θ)

~

Случай сопряженных априорных значений (где вы часто получаете красивые формулы закрытых форм)

θп(θ)п(Икс|θ)п(θ) п(θ|Икс)

Таблица сопряженных распределений может помочь построить некоторую интуицию (а также привести несколько поучительных примеров для проработки себя).

Мэтью Ганн
источник
1

Это центральная проблема вычислений для анализа байесовских данных. Это действительно зависит от данных и распределения. Для простых случаев, когда все может быть выражено в замкнутой форме (например, с сопряженными априорами), вы можете напрямую использовать теорему Байеса. Самым популярным семейством методик для более сложных случаев является марковская цепь Монте-Карло. Подробности см. В любом вводном учебнике по анализу байесовских данных.

Kodiologist
источник
Спасибо огромное! Извините, если это действительно глупый дополнительный вопрос, но в тех простых случаях, которые вы упомянули, как именно мы будем использовать теорему Байеса напрямую? Будет ли распределение, созданное средним из выборки, и дисперсия точек данных стать функцией вероятности? Большое спасибо.
statstudent
@ Келли Опять же, это зависит от распределения. Смотрите, например, en.wikipedia.org/wiki/Conjugate_prior#Example . (Если я ответил на ваш вопрос, не забудьте принять мой ответ, нажав на флажок под стрелками для голосования.)
Kodiologist