2012-07-08 60 views
2

首先,有没有人知道开发者的WinBUGS指南?该网站上充满了模型语言的涂鸦和文档的详细示例,但我还没有找到任何关于如何解释陷阱窗口的内容。解释WinBUGS陷阱和如何自动执行程序?

其次,有没有人发现有任何的方式来精简检查/负载/编译/初始化/监视/更新周期?我的意思是,似乎没有什么办法可以说“不要再复习模型或将任何设置恢复为默认设置(!!!),只是继续从这些文件加载​​数据,这些文件,并为每个产生一个新的尾声“。即使是标准的Windows快捷方式也会在这里被取消,迫使用户不断点击并用相同的值填充相同的字段。这可能看起来像一个小问题,但是当你一个接一个地进行许多类似的分析时,它会变得很快。

我即将用TRON.EXE发送假mouseclicks到程序,但在这之前,我希望有一些本地和更优雅的方式来自动化重复的WinBUGS任务。

回答

2

嗯......这是在WinBUGS软件的正常:-)不友好,显示陷阱会吓跑一位经验丰富的内核黑客.. :-)我不认为存在一些指导陷阱。我的意思是,如果WinBUGS的创作者想要更加方便用户,他们可能会首先使陷阱更易于理解,因此不需要任何指导。

我试图做同样的事情 - 即定制WinBUGS软件的行为。首先,您可以使用R2WinBUGS从R调用WinBUGS。这样你就可以做很多自动化,但不是全部。例如,我想在WinBUGS中获得类似进度信息的内容。问题是WinBUGS UI在更新周期中卡住了。 R2WinBUGS创建script.txt命令脚本,并且有命令update (<big number of cycles>)。我在这里想要的是定制这个script.txt来包含很多较小的update(..)命令,而不是一个大的命令。但是,问题是R2WinBUGS自己生成这个脚本,你不能改变它。

所以定制WinBUGS软件的方式可能是你创建自己的包装,创建script.txt和其他文件。我相信你可以通过这种方式为WinBUGS做更多的定制。

但是,我不确定WinBUGS是否值得。它的发展已经停止,虽然受到很多人的青睐,但仍然僵化。你可以试试JAGS或CppBugs,它们似乎有更多的未来。

0

原来我没有足够的RTFM我的问题的第二部分。事实证明,名为“Batch-Mode:Scripts”的WinBUGS 1.4手册部分列出了所有的批处理命令。所有重要的UI功能都有一个批处理模式命令。在获得正确的参数方面只有一点点的试验和错误(例如over.relax('true'))。我花了一段时间才弄清楚WinBUGS似乎对某些Windows路径有问题,但只要一切位于安装WinBUGS的目录的子目录中,它就可以正常运行。

不得不继续加载所有这些小文件仍然很麻烦,但我编写了一个R-script,它使用BRugs包中的函数创建所有文件,并以一致的模式命名它们,并生成一个脚本然后将重新初始化模型并加载它们。

我会离开这个问题打开了一会儿,不过,看看是否有人有我在哪里可以学习更好地利用陷阱的任何建议。

2

对于围绕R2WinBUGS的包装,它增加了许多功能以简化严重的WinBUGS使用,请参阅我的软件包rube(http://www.stat.cmu.edu/~hseltman/rube/),该软件包尚未安装在CRAN上。

其中,当出现陷阱错误时,它会提供简单的英文错误消息,而不是将您的模型/数据/ inits传递给WinBUGS。它还提供了一个非常有用的总结你的模型/数据/ inits找出不能自动检测到的问题。当然,它并没有捕捉到所有的陷阱错误。