结合Python软件的《概率论与数理统计》教学实践*

2022-02-12 03:34刘娟万媛媛
科学与信息化 2022年2期
关键词:假设检验大数概率论与数理统计

刘娟 万媛媛

1.广东财经大学统计与数学学院 广东 广州 510320;

2.中山大学新华学院 广东 广州 510520

引言

概率论与数理统计是研究现实世界中的随机现象的统计规律性的学科。进入21世纪以来概率论的思想以及常见统计分析方法已经被广泛应用于生物医学、经济管理及社会学等众多领域。近年来随着人工智能技术的飞速发展,推进了信息技术在日常教学中的广泛应用[1]。当前在数据科学领域,Python作为一种高级程序设计语言,其脚本语言简单且易用,具有丰富的扩展库,是数据科学家们最常用的语言。在概率论与梳理统计的课堂中引入Python语言辅助教学,结合教学过程中的理论要点、典型问题,利用Python程序的相关模块,去完成数理模型计算,统计试验的模拟,数据建模及统计推断等,将抽象的数学知识具体化,让学生根据讨论问题展开探索性学习模式,提高学生的学习积极性,可以提升课堂教学效率。

1 概率论与数理统计课程中的典型问题

根据研究的内容及方法来看,概率论与数理统计这门课程由两个部分组成,概率论是研究关于不确定性现象的数学描述,概率思想是统计学的理论基础,而数理统计则是研究有效整理收集和分析受到随机影响数据的学科。由于学生在学过微积分、线性代数等课程后会形成一些惯性思维,不太适应和熟悉概率统计研究随机现象产生的新观点,比如频率概率与主观概率,假设检验、最大似然和回归分析方法等理论性较强的知识点[2]。教师在课堂教学中不能只强调概率统计课程中的公式和定理,片面追求抽象思维能力的训练,在教学实践中可结合问题案例教学方法来传授思想和指导实践,强调问题解决的过程,让学生有在课堂上有获得感,体会到所学知识可以解决实际问题,达到专业素养的提升。

1.1 概率论的创立及古典概率论的发展

通常认为概率论起于骰子的应用,源于点数问题,也称为分赌本问题。这是早期概率论从萌芽到成立过程中最重要的一个问题:有一个赢者可以获得全部奖金的双人对战游戏,每局只有胜负之分,每局的得分是10分,先得到60分的人获胜,A和B两人正在进行游戏时因某些原因中止,而此时A的得分是50分,B的得分是30分,请问奖金该如何分配给双方才算公平。

为解决上述问题,费马和帕斯卡开始了关于这类分配问题的系列著名通信。他们将赌博问题转化成数学问题,灵活地运用了组合理论,使用加法定理、乘法定理和全概率公式,引进了后来被称之为数学期望的概念,利用二项分布和负二项分布的思想,费马和帕斯卡完美解决了分赌本的问题。

1.2 概率论中两个重要极限定理

贝努利在《猜度术》书中提出了著名的大数定理,大数定理讨论的是在什么条件下,随机变量序列的算术平均依概率收敛到其均值的算术平均[3]。随着概率论学科的发展,到目前出现了各种推广形式的大数定律,但其核心观点都是当样本量越大,样本均值的稳定性就越好。概率论中第二个重要定理就是中心极限定理,这一定理是揭示自然规律的重要工具,曾经在两个多世纪里作为概率论研究中心课题。与大数定理所得到的样本均值稳定性的结论对比,中心极限定理给出了更精确、更深刻的结论,它讨论了在什么条件下独立随机变量和的分布函数是正态分布。

1.3 数理统计的思想和模型

数理统计学是基于数据的学科,数据是数字,但不只是数字,在如今大数据时代,除了传统意义上的数据,现在也包括如视频、音频、文本等大量的非结构化数据。 数理统计研究怎样利用、收集和整理数据带有随机性的数据,对总体发分布或者参数做出估计和推断。

假设检验是统计推断中非常重要的一种方法和思想,它来自英国著名统计学家Ronald Fisher罗纳德·费希尔1935年的著作《试验设计》,书中给出了统计学历史上著名的女士品茶问题[4]。假设检验不仅是一种方法,更是一种重要的统计思想。针对需要研究的问题,把期待的结果置于备择假设的位置,然后根据原假设在已有理论框架下进行严格数学推导,计算模型的P值,这种思想的核心在于“拒绝”,而不是“证明”,这与常规的数学思维方式不尽相同,却是统计学学习中的重点。

