【问题标题】:Specify logit function explicitly in WinBUGS/OpenBUGS在 WinBUGS/OpenBUGS 中明确指定 logit 函数
【发布时间】:2017-01-14 02:53:28
【问题描述】:

我是 OpenBUGS 的新手,在使用 logit() 函数拟合模型时遇到了一些问题。

阅读后我发现一个可能的解决方案是明确指定 logit 函数而不使用 WinBUGS 自己的 logit 函数:

在更复杂的模型中,我们经常遇到问题 使用WinBUGS自带的logit函数,比如实现 收敛(实际上,即使相当简单也可能出现问题 楷模。)。因此,通常最好指定转换 通过 logit.p[i]

(更多信息在这里 http://www.mbr-pwrc.usgs.gov/software/kerybook/AppendixA_list_of_WinBUGS_tricks.pdf 第 14 点。)。

问题是我不明白怎么做,假设我原来使用 WinBUGS 集成 logit 函数的似然函数是:

for (i in 1:n){
    y[i] ~ dbern(p[i])
    logit(p[i]) <- beta[1] + beta[2]*x1[i] + beta[3]*x2[i] + beta[4]*x3[i] 
    }

我如何明确地写出来?

非常感谢。

文森佐

【问题讨论】:

    标签: bayesian winbugs r2winbugs openbugs


    【解决方案1】:

    感谢一位同事,我找到了在OpenBUGS中显式指定logit函数的方法,工作代码如下:

    for (i in 1:n){
    y[i] ~ dbern(logit.p[i])
    logit.p[i] <- 1 / (1 + exp(-p[i]))
    p[i] <-  beta[1] + beta[2]*x1[i] + beta[3]*x2[i] + beta[4]*x3[i] 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-07
      • 2019-03-10
      • 2014-03-16
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多