170 likes | 312 Views
貝氏估計與 WinBUGS 在社會科學的應用 . 蔡佳泓 政大選舉研究中心. 貝氏定理基礎. 根據機率的定義,聯合機率是條件機率與邊際機率之乘積 Pr( θ , y )=Pr( θ )Pr(y| θ ) 故 Pr( θ |y )=Pr( θ , y )/Pr(y) =Pr( θ )Pr(y| θ )/Pr(y) 因為 Pr(y) 可視為常數,故 Pr( θ |y )=Pr( θ )Pr(y| θ ). 例子. 假設 N 個選民之中投給歐巴馬的比例為 y , N-y 投給麥侃, y 為一種二元分布
E N D
貝氏估計與WinBUGS在社會科學的應用 蔡佳泓 政大選舉研究中心
貝氏定理基礎 • 根據機率的定義,聯合機率是條件機率與邊際機率之乘積 Pr(θ, y)=Pr(θ)Pr(y|θ) • 故Pr(θ|y)=Pr(θ, y)/Pr(y) =Pr(θ)Pr(y|θ)/Pr(y) 因為Pr(y)可視為常數,故 Pr(θ|y)=Pr(θ)Pr(y|θ)
例子 • 假設N個選民之中投給歐巴馬的比例為y,N-y投給麥侃,y為一種二元分布 y~(N/y) θy(1- θ)N-yPr(y| θ) 因為Beta分布介於0與1之間,所以是對於二元分布而言是一個合適的先驗資訊Pr(θ)
假設我們的調查資料顯示400個受訪者中有240人投歐巴馬,那麼資料顯示的參數為(240, 160) ,樣本平均值θ為0.6 • 我們若假設有五成會投歐巴馬,那麼參數為(50, 50) • 根據Beta分布,參數為αp+y以及βp+N-y,也就是(290, 210)樣本平均值為αp+y/(αp+y +βp+N-y) = 0.58
R的模擬 • draws1<-rbeta(800,290,210) • > summary(draws1) • Min. 1st Qu. Median Mean 3rd Qu. Max. • 0.5155 0.5641 0.5798 0.5794 0.5951 0.6519
R的模擬—4000個樣本 > draws2<-rbeta(4000,290,210) > winner1 <- ifelse(draws2 > 0.50, 1, 0) > winner2 <- ifelse(draws2 > 0.55, 1, 0) > table (winner1)/length(winner1) winner1 1 1 > table (winner2)/length(winner2) winner2 0 1 0.0855 0.9145
貝氏定理延伸 • 給定觀察到的資料,研究者對於參數的推論來自於一個先驗的資訊乘上一個概似值 π(θ|data)= π(θ)* f(data| θ) 而π(θ)有可能等於常數, 故π(θ|data)= f(data| θ)
概似(Likelihood) • 定義:一個聯合機率由某未知的參數所組成 • 例:常態分佈yi~N(μ,σ2) i=1,…,n • 為了估計μ,σ,使用最大概似法 L (μ,σ2 |y) =ПΦ (yi|μ,σ2) = П[(2πσ2)-1/2 ]exp(-(yi- μ)2/2 σ2]<--常態分佈cdf
MLE缺點 • 經由各種MLE的估計方法求出讓該式極大化的μ,σ,例如Newton-Raphson, quasi-Newton, EM algorithm等等。 • 從估計出的參數,可以得到信賴區間,或是驗證虛無假設,例如係數是否為0。 • MLE的估計建立在漸進(asymptotic)假設,也就是需要一定數目的樣本。如果樣本小,那麼需要用Monte-Carlo模擬確定估計的正確性。
貝氏分析1 • 回到yi~N(θ,σ2) i=1,…,n • 假設σ2已知 • θ~N(μ0,τ02) 或f(θ)=exp(-(θ- μ0)2/2τ02) 而f(y| θ,σ2)= П[(2πσ2)-1/2 ] exp(-(yi- θ)2/2 σ2]=exp[(-Σ (yi- θ)2)/2 σ2 ]
貝氏分析2 • f(θ|y)= f(θ) f(y |θ)= exp(-(θ- μ0)2/2τ02)exp[(-Σ (yi- θ)2)/2 σ2 ]=exp[(-(θ- μ0)2/2τ02)+ [(-Σ (yi- θ)2)/σ2 )] • θ|y~N(μn, τn2) • 重點為:posterior mean為先驗資訊的mean與樣本的mean的函數,而posterior variance為先驗τ02與樣本σ2 /n相加之倒數
推論1 • 當樣本幾近無限大或是先驗的variance無限大,我們得到的mean幾乎等於樣本的mean,而變異數亦將近於樣本的變異數 • 換句話說,在樣本有限的情況下,若先驗的variance很大,亦即先驗的資訊f(θ)準確性很低,我們仍會得到準確的參數估計(即使看起來跟MLE得到的一致)
推論2 • posterior mean = [(1/ τ02) μ0+(1/ v) y] / [(1/ τ02)+(1/ v) ] 其中v=sample variance/n, y為sample mean 除非τ02很小,不然posterior mean跟sample mean可能只差百分之1或更小 posterior variance=[(1/ τ02)+(1/ v)]
若先驗資訊(prior)與概似機率分布屬於同一家族,得出的posterior也會是同一家族,可簡化貝氏分析若先驗資訊(prior)與概似機率分布屬於同一家族,得出的posterior也會是同一家族,可簡化貝氏分析 Conjugacy(分布家族)
MCMC • Markov-chain Monte Carlo • 利用Markov-chain可以先解決較簡單的條件機率問題,構成更複雜的機率問題。 • Monte Carlo 則讓我們從特定分佈中不斷抽樣、儲存、進行參數估計
Gibbs sampler • 高階的聯合機率可以化為低階的條件機率 • p(x,y,z)=p(x|y,z)p(y|z)p(z)
Gibbs sampler • 假設有兩個參數θ1, θ2 • 先從θt-12, data抽樣出θt1。g(θ1 | θt-12, data) • 再從θt1, data抽樣出θt2。g(θ2 | θt1, data) • 當t趨近無限大時,每一對θt1, θt2可視為來自於π(θt1, θ2 | data)的樣本WinBUGS的方法