F 分布的Excel 构建与模拟

2019-02-28 10:35丁建华,李俊
韶关学院学报 2019年12期
关键词:概率密度单元格方差

F 分布(F-distribution)是一种常见的概率分布,在方差分析的统计推断中占有重要位置.它的定义是这样的:设从某正态分布总体N(μ, σ2)中随机抽取样本容量为n1和n2的两个独立样本,其样本方差分别则定义这两个方差的比值为F,即:

在具体的教学过程中,如果对上述内容,尤其是对F 分布曲线的特征简单地进行叙述和罗列,一方面难以激发学生的学习兴趣,另外一方面也不利于他们对F 分布的深入理解.近年来,笔者与同事们在教学过程中,利用Excel 软件中的函数公式、图表绘制以及VBA 编程功能(Visual Basic for Application),对生物统计学当中的一些内容进行模拟或构建,取得了不错的教学效果[2-5].本文继续以Excel 2010 为例,采用2 种方法对F 分布曲线分别进行构建和模拟,以供参考.

1 利用函数进行构建

Excel 2010 中的F.DIST(F, df1, df2, FALSE)函数可以用来计算某F 值以及df1和df2条件下的概率密度.利用该函数对F 分布曲线进行构建时,其数据输入格式如图1 所示.在A 列中自A4 单元格以下输入≥0的数字以表示F 值,本文中以0.1 为间隔,即0.0、0.1、0.2、…;在第1 行中自B 列开始输入正整数以表示df1,本文中以2、3、10、…为例;在第2 行中自B 列开始输入正整数以表示df2,本文中以2、10、20、…为例;在B4 单元格中输入“=F.DIST($A4,B$1,B$2,FALSE)”,并将此函数公式向右、向下复制填充,一张特定F值以及df1和df2条件下的概率密度表格便生成了;然后对所得概率密度与A 列的F 值进行绘图,便可得到相应的F 分布曲线(见图2).该文件生成后,只需要任意修改表格第1、2 行中的自由度取值,便可以在课堂上动态地展示F 分布曲线随自由度df1和df2变化而变化的规律特点, 从而达到激发学生学习兴趣、提高教学效果之目的.

图1 Excel 函数输入示例

图2 不同自由度的F 分布曲线

2 利用VBA 编程进行模拟

2.1 模拟步骤

Excel 中的NormInv(Rnd(),0,1)函数可以生成一系列服从标准正态分布N(0,1)的随机数字,正好可以用来模拟F 分布的抽样过程.

第1 步:打开Excel 2010,新建一个电子表格,在当前工作表的A1 至A4 单元格中分别输入“自由度df1=”“自由度df2=”“抽样次数=”以及“组距=”;在B1 至B4 单元格中输入合适的数字以表示相应的自由度、抽样次数和组距(本文分别以10、20、10 000、0.2 为例);在C1 至I1 单元格中分别输入“F 值”“组限”以及“频率”等(见图3).

第2 步:按Alt+F11 进入Visual Basic 编写界面,双击左侧的Sheet1 图标,进入代码编写界面,把本文附录中的VBA 代码拷贝进去(见图4).然后关闭代码编写界面进入工作表界面,将文件另存为启用宏的文件类型(*.xlsm)即可.

图3 模拟步骤第1 步的输入结果

图4 Excel 中VBA 代码的输入

第3 步:为宏运行设置快捷键.按Alt+F8 键或点击菜单栏的“视图→宏→查看宏”后选定“Sheet1.sql”,再点击“选项(O)…”,在快捷键对话框里填写字母“q”后确定即可.

2.2 模拟结果

当按下快捷键Ctrl+q 时,Excel 便开始执行模拟程序.首先是在C 列和D 列自第2 行往下分别生成n1(= df1+1)和n2(=df2+1)个服从标准正态总体N(0, 1)的随机变量.本文中以df1=10、df2=20 为例,故在C2 至C12 单元格中生成11 个随机变量表示n1、在D2 至D22 中生成21 个随机变量表示n2.然后利用VAR 函数计算n1的方差和n2的方差分别存放在单元格E2 和F2 当中;再将便可得到一个F值,存放在G2 单元格中.若将上述过程重复10 000 次(B3 单元格中的数字,本文中以10 000 为例),便可生成10 000 个和F 值,被相应地依次存放在E、F、G 这3 列的第2 行至第10 001 行当中.

在VBA 代码中,利用ROUNDUP(MAX())和ROUNDDOWN(MIN())这两个复合函数对G 列中的F 值的最大值与最小值分别向上向下取整数,以统计F 值的分布范围,并据此设置组限,数据存放在H 列中;再利用FREQUENCY 函数进行频次统计,所得的各组的频率存放在I 列中;最后对I 列中的结果绘制柱状图,其结果如图5 所示.任意修改B1、B2 单元格中的自由度取值,该柱状图便会相应地发生改变,从而可以动态地展示F 分布随df1和df2变化而变化的基本规律.从图5 中可以看出,F 值的频率分布变化趋势与图2 中的概率密度曲线的变化趋势是基本一致的.

图5 不同自由度的F 频率分布

3 结语

频率与概率之间的关系,实际上就是样本统计数与总体参数的关系.上述的第1 种方法,即利用F.DIST 函数对F 分布曲线进行构建,恰恰就是对F 分布总体的描述.该方法的优点是分布曲线圆滑美观,运算速度快,不影响正常的教学节奏,便于课堂上展示;其不足之处在于未能体现抽样过程,也就不便于学生深刻理解F 分布的内涵.利用VBA 编程对F 分布进行模拟则可以很好地弥补这一不足之处.在VBA 模拟中,学生可以根据运算程序去梳理F 分布的由来.通过任意修改模拟参数,可以查看不同自由度、不同抽样次数以及不同组距下的F 频率分布,这种交互式体验必定有助于加深学生对该分布的理解.理论上,当图3 中B3 单元格中的抽样次数无限大、B4 单元格中的组距无限接近于0 时,图5 就与图2 相一致.在实际应用时,一方面Excel 无法满足抽样次数无限大的要求;另一方面,抽样次数过大也会使得运算过程耗时过长.VBA 代码中,最大抽样次数设置为65 535,已然可以满足模拟的基本要求,取得很好的模拟效果.所以,建议在课堂上采用第1 种方法辅助教学,将第2 种方法留给学生课下自行模拟,这种课上课下相结合的教学方式,必能激发学生的学习兴趣,提高教学效果.

4 附录(VBA 代码)

猜你喜欢
概率密度单元格方差
概率与统计(2)——离散型随机变量的期望与方差
流水账分类统计巧实现
连续型随机变量函数的概率密度公式
玩转方格
玩转方格
计算连续型随机变量线性组合分布的Laplace变换法
方差越小越好?
计算方差用哪个公式
基于GUI类氢离子中电子概率密度的可视化设计
浅谈Excel中常见统计个数函数的用法