大数据时代R语言模拟在概率统计课程教学中的应用

2017-12-28 16:00郭念国
河南教育·高教 2017年12期
关键词:R语言概率统计模拟

郭念国

摘要:大数据时代,概率统计课程作为数据科学重要的核心课程之一,如何更好地进行课堂讲授成为许多专家学者关注的问题。基于R软件的sample函数,对概率统计课程中的经典案例掷骰子进行模拟,对虚拟的骰子进行不同次数的投掷,并对投掷结果进行分析,指出统计规律性及其重要性。该模拟过程可以激发学生的学习兴趣,培养学生的动手能力,达到理论与实践相结合的课程教学目标。

关键词:概率统计;骰子;R语言;模拟

随着经济、科技的快速发展,人们对信息精确化程度的要求越来越高,大数据的发展成为信息时代发展的必然趋势。概率统计课程作为数据科学的核心课程之一,引发了许多专家学者对大数据时代的概率统计教育教学献言建策。比如,赵彦云对我国统计教育进行了回顾与展望,指出运用统计思想和统计方法,让大数据的价值最大;白雪梅和刘志龙对我国应用统计学专业及统计行业进行分析,指出大数据只有在统计学这门工具属性学科的帮助下才能发挥其自身的作用,并对国内外统计实践教育方法进行比较;孟生旺和袁卫对大数据时代美国统计学会发布的统计学本科专业指导性教学纲要的核心内容进行了简单介绍,对我国统计类本科专业教育存在的问题进行剖析,指出了教学内容要突出数据的重要性,并建议在教学中使用专业的统计软件R。R语言是免费使用的,而且其源代码是开放的,这些特点使其已经成为概率统计教学中的标准语言之一,也成为国内外各大专院校开设的统计软件课程之一。笔者结合多年的概率统计实践教学经验,以R语言为工具,通过模拟概率统计常用的掷骰子实验,以更好地理解统计规律的思想及其重要性。

一、R语言简介

R语言最初由Auckland大学的Robert Gentleman和Ross Ihake及其他志愿者合作开发,是对S语言统计编程语言的集成。R语言是一种用于统计计算和绘图的编程语言和环境,是一种交互式编程语言,因为其免费使用且开源,已经成为统计分析和数据分析的全球化通用语言。如果在百度中输入一个字母R,就会有将近1亿个相关条目,而且有丰富的R语言学习资料。R语言还在持续发展中,而且还得到了CRAN(Comprehensive R Archive Network)社区的支持,在这里既有数据科学家也有程序员,他们很愿意为R语言用户提供帮助。

二、R语言模拟骰子

擲骰子作为研究随机现象的一个经典实例,受到很多概率统计教材的青睐,在介绍随机现象及样本空间的概念时,教师可以通过该实例帮助学生理解随机现象的随机性和所有可能结果的已知性。

我们知道,均匀的骰子具有六个面,分别刻有一个点、两个点直到六个点,而掷一枚骰子出现的点数则是1到6之间的某个正整数,而掷一个骰子所有可能的结果构成的集合为Ω={1,2,3,4,5,6},一般称“Ω”为掷骰子这个试验的样本空间。

基于上述的分析,我们可以构造一个具有这1到6的整数向量,并将其值赋给变量dice,即dice<-c(1,2,3,4,5,6),则dice为一枚虚拟的骰子,具有6个值。那么,如何让这个虚拟的骰子像真实的骰子一样,每投掷一次,产生一个点数?下面,我们结合R语言中的sample函数,让这个虚拟的骰子和真实的骰子一样,可以产生点数。

三、虚拟骰子的运转

首先,现实生活中,每次掷骰子的结果,肯定是样本空间Ω中的一个元素值,且这个值是随机的,并与其他投掷结果相互独立。骰子是均匀的,每个值出现的可能性相同,而且可以在相同条件下连续不断投掷。

由上面的分析,我们可以这样理解:掷骰子产生的结果实际上是从样本空间中随机抽取的结果,每次抽取是相互独立的,而且每一个值被抽到的可能性是相同的。这其实就是统计中的有放回抽样。

