回复 第2楼 的 YSU:
好的。我来说下我遇到的问题。首先给你这个网址,http://finzi.psych.upenn.edu/R/library/mcmc/doc/demo.pdf
这篇文章讲述了如何使用mcmc来解决广义线性模型问题,其结果在文章的最后:
<br />
estimate 0.6625 0.7941 1.1713 0.5066 0.7261<br />
(这里我只写那几个要估计的参数的值,标准误,以及方差啥的都没写)。
知道,在R中有很多贝叶斯分析函数,可以直接对这种问题进行处理,我找到了这样一个包arm.里面有bayesglm这样一个函数,可以直接算这种模型,
貌似这个包是通向Bugs的一个借口,也就是说其实是用Bugs来算的,可是,我发现,这个结果和上面用MCMC得到的结果不一样
<br />
library(mcmc)<br />
library(arm)<br />
data(logit)<br />
bayesglm(y ~ x1 + x2 + x3 + x4, data = logit,<br />
family = binomial, n.iter = 10000)<br />
结果是
<br />
bayesglm(formula = y ~ x1 + x2 + x3 + x4, family = binomial,<br />
data = logit, n.iter = 10000)<br />
coef.est coef.se<br />
(Intercept) 0.57 0.28<br />
x1 0.70 0.33<br />
x2 1.01 0.33<br />
x3 0.42 0.32<br />
x4 0.62 0.36<br />
---<br />
n = 100, k = 5<br />
residual deviance = 87.9, null deviance = 137.6 (difference = 49.8)<br />
><br />
可以看到,在模拟次数这么大时,两种方法之间的差距还是相当的明显的,试问,难道Bugs里不也是用的这种mcmc方法吗,怎么结果如此different?
</p>