楼主: libaijun19
3284 1

[问答] 求助winbugs里怎么表示 IG 逆高斯分布? [推广有奖]

  • 5关注
  • 2粉丝

本科生

10%

还不是VIP/贵宾

-

威望
0
论坛币
79 个
通用积分
0
学术水平
-2 点
热心指数
-2 点
信用等级
-2 点
经验
30 点
帖子
44
精华
0
在线时间
77 小时
注册时间
2007-12-14
最后登录
2014-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1:不知道winbugs里是否有IG(逆高斯分布),只是我不知道像   dnorm 这样来表示
2:如果程序里没有,那么我该怎么把逆高斯分布用到里面去,也即如何定义一个库中没有的分布函数


有这方面学习交流  加QQ 1530432346.说明是学习winbugs。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:winbugs WINBUG BUGS Win bug 分布函数 我不知道 高斯 程序 如何

本帖被以下文库推荐

沙发
DM小菜鸟 发表于 2014-12-15 16:42:56 |只看作者 |坛友微信交流群
我给楼主说下逆高斯怎么弄,winbugs里,有些分布没有预设,需要我们自己另外定义。
# ---------------  INVERSE GAUSSIAN MODEL ------------------------------------
# ---------------  ZEROS TRICK ------------------------------------
model{


      C <- 10000
      for (i in 1:n) {
          zeros <- 0
          zeros ~ dpois( zeros.mean)
          zeros.mean <- -l + C
          l <-   0.5*( log( lambda ) - log(2*3.14) - 3*log(y) ) - 0.5* lambda * pow( (y-mu)/mu, 2 )/y
          log(mu) <- beta[1] + beta[2]*x1 + beta[3]*x2 + beta[4]*x3 + beta[5]*x4
       }  
       # priors
       for (j in 1:5){ beta[j] ~ dnorm( 0.0 ,  0.001 ) }
       lambda ~ dgamma( 0.01, 0.01)
       s2 <- 1/lambda
}
INITS
list( beta=c(0,0,0,0,0), lambda=1 )


# ---------------  ONES TRICK ------------------------------------
model{
      C <- 10
      for (i in 1:n) {
          ones <- 1
          ones ~ dbern( ones.p)
          ones.p <- exp( l - C )
          # write here the expression of the log-likelihood for i observation
          l <-   0.5*( log( lambda ) - log(2*3.14) - 3*log(y) ) - 0.5* lambda * pow( (y-mu)/mu, 2 )/y
          log(mu) <- beta[1] + beta[2]*x1 + beta[3]*x2 + beta[4]*x3 + beta[5]*x4
       }  
       # priors
       for (j in 1:5){ beta[j] ~ dnorm( 0.0 ,  0.001 ) }
       lambda ~ dgamma( 0.01, 0.01)
       s2 <- 1/lambda
}




在自己的程序里这样运用如下:
#model
{
  
C <- 10
      for (i in 1:n) {
          ones <- 1
          ones ~ dbern( ones.p)
          ones.p <- exp( l - C )
          # write here the expression of the log-likelihood for i observation
          l <-   0.5*( log( lambda ) - log(2*3.14) - 3*log(y) ) - 0.5* lambda * pow( (y-mu)/mu, 2 )/y
           lambda<-2
          mu<-4
         


    delta2<-y


y,就是我们要用的逆高斯分布,我这里期望值:4,delta的平方:2,lambda与delta平方实际室友关系的,但是,转化后lambda还是为2,转化没有什么意义,相当于没变,在用逆高斯分布时,你只需要改这两个值,然后引用y

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 11:47