gaotao
[未知用户] 冒个泡,同意谢老大的观点。因为随机投点法比较粗糙,而且用的随机数应该是伪随机的,遇到高维时,单纯的加大投点的随机数,意义不是很大,当然还因为在高维下数据太稀疏的缘故,所以随机投点法虽常用但是对于需要比较精确一点的解时误差还是挺大的。
而对于平均值法,现在改进的方法倒是还蛮多的。在平均值法中的均方误差等于E|e_N|^2=Var(f)/N,Var(f)为f(X)的方差,所以改进时需要增大N和减小Var(f),因此抽样方法的选择就是一个很重要的技巧,这里就不再过多探讨,可以参阅相关计算方法的书。用这个方法的话,根据上面的公式可知MC收敛阶不依赖维数(半阶收敛性),因此用较大型的计算机便可以得到较精确的解,而不用随机投点法了。
但是当有更高效率和精度的确定性算法时,还是不会用MC法的,他是往往没有更好的算法时才采用,比如上千上万维的积分...
cloud_wei
还是期待量子计算机的横空出世吧,到时候可不惧怕这些大计算量问题了。
jiaojiaojing
[未知用户] 大致看了看,非常好的一份材料,不仅研究了Monte Carlo,还研究了Bayesian,非常值得大家看哦,不过缺点就在于这份PDF没有目录,所以我为这个材料做了一份目录,希望可以帮助大家学习:
Monte Carlo Statistical Methods
by Christian P.Robert
context
1 introduction
1.1 Statistical Models 5
1.2 Likelihood Methods 10
1.3 Bayesian Methods 21
1.4 Deterministic Numerical Methods 28
1.5 simulation versus numerical analysis:
when is it useful? 31
2 Random Variable Generation 35
2.1 Basic Methods 37
2.2 Beyond uniform distributions 51
3 Monte Carlo Intergration 76
3.1 introduction 77
3.2 Classical Monte Carlo Integration 80
3.3 importance sampling 87
3.4 Acceleration Methods 98
4 Markov Chains 108
4.1 Basic Notions 110
4.2 Irreducibility 115
4.3 Transience/Recurrence 123
4.4 Invariant Measures 126
4.5 Ergodicity and stationarity 130
4.6 Limit Theorems 134
5 Monte Carlo Optimization 139
5.1 Introduction 140
5.2 Stochastic Exploration 142
5.3 Stochastic Approximation 173
5.3.3 MCEM 195
6 The Metropolis-Hastings Algorithm
6.1 Markov Chain Monte Carlo 197
6.2 The Metropolis-Hastings Algorithm 199
6.3 A Collection of Metropolis-Hastings Algorithms 204
6.4 Extensions 217
7 The Gibbs Sampler 231
7.1 General Principles 232
7.1.5 Hierarchical models 253
7.2 Data Augmentation 255
7.3 Improper Priors 271
8 Diagnosing Convergence 278
8.1 Stopping the Chain 279
8.2 Monitoring Stationarity Convergence 282
8.3 Monitoring Average Convergence 290
9 Implementation in Missing Data Models 317
9.1 First examples 319
9.2 Finite mixtures of distributions 340
9.3 Extensions 354
colinisstudent
[未知用户] 我倒是觉得并不是所有的积分问题都值得硬上的,一些问题能够被简化,使得积分问题在相对比较低维的情况下进行。
邱怡轩
[未知用户] set.seed()
不是为了防止产生相同的随机数,相反,正是为了产生相同的随机数,因为这样一来,每次运行的结果就是一样的,这使得结果可重复被验证。参数的选择很随意,比如选个幸运数字什么的。
library()
和require()
在作用上没什么大差别,但require()
会返回一个逻辑值,加载成功就返回TRUE,否则为FALSE。
Hu Rong-xing
[未知用户] 很久之前用过蒙特卡罗方法,现在都生疏了。蒙特卡罗的好处就是计算简化,不用去考虑那么复杂的积分或微分甚至偏微分。
而对维数不敏感也是其一个优点之一,在谢兄这倒成了其缺点了。有两位经济学家用该方法解作过1900多维计算。
yihui
[未知用户] 那要看怎么理解“对维数不敏感”了,如果只是“不限制维数”的话,那这算不上优点,因为高维情况下需要的样本点会急剧增加,否则积分可能不精确(如前例)。当然,蒙特卡洛方法包括思想类似的一大类方法,也许存在某些方法能克服维数问题,我不了解。
shuaihuang
http://www.stat.columbia.edu/~cook/movabletype/mlm/RMHMC_MG_BC_SC_REV_08_04_10.pdf
刚在GELMAN博客上看到这篇文章,非常兴奋,这个东东将是蒙特卡洛计算的一个里程碑!
P.S. 看到“有两位经济学家用该方法解作过1900多维计算。” 请问可有文献啊。这个维数有点吓人,如果他们成功了,那简直太值得一学了。。。有文献就拿出来共享嘛。。
Zhangtao-zhangws021
非常喜欢MCMC,就是不太懂,希望大侠们多提供一些基础性的材料和讲义。
吴峰
受益了~下面的讨论也很精彩
mingsnu
如果能加点图例就更好了,像hit and miss方法,看图一目了然。再就是可以考虑再加上Importance sampling, MCMC等方法,感觉两种方法还是略显单调。最后说下版面问题:1.最上面因为页面右面有标签看起来还挺舒服,但是往下走走,感觉右边空白太大了(莫非是为了非宽屏电脑考虑?) 再就是留言评论呈阶梯状排列使得后面发言的人评论区很小,像谢老大写的代码被挤到一个小狭长的空间里了,都要托滚动条才能看完整,不知到能否改进(能不能让右边距也右移呢?)
yihui
[未知用户] 1、这个建议倒是提醒了我如何充分利用页面空间。往下看评论的时候页面右边确实显得有点空,此时不妨放一个浮动层,里面写点重要通知之类的,既能引起人的注意,又能改善空间布局。
2、目前没办法,这种情况应该也不会经常出现。你可以双击代码,然后复制到别的地方看。
小贝叶斯
任何方法,在处理高维问题是,都会显得捉襟见肘。但是相比普通的数值积分,蒙特卡罗积分的收敛速度和维度无关。这是因为数值积分相当于在积分局域上均匀抽样,而蒙特卡罗积分则在“重要的区域”抽取多的样本,而不重要的区域抽取少的样本,这样的比较下,高下立判。当然了,现在的主要问题是如何从高维分布里抽样,这才是真正的难题!
Crixus
是不是E(f(X)) 应该= 1/n * ∫10f(x)dx=J???
jessica_chu
大哥,【进一步如果在区间[a,b]上有c≤g(x)≤d ,令f(y)=1d−cg(x)−c=1d−cg[a+(b−a)y]−c,则0≤f(y)≤1。此时,可以得到J′=∫bag(x)dx=S0J+c(b−a)。】这里少了括号好吗!
圈圈-quanquandewenti
不是有metropolis的重要性抽样方法吗,高维就不会稀疏了
zhouleyu.com-leshanke1991
不是有metropolis的重要性抽样方法吗,高维就不会稀疏了