Bayesian
使用新數據進行貝葉斯更新
在觀察 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 對高斯分佈論文的這些幻燈片和共軛貝葉斯分析。還要檢查貝葉斯先驗是否與大樣本量無關?您還可以查看這些註釋和此博客條目,了解貝葉斯推理的可訪問分步介紹。