新建
上传
首页
助手
最?/div>
资料?/div>
工具

MCMC

中的

Metropolis Hastings

抽样?/p>

 

2012

?/p>

03

?/p>

09

?/p>

?/p>

Script

?/p>

字号

小中?/p>

?/p>

暂无评论

?/p>

阅读

 

1,823 

?/p>

[

点击加入在线收藏?/p>

]

 

Metropolis Hasting

(下面简?/p>

MH

)是蒙特卡罗马尔科夫链中一种重要的

抽样

方法。本文简

要介?/p>

MH

算法,并给出一个实例?/p>

 

MH

算法在参数空间随机取值,作为起始点。按照参数的概率分布生成随机的参数,按照?/p>

一系列参数的组合,计算当前点的概率密度。依据当前点和起始点概率密度比值是否大?/p>

(

0,1

)

之间的随机数来判断是否保留当前点?/p>

若当前点的概率密度大于该随机数,

就称这种?/p>

态为接受状态,

此时,在满足参数概率分布的前提下,继续随机抽取参数的组合?/p>

作为下一

点,计算下一点的概率密度,并计算下一点概率密度和概率密度的比值,并继续循环?/p>

若当

前点不能被接受,

则继续在满足参数概率分布的前提下?/p>

继续生成随机数,

作为新的参数?/p>

合,直到参数组合能够被接受为止?/p>

 

下面是用

MCMC

 MH

抽样

法生成满足一定条件二元正态分布的例子,供感兴趣的同仁参考?/p>

 

问题?/p>

## 

对于一个二元正态分布,给定输入数据点向?/p>

x 

?/p>

x

包含两个元素?/p>

x1

?/p>

x2

?/p>

,平

均值参数向?/p>

mu

?/p>

x1

?/p>

x2

?/p>

,和

sigma

(方差矩阵)

,写出二元正态分布的概率密度函数?/p>

 

该问题引自:

 

http

://

users.aims.ac.za

/~

ioana

/

 

由于本人?/p>

MCMC

理解不深,对一些概念的理解难免出现错误,望读者能够批评得阅读?/p>

若发现问题,请及时告知本人?/p>

 

## 

解答?/p>

 

mvdnorm <- function(x, mu, sigma){ 

 

 

 

 

#

?/p>

x

减去

mu 

 

 

 

 

x.minus.mu <- x - mu 

 

 

 

 

 

exp.arg 

 

 

 

<- -0.5 * sum(x.minus.mu * solve(sigma, x.minus.mu)) 

 

 

 

 

 

 

# det(sigma) sigma 

的行列式

 

 

 

 

 

return( 1 / (2 * pi * sqrt(det(sigma))) * exp(exp.arg) ) 

} 

 

## 

问题?/p>

 

## 

假设二元正态分布的参数如下?/p>

 

## 

两个维度的平均值分别为

 

2

?/p>

 

3 

# 

协方差矩阵为

 

# 4 1 

# 1 4 

# 

尝试用蒙特卡洛马尔科夫链

 

Metropolis 

Hastings 

抽样法生成后验分布,进行

10000

次随

机抽样,并计算随机点的接受率?/p>

 

 

# 

答:按照题意,有

 

mu <- c(2 ,3) 

sigma <- matrix(c(4, 1, 1, 4), nrow = 2) 

 

# 

限制

sampler

在空间的移动速率,数值越大,变化越快,该数值的设定待进一步讨论?/p>

 

 

sd.proposal <- 2 

 

## 

设定模拟的次?/p>

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

MCMC

中的

Metropolis Hastings

抽样?/p>

 

2012

?/p>

03

?/p>

09

?/p>

?/p>

Script

?/p>

字号

小中?/p>

?/p>

暂无评论

?/p>

阅读

 

1,823 

?/p>

[

点击加入在线收藏?/p>

]

 

Metropolis Hasting

(下面简?/p>

MH

)是蒙特卡罗马尔科夫链中一种重要的

抽样

方法。本文简

要介?/p>

MH

算法,并给出一个实例?/p>

 

MH

算法在参数空间随机取值,作为起始点。按照参数的概率分布生成随机的参数,按照?/p>

一系列参数的组合,计算当前点的概率密度。依据当前点和起始点概率密度比值是否大?/p>

(

0,1

)

之间的随机数来判断是否保留当前点?/p>

若当前点的概率密度大于该随机数,

就称这种?/p>

态为接受状态,

此时,在满足参数概率分布的前提下,继续随机抽取参数的组合?/p>

作为下一

点,计算下一点的概率密度,并计算下一点概率密度和概率密度的比值,并继续循环?/p>

若当

前点不能被接受,

则继续在满足参数概率分布的前提下?/p>

继续生成随机数,

作为新的参数?/p>

合,直到参数组合能够被接受为止?/p>

 

