2014年11月21日 星期五

學習著貝葉斯分析及其軟件WinBUGS (Studying Bayesian statistics and WinBUGS)

    其實我很早以前,就已知有貝葉斯分析這回事,但從來沒瞭解它的原理、用途及方法等
    隨著學統計的日子越久,開始對統計的認識越深;統計就似是一瓶美酒,懂得品嚐者很著迷,不懂者就怕那苦澀味而我也深知傳統的統計學有著各種各樣的限制與不足;如要符合概率論的、最好是大樣本量、正態分佈則最好等等但現實又豈只是僅有這些情況呢!?於是統計學家在各種變異的情況下研究出這樣那樣的解決辦法:非參數檢驗(Non parametric test)自助法(Bootstrap)、貝葉斯分析(Bayesian analysis)等等...

貝葉斯分析
    它是先驗信息+樣本信息--->根據貝葉斯定理--->後驗信息--->推斷未知參數
    據說這樣的理論,更符合人類的認知過程(!?)
因為需要高階計算,以往是很難實施的;但隨著電腦的發展、馬可夫蒙特卡羅方法(MCMC)及其相應軟件WinBUGS的完善,使其在近廿年有了很大的進展及應用。

WinBUGS的大概應用步驟
1.設計模型
2.DAG中建立Doodle模型 / 或輸入程式
DAG圖

3.Doodle模型 或輸入程式進行驗證:
    在程式中要 mode
    Model/Specification--->Check model
4.輸入數據:Model/Specification--->Load data
    可用新窗口建立:File/New;也可以用list(變項名=c(…))---R形式一樣
5.對模型進行編譯:Model/Specification--->Compile
6.對模型初始值設定:Model/Specification--->load inits
7.取得模型:Model/Specification--->gen?
8.設定要運算的變項:Inference/Sample--->node 選入要運算的變項 --->set
9.對變項/模型進行迭代:Model/update--->iterations 輸入迭代次數 --->update
10.輸出模型的結果:Inference/Sample--->node *(代表全部被選變項) --->stats / density…
11.判別模型收斂情況…???

    還有其他類似的軟件的, 比如:OpenBUGS... 但建議用WinBUGS較好, 因較穩定!

沒有留言:

張貼留言