有关OpenBUGS/R2WinBUGS的小问题求解答-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 会计>>

会计库

>>

有关OpenBUGS/R2WinBUGS的小问题求解答

有关OpenBUGS/R2WinBUGS的小问题求解答

发布:空sutra | 分类:会计库

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

大家好,这两天正在尝试用R语言做生存分析,其中需要贝叶斯统计;主要模型是来自文献资料,但是运行过程中反复出现问题,希望大神们帮忙解答,谢谢!我用了两种方法,载入Library(BRugs),然后运行如下代码:rm(list ...
扫码加入统计交流群


大家好,这两天正在尝试用R语言做生存分析,其中需要贝叶斯统计;主要模型是来自文献资料,但是运行过程中反复出现问题,希望大神们帮忙解答,谢谢!
我用了两种方法,载入Library(BRugs),然后运行如下代码:
  1. rm(list=ls(all=TRUE))
  2. library(BRugs)
  3. # Specify the model in BUGS language, but save it as a string in R:
  4. modelString = "
  5. model{
  6. for (y in 1:N.years.sites){
  7. for (d in 1:N.days){
  8. events[d,y] ~ dpois(p[d,y])# raw data is {0/1} for each day
  9. p[d,y] <- max(p0[d,y],.001) # trick to avoid crashing from low values
  10. p0[d,y] <- a[d] * risk[d,y]
  11. risk[d,y] <- exp(beta[1]*temp.cum[d,y] + beta[2]*frost7[d,y] +
  12. beta[3]*precip7[d,y] ) # risk function that can include any covariates of interest, time-dependent or otherwise

  13. risk2[d,y] <- min(risk[d,y], 100)
  14. # events.pred[d,y] <- 1 - pow(exp(-sum(a[1 : d])), risk2[d,y] )
  15. }}

  16. for (d in 1:N.days){#
  17. a[d] <- p1/ (1+exp((2.2/p3) * (p2-d))) # baseline function used in this study (could be modeled otherwise for different applications, or left non-parametric)

  18. #p1 <- 1 # max
  19. #p2 <- 200 # point of inflection
  20. #p3 <- 20 # time between .1 and .5 and .5 and .9

  21. }
  22. p1~dlnorm(p1.sp, p1.tau)
  23. p3~dlnorm(p3.sp, p3.tau)

  24. p2~dlnorm(p2.sp, p2.tau)


  25. ## Priors (BUGS normal distributions use precision instead of variance, where precision = 1/variance)
  26. p1.sp ~ dnorm(0,.001)
  27. p2.sp ~ dnorm(3,.001)
  28. p3.sp ~ dnorm(50,.001)

  29. p1.tau ~ dgamma(.01,.01)
  30. p2.tau ~ dgamma(.01,.01)
  31. p3.tau ~ dgamma(.01,.01)

  32. # Overall species baseline curve
  33. for (d in 1:N.days){ a.sp[d] <- p1.sp/ (1+exp((2.2/p3.sp) * (p2.sp-d))) }


  34. for(pp in 1:n.beta){
  35. beta[pp] ~ dnorm(beta0[pp], beta.tau[pp])
  36. }

  37. for(pp in 1:n.beta){
  38. beta0[pp]~ dnorm(0,.001)
  39. beta.tau[pp] <- pow(beta.sigma[pp], -2)
  40. beta.sigma[pp] ~ dunif(0,10)
  41. }

  42. } # end model
  43. "
  44. .temp = file("model.txt","w") ; writeLines(modelString,con=.temp) ; close(.temp)
  45. modelCheck( "model.txt" )
  46. # THE DATA.

  47. N.days = 250
  48. N.years.sites = 5
  49. n.beta = 3
  50. response.day = 250
  51. datas<-read.csv("E:/R/survival/data.csv")
  52. events<-matrix(nrow=250,ncol=5)
  53. frost7<-matrix(nrow=250,ncol=5)
  54. precip7<-matrix(nrow=250,ncol=5)
  55. temp.cum<-matrix(nrow=250,ncol=5)
  56. for (i in 1:5) {events[,i]<-datas[,i]}
  57. for (i in 1:5) {frost7[,i]<-datas[,i+5]}
  58. for (i in 1:5) {precip7[,i]<-datas[,i+10]}
  59. for (i in 1:5) {temp.cum[,i]<-datas[,i+15]}
  60. dataList = list(
  61. events = events,
  62. frost7 = frost7,
  63. precip7 = precip7,
  64. temp.cum = temp.cum,
  65. N.days = N.days,
  66. n.beta = n.beta,
  67. N.years.sites= N.years.sites
  68. # response.day = response.day
  69. )
  70. nChains = 3
  71. modelData( bugsData( dataList ) )
  72. modelCompile( numChains = nChains )# BRugs tells BUGS to compile the model.
  73. modelGenInits()
  74. burninSteps = 1000
  75. modelUpdate( burninSteps )
复制代码以上,前面model check通过,load data通过,model compile通过,但是问题在于,每次到了modelGenInits() 这一步,就会提示:
Rstudio提示:
Error in handleRes(res) : NA
In addition: Warning message:
running command '"d:/Program Files/R/R-3.1.3patched/library/BRugs/exec/BugsHelper.exe" "C:/Users/TONGZ~1/AppData/Local/Temp/RtmpwPtl0g" "C:/Users/TONGZ~1/AppData/Local/Temp/RtmpwPtl0g/trash" "file18382a0663b.bug" "C:/Users/TONGZ~1/AppData/Local/Temp/RtmpwPtl0g/cmds.txt" "1"' had status 144
实在不明白怎么回事,找到了 Bugshelper.exe 双击打开提示
后来我在Openbugs 中找到libOpenBUGS.dll(重新安装了几次,该文件应当没有损坏。。),放到Bugshelper.exe旁边,又出现了第一张图的提示……
反复如此,用R和Rstudio都是一样的……
之后,我只好放弃Openbugs,改用R2WinBUGS
模型仍然是以上模型,读入的数据也是以上数据,最后运行bugs:
bugs.sim<-bugs(data,inits=NULL,parameters,noyear,n.chains=3,n.iter=40000,n.burnin=1000,bugs.directory="D:/winbugs14/WinBUGS14/",working.directory="c:/Bugs",debug=TRUE)
log信息如下:
display(log)
check(c:/Bugs/noyear.bug.txt)
model is syntactically correct
data(c:/Bugs/data.txt)
undefined variable
compile(3)
gen.inits()
command #Bugs:gen.inits cannot be executed (is greyed out)
thin.updater(117)
update(9)
command #Bugs:update cannot be executed (is greyed out)
set(beta)
command #Bugs:set cannot be executed (is greyed out)
set(p1)
command #Bugs:set cannot be executed (is greyed out)
set(p2)
command #Bugs:set cannot be executed (is greyed out)
set(p3)
command #Bugs:set cannot be executed (is greyed out)
set(deviance)
command #Bugs:set cannot be executed (is greyed out)
dic.set()
command #Bugs:dic.set cannot be executed (is greyed out)
update(334)
command #Bugs:update cannot be executed (is greyed out)
coda(*,c:/Bugs/coda)
command #Bugs:coda cannot be executed (is greyed out)
stats(*)
command #Bugs:stats cannot be executed (is greyed out)
dic.stats()
DIC
history(*,c:/Bugs/history.odc)
command #Bugs:history cannot be executed (is greyed out)
save(c:/Bugs/log.odc)
save(c:/Bugs/log.txt)
看这个意思好像是有未定义的变量。。?可是之前在BRugs中应该已经通过了啊。。
总是。。两种办法都卡住了。。。希望高手们看一下帮帮忙撒~~
十分感谢!!!!!
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-3616495-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版