提到高尔顿,人们总是把他和钉板实验联系在一起,偶尔也会有人提及他是达尔文的表弟。实际上,作为维多利亚时代的人类学家、统计学家、心理学家和遗传学家,同时又是热带探险家、地理学家、发明家、气象学家,高尔顿简直就是一位集大成者。高尔顿钉板是一个关于概率的模型,小球每次下落,将随机的向两边等概率的下落,当有大量的小球都滚下时,最终在钉板下面不同位置收集到的小球数量,将符合服从二项分布,参看下图所示。

一、 高尔顿钉板和二项分布

先来说明共n层(最下方有n+1格)的高尔顿板中小球的分布满足二项分布 $$B(n,\frac{1}{2})$$。

二、 二项分布的正态渐进

正态分布在数据分析中扮演了非常重要的角色,它代表了系统的稳定特征,它是自然环境和人类社会中最常见的数据分布形式。除此之外,在某些情况下,正态分布还能够用来近似其他的数据概率分布类型,比如二项分布和泊松分布,这也说明了正态分布使用的范围和重要性。在一定条件下,正态分布是二项分布的一个良好近似,可用于计算二项分布的概率。由于这样得到的概率只是对二项分布真实概率值的近似,所以正态分布的这种应用被称为二项分布的正态近似。

经过以上铺垫,我们终于进入正题:用正态分布近似二项分布。我们知道,二项分布是离散的分布,正态分布是连续的分布,两者如何联系起来?

这里我们直接讨论一般的二项分布$$B(n,p)$$高尔顿板的情况只需令 $$p=\frac{1}{2}$$ 即可。先看动图:

回顾正态分布曲线的形态,表现为对称的倒置钟形,因此只有二项分布的形态近似对称的倒置钟形,使用正态分布近似二项分布才是合适的。从二项分布的理论及其概率密度函数入手,我们可以很容易地总结出使二项分布近似正态分布的两个条件。“成功”的概率用字母p表示,值越接近0.5,即“成功”结果出现的概率与“失败”概率越接近,二项分布将越对称。如下图所示,保持伯努利试验(一次试验只有两种结果)的次数n不变,随着成功概率p逐渐增加到0.5,二项分布逐渐对称,近似于均值为np、方差为npq的正态分布。对任意“成功”概率p ,无论其距离0.5有多远,随着试验次数n的增加,得到的二项分布与均值为np、方差为npq的正态分布越来越接近。如下图所示,保持“成功”的概率p=0.1不变,分别做伯努利试验次数等于10、25和100的二项分布图,对比后可以发现,二项分布图从最初的右偏分布逐渐对称,当试验次数等于100时,二项分布几乎与正态分布一致。

由于试验次数和“成功”概率都能使二项分布近似于正态分布,那么这两个条件达到什么标准时,二项分布和正态分布才能近似,它们的概率计算结果才能互相替代呢?因为每个分析者对于偏差的接受程度不同,所以对于这个问题,没有一个统一的标准,不过,在数据分析领域,有一个普遍能够接受的最低限度,那就是当np和nq两者的计算结果都大于或等于5时,通过二项分布概率质量函数计算得到的概率值与正态分布概率密度函数积分得到的概率值的误差就小到能够被接受。更严格一点,就是要求np>5且nq>5,两者之间的误差就更小了。

三、高尔顿钉板的R模拟

library(moments)
options(digits = 3)
options(scipen = 200) par(new=TRUE)
par(mfrow=c(2,3)) for(n in c(1000,2000,5000,8000,10000,30000))
{
d<- NA
for(i in 1:n)
{a=rbinom(20,1,0.7)
b=sum(a)
d=c(d,(b-10))
}
hist(d,breaks =50,xlab ="",main = paste('n = ',n,sep=''))
}

四、总结

高尔顿板实验中,小球每掉落一层,都有可能向左或是向右,这些因素左右这小球最终的落点。同样的,自然界中许多随机现象都有各种各样的干扰因素,影响着一个事件可能的分布,但是在这些因素的叠加影响之下,只要样本数量足够多,这些随机现象往往就会遵循正态分布。这也是一种数学之美吧!这也是中心极限定理在生活中重要的应用。

参考文献

