楼主: xuyaozhan
5262 10

初学winbugs,我的数据咋么运行不了,求助! [推广有奖]

  • 0关注
  • 0粉丝

高中生

70%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
270 点
帖子
16
精华
0
在线时间
36 小时
注册时间
2013-11-20
最后登录
2020-10-22

楼主
xuyaozhan 发表于 2013-12-11 11:23:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
model
   {
       for( i in 1 : N ) {
           WSG[i]~dnorm(mu,tau)
           tau~dgamma(r,s)
           mu~dnorm(0.5,1000000)
                  }
        r~dnorm(0.0,1.0E-6)
        s~dnorm(0.0,1.0E-6)
        sigma <- 1 / sqrt(tau)
   
    }

Data
   list(WSG=c(0.976,0.946,0.964,0.886,1.3075), N=5)   
inits
   list(r=0.5,s=100000)
二维码

扫码加我 拉你入群

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

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

关键词:winbugs WINBUG BUGS Win bug sigma

沙发
TimeT 发表于 2013-12-11 21:10:07
你的程序问题很多,以致于我不知如何改,问题如下:
1. tau, mu 在for的循环内,就会使tau, mu重复被定义5遍,导致程序无法运行,所以需要将它们的定义移到循环以外。
2. mu~dnorm(0.5, 1000000)这样的定义Mu,使Mu服从MEAN=0.5,VAR=1E-6的正态分布,跟定义MU为常数0.5没什么区别。当然不影响程序运行。
3. Tau是GAMMA分布,GAMMA分布的参数要求为正数,即r>0, s>0。而你定义r, s 是正态(MEAN=0),可以为负,所以程序运行会出错;
4.s=100000这个初始值与s符合MEAN=0,VAR=1000000(即标准差=1000)的分布不匹配,即符合这样分布的s不可能取到这么大的正数,这个初值设定很奇怪。
5. 就5个数据,你的模型却那么复杂。数据量不太够,估计出来的意义不大。当然,我改了上面的4个毛病后,还是能运行的。
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 100 热心帮助其他会员
Lisrelchen + 100 + 5 + 5 + 5 观点有启发

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

藤椅
陈金海 发表于 2013-12-18 21:15:55
TimeT 发表于 2013-12-11 21:10
你的程序问题很多,以致于我不知如何改,问题如下:
1. tau, mu 在for的循环内,就会使tau, mu重复被定义5 ...
求助TimeT大神!!!
我想对BDI指数建立SV模型。用的是论坛里下载的程序,但是Data和INITIAL VALUES就有点摸不着头脑了。
现在Data这里是:list(N=538,y = c(-0.000680522,0.000476216,-0.002995338,……),y用的是BDI的收益率。
INITIAL VALUES是list(itau2 = 7, mu = 0, phi1= 0.975)。
模型正确,成功导入数据,也compile了,gen inits了。
可是到了inference的sample monitor tool,不能设置node,提示:monitor could not be set。
麻烦大神告知,这是怎么回事!

板凳
TimeT 发表于 2013-12-18 22:00:08
陈金海 发表于 2013-12-18 21:15
求助TimeT大神!!!
我想对BDI指数建立SV模型。用的是论坛里下载的程序,但是Data和INITIAL VALUES就有 ...
我算不上大神。你的问题不太完整,没想出如何回答。

报纸
xuyaozhan 发表于 2013-12-19 12:54:54
TimeT 发表于 2013-12-11 21:10
你的程序问题很多,以致于我不知如何改,问题如下:
1. tau, mu 在for的循环内,就会使tau, mu重复被定义5 ...
我按照你的要求,重新修改了下,现在能运行,麻烦你看下还有什么错误没?
model
   {
       for( i in 1 : N ) {
           WSG~dnorm(mu,tau)I(0.15,1.3)
           
                  }
        mu~dnorm(mu0,tau0)I(0.15,1.3)
      
        tau~dgamma(r,s)
        r~dnorm(0.0,1.0E+6)I(0.000001,)
        s~dnorm(0.0,1.0E+6)I(0.000001,)
        sigma <- 1 / sqrt(tau)
   
    }


Data
   list(WSG=c(0.976,0.946,0.964,0.886,1.3075), N=5, mu0=0.5,tau0=1.0E+6)   

inits
   list(tau=1,mu=1,r=0.1,s=0.1)

地板
TimeT 发表于 2013-12-19 23:57:40
xuyaozhan 发表于 2013-12-19 12:54
我按照你的要求,重新修改了下,现在能运行,麻烦你看下还有什么错误没?
model
   {
第三行的 WSG~dnorm(... 应该是:WSG后面有 [ i ]

7
jnmq 在职认证  发表于 2014-2-27 23:11:26
TimeT 发表于 2013-12-18 22:00
我算不上大神。你的问题不太完整,没想出如何回答。
您好,能指点下WinBUGS吗?我做结构方程模型,但是初学

8
tjyuanyuan 发表于 2015-5-6 00:33:44
我也有monitor 的问题,请问那个是什么意思啊,为什么用里面的参数就可以set呢?用你的那个类似的wsg就不行

9
ZM666 发表于 2020-5-22 12:21:32
陈金海 发表于 2013-12-18 21:15
求助TimeT大神!!!
我想对BDI指数建立SV模型。用的是论坛里下载的程序,但是Data和INITIAL VALUES就有 ...
您好,请问monitor could not be set问题解决了吗?

10
gerryli 发表于 2021-10-17 20:54:03
Try this


model {
        for (i in 1:N) {
                WSG[i] ~ dnorm (mu,tau[i])
                tau[i] ~ dgamma (r,s)
                }
   tau_mean <- r/s
        tau_var<-r/(s*s)
        mu ~ dnorm(0.5,100)
        r <- abs(r1)
        s <- abs(s1)
        r1 ~ dnorm(1, 100)
   s1 ~ dnorm(1, 100)
}

Data
list(N=5, WSG=c(0.976,0.946,0.964,0.886,1.3075))

Inits
list(mu=0.5, r1=1, s1=1)

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 15:18