Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MCMClogit的Cauchy-prior错误_R - Fatal编程技术网

MCMClogit的Cauchy-prior错误

MCMClogit的Cauchy-prior错误,r,R,我试图估计一个具有弱信息Cauchy先验的贝叶斯逻辑模型,位置=0,尺度=2.5()。我正在使用MCMCpack包中的mcmcmclogit: df = read.csv("http://dl.dropbox.com/u/1791181/MCMC.csv")#Read in data library(MCMCpack) logpriorfun <- function(beta, location, scale){ sum(dcauchy(beta, location, scale,

我试图估计一个具有弱信息Cauchy先验的贝叶斯逻辑模型,位置=0,尺度=2.5()。我正在使用
MCMCpack
包中的
mcmcmclogit

df = read.csv("http://dl.dropbox.com/u/1791181/MCMC.csv")#Read in data
library(MCMCpack)

logpriorfun <- function(beta, location, scale){
  sum(dcauchy(beta, location, scale, log=T))
} #From the MCMCpack documentation
mcmc.logit = MCMClogit(SECONDARY.LEVEL ~ AGE + SEX + as.factor(DISTRICT), 
                       tune=.25, 
                       user.prior.density=logpriorfun, location=0, scale=2.5, log=T,
                       mcmc=10000, 
                       data=df)

我看不出代码或数据有任何明显的问题。如果去掉previor选项,代码运行良好。如果有人给我指点,我将不胜感激

虽然我不知道问题的原因,但我认为可以用不同的种子重新运行
mcmclclogit
,以获得有效的后验估计值,这相对来说比较省钱。如果使用相同的种子重新运行,错误将再次发生。在Monte Carlo/重新采样设置中,明智的做法是使用
tryCatch
MCMClogit
中的随机种子集来避免崩溃。

R版本2.15.1(2012-06-22)-“烤棉花糖”平台:x86_64-pc-linux-gnu(64位)我用
set.seed(100)
初始化了您的代码。它向我显示了与您在开始时相同的错误,但在重新运行后,它每次都运行得非常完美(至少运行了四次)。我想你可能已经试过很多次了……的确。我尝试了许多排列和组合,使用0或最大似然估计值进行种子设定。对不起,我的意思是使用不同的值进行种子设定,并对beta.start使用0或ML估计值。我在蒙特卡罗模拟中遇到了相同的问题,使用Cauchy Previor多次迭代McClogit。有时函数失败,但在相同的数据(使用不同的种子)上重新运行不会复制错误。这是一个非常奇怪的问题。
Error in MCMClogit(SECONDARY.LEVEL ~ AGE + SEX + as.factor(DISTRICT),  :
  REAL() can only be applied to a 'numeric', not a 'NULL'