回归分析是统计学中数据分析的一个非常重要的模型方法,统计学上“回归”一词,最早出现在1855年生物学家高尔顿发表的《遗传的身高向平均数方向的回归》文章中。回归分析也是机器学习中最基础的理论之一,线性回归模型相对简单,并且提供了一个易于解释的数学公式,它可以应用应用于自然科学、社会科学等各个领域,是统计数据分析的最基础方法。

2 引入Python语言的两个典型教学案例

Python编程语言语法简洁且具有强大第三方库的支持,而且Python程序对初学者非常友好,它是人工智能时代重要的编程语言之一,下面结合课程教学的经典应用案例,来展示Python软件在概率统计课程教学中的应用,培养学生学会利用概率统计知识,初步具备对实际问题的建模的能力,利用计算机程序来辅助学习、探索解决实际问题,达到“学,思,做”的有机结合。

2.1 Python程序实现贝努利大数定理

历史上有许多著名概率统计学者都曾经做过“掷骰子”的试验,将一枚均匀的骰子重复的抛掷,观察出现点数的规律,刚开始出现的点数会随机地出现点1到点6,并不呈现出稳定规律,随着试验次数的增加,发现出现的点数的平均值会稳定在3.5附近,这一看似直观的结论,背后的数学原理正是大数定律。为了让学生在能够更直观感受到这一结论,从被动接受到自己动手实践,引入Python中的numpy程序包来辅助教学,下面是掷骰子试验在Python中实现代码:

import random

import matplotlib.pyplot as plt

import numpy as np

random.seed(1991)

def Roll(n):

result=[]

for i in range(1,n+1):

result.append(random.choice([1,2,3,4,5,6]))

return result

result=Roll(1500)

averages=[]

_cumsum=np.cumsum(result)

for index in range(len(_cumsum)):

averages.append(_cumsum[index]/(index+1))

plt.plot(averages)

plt.rcParams[‘font.family’]= [‘sans-serif’]

plt.rcParams[‘font.sans-serif’]= [‘SimHei’]

plt.xlabel(‘试验次数')

plt.ylabel(‘骰子点数的平均值')

plt.title(‘掷骰子的大数定律')

plt.show()

及模拟1500次的运行结果如下图1所示。

图1 模拟1500次的试验结果

2 Python程序实现单正态总体均值的假设检验

首先给出教材中一类单正态总体在方差未知情况下的双侧检验问题,某厂生产的某种零件的长度服从正态分布,其均值设定为0.8cm,现从该厂抽取9件产品,测定长度分别为0.8511、0.8891、0.8982、0.7625、0.845、0.838、0.8232、0.8883及0.8256。给定显著性水平0.05,判断该厂这批零件长度是否符合要求。

假设检验是统计学部分的重要内容,利用Python程序SciPy库中的stats模块的ttest_lsamp函数可以进行单个正态总体均值的检验,利用程序中的对应模块来完成统计计算,让学生学会和适应用软件掌握相关知识点。本题在Python中实现的完整代码如下,由代码结果可知,根据p值这批零件不符合要求,拒绝原假设。

In[1]: from scipy import stats as sts

dafa= [0.8511,0.8891,0.8982,0.7652,0.8450,0.8380,0.8232,

0.8883,0.8256]

Print(‘零件长度为: ’,sts.ttest_lsamp(a=data,popmean=0.80))

Out[1]: 零件长度为:

Ttest_lsampResult(statistic=3.3116514531113,

Pvalue=0.010671924137571)

3 结束语

随着大数据人工智能技术的飞速发展 , 利用数据处理软件赋能助力教学已成为现实,在概率论与梳理统计的课堂中引入Python语言辅助教学,利用程序的相关模块,去完成概率定理的模拟,统计试验的计算及推断等,将抽象的数学理论具体化,重现知识形成过程,帮助学生更好地理解和掌握教学内容,达到培养学生创新精神和实践能力的目标。

猜你喜欢
假设检验大数概率论与数理统计
“大数的认识”的诊断病历
假设检验结果的对立性分析
超级英雄教你大数的认识
统计推断的研究
《概率论与数理统计》教学创新探究
行动导向教学法背景下的《概率论与数理统计》
加强计算机技术在“概率论与数理统计”课程中的应用
翻转课堂教学模式在《概率论与数理统计》课堂教学中的实践研究
不同分布AANA序列加权和的一个弱大数定律
凤爪重量质量管理报告