楼主: pipilee
5615 12

求助统计学高手! [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
42 点
帖子
5
精华
0
在线时间
22 小时
注册时间
2009-7-30
最后登录
2011-11-26

楼主
pipilee 发表于 2011-8-28 02:36:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
小女子为毕业论文忙的是焦头烂额啊,现在遇到一个棘手的问题,特此请教一下高手们!
我的任务主要是用markov chain monte carlo方法来估计 Merton(1976) 的Jump-Diffusion跳扩散模型以及Heston(1993)的随机波动模型中所有的参数和变量,先用conjugate prior求出所有相应的posterior,算出新的参数,然后把新分布编到R语言中进行抽样。
可问题是,我看了许多文献都没有关于posterior的具体推导过程。。。
有没有什么特殊的方法还是真的就只能硬推?请高手指点一些推导的技巧或者推荐一些相关的文献!小女子感激不尽
二维码

扫码加我 拉你入群

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

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

关键词:统计学 Monte Carlo Diffusion poster Markov 毕业论文 统计学 小女子 chain 技巧

回帖推荐

wfandzh 发表于6楼  查看完整内容

我建议你再看一下MCMC这个算法 我毕业设计的时候用winbugs做过SV-t模型的参数估计 用的就是MCMC 你这个跳跃扩散我估计就是SVCJ这个模型 就是在SV的基础上 加了个跳过程 参数估计还是用MCMC MCMC是基于贝叶斯统计推断的 它把模型的各个参数当做随机变量 MCMC是个抽样算法 你最终得到的参数估计结果其实是个核密度分布函数 不一定都对昂~

本帖被以下文库推荐

沙发
yuzhaoyu 发表于 2011-8-28 09:04:08
还真问题多啊 等有空了再来慢慢说

藤椅
wfandzh 发表于 2011-8-28 10:02:41
我怎么记得后验就是先验乘以似然呢?
fight!

板凳
pipilee 发表于 2011-8-28 17:07:56
wfandzh 发表于 2011-8-28 10:02
我怎么记得后验就是先验乘以似然呢?
谢谢答复!你说的对,然后呢?不用具体推导出后验分布的新参数吗?还是就可以直接编程了?

报纸
若笑 发表于 2011-8-28 18:44:00
百度一下 你就知道,google一下,你知道的更多!

地板
wfandzh 发表于 2011-8-28 20:10:10
pipilee 发表于 2011-8-28 17:07
谢谢答复!你说的对,然后呢?不用具体推导出后验分布的新参数吗?还是就可以直接编程了?
我建议你再看一下MCMC这个算法 我毕业设计的时候用winbugs做过SV-t模型的参数估计 用的就是MCMC 你这个跳跃扩散我估计就是SVCJ这个模型 就是在SV的基础上 加了个跳过程 参数估计还是用MCMC MCMC是基于贝叶斯统计推断的 它把模型的各个参数当做随机变量 MCMC是个抽样算法 你最终得到的参数估计结果其实是个核密度分布函数   不一定都对昂~
fight!

7
pipilee 发表于 2011-8-29 23:19:16

8
pipilee 发表于 2011-8-31 17:41:55
yuzhaoyu 发表于 2011-8-28 09:04
还真问题多啊 等有空了再来慢慢说
高手快来指点迷津啊

9
epoh 发表于 2011-9-16 19:09:48

根据你给的文献jd empi.pdf

page 18/47,

作者是用matlab实证

burn=2000,iterations=3000,

为了要画page 19/47 Jump Probability图形,这也是恰巧合理.

因为Xiy matrix 3849 x 3000,就已近 300 Mb,

若iterations增加到10000,

一般软件无法读入及处理这么大的文件

R就无法处理,底下图形我是在matlab画的.

jump probability.jpg

package "R2WinBUGS"顾名思义

就是R & Winbugs 的桥梁

通过R及package "coda"可以进一步检验模型及画图

如:gelman.diag() Gelman and Rubin's convergence diagnostic

library(coda)
out=as.mcmc.list(JD1.sim)
gelman.diag(out)

Potential scale reduction factors:

         Point est. Upper C.I.
deviance       1.04       1.12
lambday       1.04       1.12
mu              1.00       1.00
muy            1.00       1.00
sig              1.02       1.06
sigy            1.07       1.27
tau             1.02       1.05
tauq           1.06       1.23
########gelman.plot

gelman.plot(out)

gelman.plot.jpeg


########chain=2,burn in=2000,iter=5,000 result
########Node statistics
node      mean      sd         MC error  2.5%    median   97.5%  start sample
deviance8192.0   109.6        6.519    7971.0 8195.0    8401.0   2001 6000
lambday 0.05502 0.0084615.251E-4 0.03947 0.05464 0.07272 2001 6000
mu        0.07177 0.01326 2.825E-4  0.04573 0.07179 0.09771 2001 6000
muy     -0.4368   0.2444  0.01728  -0.9498  -0.4286   0.0098152001 6000
sig        0.7349   0.01331 6.43E-4   0.7098   0.7348    0.761     2001 6000
sigy      2.883     0.2375   0.01903   2.47      2.873      3.376     2001 6000
tau       1.854     0.06707 0.003248 1.727     1.852      1.985     2001 6000
tauq     0.06615 0.0099737.981E-4 0.04893  0.06544  0.08696 2001 6000

log.odc

log.rar (133.75 KB) 本附件包括:

  • log.odc


merton.jpg

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
esir + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

10
zhangtao 发表于 2011-10-1 10:41:31
epoh老师,您好!
在R2winbugs包打开的情况下,运行您的程序,为什么会出现以下错误?如何更正和运行?

> library(coda)
> out=as.mcmc.list(JD1.sim)
错误于as.mcmc.list(JD1.sim) : 找不到对象'JD1.sim'
> gelman.diag(out)
错误于as.mcmc.list(x) : 找不到对象'out'
> gelman.plot(out)

还有,您提供的:log.odc文件如何运行?
可以在winbugs14中打开log.odc文件,但是无法运行。
display(log)
check(c:/Bugs/JD1//JD1.bug.txt)
model is syntactically correct
data(c:/Bugs/JD1/data.txt)
data loaded
compile(2)
model compiled
inits(1,c:/Bugs/JD1/inits1.txt)
this chain contains uninitialized variables
inits(2,c:/Bugs/JD1/inits2.txt)
this chain contains uninitialized variables
gen.inits()
initial values generated, model initialized
thin.updater(1)
update(2000)
set(mu)
set(muy)
set(tau)
set(tauq)
set(sig)
set(sigy)
set(lambday)
set(deviance)
dic.set()
command #Bugs:dic.set cannot be executed (is greyed out)
update(3000)
coda(*,c:/Bugs/JD1/coda)
stats(*)

Node statistics
         node         mean         sd         MC error        2.5%        median        97.5%        start        sample
        deviance        8192.0        109.6        6.519        7971.0        8195.0        8401.0        2001        6000
        lambday        0.05502        0.008461        5.251E-4        0.03947        0.05464        0.07272        2001        6000
        mu        0.07177        0.01326        2.825E-4        0.04573        0.07179        0.09771        2001        6000
        muy        -0.4368        0.2444        0.01728        -0.9498        -0.4286        0.009815        2001        6000
        sig        0.7349        0.01331        6.43E-4        0.7098        0.7348        0.761        2001        6000
        sigy        2.883        0.2375        0.01903        2.47        2.873        3.376        2001        6000
        tau        1.854        0.06707        0.003248        1.727        1.852        1.985        2001        6000
        tauq        0.06615        0.009973        7.981E-4        0.04893        0.06544        0.08696        2001        6000
dic.stats()

DIC
history(*,c:/Bugs/JD1/history.odc)
数学好就是要天天学

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 23:15