如何解决如何修复 R2jags::jags
我正在尝试尝试“Yet,B.,& Şakar,CT”(2019 年)案例研究的示例。估计多标准决策中的标准权重分布:贝叶斯方法。运筹学年鉴,1- 25。”提出了将MCMC方法用于“多属性决策”问题。
我想用条件计算权重的分布(用b1~b5表示)
y = 1 if (b[i]*x[i]) >= 0
y = 0 if (b[i]*x[i]) < 0
我的问题是
-
我认为 'y' 的先验分布不适合这个问题。
-
我不知道如何将权重总和为 1 表示为锯齿模型。
-
运行我在下面附加的代码后,R 产生了错误消息:“节点与父节点不一致”。 我认为是因为问题 1 中的问题。
这是我的 R 代码
myData = read.csv("School.csv")
View(myData)
y=myData$y
Ntotal =length(y)
Datalist=list(y=y,Ntotal = Ntotal)
View(Datalist)
x1=myData$x1
x2=myData$x2
x3=myData$x3
x4=myData$x4
x5=myData$x5
Datalist=list(y=y,x1=x1,x2=x2,x3=x3,x4=x4,x5=x5,Ntotal = Ntotal)
sim.dat.jags <- list("y","x1","x2","x3","x4","x5","Ntotal")
bayes.mod.params <- c("b1","b2","b3","b4","b5")
还有 rjags 模型
bayes.mod <-function() {
for(i in 1:Ntotal) {
y[i] ~ dbern(d.bound[i])
d.bound[i] <- max(0,differ[i])
differ[i] <- b1*x1[i]+b2*x2[i]+b3*x3[i]+b4*x4[i]+b5*x5[i]
}
b1~dunif(0,1)
b2~dunif(0,1)
b3~dunif(0,1)
b4~dunif(0,1)
b5~dunif(0,1)
}
'School.csv' 的内容如下:
x1,x2,x3,x4,x5,y
-0.001,0.157,0.233,-0.175,0.075,1
0.083,-0.314,-0.148,0.171,-0.114,1
0.072,0.199,0.054,-0.121,0.068,1
-0.064,-0.188,0.033,0.378,-0.493,1
0.033,-0.184,0.083,0.024,-0.249,1
0.045,0.271,0.113,-0.147,0.377,1
-0.169,-0.267,-0.078,0.303,0.151,1
0.118,0.161,-0.219,0.315,-0.674,1
-0.324,0.33,-0.288,0.614,-0.1,1
0.156,-0.04,0.259,-0.29,-0.344,1
-0.157,-0.149,-0.131,0.423,0.462,1
0.35,-0.446,-0.372,-0.171,1
0.006,0.035,-0.018,0.026,0.072,1
0.012,0.025,0.022,-0.323,1
-0.126,0.599,0.051,-0.39,0.079,-0.182,0.167,0.036,1
0.001,-0.157,-0.233,0.175,-0.075,0
-0.083,0.314,0.148,0.114,0
-0.072,-0.199,-0.054,0.121,-0.068,0
0.064,0.188,-0.033,-0.378,0.493,0
0.001,0
接下来我可以尝试什么来解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。