为什么要使用Markov chain Monte Carlo来逼近概率分布?

为什么要使用Markov chain Monte Carlo来逼近概率分布?
既然有样本的话,直接把样本的直方图画出来.根据弱大数定理,足够多的样本的直方图就是逼近概率分布的,为什么还要通过MCMC来逼近?是什么样的情况,无法直接使用样本的直方图?
最后的狠人 1年前 已收到1个回答 举报

j0qvpsf 幼苗

共回答了19个问题采纳率:84.2% 举报

MCMC一般用在算marginal posterior distribution上 主要是贝叶斯分析用 (据我目前所学感觉是这样)
是这样的:
样本足够多确实可以逼近分布 但是我们要用多层模型(hierarchical model)的时候 很难直接通过样本分布直接算出一些系数(parameter)的分布.当模型里面系数多的时候,通过贝叶斯定理可以写出很多系数的联合分布.然而我们需要估计系数的时候,往往需要的是marginal distribution.一般在这个时候要通过积分把其他系数消掉基本是不可能的.所以我们需要用mcmc这一类sampling method来趋近感兴趣的系数的posterior distribution.然后利用这个分布来进行分析~
我的理解是这样,希望能够帮到你~

1年前 追问

2

最后的狠人 举报

多层模型是什么意思?是说高维的分布吗?模型里面系数多意思是系数未知。那也就是说MCMC采样之后可以忽略这些未知的参数?

举报 j0qvpsf

编个例子吧- - 可以观察到x_1, x_2... x_n 所有x_i 服从 normal (y,1), 在这里y也是随机变量 假设y服从gamma(a,b), a和b分别服从0-truncated normal (10,0.1),这个模型有三层。 那么利用这些条件和贝叶斯公式 可以写出来条件分布 (y,a,b)|(x_1,...,x_n) 这个东西应该比较复杂。。然后如果我们想要单独研究y的分布 就要找到 y|(x_1,...,x_n) 利用积分求基本不可能。。就要用mcmc趋近y|(x_1,...x_n) 另外说 在这里说的是贝叶斯分析和经典统计分析是不同的 传统分析中 x_1,...x_n服从normal (theta, sigma^2), theta 和 sigma都是固定的,所以才能用大数定理 但是贝叶斯分析中 模型系数都是随机变量 所以不能用大数定理 顺便问 你是学计算机的吗

最后的狠人 举报

对。是学计算机的。最近接触机器学习。涉及到MCMC。你的意思是。每个模型里都有未知变量。而这个变量又服从另外一个模型。这样叫多层模型?所以说。现在的已知条件是n个样本。和未知参数的多层模型。然后用MCMC来做?你说的单独研究y的分布是什么意思?能否再解释一下?

举报 j0qvpsf

多层模型基本是那个意思 还说之前的例子,比如我们要检验假设h0: y=0 要做到这个就要求出y的95% credit interval (这个和经典统计分析里的confidence interval很像) 我们需要用y|(x_1,...,x_n)的期望和方差来求y的credit interval 根据已知条件 (y,a,b)|(x_1,...,x_n) 很好求 但用积分把a,b消掉 找到只有y的分布很难 所以我们用mcmc得到y的样本 这个样本分布是会趋近真正的y|(x_1,...,x_n)的 所以把样本取的很大 我们就可以通过样本来计算y的 credit interval 了 采了我 给我发消息吧 你要是时间多我可以给你本书看 里面有一些例子
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.022 s. - webmaster@yulucn.com