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

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

先来说明共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. InnoDB的全文检索

    InnoDB的全文检索 注:全文为MySQL官网5.7的文档(MySQL 8.0的文档与此几乎一致) MySQL 5.6 不支持中.日.韩语,因为无法对其分词,5.7版本引入NGram(基于字符)对中 ...

  2. 注释中的Unicode编码也会被转义

    现象 public class Unicode { public static void main(String[] args) { // \u000d System.out.println(&quo ...

  3. Verilog标识符与关键字

    Verilog标识符与关键字 1.标识符: Verilog HDL中的标识符是指用来声明数据,变量,端口,例化名等除关键字外的所有名称的组合.如:input a, 这里a就是一个标识符,用来代表一个输 ...

  4. C语言中链表与队列

    https://www.cnblogs.com/lanhaicode/p/10432004.html

  5. tail 命令 没有内容输出,记录一种解决

    1. 没有内容输出的命令: tail - f /test/platform/jtimer.log 控制台: 2. 当切换到此文件的当前路径后才有: 使用: tail - f jtimer.log

  6. .net 反射简单介绍

    1.什么是反射 反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类.结构.委托.接口和枚举等)的成员和成员的信息.有了反射,即可对每一个类型了如指掌.另外我还可以直 ...

  7. 鲁迅文集 第3卷 而已集 华盖集续编 华盖集 热风\四十一.md

    目录 导读 正文 导读 本篇首次发表于1919年1月15日<新青年>第六卷第一号.署名唐俟.   文章以生物进化的事实,驳斥旧势力对改革者的嘲讽,号召青年蔑视反改革者的冷笑和暗箭,&quo ...

  8. mysqli语句的用法

    改用了PHP7的环境后 mysql语句好像就不能用了.. 有点懵逼 就写一下该怎么用以免遗忘 ======= 1 链接数据库 $link=mysqli_connect('127.0.0.1:xxxx' ...

  9. 渲染器的实现(1)--《vue.js设计与实现》

    function renderer(domString, container) { container.innerHTML = domString } let count = ref(1) rende ...

  10. UMA插件专题(一)——基础网格创建

    什么是UMA? UMA,Unity Multipurpose Avatar,是一个开源Avatar创建框架,通过它可以实现自定义人物(或任何生物)的模型,包括换装,改变身材样貌等功能. 现在先从UMA ...