下面是用

MCMC

 MH

抽样

法生成满足一定条件二元正态分布的例子,供感兴趣的同仁参考?/p>

 

问题?/p>

## 

对于一个二元正态分布,给定输入数据点向?/p>

x 

?/p>

x

包含两个元素?/p>

x1

?/p>

x2

?/p>

,平

均值参数向?/p>

mu

?/p>

x1

?/p>

x2

?/p>

,和

sigma

(方差矩阵)

,写出二元正态分布的概率密度函数?/p>

 

该问题引自:

 

http

://

users.aims.ac.za

/~

ioana

/

 

由于本人?/p>

MCMC

理解不深,对一些概念的理解难免出现错误,望读者能够批评得阅读?/p>

若发现问题,请及时告知本人?/p>

 

## 

解答?/p>

 

mvdnorm <- function(x, mu, sigma){ 

 

 

 

 

#

?/p>

x

减去

mu 

 

 

 

 

x.minus.mu <- x - mu 

 

 

 

 

 

exp.arg 

 

 

 

<- -0.5 * sum(x.minus.mu * solve(sigma, x.minus.mu)) 

 

 

 

 

 

 

# det(sigma) sigma 

的行列式

 

 

 

 

 

return( 1 / (2 * pi * sqrt(det(sigma))) * exp(exp.arg) ) 

} 

 

## 

问题?/p>

 

## 

假设二元正态分布的参数如下?/p>

 

## 

两个维度的平均值分别为

 

2

?/p>

 

3 

# 

协方差矩阵为

 

# 4 1 

# 1 4 

# 

尝试用蒙特卡洛马尔科夫链

 

Metropolis 

Hastings 

抽样法生成后验分布,进行

10000

次随

机抽样,并计算随机点的接受率?/p>

 

 

# 

答:按照题意,有

 

mu <- c(2 ,3) 

sigma <- matrix(c(4, 1, 1, 4), nrow = 2) 

 

# 

限制

sampler

在空间的移动速率,数值越大,变化越快,该数值的设定待进一步讨论?/p>

 

 

sd.proposal <- 2 

 

## 

设定模拟的次?/p>

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

MCMC

中的

Metropolis Hastings

抽样?/p>

 

2012

?/p>

03

?/p>

09

?/p>

?/p>

Script

?/p>

字号

小中?/p>

?/p>

暂无评论

?/p>

阅读

 

1,823 

?/p>

[

点击加入在线收藏?/p>

]

 

Metropolis Hasting

(下面简?/p>

MH

)是蒙特卡罗马尔科夫链中一种重要的

抽样

方法。本文简

要介?/p>

MH

算法,并给出一个实例?/p>

 

MH

算法在参数空间随机取值,作为起始点。按照参数的概率分布生成随机的参数,按照?/p>

一系列参数的组合,计算当前点的概率密度。依据当前点和起始点概率密度比值是否大?/p>

(

0,1

)

之间的随机数来判断是否保留当前点?/p>

若当前点的概率密度大于该随机数,

就称这种?/p>

态为接受状态,

此时,在满足参数概率分布的前提下,继续随机抽取参数的组合?/p>

作为下一

点,计算下一点的概率密度,并计算下一点概率密度和概率密度的比值,并继续循环?/p>

若当

前点不能被接受,

则继续在满足参数概率分布的前提下?/p>

继续生成随机数,

作为新的参数?/p>

合,直到参数组合能够被接受为止?/p>

 

下面是用

MCMC

 MH

抽样

法生成满足一定条件二元正态分布的例子,供感兴趣的同仁参考?/p>

 

问题?/p>

## 

对于一个二元正态分布,给定输入数据点向?/p>

x 

?/p>

x

包含两个元素?/p>

x1

?/p>

x2

?/p>

,平

均值参数向?/p>

mu

?/p>

x1

?/p>

x2

?/p>

,和

sigma

(方差矩阵)

,写出二元正态分布的概率密度函数?/p>

 

该问题引自:

 

http

://

users.aims.ac.za

/~

ioana

/

 

由于本人?/p>

MCMC

理解不深,对一些概念的理解难免出现错误,望读者能够批评得阅读?/p>

若发现问题,请及时告知本人?/p>

 

## 

解答?/p>

 

mvdnorm <- function(x, mu, sigma){ 

 

 

 

 

#

?/p>

x

减去

mu 

 

 

 

 

x.minus.mu <- x - mu 

 

 

 

 

 

exp.arg 

 

 

 

<- -0.5 * sum(x.minus.mu * solve(sigma, x.minus.mu)) 

 

 

 

 

 

 

# det(sigma) sigma 

的行列式

 

 

 

 

 

return( 1 / (2 * pi * sqrt(det(sigma))) * exp(exp.arg) ) 

} 

 

## 

问题?/p>

 

## 

