0
我想構建一個Jags模型,並找到測試以及貝葉斯數據分析的先驗。 我的模型有3個預測變量x1, x2, x3
,結果是伯努利分佈變量Y。 如何定義先驗概率P(Y=1|X1), P(Y=1|X2), P(Y=1|X3)
三個預測因素影響結果Y? 我的數據基於矩陣nXr, n=1920 r=4 columns
X1, X2, X3 and Y
。如何構建模型並在R代碼中找到貝葉斯模型的測試版?
我想構建一個Jags模型,並找到測試以及貝葉斯數據分析的先驗。 我的模型有3個預測變量x1, x2, x3
,結果是伯努利分佈變量Y。 如何定義先驗概率P(Y=1|X1), P(Y=1|X2), P(Y=1|X3)
三個預測因素影響結果Y? 我的數據基於矩陣nXr, n=1920 r=4 columns
X1, X2, X3 and Y
。如何構建模型並在R代碼中找到貝葉斯模型的測試版?
聽起來好像你在問如何在JAGS中構造GLM。如果是的話,那麼最簡單的方法可能是使用template.jags功能在runjags包你使用類似做到這一點的:
library('runjags')
template.jags(Y ~ X1 + X2 + X3, data=nXr, family='binomial', write.data=FALSE)
## Inspect and edit the JAGSmodel.txt file ##
results <- run.jags("JAGSmodel.txt", data=nXr)
注意NXR有望成爲一個數據幀,而不是一個矩陣就像你說你現在有。這爲相關參數使用了(相對標準的)最小信息量的先驗,但爲了根據需要調整先驗,編輯爲您創建的模型文件是高度可預見的。我不知道'找到測試版'是什麼意思,除非你是指固定效應的截距和係數?
如果這沒有幫助,那麼我認爲您需要爲您的問題添加更多信息 - 例如更多關於您的預測變量X1-3的信息,您試圖準確實現的內容以及顯示前幾行你的數據也不會受到傷害。
在這種情況下貝葉斯公式是如何形成的? P(Y | X1,X2,X3)=? P(Y | X1X2)怎麼樣? –
通過將單詞'deviance'添加到JAGSmodel.txt文件中的監視器列表(如果它尚未存在),可以監視模型的偏差(減去log後驗的兩倍)。這給了你偏差的完整後面。如果你想計算可能性/後驗的各個部分,你可以用R來做這個。 dbinom和來自JAGS模型後面的X1,X2,X3的估計值(或者您可以計算和監測JAGS模型內可能性的單個分量)。 –