基于上述的分析,我们可以利用R语言中的sample函数来处理这个问题。运行下列代码:sample(dice,size=1),就可以得到一个值,这就像掷一次骰子。若连续运行该语句,就好似连续投掷骰子,可以得到不同的点数,而且点数之间是相互独立的。这样,我们就完成了虚拟骰子的构建与运行。为更好地理解统计规律,我们有必要解释一下sample函数。函数sample为“抽样”函数,dice为抽取的对象,size为抽取的样本大小,目前我们模拟的是投掷一枚骰子,故本语句中的size=1,即每次抽一个,只产生一个结果。

四、随机现象的统计规律性

首先,我们将骰子扩展到两枚,即每次产生两个结果,可以运行下列语句sample(dice,size=2,replace=TRUE)。该语句的抽取对象没有变化,但是size=2,表示产生两个结果,因为投掷的是两枚骰子;因现实中两枚骰子产生的结果是相互独立的,故我们设置参数replace=TRUE。

假如班里有60名学生,在各自执行语句后,相邻同学比较执行结果是否相同?再运行一次该语句,能不能预测运行结果?多次重复执行语句,结果的平均值能不能知道?带着这些问题,与现实生活中的投掷骰子相结合,上述问题中的前两个就很容易回答了。关键是第三个问题,运行结果的平均值是否在投掷骰子前就可以预测出来?那么计算运行结果的平均值又有什么意义?

下面分析骰子均值预测和结果均值意义这两个问题。首先,骰子理论上应该是均匀的,即每一个点出现的概率都是,结合期望的定义,可以计算出期望值,这就是我们预测投掷一枚骰子结果的平均值,两枚骰子的平均值也应该为3.5,考虑到随机因素,如果多次投掷,结果平均值应该在3.5左右。

然后,利用我们的虚拟骰子,分别模拟两枚骰子投掷100次、1000次、10000次的平均值,这对应于抽样200次、2000次、20000次。为了使得模拟可重复,在运行各语句前,先运行语句set. seed(1234),再运行以下各语句:mean(sample(dice,size=200,replace=TRUE);mean(sample(dice,size=2000,replace=TRUE);mean(sample(dice,size=20000,replace=TRUE)。三条语句运行结果分别为3.355、3.475和3.513,这和我们的期望的3.5相差很小,而且次数越多,与期望的3.5的距离也逐渐缩小,进一步验证了我们的均值预测结果,这就是掷骰子这个随机现象的统计规律性。

五、结语

概率论与数理统计作为研究随机现象统计规律性的一门学科,越来越引起人们的关注,与其他学科的相互交叉的研究成果也越来越多。如何更好地进行课堂教学,使学生更好地理解概率统计的知识和思想,笔者结合掷骰子的实验,基于R语言进行模拟,对概率统计课程教学进行了举例。该模拟过程不仅可以提高学生的分析能力、动手能力和实践能力,而且可以激发学生的学习兴趣,更好地达到课堂教学目标。

参考文献:

[1]赵彦云.加速开拓统计学的应用价值——中国统计教育回顾与展望[J].统计信息论坛,2016,(6).

[2]白雪梅,刘志龙.我国应用统计学专业与统计行业分析[J].中国统计,2015,(5).

[3]孟生旺,袁卫.大数据时代的统计教育[J].统计研究,2015,(4).

猜你喜欢
R语言概率统计模拟
基于GPS轨迹数据进行分析改善城市交通拥挤
基于R语言的Moodle平台数据挖掘技术的研究
对概率统计有效教学的几点认识
一个高分子模拟计算网格的作业管理
工业机器人模拟仿真技术在职业教育中的应用浅析
学生对翻转课堂综合评价的调查研究
浅析柔道运动员的模拟实战训练
虚拟机局域网组建技术应用初探
数学概率统计在实际生活重要领域的应用
基于R语言的湖南产业结构对其经济增长贡献分析