假设二元正态分布的参数如下?/p>

 

## 

两个维度的平均值分别为

 

2

?/p>

 

3 

# 

协方差矩阵为

 

# 4 1 

# 1 4 

# 

尝试用蒙特卡洛马尔科夫链

 

Metropolis 

Hastings 

抽样法生成后验分布,进行

10000

次随

机抽样,并计算随机点的接受率?/p>

 

 

# 

答:按照题意,有

 

mu <- c(2 ,3) 

sigma <- matrix(c(4, 1, 1, 4), nrow = 2) 

 

# 

限制

sampler

在空间的移动速率,数值越大,变化越快,该数值的设定待进一步讨论?/p>

 

 

sd.proposal <- 2 

 

## 

设定模拟的次?/p>

 

Ͼλ">
Ͼλ
Ŀ

MCMC中的Metropolis Hastings抽样?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

MCMC

中的

Metropolis Hastings

抽样?/p>

 

2012

?/p>

03

?/p>

09

?/p>

?/p>

Script

?/p>

字号

小中?/p>

?/p>

暂无评论

?/p>

阅读

 

1,823 

?/p>

[

点击加入在线收藏?/p>

]

 

Metropolis Hasting

(下面简?/p>

MH

)是蒙特卡罗马尔科夫链中一种重要的

抽样

方法。本文简

要介?/p>

MH

算法,并给出一个实例?/p>

 

MH

算法在参数空间随机取值,作为起始点。按照参数的概率分布生成随机的参数,按照?/p>

一系列参数的组合,计算当前点的概率密度。依据当前点和起始点概率密度比值是否大?/p>

(

0,1

)

之间的随机数来判断是否保留当前点?/p>

若当前点的概率密度大于该随机数,

就称这种?/p>

态为接受状态,

此时,在满足参数概率分布的前提下,继续随机抽取参数的组合?/p>

作为下一

点,计算下一点的概率密度,并计算下一点概率密度和概率密度的比值,并继续循环?/p>

若当

前点不能被接受,

则继续在满足参数概率分布的前提下?/p>

继续生成随机数,

作为新的参数?/p>

合,直到参数组合能够被接受为止?/p>

 

下面是用

MCMC

 MH

抽样

法生成满足一定条件二元正态分布的例子,供感兴趣的同仁参考?/p>

 

问题?/p>

## 

对于一个二元正态分布,给定输入数据点向?/p>

x 

?/p>

x

包含两个元素?/p>

x1

?/p>

x2

?/p>

,平

均值参数向?/p>

mu

?/p>

x1

?/p>

x2

?/p>

,和

sigma

(方差矩阵)

,写出二元正态分布的概率密度函数?/p>

 

该问题引自:

 

http

://

users.aims.ac.za

/~

ioana

/

 

由于本人?/p>

MCMC

理解不深,对一些概念的理解难免出现错误,望读者能够批评得阅读?/p>

若发现问题,请及时告知本人?/p>

 

## 

解答?/p>

 

mvdnorm <- function(x, mu, sigma){ 

 

 

 

 

#

?/p>

x

减去

mu 

 

 

 

 

x.minus.mu <- x - mu 

 

 

 

 

 

exp.arg 

 

 

 

<- -0.5 * sum(x.minus.mu * solve(sigma, x.minus.mu)) 

 

 

 

 

 

 

# det(sigma) sigma 

的行列式

 

 

 

 

 

return( 1 / (2 * pi * sqrt(det(sigma))) * exp(exp.arg) ) 

} 

 

## 

问题?/p>

 

## 

假设二元正态分布的参数如下?/p>

 

## 

两个维度的平均值分别为

 

2

?/p>

 

3 

# 

协方差矩阵为

 

# 4 1 

# 1 4 

# 

尝试用蒙特卡洛马尔科夫链

 

Metropolis 

Hastings 

抽样法生成后验分布,进行

10000

次随

机抽样,并计算随机点的接受率?/p>

 

 

# 

答:按照题意,有

 

mu <- c(2 ,3) 

sigma <- matrix(c(4, 1, 1, 4), nrow = 2) 

 

# 

限制

sampler

在空间的移动速率,数值越大,变化越快,该数值的设定待进一步讨论?/p>

 

 

sd.proposal <- 2 

 

## 

设定模拟的次?/p>

 



ļ׺.doc޸Ϊ.docĶ

  • ˽̰ѧ꼶²ڶʮ¡ǺԾ
  • (19ӢԾϼ)2019꼶ӢпԾ
  • matlab - matlabо˶
  • 2010ĴѧI˶ʿ⼰׼
  • CNMRҪ
  • PECVD ԭ
  • 2019߿ѧ()-弸κ
  • ԤƻĿо(Ŀ¼)
  • Ϲϵͳⱨ
  • ϶׼򡷼-2016

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)