1. 引言
生物统计学是一门基于数据的科学,是统计学的一个分支,旨在运用数理统计方法,探究生命科学研究中的现象和实验数据 [1]。生物统计学对提高信息探索和数据分析的能力起到了重要作用。然而生物统计学公式复杂、理论性强;若数学基础较弱,甚至对于某些统计学基础概念都无法正确理解。
在样本方差的定义中,需要调整自由度(degree of freedom, df),即由n调整为n − 1。此处自由度调整对初学者而言可能具有一定的理解困难。解释自由度的真正含义需要建立在对“数学期望”概念的理解基础上,而对于非数学专业学衡而言,“数学期望”并不是一个十分熟悉的概念。生物统计学教材中常不加证明而直接给出样本方差抽样分布的形式,通过此分布性质进而解释样本方差的自由度调整 [2]。这种方式既非严格的数学证明推导,也并未从直观上给予阐释。所以,样本方差的定义很难被真正的理解。自由度虽是统计学中的重要概念,但在常用生物统计学教材中却并未给予过多的解释,而仅仅以一种公式化的方式呈现 [3]。部分教材和文献中给出了自由度的具体含义,并强调了自由度在统计过程中的应用 [4] [5] ,但仍缺少一种科学直观的方式使学生掌握方差概念中的自由度n − 1。
MATLAB具有更接近自然语义的语法和数据结构、强大的绘图功能,并兼具卓越的科学计算能力 [6]。近年来,MATLAB在生物统计学课堂中得到了广泛的应用,可以在一定程度上增强教学效果 [7]。利用MATLAB随机数发生器对样本抽取过程进行模拟,配合应用实例和严格的数学证明,从多角度阐释样本方差的自由度,有助于从不同程度上理解方差的定义,为进一步的统计推断学习奠定基础。
2. 样本方差自由度的证明
设
为取自正态总体
的简单随机样本,记样本均值
,样本方差
,则:
证明:取
,
,其中:
(1)
容易验证矩阵Γ为正交矩阵。
则:
(2)
y的方差
,这里In为n阶单位矩阵。
由y的方差可知,
相互独立,且
,
。
另:
(3)
(4)
则根据χ2分布定义,得
(5)
根据χ2分布的性质:
(6)
即
,证毕。
3. 样本方差自由度的解释
由表达式(5)可知,有关样本方差的抽样分布为χ2分布,其自由度为n − 1。样本方差为总体方差σ2的无偏估计量。但对于绝大多数生命科学背景的学生而言,理解上述证明具有一定的难度。所以,在实际的讲授中,一般会通过形象化的举例描述来解释方差公式中的除数(n − 1),如:“n − 1”在统计学上可称之为自由度,是指独立可自由变化的观测数个数。在计算n个观测数的样本标准差时,每个x与
比
较,虽有n个离均差,但只有n − 1个是自由变动的,最后一个离均差由于受到一个条件
的限制不能自由变动。如一个样本具有5个观测数,已知4个离均差为2,3,1,−2,则第5个离均差必然为−4,才能使
成立。由于能自由变动的离均差是4,故自由度为4,即自由度为n − 1。
通过列举如上实例,可帮助部分基础薄弱学生对样本方差自由度形成一定的认识。
4. MATLAB模拟样本方差自由度
利用软件辅助教学是课程设计的重要环节。将MATLAB融入生物统计学课堂讲学,不仅可以提升学生知识运用的能力,还能辅助进行复杂繁琐的计算,激发学生热情 [8]。下面通过设计一个MATLAB模拟实例来介绍样本方差自由度的概念。设总体服从正态分布,均值为μ,方差为σ2。从总体中随机抽
取容量为n的样本,样本均值为
。记样本的离均差平方和为
。若重复此过程N次,记
。当
时,
[8]。当样本离均差平方和乘以
,则得到偏小估计
,
时,偏差为
。
运用MATLAB进行数值模拟,样本容量n = 5。简化起见,取标准正态分布随机变量,即
,
。简单随机样本(每行为1样本),示例参见图1。随机样本使用MATLAB中randn函数生成。无偏和有偏方差的计算基于MATLAB中std函数,通过设定std (X, Dim)函数第二输入参数Dim实现(Dim = 0为无偏,Dim = 1为有偏)。每抽取一个容量n = 5的样本,计算一次样本的离均差平方
和。若此时重复次数为N,则依
公式计算SSmean。因随机变量来自于标准正态分布
,故
时,
,
,偏差
。所以随着重复取样次数N的增加,
、
和偏差
取值将逼近理论值(图2)。因此,样本方差的自由度应为n –
1,若样本离均差平方和除以n,则与理论值存在偏差,不符合参数估计中“无偏性”的要求。
随机样本生成和均方计算MATLAB脚本文件如图3所示。其中“RepNum”为重复数N的取值范围,以适应对数横坐标。
用于绘制图2的MATLAB代码如图4所示。“scatter”为绘制散点图的MATLAB函数。在实际的教学过程,可通过改变scatter函数的参数取值,调整散点图的效果,不仅可以使学生熟悉统计图谱绘制,同时也帮助学生了解统计图对生物统计学结果的增强效应。
Figure 1. Random variables with normal distribution generated in MATLAB
图1. MATLAB生成服从标准正态分布随机变量
Figure 2. Simulations of unbiased, biased variances and deviations in MATLAB with increasing repeat number N
图2. 无偏、有偏方差和偏差值随重复数N变化的MATLAB模拟
Figure 3. Codes for calculation using MATLAB
图3. 用于计算的MATLAB源代码
Figure 4. Codes for plots using MATLAB
图4. 用于绘图的MATLAB源代码
5. 结论
方差自由度是统计学中的重要基本概念,但一般的生物统计学教材中缺少对此自由度的证明和详尽解释。因此,多数学生无法清楚理解基于n − 1自由度产生方差无偏估计的性质。通过修改脚本中RepNum向量的最大值,增加重复取样N的次数,可以实现对图2横轴的延伸,进而观察到更多的均方变化趋势,这不失为一种有益的课堂交互式体验。另外,由于MATLAB语法更接近于自然语义,所以上述均方计算代码相对简单易懂,有助于具有一定基础的学生理解和掌握。另外,MATLAB代码的运行时间相对较短,生成图2所需循环时间仅为约0.085秒(Windows 10操作系统,Intel CoreTM i5-8265 CPU,1.80 GHz,8.00 GB RAM)。即使增大RepNum向量的最大值3个数量级至107,运行时间仍小于0.1秒。最近有文献以Excel 2010作为语言工具,运用Excel 2010内嵌的VBA (Visual Basic for Application)编程功能进行了随机抽样过程并对自由度进行了模拟 [9]。但Excel 2010的最大循环次数仅为1048575 (~106),与MATLAB最大允许循环数相距甚远;模拟时间来看,MATLAB模拟相较于使用Excel 2010模拟可显著降低运行时间(降低约3个数量级) [9]。此外,MATLAB作为高级编程语言,在数值计算上比VBA更具优势。结合严格的数学证明,辅以教学实例和MATLAB模拟,从多角度阐释方差自由度的含义,可适用于不同基础的学生。
值得注意的是,2018年,高教司提出了“金课”的建设标准“两性一度”,即高阶性、创新性、挑战度 [10]。高阶性要求授课内容需要“优于、高于大纲,培养学生解决复杂问题的综合能力和高级思维” [10]。鉴于生物统计学教材中常忽略方差自由度的数学证明,教师若课堂上讲解此证明过程可帮助具有一定基础的生命科学专业学生更深刻的认识方差自由度,符合“高阶性”的要求。
致谢
感谢安庆师范大学生命科学学院朱亮亮老师对本研究的帮助。
基金项目
国家自然科学基金面上项目(31971185);安徽省高等学校省级质量工程线下课程(原精品线下开放课程)示范项目(2020kfkc299);安徽省高等学校省级质量工程大规模在线开放课程(MOOC)示范项目(2018mooc399);安徽省高等学校省级质量工程教学研究重点项目(2017jyxm0307)。
NOTES
*通讯作者。