||
最近在做一个project。之前没有注意这个问题,因为都是随便看看,没有自己动手。这次自己动手写R代码和WinBUGS代码,问题就出来了。因为最初是从WinBUGS接触贝叶斯分析的,所以对WinBUGS语言规范更熟悉,所谓的“先入为主”吧。在WinBUGS中,如果你没有explicitly给出待估计参数的初始值,WinBUGS本身会从先验分布中自动抽取的(虽然效果不一定好,但这确实可行,可以使程序跑起来)。而在R里,参数的初始值是必须的,如果你没有给出来,程序一直报错。刚开始怎么也不明白,后面才醒悟过来。from the scratch。
由于在贝叶斯分析中,通常不止一个参数,参数之间都是“条件依赖”的。求某个参数的值,都是基于你已经知道其他所有相关参数的前提之下的。回到第一步模拟,你总得给个初始条件,才能把模拟进行下去!也就是马尔可夫连的前端,可以认为是第一个点。一切都得有个起点!没有起点,何来“以后”!
此外,给出合理的初始值,对于后面的模拟是非常重要的。好的合理的初始值。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 09:28
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社