高尔顿钉板的统计意义—R和Python实现

提到弗朗西斯·高尔顿,人们通常会联想到他的钉板实验(也称为高尔顿板),以及他作为查尔斯·达尔文的表弟的身份。然而,弗朗西斯·高尔顿的贡献远远不止于此,他是维多利亚时代的集大成者,横跨多个领域:人类学、统计学、心理学、遗传学、地理学、发明学和气象学,同时也是一位热带探险家和地理学家。他的广泛兴趣和跨学科的研究不仅开创了多个领域,还极大地推动了科学的进步,尤其是在遗传学和统计学上的贡献,对现代科学影响深远。

一、高尔顿的多元贡献

高尔顿出生于1822年,来自一个富裕的家族,优越的家庭环境为他提供了良好的教育资源和探索世界的机会。尽管他的学术生涯起初是以医学为目标的,但他逐渐对多学科产生了浓厚兴趣,最终成为了多领域的先驱。

人类学和心理学。高尔顿对人类学的研究充满了好奇,他对人类智能、人格和行为的研究催生了现代心理学的一些基本理念。通过引入心理测量(psychometrics)的概念,他成为了现代心理学测量技术的奠基人之一。他发明了早期的智力测试,并引入了“优生学”这一概念,尽管优生学后来由于滥用而广受争议,但在当时它推动了人们对遗传和社会结构的重新思考。
遗传学和统计学。在遗传学方面,高尔顿对人类智力和能力的遗传性进行了深入研究,他是遗传学的先驱之一。通过大量的数据研究,他提出了“回归均值”的概念,即下一代在某种能力上的表现往往会回归到总体的平均水平。这一发现对现代遗传学和生物统计学产生了深远影响。
高尔顿对统计学的贡献尤为突出。他发明了相关系数这一概念,为后世的统计学家提供了衡量变量之间关系的标准工具。他提出的很多统计方法,如回归分析,至今仍被广泛使用。统计学成为了他理解自然界和社会现象的重要工具,他坚信数据分析能够揭示隐藏在表象之下的规律。
气象学与地理学。高尔顿也是气象学的先驱之一,他为天气图和气象学的标准化做出了贡献。通过大量的数据收集,他首次提出了高压和低压系统的概念,并发明了天气图,这为现代天气预报奠定了基础。此外,他在地理学方面也作出了重要贡献,曾获得英国皇家地理学会的金奖,他的探险活动帮助绘制了非洲地区的地图,并推进了殖民地时期的科学探险事业。

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

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

三、 二项分布的正态渐进

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

经过以上铺垫,我们终于进入正题:用正态分布近似二项分布。我们知道,二项分布是离散的分布,正态分布是连续的分布,两者如何联系起来?
这里我们直接讨论一般的二项分布B(n,p)高尔顿板的情况只需令 p=12 即可。先看动图:

回顾正态分布曲线的形态,表现为对称的倒置钟形,因此只有二项分布的形态近似对称的倒置钟形,使用正态分布近似二项分布才是合适的。从二项分布的理论及其概率密度函数入手,我们可以很容易地总结出使二项分布近似正态分布的两个条件。“成功”的概率用字母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=''))
}

import numpy as np
import matplotlib.pyplot as plt

# 设置钉板的大小
n_rows = 10  # 钉板的行数
n_balls = 5000  # 小球的数量

# 模拟小球下落的过程
def galton_board_simulation(n_rows, n_balls):
    results = np.zeros(n_balls)  # 存储每个小球最终落入的槽位
    for i in range(n_balls):
        position = 0
        for _ in range(n_rows):
            # 小球遇到钉子,随机向左或向右移动
            position += np.random.choice([0, 1])
        results[i] = position
    return results

# 获取小球落入槽位的数据
results = galton_board_simulation(n_rows, n_balls)

# 绘制小球分布的直方图
plt.figure(figsize=(10, 6))
plt.hist(results, bins=n_rows+1, edgecolor='black', density=True, rwidth=0.8)
plt.title('Galton Board Simulation', fontsize=16)
plt.xlabel('Position in Bin', fontsize=12)
plt.ylabel('Probability Density', fontsize=12)
plt.grid(True)
plt.show()

四、总结

高尔顿板实验中,小球每掉落一层,都有可能向左或是向右,这些因素左右这小球最终的落点。同样的,自然界中许多随机现象都有各种各样的干扰因素,影响着一个事件可能的分布,但是在这些因素的叠加影响之下,只要样本数量足够多,这些随机现象往往就会遵循正态分布。这也是一种数学之美吧!这也是中心极限定理在生活中重要的应用。
高尔顿不仅是一个天才的科学家,还是一位真正的多面手。他的钉板实验直观地展示了复杂统计概念的简单化过程,为人们理解概率、统计分布提供了有效的工具。同时,他在遗传学、统计学、心理学等多个领域的贡献,对现代科学产生了深远影响。通过将不同领域的知识结合,他展现了科学家不拘一格的创造力,也启发了后世的研究者如何在复杂的世界中寻找规律。

参考文献

  1. 高尔顿板:从混乱到秩序
  2. 统计学中统计规律
  3. 为什么高尔顿板可以模拟正态分布?
  4. 用Python模拟高尔顿钉板实验
posted @   郝hai  阅读(2627)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示