马尔科夫链蒙特卡洛模拟
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
马尔科夫链蒙特卡洛模拟(MCMC)原理 以及应用
经典计量经济学与贝叶斯计量经济学
• Classical
样本数据搜集
经济理论
理论模型设计
模型参数的估计
模型的检验
• Bayesion
样本数据的信息
先验信息
贝叶斯定理
后验理论模型
模型的参数估计
模型的检验
蒙特卡洛统计模拟
• 目的:依概率 p ( x ) 分布抽样产生随机数 • 特点:大量的反复抽样实验 1)直接抽样方法:用于完全已知概率分布。 2)mcmc方法:用于不完全已知概率分布和完全已知概率分布抽样失效的。 蒙特卡洛模拟简单的例子: N=100000; x=rand(N,1); y=rand(N,1); count=0; for i=1:N if (x(i)^2+y(i)^2<=1) count=count+1; end end PI=4*count/N
U≤α(xt,xt+1)? NO xt+1=xt
xt+1=y
YES
t=t+1
NO
t>m?
YES
EN D
Bayesion建模
• Classical
y 0 1 x1 2 x2 3 x3 ... n xn
• Bayesion
y ~ D(u ) u 0 1 x1 2 x2 ... n xn
i ~ D()
winbugs的建模
建模过程: (1)设置参数的先验分布以及初始值 (2)设置参数和变量之间的逻辑关系 (3)载入样本观察值以及样本个数 exa:有10种水泵,假设发生故障的水泵个数xi服从泊松分布
θi表示i水泵发生故障的概率,ti表示运行的时间。
xi ti 5 94.3 1 15.7 5 62.9 14 126 3 5.24 19 31.3 1 1.05 1 1.05 4 2.1 22 10.5
stata与winbugs的数据交换
markov chain
) 转移核 对于一个不可约的、常返的、非周期的chain,在转移矩阵P下一定步数以后收敛到平 稳分布π。并且改变 的取值,收敛的分布不会改变。 0 简单的例子:
经过5步转移以后样本的分布收敛
p ( j ,
j 1
) p ( j
j 1
mcmc
于是产生了mcmc算法: 1)在事先不完全知道我们所要求解的参数的后验分布的情况下,我们给定一个接近于 真实后验分布的先验分布并且生成一个接受概率。 2)开始抽样,迭代一定步数以后样本的分布开始收敛于真实的后验分布,我们认为这 个时候开始得到的样本服从真实的后验分布。 假设m步以后分布开始收敛,则参数的统计量为 :
层次结构模型,θ~D(α,β)
λ=θi*ti
x~poisson(λ)
请在此输入您的标题
• • • • • 参数求解: (1)迭代 (2)取得后验分布的样本值 (3)丢弃(burn in)非平稳分布的样本值 (4)根据剩下的样本值做各种统计推断
ri ~ Binomial ( pi , ni ) logit( pi ) a1 a2 x2i a3 x3i a4 x4i a5 x5i a j ~ Normal (0, a j )
mcmc算法主要包括:Gibbs抽样算法、metropolis算法
f ( ,Leabharlann Baidu
m
m1
,
m 2
,..... )
n
metropolis算法
•
t时随机样本的初始值 Xt 建议概率分布 q(xt+1|xt)下抽样产 生y
设定接受概 率α(xt, xt+1)
产生一个U~ N(0,1)分 布的随机数
xi ~ poisson (i ti )
model; { alpha ~ dexp( 1.0) beta ~ dgamma( 0.1, 1.0) for( i in 1 : N ) { theta[i] ~ dgamma(alpha,beta) } for( i in 1 : N ) { lambda[i] <- theta[i] * t[i] } for( i in 1 : N ) { x[i] ~ dpois(lambda[i]) } }
经典计量经济学与贝叶斯计量经济学
• Classical
样本数据搜集
经济理论
理论模型设计
模型参数的估计
模型的检验
• Bayesion
样本数据的信息
先验信息
贝叶斯定理
后验理论模型
模型的参数估计
模型的检验
蒙特卡洛统计模拟
• 目的:依概率 p ( x ) 分布抽样产生随机数 • 特点:大量的反复抽样实验 1)直接抽样方法:用于完全已知概率分布。 2)mcmc方法:用于不完全已知概率分布和完全已知概率分布抽样失效的。 蒙特卡洛模拟简单的例子: N=100000; x=rand(N,1); y=rand(N,1); count=0; for i=1:N if (x(i)^2+y(i)^2<=1) count=count+1; end end PI=4*count/N
U≤α(xt,xt+1)? NO xt+1=xt
xt+1=y
YES
t=t+1
NO
t>m?
YES
EN D
Bayesion建模
• Classical
y 0 1 x1 2 x2 3 x3 ... n xn
• Bayesion
y ~ D(u ) u 0 1 x1 2 x2 ... n xn
i ~ D()
winbugs的建模
建模过程: (1)设置参数的先验分布以及初始值 (2)设置参数和变量之间的逻辑关系 (3)载入样本观察值以及样本个数 exa:有10种水泵,假设发生故障的水泵个数xi服从泊松分布
θi表示i水泵发生故障的概率,ti表示运行的时间。
xi ti 5 94.3 1 15.7 5 62.9 14 126 3 5.24 19 31.3 1 1.05 1 1.05 4 2.1 22 10.5
stata与winbugs的数据交换
markov chain
) 转移核 对于一个不可约的、常返的、非周期的chain,在转移矩阵P下一定步数以后收敛到平 稳分布π。并且改变 的取值,收敛的分布不会改变。 0 简单的例子:
经过5步转移以后样本的分布收敛
p ( j ,
j 1
) p ( j
j 1
mcmc
于是产生了mcmc算法: 1)在事先不完全知道我们所要求解的参数的后验分布的情况下,我们给定一个接近于 真实后验分布的先验分布并且生成一个接受概率。 2)开始抽样,迭代一定步数以后样本的分布开始收敛于真实的后验分布,我们认为这 个时候开始得到的样本服从真实的后验分布。 假设m步以后分布开始收敛,则参数的统计量为 :
层次结构模型,θ~D(α,β)
λ=θi*ti
x~poisson(λ)
请在此输入您的标题
• • • • • 参数求解: (1)迭代 (2)取得后验分布的样本值 (3)丢弃(burn in)非平稳分布的样本值 (4)根据剩下的样本值做各种统计推断
ri ~ Binomial ( pi , ni ) logit( pi ) a1 a2 x2i a3 x3i a4 x4i a5 x5i a j ~ Normal (0, a j )
mcmc算法主要包括:Gibbs抽样算法、metropolis算法
f ( ,Leabharlann Baidu
m
m1
,
m 2
,..... )
n
metropolis算法
•
t时随机样本的初始值 Xt 建议概率分布 q(xt+1|xt)下抽样产 生y
设定接受概 率α(xt, xt+1)
产生一个U~ N(0,1)分 布的随机数
xi ~ poisson (i ti )
model; { alpha ~ dexp( 1.0) beta ~ dgamma( 0.1, 1.0) for( i in 1 : N ) { theta[i] ~ dgamma(alpha,beta) } for( i in 1 : N ) { lambda[i] <- theta[i] * t[i] } for( i in 1 : N ) { x[i] ~ dpois(lambda[i]) } }