生物统计漫谈
苯人数学不好,请大家帮忙指错并严厉批评(()
概念
基本统计参数
平均数众数中位数初中学过了不讲()这里介绍一下自由度、方差和标准误。
自由度(df)
计算某一统计量时,取值不受限制的变量个数。通常df=n-k,其中n为样本数量,k为被限制的条件数或变量个数。在χ2列联表中,df=(行数-1)x(列数-1)
方差
一般算式初中学过不讲(而且卡西欧统计直出)讲一下方差另一个更常用公式的推导:
↑这个是样本方差,由于由实际观察数得出,分母上是自由度df;若是总体方差σ2,分母上是样本量n。
关于方差除以n-1的一点小推导
(前置知识:高中向量)
首先,我们设:
- x = (x_1, x_2, x_3, ... , x_n)
- e = ((x_1 - x_bar), (x_2 - x_bar), (x_3 - x_bar), ... , (x_n - x_bar))
- m = (x_bar, x_bar, x_bar, ... , x_bar)
- (一共n个x_bar)
- μ = (μ, μ, μ, ... , μ)
- (一共n个μ)
注:x_i是第i个样本值,x_bar是样本平均数,μ是整体平均数。
又注:高维向量可以类比三维向量、二维向量理解。
我们可以知道,x = m + e
又可以证明,m垂直于e
证明:(类比高中向量证垂直)
因为Σ(x_i - x_bar) = 0,
所以:
m · e
= Σ(x_bar * (x_i - x_bar))
= x_bar * Σ(x_i - x_bar)
= 0
因此m垂直于e
所以我们可以画出下图来:
我们还知道,μ = E(x_i) = E(x_bar),Var(x_i) = σ²,Var(x_bar) = σ²/n,
接下来就让我们计算一下e长度的平方的期望。
注意到e, m-μ, x-μ这三个向量构成了一个直角三角形,所以我们可以通过勾股定理间接地求e的长度的平方。
E(|x - μ|²)
- = E(Σ(x_i - μ)²)
- = ΣE((x_i - E(x_i))²)
- = Σσ² // E((X - E(X))²) = Var(X)
- = nσ²
E(|m - μ|²)
- = E(Σ(x_bar - μ)²)
- = ΣE((x_bar - E(x_bar))²)
- = Σ(σ²/n)
- = σ²
所以:
E(|e|²)
- = E(|x - μ|² - |m - μ|²)
- = E(|x - μ|²) - E(|m - μ|²)
- = nσ² - σ²
- = (n - 1)σ²
又因为E(|e|²) = E(Σ(x_i - x_bar)²),
所以σ² = E(Σ(x_i - x_bar)²/(n-1))
为了达成对σ²的无偏估计(即期望等于σ²),方差只能够定义为分母除以n-1的样子。
标准差(SD)
方差的平方根。
标准误(SE)
样本均值分布的标准差,反映抽样误差的大小,表明样本均值对总体均值的代表性 。计算公式为总体标准差除以样本量的平方根(σ/√n)。
关于平均数的方差是σ²/n的证明:
首先,Var(x_i) = Var(X) = σ²
Var(x_bar)
- = Var((Σx_i)/n)
- = Var(Σx_i)/n²
- = Σ(Var(x_i)) / n²
- = nσ² / n²
- = σ²/n
自然,平均数的标准差(也就是标准误)便为σ/√n了
总体·样本·理论
具有相同性质的个体所组成的集合称为总体……从总体中抽出的若干个体所构成的集合称为样本。——《生物统计学(第5版)》李春喜等
总体分为有限总体(其中个体数量有限,如一个班级的所有人)和无限总体(个体数量极大或无限,如一棉田中棉铃虫的总数;其中无限总体可以更抽象地拓展为理论总体,如推断某种药品相比另一种药品的治愈效果)。对于无限总体,由于无法得出总体的具体数值,故此时总体=理论(如后文连续性矫正中可用理论频率直接代替总体频率);对于有限总体,总体个体数小且方便获取测量时,可以知道总体的具体数值。
样本的数值不一定等于总体的数值,总体的数值也不一定等于理论的数值——只能逐层估计。这时检验尤为重要。
错误
α错误(第一类错误):拒绝真实的H0假设,即假阳性/拒真风险;
β错误(第二类错误):未拒绝错误的H0假设,即假阴性/纳伪风险。
两类错误在样本量固定时呈负相关,可通过调整显著性水平α值来权衡这两类错误。
显著性水平α数值越小(即检验越严格),一类错误概率越低,二类错误概率越高。
增大样本量可同时降低犯两类错误的概率。
二类错误的发生率同时取决于样本与实际均值的误差即|μ0-μ1|,|μ0-μ1|减小会导致假阴性发生率大幅增加,亦即二类错误概率增加。
置信区间
前置知识:统计推断(假设检验)
用样本来估计总体的时候,我们得到的并不是一个值,而是一个区间,因为对于一个由样本估计的统计量,有许多个真实的总体统计量能够使该样本统计量通过假设检验。这个“能使该样本统计量通过假设检验”的总体统计量的范围就是置信区间。
例如,假设有一个由正态总体抽样得到的样本,其平均数为x_bar。设该总体的平均数为μ,且只知道样本的标准差s。
由后面所学的t检验得,若是x_bar与μ无显著差异,则有:
t = (x_bar - μ) / (s / √n)
- 属于[-t_0.025, t_0.025]
- (双侧,显著性水平=0.05,自由度为n-1)
也就是说,计算得来的t要属于[-t_0.025, t_0.025],才能通过假设检验,也即t有95%的概率属于这个区间。
那我们通过t属于[-t_0.025, t_0.025]来计算一下μ的取值范围,可以得到:
x_bar - t_0.025 * s/√n < μ < x_bar + t_0.025 * s/√n
- (自由度为n-1)
也就是说,“能使x_bar通过t检验”的μ都在上面的范围里。
因此说总体平均数μ的95%置信区间为x_bar ± t_0.025 * s/√n (自由度为n-1),95%来源于1-显著性水平P,也即能通过假设检验的t值的范围。
那么,总体标准差σ的置信区间又是多少呢?
放个答案在这里:
σ的(1-α)的置信区间为:
- [s*√((n-1)/χ²_0.5α), s*√((n-1)/χ²_(1-0.5α))]
读者自证不难(
置信区间的加减乘除
有的时候,我们会遇到一些带有置信区间的数进行加减乘除的问题,比如说:
- 标记重捕法三次实验得到的种群数量分别是100±50, 150±60, 75±70,问由它们平均而来的种群数量的95%置信区间是多少?
- 现有四种动物,它们的数量经过样方法统计分别是100±20只, 200±30只, 300±60只, 400±20只,它们的生物量分别为200g/只,250g/只,100g/只,400g/只,求总生物量的95%置信区间是多少?
这种问题看似是在求置信区间,实际上是在求标准差,最终是要求我们要求的量的方差。
问题的通用求法为:
- 置信区间 -> 标准差 -> 方差 -> 新的方差 -> 新的标准差 -> 新的置信区间
通常的,假设两个独立的平均数x±2*SE_x, y±2*SE_y,那么(ax + by)的方差为:
Var(ax + by)
- = Var(ax) + Var(by)
- = a²Var(x) + b²Var(y)
- = a²SE_x² + b²SE_y²
因此(ax + by)的95%置信区间为:
- (ax + by)±2 * √(a²SE_x² + b²SE_y²)
运用以上的方法,上面两个问题都可以解答了。
注意:置信区间中s/√n(即SE)本来就是平均数的标准差,在对方差进行计算时不要误用成了样本标准差s。
分布
离散的概率分布
二项分布
事情要先从伯努利试验说起……
伯努利试验说的这件事情只有两种结果:发生or不发生。显然,这两种结果的概率和p+q=1。当试验次数足够多,这个事件发生的频率就会趋近于它的概率——这正是所谓“大数定律”,也是我们能用实际得到的数据估算理论概率的基础。
二项分布,就是伯努利试验的拓展,是进行了多次重复的伯努利试验。——这里需要阐明一个概念:重复≠执行次数。重复指在一个试验中,将一个处理实施在两个及以上的试验单位上,这个试验单位的数量就是重复数。例如,一个人不停地抛硬币,这就是一个伯努利试验,其中P(X=正面)=1/2;而让3个人同时抛硬币,就成为了二项分布,我们可以算出在这个重复数下不同试验单位得到不同试验结果的概率,如P(X=两正一反)=C23×(1/2)2×(1/2)1
二项分布还有一个更加亲民的形式:(p+q)n
当二项分布的np<5且n(1-p)<5时,直接使用二项分布检验;当5<np<30或5<n(1-p)<30时,二项分布的图象逼近正态分布图像,可通过连续性矫正,将其视作连续的正态分布进行计算;当np>30且n(1-p)>30时,二项分布和正态分布图像已几乎一致,可直接视作正态分布进行计算。
二项分布的期望为np(很好理解),方差为npq。
泊松分布
公式:
泊松分布是二项分布的极限,指的是(p+q)n中,p很小而n趋近于无穷大时的概率分布。
泊松分布的期望μ=λ,方差σ2同样也是λ
实际上λ就是泊松分布的np值,由于q趋近于1,npq趋近于np。
泊松分布的推导:![]()
(关于那个打*号的红色已知式子,我不会推导(泣)有兴趣的烦请自行了解,,,
(这个不用你推,因为这就是e的定义,就像你推不出来周长比直径为什么等于π一样)(——豪德👌)
注意:虽然n趋于无穷大,且当λ不断增大时,泊松分布逼近正态分布,但泊松分布照样是个离散分布。
负二项分布
负二项分布同样来自多次独立的伯努利实验。区别在于,负二项分布衡量第k次成功时实验次数为i的概率。
负二项分布的期望为k/p(同样很好理解),方差为k(1-p)/p2。
几何分布:特殊的负二项分布,其k=1。
值得注意的是,生态学中种群的空间分布概率符合负二项分布,k值可作为衡量指标,k越小,种群越倾向于集群分布。
连续的概率密度
就生统而言,连续与离散最大的区别就是:离散分布中我们算的概率都是取到某个点的概率,而连续分布的“点”是没有意义的——毕竟在一连串连续的变量中,取得某一点的概率想也知道趋近于0——有意义的是“区间”。也就是说,求上下限间的累计概率,或者说求这段曲线围的面积,即计算积分。
正态分布
正态分布N(μ,σ2)的分布状态是多数变量围绕在平均值左右,由平均值到分布两侧变量数减少。
参数:μ总体平均数,σ2总体方差;当x=μ时,f(x)有最大值;当x-μ的绝对值相等时,f(x)值也相等;f(x)以x轴为渐近线,x取值区间(-∞,+∞)。
一般使用标准正态分布N(0,1),因为国赛发的CASIO 991CN CW只能算这个。对于非标准的正态分布,可进行标准化变换:u=(x-μ)/σ
数据:x≤1时累计概率P(1)=0.84134,0≤x≤1时累计概率Q(1)=0.34134,x≥1时累计概率R(1)=0.15866,其中P(1)+R(1)=1
正态分布为什么是正太正态
首先,我们来做一个思想实验。
假设你有一个靶子,你要往这个靶子上面投飞镖(或是射箭,打枪之类)。你想要探寻飞镖落点在靶子上的概率分布究竟是怎样的,以便预测你下次投飞镖的命中率。基于观察结果与自己的生活经验,你发现:
1. 距离靶心越远的位置飞镖投到的概率越小。
- (很显然,正常人都会瞄准靶心去投的)
2. 如果以靶心为原点,画出x轴和y轴,那么点(x, y)处的概率密度等于(x, 0)处的概率密度和(0, y)处的概率密度之积。
- (核心假设,相当于x轴与y轴是独立的,也就是说你往(x, y)偏相当于先往x轴或y轴偏,再往y轴或x轴偏,两者的结果相同)
我们还不知道这个概率分布是什么,但不妨碍我们将距离靶心r的点的概率密度函数设为f(r)。
由第二点,我们可以得出,f(r)应该满足以下关系:
- f(r) = f(x) * f(y), 其中r² = x² + y²
我们不妨来看一个类似的,g(r) = g(x) * g(y), 其中r = x + y。
我们可以很快猜到,g(r)应该具有某种ex的形式,因为ex+y = ex * ey。
那么,照葫芦画瓢,我们猜测,f(r)应该具有某种ex²的形式。
但要注意,如果直接就是er²的话,当r趋近于正无穷时,f(r)也会趋向于正无穷,根据第一点,我们在指数上加一个负号,变成f(r) = e-r²。
但这就完了吗?
当然不是,一个合适的概率密度函数还需要满足归一性,即曲线下的面积等于1。
那我们现在的f(r)从负无穷到正无穷的积分是多少呢?
我们可以这样想:让f(r)的曲线绕靶心旋转一圈,求曲线旋转产生的面下面的体积。
第一次先用r去求:
- V = ʃinf0 2πr * e-r² dr
- (将体积按r分割成一个个不同半径的圆筒状薄片去积)
第二次用x与y去求:
- V = ʃinf-inf e-x² (ʃinf-inf e-y² dy) dx
- (因为f(r) = f(x) * f(y)),我们可以先选定一个x,求这个x对应的y轴的切片的面积,然后再将这一个个x所得到的面积积起来
由上,我们可得:
设S = ʃinf-inf f(r) dr,则
- 2π * ʃinf0 r * f(r) dr = S²
左边通过换元u = r²可以积出来结果是π,因此S = √π。
所以我们要让f(r) = 1/√π * e-r²,这样才能保证f(r)底下的面积是1。
好了,我们再来看一下标准正态分布的概率密度函数:
f(u) = 1/√2 * 1/√π * e-u² * 1/2
- (那个1/2是因为方差)
你已经基本推理出正态分布了!恭喜!
检验方法
检验分假设检验和参数估计。假设检验中参数已知,参数估计中参数未知。
H0为零假设,即无显著差异;H1(或HA)为备择假设,即有显著差异。
为什么我们可以用样本估计总体?
大数定律:对于一系列独立同分布(服从相同分布且相互独立)的随机变量,变量均值的极限等于所属分布的数学期望。
为什么前述的任意离散分布最终都可以逼近正态分布?
中心极限定律:对于一系列独立同分布的随机变量,若其所属分布具有固定且有限的数学期望和方差,则当变量数n趋近于正无穷时,变量服从标准正态分布。
连续性矫正
由于正态分布实在是太好用了,大部分接近正态分布的离散分布(比如二项分布)都可以用正态分布来拟合。例如二项分布,在n增大的过程中,其会越来越接近正态分布,因此即使变量的离散性被忽略,也不会有什么太大的错误。但离散变量终究还是离散变量,有时候我们不得不考虑变量的离散性,这个时候就需要进行连续性矫正。
就比如图中直方图所示分布,假设我们要求P(3 <= X <= 6),如果直接用正态分布拟合,结果就会偏小。
- 书上的数据是离散P(3 <= X <= 6) = 0.7534,正态P(3 <= X <= 6) = 0.6222
为什么会偏小?我们仔细地观察一下这张图。在离散的情况下,我们要计算P(3 <= X <= 6),我们需要把X=3, X=4, X=5, X=6这四个矩形的面积加起来。但在正态分布的情况下,我们计算P(3 <= X <= 6)时,只计算了两虚线所夹的面积,左右各少了半个矩形。
因此,我们在用正态分布拟合时,范围要向左右各扩展半个组距,由P(3 <= X <= 6)变成P(2.5 <= X <= 6.5),这多出来的半个组距就是连续性矫正。
- 书上的数据正态P(2.5 <= X <= 6.5) = 0.7594,确实好很多。
同理,上图中若是想以正态分布计算P(X >= 7),则要计算P(X >= 6.5);若是组距为10,要想计算P(X <= 30),则要计算P(X <= 35),以此类推。
u检验和t检验
u检验适用:总体方差σ2已知,样本平均数的分布均服从正态分布,故大样本/小样本(一般样本量n≥30为大样本,反之小样本)都可;或总体方差σ2未知但为大样本。
t检验适用:总体方差σ2未知的小样本。和u检验非常类似,但是曲线更胖——因为t检验样本量小,算出的方差相应更大。
让我们对着u检验和t检验近乎一样的公式理一下思路:分子上样本均值-总体均值,很显然是样本与总体间的差异;分母上标准误,那便可看作以标准误为单位,衡量样本与总体间的差异(或是两组间的差异,etc.)——显然,标准误这一标尺需要相等。这也正是所谓的:u检验和t检验都要求方差齐性。
于是需要一个新的检验方式:F检验。
F检验
F检验算的是较大的方差与较小的方差的比值,再将这一数据查表检验显著性。注意:查表时较大方差对应的自由度和较小方差对应的自由度不要查反!
若方差一致即不显著,就可以开始u检验或t检验了;若方差不一致即显著,则需要近似的u或t检验——这时是在方差上加权。以近似t检验为例:
卡方检验
分适合性检验、独立性检验。
卡方检验的自由度df=(行数-1)(列数-1)
注意:df=1时需要连续性矫正!
方差分析(ANOVA)
t检验和u检验都只能检验两组数据间差异的显著度,若涉及到3组及以上,便需要方差分析。t检验和u检验中方差齐且数据符合正态分布,故不需考虑组内(处理内)差异;而方差分析不一定数据符合正态分布,故数据间的差异涉及组内(处理内)差异与组间(处理间)差异。严格地说,方差分析指的是“证明差异存在”的方法,后续的“两两进行比较”则是多重比较。
根据分析因素(处理)的多少,可分为单因素方差分析、双因素方差分析及以上。
单因素方差分析(One-way ANOVA)
计算平均数差数的标准误时,Se2代的是处理内的方差,这样算出的标准误就代表了单纯在处理内(由于重复)造成的与总体均值的差异。用这个值对查表得到的t值加权,得出仅由于重复造成的差异的上界,也就是达到差异显著的最小差数(即LSD值),若两组数据平均值的差超过这一值,则说明这两组间有显著/极显著差异。
例子中是组内重复数不同的单因素方差分析,若组内重复数相同那更简单了只需算C值时,分子是所有重复的总和T的平方,分母是组数k × 每组重复数n(本质是一样的,只是不用分开算,计算器上更少打一点()
例子中用的多重比较方法是LSD法(最小显著差异法),除此之外还有LSR法(最小显著极差法),LSR法又可分为新复极差检验(又称Duncan法、SSR法)和q检验(又称SNK检验)。以下简述其他方法思路:
新复极差检验:当样本容量相等时,通过计算不同组均值的极差(最大值-最小值),并与临界值LSRα=SSRα·√(Se2/n)(SSRα从Duncan’s极差表中查出,与组数p、自由度ν和显著性水平α相关)比较,从而判断差异是否显著。
q检验(SNK检验):以统计量q的概率分布为基础,与新复极差检验方法基本一致,将极差与临界值LSRα=q·极差/√(Se2/n)(q从q值表中查出)比较,从而判断差异是否显著。
在样本数(处理数)k=2时,LSD法、SSR法、q法的显著尺度是相同的。当k≥3时,3种检验的显著尺度便不相同,LSD法最低、SSR法次之、q法最高,即这3种检验⽅法的检验尺度关系为LSD法 ≤ SSR法 ≤ q法。
双因素方差分析(Two-way ANOVA)
考虑一个最简单的例子:我们现在需要考察施肥和灌溉对植物株高的影响。
| 灌溉频率 | 一天两次 | 一天一次 | 两天一次 | “均值的均值” |
|---|---|---|---|---|
| 肥料A | 12,14,13,15 | 10,11,12,11 | 8,9,10,9 | |
| 肥料B | 16,17,15,18 | 14,13,15,14 | 11,12,10,11 | |
| A均值 | 13.5 | 11.0 | 9.0 | 11.167 |
| B均值 | 16.5 | 14.0 | 11.0 | 13.833 |
先计算总均值
总差异(i,j表示两个因素;k表示序号)
因素A(肥料)差异
因素B(灌溉)差异
两个因素协同差异
误差
| 因素来源 | 平方和(SS) | 自由度(df) | 均方(MS=SS/df) | F值(F=MS/MSE) |
|---|---|---|---|---|
| 因素A(肥料) | 42.667 | 2-1=1 | 42.667 | 42.667 |
| 因素B(灌溉) | 100 | 3-1=2 | 50 | 50 |
| 因素AB协同 | 1.333 | (2-1)*(3-1)=2 | 0.6665 | 0.6665 |
| 误差 | 18 | 2*3*4-2*3=18 | 1 | |
| 总计 | 162 | 2*3*4-1=23 |
最后进行一个假设检验()
对于A:42.667>4.41,差异显著。
对于B:50>3.55,差异显著。
对于AB协同:0.6665<3.55,差异不显著。
好了,现在我们知道灌溉和不同种类肥料对于植物株高的影响,但是二者不存在明显的协同作用。
非参数检验
上述检验为总体分布方式已知或假设好的,检验目的是根据样本数据估计总体数据的情况
但许多情况下,我们不知道总体分布,这种情况下将使用非参数检验
非参数检验包括游程检验,符号检验,秩和检验
但是需要注意,对于符合参数检验的情况,即有分布类型,强行使用非参数检验,将容易出现假阴性
秩和检验
上文所述的t检验和方差分析(F检验),分别用于两组独立样本对比和多组独立样本对比(≥3组),但它们都有一个要求,即数据必须满足正态分布。如果数据不满足正态分布,那么可以使用秩和检验,可能会“浪费”一些信息(t检验和方差分析比较的是具体数值的均值,而秩和检验比较的是排名的总和的均值),但会在特殊情况更可信。
举一个例子:
假设年级里有两个班,每个班有7个同学,一个班同学的成绩是699、697、688、678、660、690、520,另一个班同学的成绩是695、692、640、671、625、590、503,两个班同学的成绩是否有显著性差异?
为什么这种情况要使用秩和检验——这一段话仅仅是笔者的粗浅理解,如果说错了请迅速肘击笔者并帮忙改正——因为类似上例,两个班的分数呈偏态分布,如果使用其他检验方法,很可能由于数据太接近而错误得出无显著差异的结果;而不满足正态分布的数据往往存在着这个问题,使用排名虽然显得有些简单粗暴,但是在这种时候反而更加真实。

首先,将数据排序,写出排秩表;
计算子样容量(n):n₁=7,n₂=7;
计算秩和(T):T₁=2+6+8+10+11+13+14=64;
T₂=1+3+4+5+7+9+12=41;
我们取较小的值作为T,T=T2=41
(这是秩和检验的一个规则,部分秩和检验会使用平均数)
查秩和表:n₁=7,n₂=7,a=0.05,查表T₁=39,T₂=66
判断:T位于[39,66]这个区间,二者差异不显著,若在这个区间之外,则为显著
部分表还会有0.025列,这是双侧检验用的
以上只是秩和检验的一个例子,秩和检验还有针对于单样本,成对样本和独立双或者多样本分析,还有各种类型算法,但不论怎么变,秩和检验的根本都是,排序,求秩和,算统计量,查表,这是不会变的
