Bayesian

使用新數據進行貝葉斯更新

  • September 26, 2016

在觀察 n 個數據點之後,我們如何計算具有先驗 N~(a, b) 的後驗?我假設我們必須計算數據點的樣本均值和方差,並進行某種將後驗與先驗相結合的計算,但我不太確定組合公式是什麼樣的。

貝葉斯更新的基本思想是給定一些數據和優先於感興趣的參數,其中數據和參數之間的關係使用似然函數來描述,您使用貝葉斯定理獲得後驗

這可以按順序完成,在看到第一個數據點之後 事先的 更新為後驗 ,接下來你可以取第二個數據點並使用之前獲得的後驗作為您的先前,再次更新它等。

讓我給你舉個例子。假設您要估計均值正態分佈和你知道。在這種情況下,我們可以使用正態-正態模型。我們假設正常先驗帶有超參數

由於正態分佈是共軛先驗對於正態分佈,我們有封閉形式的解決方案來更新先驗

不幸的是,這種簡單的封閉式解決方案不適用於更複雜的問題,您必須依賴優化算法(使用最大後驗方法進行點估計)或 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)
}

如果你繪製結果,你會看到隨著新數據的積累,後驗如何接近估計值(它的真實值用紅線標記)。

在正常-正常模型的後續步驟中更新先驗

要了解更多信息,您可以查看Kevin P. Murphy 對高斯分佈論文的這些幻燈片共軛貝葉斯分析。還要檢查貝葉斯先驗是否與大樣本量無關?您還可以查看這些註釋此博客條目,了解貝葉斯推理的可訪問分步介紹。

引用自:https://stats.stackexchange.com/questions/237037

comments powered by Disqus