1.(高尔顿板:从混乱到秩序 )[https://www.sohu.com/a/234859732_616676]

2.(统计学中统计规律 )[https://www.wenmi.com/article/pu8xw704z9ru.html]

3.(为什么高尔顿板可以模拟正态分布?)[https://zhuanlan.zhihu.com/p/518115021]

4.(用Python模拟高尔顿钉板实验 )[https://blog.csdn.net/xufive/article/details/121115824]

高尔顿钉板的统计意义—R实现的更多相关文章

  1. SLAM的数学基础(3):几种常见的概率分布的实现及验证。

    分布,在计算机学科里一般是指概率分布,是概率论的基本概念之一.分布反映的是随机或某个系统中的某个变量,它的取值的范围和规律. 常见的分布有:二项分布.泊松分布.正态分布.指数分布等,下面对它们进行一一 ...

  2. 统计计算与R语言的资料汇总(截止2016年12月)

    本文在Creative Commons许可证下发布. 在fedora Linux上断断续续使用R语言过了9年后,发现R语言在国内用的人逐渐多了起来.由于工作原因,直到今年暑假一个赴京工作的机会与一位统 ...

  3. python中\r的意义及用法

    \r的意义 \r 表示将光标的位置回退到本行的开头位置 \b表示将光标的位置回退一位 在python里print会默认进行换行,可以通过修改参数让其不换行 (1) python2中可以在print语句 ...

  4. sparklyr包--实现R与Spark接口

    1.sparklyr包简介 Rstudio公司发布的sparklyr包具有以下几个功能: 实现R与Spark的连接: sparklyr包提供了一个完整的dplyr后端,可筛选并聚合Spark数据集,接 ...

  5. 数据分析与R语言

    数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...

  6. R与数据分析旧笔记(十八完结) 因子分析

    因子分析 因子分析 降维的一种方法,是主成分分析的推广和发展 是用于分析隐藏在表面现象背后的因子作用的统计模型.试图用最少的个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一分量 因子 ...

  7. R与数据分析旧笔记(十一)数据挖掘初步

    PART 1 PART 1 传统回归模型的困难 1.为什么一定是线性的?或某种非线性模型? 2.过分依赖于分析者的经验 3.对于非连续的离散数据难以处理 网格方法 <Science>上的文 ...

  8. 写一个程序,统计自己C语言共写了多少行代码,Github基本操作

    前言 在上一篇博客中,本人提到了自己的文件操作可以说是几乎没用过.现在想想,这也算是只在OJ上做题的一个弊端吧.虽然通过OJ做题是一个学习代码好手段,但其他方面也要多多涉猎才好,而不是说OJ用不到文件 ...

  9. sparklyr包:实现Spark与R的接口

    日前,Rstudio公司发布了sparklyr包.该包具有以下几个功能: 实现R与Spark的连接—sparklyr包提供了一个完整的dplyr后端 筛选并聚合Spark数据集,接着在R中实现分析与可 ...

  10. sparklyr包:实现Spark与R的接口+sparklyr 0.5

    本文转载于雪晴数据网 相关内容: sparklyr包:实现Spark与R的接口,会用dplyr就能玩Spark Sparklyr与Docker的推荐系统实战 R语言︱H2o深度学习的一些R语言实践-- ...

随机推荐

  1. node16 以上版本不能安装 node-sass

    最近多次遇到这个问题,node16+版本安装或者初始化带有node-sass和sass-loader包的项目报错. 方法一: 卸载旧版本的node-sass和sass-loader,安装sass和sa ...

  2. MBR和gpt说明

    1.MBR MBR的全称是Master Boot Record(主引导记录),MBR早在1983年IBM PC DOS 2.0中就已经提出.之所以叫"主引导记录",是因为它是存在于 ...

  3. 连接打印机Lodop

    <div class="panel-body"> <div class="row show-grid"> <div class=& ...

  4. windows系统下查找开放端口的监听程序

    C:\Program Files (x86)\Nmap>nmap 127.0.0.1Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-15 1 ...

  5. 关于cmake找不到库的问题

    1. Error:Could not find a configuration file for package 解决办法1:将/usr/lib/x86_64-linux-gnu/cmake/.... ...

  6. FCC 中级算法题 Arguments Optional

    Arguments Optional 创建一个计算两个参数之和的 function.如果只有一个参数,则返回一个 function,该 function 请求一个参数然后返回求和的结果. 例如,add ...

  7. 【内存管理】ION内存管理器浅析(system contig heap)

    system contig heap与system heap 从代码中我们看到system contig heap与system heap同属一个文件中,ion_system_heap.c 相同点:它 ...

  8. matlab解析毫米波雷达bin文件数据 得到复数

    来源:TI提供的Mmwave Radar Device ADC Raw Data Capture %%% This script is used to read the binary file pro ...

  9. 任意的形如 z = F(x,y)的曲面生成与显示---基于OpenGL Core Profile

    运行结果:   (圆锥面) (抛物面) (马鞍面) 其中的做法是:从顶部看上去就是一个平面网格.每个点的 z.x的位置都是程序细分出来的(指定起始.结束.步长).比较固定.但高度 y 的计算使用 用户 ...

  10. python读取i3dm数据

    path = r'D:\data\1.i3dm'f = open(path, 'rb')f.seek(4)print('version:%d' % struct.unpack('I', f.read( ...