Monte Carlo and bootstrap and Permutation Test
【转载】参考:
https://www.plob.org/article/3176.html
http://blog.sciencenet.cn/blog-659252-924314.html
Permutation test
下面通过一个简单例子来介绍Permutation test的思想。
假设我们设计了一个实验来验证加入某种生长素后拟南芥的侧根数量会明显增加。A组是加入某种生长素后,拟南芥的侧根数量;B是不加生长素时,拟南芥的侧根数量(均为假定值)。
A组侧根数量(共12个数据):24 43 58 67 61 44 67 49 59 52 62 50
B组侧根数量(共16个数据):42 43 65 26 33 41 19 54 42 20 17 60 37 42 55 28
我们来用假设检验的方法来判断生长素是否起作用。我们的零假设为:加入的生长素不会促进拟南芥的根系发育。在这个检验中,若零假设成立,那么A组数据的分布和B组数据的分布是一样的,也就是服从同个分布。
接下来构造检验统计量——A组侧根数目的均值同B组侧根数目的均值之差。
statistic:= mean(Xa)-mean(Xb)
对于观测值有 Sobs:=mean(Xa)-mean(Xb)=(24+43+58+67+61+44+67+49+59+52+62+50)/12-(42+43+65+26+33+41+19+54+42+20+17+60+37+42+55+28)/16=14
我们可以通过Sobs在置换分布(permutation distribution)中的位置来得到它的P-value。
Permutation test的具体步骤是:
1.将A、B两组数据合并到一个集合中,从中挑选出12个作为A组的数据(X'a),剩下的作为B组的数据(X'b)。
Gourp:=24 43 58 67 61 44 67 49 59 52 62 50 42 43 65 26 33 41 19 54 42 20 17 60 37 42 55 28
挑选出 X'a:=43 17 44 62 60 26 28 61 50 43 33 19
X'b:=55 41 42 65 59 24 54 52 42 49 37 67 67 20 42 58
2.计算并记录第一步中A组同B组的均值之差。Sper:=mean(X'a)-mean(X'b)= -7.875
3.对前两步重复999次(重复次数越多,得到的背景分布越”稳定“)
这样我们得到有999个置换排列求得的999个Sper结果,这999个Sper结果能代表拟南芥小样本实验的抽样总体情况。
![](https://upload.plob.ybzhao.com/wp-content/uploads/2012/12/pic_results-150x150.png)
permutation test
如上图所示,我们的观测值 Sobs=14 在抽样总体右尾附近,说明在零假设条件下这个数值是很少出现的。在permutation得到的抽样总体中大于14的数值有9个,所以估计的P-value是9/999=0.01
最后还可以进一步精确P-value结果(做一个抽样总体校正),在抽样总体中加入一个远大于观测值 Sobs=14的样本,最终的P-value=(9+1)/(999+1)=0.01。(为什么这样做是一个校正呢?自己思考:))
结果表明我们的原假设不成立,加入生长素起到了促使拟南芥的根系发育的作用。
Monte Carlo and Bootstrap
理解一、
风马牛不相及,举个简单的例子(关于一个分布的平均值)来帮你理解bootstrap和Monte Carlo,
比如现在有一个分布F...
1. Bootstrap: 如果我无法知道F的确切分布,手上仅有一组从F中iid抽样的样本(X_1, ..., X_n),我想检验“F的均值是否为0”。看起来这个不可能,因为我只有一个ar{X}的点估计,而并不知道ar{X}的分布。Bootstrap的魔术是现在我把(X_1, ..., X_n)这个样本当做总体,从中(有放回地)重新抽样,重抽样样本大小仍为n,那么每一次重抽样就可以得到一个“样本均值”,不断地重抽样我就得到了一个ar{X}的“分布”。这样接下来我就可以构造confidenceinterval并做检验了。
虽然实践中bootstrap的重抽样步骤都是用Monte Carlo方法来模拟重抽样样本统计量的分布,但是严格地说这个分布原则上可以精确计算。而如果待估统计量比较简单,bootstrap的结果有时甚至可以直接用(X_1, ..., X_n)的某种统计量表示出来,从而并不需要真正地“重抽样”。当然实际应用中绝大多数时候重抽样分布的解析表达式都会太复杂,所以用模拟代替计算。
(关于bootstrap的更多讨论见此答案下的评论,特别是Lee Sam提的问题)
2. Monte Carlo: 如果我知道F的确切分布,现在想计算mean(F),但是F的形式太复杂(或者我这人太懒);另一方面我又知道如何从F中抽样,于是就抽一个样本出来,拿样本均值充数。
一般来说bootstrap干的事大都跟这个例子中干的事差不多,而Monte Carlo的应用要广泛和多元化得多了。
所以两者连“区别”都谈不上,就是两码事。
理解二、
MonteCarlo是一个更基础的想法。在很多数学、物理或者工程问题种有很多无法写出closed form的表达式,为了能得到数值上的一个解,需要通过随机采样的方法去估计。
Bootstrap是重新改变统计学的一个想法。统计推断的主体总是一个的随机变量分布。在这个分布很复杂无法假设合理的参数模型时,bootstrap提供了一种非参数的推断方法,依靠的是对观测到的样本的重新抽样(resampling),其实是用empirical distribution去近似真正的distribution。
这两种方法从目的到用法都完全不同,有联系的话就是都涉及到计算机抽样。
理解三、
MonteCarlo是一个更基础的想法。在很多数学、物理或者工程问题种有很多无法写出closed form的表达式,为了能得到数值上的一个解,需要通过随机采样的方法去估计。
Bootstrap是重新改变统计学的一个想法。统计推断的主体总是一个的随机变量分布。在这个分布很复杂无法假设合理的参数模型时,bootstrap提供了一种非参数的推断方法,依靠的是对观测到的样本的重新抽样(resampling),其实是用empirical distribution去近似真正的distribution。
这两种方法从目的到用法都完全不同,有联系的话就是都涉及到计算机抽样。
Monte Carlo and bootstrap and Permutation Test相关推荐
- Bootstrap抽样和Monte Carlo思想
写在前面 总是搞不懂.记不住这些名字好像很厉害的算法思想,这篇文章主要写一下Bootstrap抽样和蒙特卡罗算法思想. 一.Bootstrap抽样 1.基本思想 Bootstrap抽样的基本思想是在全 ...
- Chapter 5. Monte Carlo Methods
目录 5.1 Monte Carlo Policy Evaluation 5.2 Monte Carlo Estimation of Action Values 5.3 Monte Carlo Con ...
- 蒙特卡洛方法 (Monte Carlo Method)(5)
与上一节动态编程(DP)方法不同的是,蒙特卡洛(Monte Carlo, MC)方法不需要环境的全部信息,而只需要 "experience",这里的"experience ...
- 5 蒙特卡洛方法 (Monte Carlo Method)
[上一篇 4 动态编程(Dynamic Programming, DP)] [下一篇 6 Temporal-Difference (TD) Learning ] 与上一节动态编程(DP)方法不同的是, ...
- ADPRL - 近似动态规划和强化学习 - Note 10 - 蒙特卡洛法和时序差分学习及其实例 (Monte Carlo and Temporal Difference)
Note 10 蒙特卡洛法和时序差分学习 Monte Carlo and Temporal Difference 蒙特卡洛法和时序差分学习 Note 10 蒙特卡洛法和时序差分学习 Monte Car ...
- 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例
强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例 4. 蒙特卡洛方法 4.1 蒙特卡洛预测 例4.1:Blackjack(21点) 4.2 动作价值的蒙特卡洛估计 4. ...
- [matlab]Monte Carlo模拟学习笔记
理论基础:大数定理,当频数足够多时,频率可以逼近概率,从而依靠概率与$\pi$的关系,求出$\pi$ 所以,rand在Monte Carlo中是必不可少的,必须保证测试数据的随机性. 用蒙特卡洛方法进 ...
- 蒙特卡罗(Monte Carlo)方法
蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法. 一 起源 这一方法源于美国在第二次世界大战进研制原子弹的&qu ...
- Monte Carlo仿真方法的基本思想及其特点
Monte Carlo仿真方法又称统计试验法,它是一种采用统计抽样理论近似地求解数学.物理及工程问题的方法.它解决问题的基本思想是,首先建立与描述该问题有相似性的概率模型,然后对模型进行随机模拟或统计 ...
最新文章
- ThinkPHP项目笔记之登录,注册,安全退出篇
- Ftp上传类(FtpClient)
- python使用方法视频-Python读取视频的两种方法(imageio和cv2)
- java面向对象测试_Java面向对象测试题(一).doc
- html5 像素人物,HTML5 Canvas 像素火焰 | 火苗
- MeteoInfoLab脚本示例:TRMM 3B43 HDF数据
- K-periodic Garland CodeForces - 1353E(贪心)
- Java中的堆栈安全递归
- Extract Superclass(提炼超类)
- redis哨兵模式没有切换主机_Redis哨兵(Sentinel)模式
- Attention模型
- iview 自定义时间选择器组件_视图更新科技发布View UI组件库(即 iView 4.0),超过50项更新...
- 【算法•日更•第五十五期】知识扫盲:什么是卡常数?
- 专门查英语单词的软件_查英语单词的工具
- 搜索引擎算法研究(一)
- AD绘制PCB经验总结3-规则报警 Silk primitive without silk layer+Minimum Solder Mask Sliver
- 怎样删除Github中的项目
- Windows窗口消息大全,全不全自己看
- centos7 SFTP
- GP232RL国产USB串口如何兼容FT232RL开发资料
热门文章
- 3 MySQL数据管理
- 【论文翻译】(第二部分)The Fourier decomposition method for nonlinear and non-stationary time series analysis
- BTC反弹上攻失效 回踩重点关11000
- [翻译] LaTeX Error: Environment XXX undefined
- 微型计算机的主要硬件以及技术指标,微型计算机的硬件组成.doc
- mysql导入sql文件、数据库时报错ERROR: ASCII '\0' appeared in the statement
- 来看一看滑动时间窗格
- 理科生应该这样写情书
- MYSQL 1366报错如何解决
- [附源码]java毕业设计同德佳苑物业管理系统论文