全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3653 6
2009-11-23
有谁知道用winbugs怎么编GARCH-T的程序啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-11-23 15:36:31
WinBugs 1.3简易使用说明


Bugs 网站:www.mrc-bsu.cam.ac.uk/bugs


1. 点选 图示,进入WinBugs,开启 (1)新的程式编辑视窗or (2)已存在的程式功能表列:File-New 功能表列:File-Open

2. 撰写程式:程式包含三部份.
(1) Model:建构贝氏统计模式,设定各参数的prior distribution及各参数间的关系等.
(2) Data:list指令起始,列出各参数的样本观察值及样本个数(N= ).
(3) Initial value:同样运用list指令,列出各参数的起始值.
ps:上述三大部份的程式撰写顺序并不会影响程式执行结果
:Seeds: random effects logistic regression (下图为WinBugs ExamplesSeeds的例子)
Model:
ri ~ Binomial(pi, ni)
logit(pi) = α0 + α1x1i + α2x2i + α12x1ix2i + bi
bi ~ Normal(0, τ)
在功能表列选取File Save as 即可将程式储存於指定的档案夹内
这是状态列
Initial value
Data
Bayesian model
Prior distribution的设定

3. 执行程式
Step 1 在功能表列中点选:Model Specification,开启Specification Tool 视窗Step 2 Check model:
选取Model程式中的关键字"model ",按下Specification Tool视窗的check model ,若此部份程式的语法及定义无误,:
(1) Specification Tool 视窗的 compile load data 键将会浮现,即可供执行点选;
(2) WinBugs左下角的状态列将会显示'model is syntactically correct' Step 3 Load data:
选取Data程式中的关键字" list ",按下Specification Tool视窗的 load data 键若资料型式无误,WinBugs左下角的状态列将会显示' data loaded ' 可选择一次simulate数个chains
Step 4 Compile Model:
直接按下Specification Tool视窗的 compile ,若程式无误,WinBugs
下角的状态列将会显示' model compiled '
Step 5 Load initial values:
选取Initial value程式中的关键字" list ",按下 load inits ,WinBugs
左下角的状态列显示:
(1) ' initial values loaded: model initialized ' 表示资料型式无误,接续Step6.
(2) ' initial values loaded: model contains uninitialized nodes ' 若程式没有缺
,会出现这样的讯息,则有两种可能:
() 当只simulate一个chain,出现上述的讯息表示程式中尚有一些参数
还未定义起始值,会发生这样的状况,有时是因为未提供起始值之参数
(Seeds例子中的:sigma) 与其他参数间 (:tau) 具有函数对应关
,(:sigma <- 1 / sqrt(tau));在此情况下,须再按下 gen inits ,
WinBugs依参数间的对应关系,自动为剩馀未定义起始值的参数生
成一个起始值,执行後,WinBugs左下角的状态列将会显示' initial
values generated: model initialized '.
() simulate 两个以上的chains,这个讯息代表至少有一个chains
参数尚未定义起始值;同样地,亦可按下 gen inits ,自动生成起
始值,或者回到程式,自行定义起始值.
Step 6 关闭Specification Tool视窗
4. Monitor 感兴趣的参数
Step 1 在功能表列中点选:Inference Samples,开启Sample Monitor Tool 视窗
Step 2 node方块中输入想要monitor的参数,:Seeds范例中,generate posterior
samples的参数为:alpha0,alpha1,alpha2,alpha12,tau,sigma,此步骤便是
node方块中输入这些参数名称,每输入一个参数名称,便按一次 set ,
待完全键入後,关闭此视窗.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-11-23 15:36:49
ps:由於此步骤之作用仅在monitor参数,视窗中之beg,end,thinchains
不会有任何作用,亦即更改其中的数值皆不会对output有任何影响,在此先
省略不谈,之後在simulated value时将会对这些指令之功用提出简略的说明.

……
5. Update the Model
Step 1 在功能表列中点选:Model Update,开启Update Tool 视窗
Step 2 update方块中键入想要generate posterior samples的样本数,:3000,
update ,iteration将由0 run 3000,WinBugs左下角的状态列将会
显示generate posterior samples所需的时间,:' updates took 1 s ',执行完後
关闭Update Tool 视窗. refresh=100 表示在iteration方块中,将会以100为单位,显示正在update
的进度,refresh值愈小,将愈加重其显示的量,update速度会变慢.
thin方块中之数值改为5,表示每隔5笔收一笔资料,共收3000,以整
Markov chain来看,WinBugs会保留的样本是第5, 10, 15,, 15000笔资料

6. 显示simulated values (posterior samples)
Step 1 在功能表列中点选:Inference Samples,开启Sample Monitor Tool 视窗
Step 2 Sample Monitor Tool视窗内各个选项的执行程序与作用:
(1) 由於之前曾在此视窗中monitor各个参数,因而现在若欲同时显现所有
monitor 参数的结果,则可在node 方块中键入'*',以代表全体参数;
若仅需部分参数的posterior samples及其统计推论结果,则在node方块中输
入该参数名即可.
(2) Burn in:为降低起始值的影响,选取递回後较稳定的资料,因此在分析时
常常需要Burn in 前面较不稳定的资料.假设现欲Burn in 前一
千笔资料,则需在beg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-11-27 22:55:04
虽然没有得到想要的GARCH-T的程序,还是要非常感谢你耐心的解答!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-11 21:02:49
楼主 你现在会了没??你有这个程序没啊 ???急用!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-9 22:02:56
winbugs 学习交流群212700541(希望各级别的朋友都加进来相互学习)

希望论坛里的几大高手 看见了,或者有朋友认识的邀请下,加进来,帮助下大家


本文来自: 人大经济论坛 Matlab及其他计量软件专版 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... &from^^uid=457412
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群