统计学习理论与方法:R语言版
上QQ阅读APP看书,第一时间看更新

2.1 参数估计

如果想知道某所中学高三年级全体男生的平均身高,其实只要测定他们每个人的身高然后再取均值即可。但是若想知道中国成年男性的平均身高似乎就不那么简单了,因为这个研究的对象群体实在过于庞大,要想获得全体中国成年男性的身高数据显然有点不切实际。这时一种可以想到的办法就是对这个庞大的总体进行采样,然后根据样本参数来推断总体参数,于是便引出了参数估计(Parameter Estimation)的概念。参数估计就是用样本统计量去估计总体参数的方法。例如,可以用样本均值来估计总体均值,用样本方差来估计总体方差。如果把总体参数(均值、方差等)笼统地用一个符号θ来表示,而用于估计总体参数的统计量用来表示,那么参数估计也就是用来估计θ的过程,其中也称为是估计量(Estimator),而根据具体样本计算得出的估计量数值就是估计值(Estimated Value)。

2.1.1 参数估计的基本原理

点估计(Point Estimate)是用样本统计量的某个取值直接作为总体参数θ的估计值。比如,可以用样本均值直接作为总体均值μ的估计值,用样本比例p直接作为总体比例的估计值等等。这种方式的点估计也称为矩估计,它的基本思路就是用样本矩估计总体矩,用样本矩的相应函数来估计总体矩的函数。由大数定理可知,如果总体Xk阶矩存在,那么样本的k阶矩以概率收敛到总体的k阶矩,样本矩的连续函数收敛到总体矩的连续函数,这就暗示可以用样本矩作为总体矩的估计量,这种用相应的样本矩去估计总体矩的估计方法就称为矩估计法,这种方法最初是由英国统计学家卡尔·皮尔逊(Karl Pearson)提出的。

来看一个例子。2014年10月28日,为了纪念美国实验医学家、病毒学家乔纳斯·爱德华·索尔克(Jonas Edward Salk)诞辰100周年,谷歌公司特别在其主页上刊出了一幅如图2-1所示的纪念画。第二次世界大战以后,由于缺乏有效的防控手段,脊髓灰质炎逐渐成为美国公共健康的最大威胁之一。其中,1952年的大流行是美国历史上最严重的爆发。那年报道的病例有58 000人,3145人死亡,另有21 269人致残,且多数受害者是儿童。直到索尔克研制出首例安全有效的“脊髓灰质炎疫苗”,曾经让人闻之色变的脊髓灰质炎才开始得到有效的控制。

图2-1 索尔克纪念画

索尔克在验证他发明的疫苗效果时,设计了一个随机双盲对照试验,实验结果是在全部200 745名接种了疫苗的儿童中,最后患上脊髓灰质炎的一共有57例。那么采用点估计的办法我们就可以推断该疫苗的整体失效率大约为

或者在R中执行下面的代码来计算结果。

虽然在重复抽样下,点估计的均值可以期望等于总体的均值,但由于样本是随机抽取的,由某一个具体样本算出的估计值可能并不等同于总体均值。在用矩估计法对总体参数进行估计时,还应该给出点估计值与总体参数真实值间的接近程度。通常我们会围绕点估计值来构造总体参数的一个区间,并用这个区间来度量真实值与估计值之间的接近程度,这就是区间估计。

区间估计(Interval Estimate)是在点估计的基础上,给出总体参数估计的一个区间范围,而这个区间通常是由样本统计量加减估计误差得到的。与点估计不同,进行区间估计时,根据样本统计量的抽样分布可以对样本统计量与总体参数的接近程度给出一个概率度量。

例如在以样本均值估计总体均值的过程中,由样本均值的抽样分布知,在重复抽样或无限总体抽样的情况下,样本均值的数学期望等于总体均值,即。回忆第1章曾经给出过的一些结论,还可以知道,样本均值的标准差等于,其中σ是总体的标准差,n是样本容量。根据中央极限定理可知样本均值的分布服从正态分布。这就意味着,样本均值落在总体均值μ的两侧各一个抽样标准差范围内的概率为0.6827;落在两个抽样标准差范围内的概率为0.9545;落在三个抽样标准差范围内的概率是0.9973……下面是R中用于计算的代码。

事实上,我们完全可以求出样本均值落在总体均值两侧任何一个抽样标准差范围内的概率。但实际估计时,情况却是相反的。我们所知道的仅仅是样本均值,而总体均值μ未知,也正是需要估计的。由于μ之间的距离是对称的,如果某个样本均值落在μ的两个标准差范围之内,反过来μ也就被包括在以为中心左右两个标准差的范围之内。因此,大约有95%的样本均值会落在μ的两个标准差范围内。或者说,约有95%的样本均值所构造的两个标准差区间会包括μ。图2-2给出了区间估计的示意图。

图2-2 区间估计示意图

在区间估计中,由样本统计量所构造的总体参数之估计区间被称为置信区间(Confidence Interval),而且如果将构造置信区间的步骤重复多次,置信区间中所包含的总体参数真实值的次数之占比称为置信水平,或置信度。在构造置信区间时,可以使用希望的任意值作为置信水平。常用的置信水平和正态分布曲线下右侧面积为α/2时的临界值如表2-1所示。

表2-1 常用置信水平临界值

2.1.2 单总体参数区间估计

1. 总体比例的区间估计

比例问题可以看做是一项满足二项分布的试验。例如在索尔克的随机双盲对照试验中,实验结果是在全部200 745名接种了疫苗的儿童中,最后患上脊髓灰质炎的一共有57例。这就相当是做了200 745次独立的伯努利试验,每次试验的结果必为两种可能之一,要么是患病,要么是不患病。而且第1章中也讲过,服从二项分布的随机变量X~Bnp)以np为期望,以np(1-p)为方差。可以令样本比例作为总体比例p的估计值,而且可以得知

同时还有

由此便已经具备了进行区间估计的必备素材。

第一种进行区间估计的方法被称为是Wald方法,它是一种近似方法。根据中央极限定理,当n足够大时,将会有

在2.1.1节中也给出了标准正态分布中,95%置信水平下的临界值,即1.96,即

Wald方法对上述结果做了经一步的近似,即把根号下的p来代替,于是总体比例p在95%置信水平下的置信区间即为

以索尔克的随机双盲对照试验为例,可以在R中使用下面的代码来算得总体比例估计的置信区间。从输出结果中可知,保留小数点后6位有效数字的置信区间为(0.000 210,0.000 358)。

Wald方法的基本原理是利用正态分布来对二项分布进行近似,与之相对的另外一种方法是Clopper-Pearson方法。该方法完全是基于二项分布的,所以它是一种更加确切的区间估计方法。在R中可以使用binom.test()函数来执行Clopper-Pearson方法,下面给出示例代码。

从以上输出中可以得到,保留小数点后6位有效数字的95%置信水平下之区间估计结果为(0.000 215,0.000 369)。这一数值其实已经与Wald方法所得结果非常相近了。

2. 总体均值的区间估计

在对总体均值进行区间估计时,需要分几种情况来讨论。首先若考虑的总体是正态分布且方差σ2已知,或总体不满足正态分布但为大样本(n≥30)时,样本均值的抽样分布均为正态分布,数学期望为总体均值μ,方差为σ2/n。而样本均值经过标准化以后的随机变量服从标准正态分布,即

由此可知总体均值μ在1-α置信水平下的置信区间为

其中α是显著水平,它是总体均值不包含在置信区间内的概率;zα/2是标准正态分布曲线与横轴围成的面积等于α/2时的z值。

例如现在有一家生产袋装食品的食品厂。按规定每袋食品的重量应为100g。为对产品质量进行监测,质检部门从当天生产的一批食品中随机抽取了25袋,并测得每袋的重量数据如表2-2所示。已知产品重量的分布服从正态分布,且总体标准差为10g。请计算该天每袋食品平均重量的置信区间,置信水平为95%。

表2-2 食品重量抽检数据(质量/g)

由于R中并没有提供方差已知时置信区间的计算函数,所以我们需要手动编写一个函数,代码如下。

然后调用上述函数来计算置信区间,代码如下。

结果表明该批食品平均重量95%的置信区间为(101.44,109.28)。

如果总体服从正态分布但σ2未知,或总体并不服从正态分布,只要是在大样本条件下,都可以用样本方差s2来代替总体方差σ2,此时总体均值在1-α置信水平下的置信区间为

其中需要注意的一点,也是第1章中着重讨论的一点,即如果设X1X2,…,Xn是来自总体X的一个样本,那么作为总体方差σ2之无偏估计的样本方差公式为

此外,考虑总体是正态分布,但方差σ2未知且属于小样本(n<30)的情况,仍然需要用样本方差s2来替代总体方差σ2。但此时样本均值经过标准化以后的随机变量将服从自由度为(n-1)的t分布,即

这也是本书前面曾经给出的一个定理。于是,我们就需要采用学生t分布来建立总体均值μ的置信区间。

学生t分布,或简称t分布,是类似正态分布的一种对称分布,但它通常要比正态分布平坦和分散。一个特定的t分布依赖于称之为自由度的参数。自由度越小,那么t分布的图形就越平坦,随着自由度的增大,t分布也逐渐趋近于正态分布。下面的代码绘制了标准正态分布以及两个自由度不同的t分布,结果如图2-3所示。

图2-3 标准正态分布与t分布

根据t分布建立的总体均值μ在1-α置信水平下的置信区间为

其中tα/2是自由度为n-1时,t分布中右侧面积为α/2的t值。

例如,现在为了测定一块土地的pH值,随机抽取了17块土壤样本,相应的pH值检测结果如表2-3所示。由于样本容量仅为17,所以属于小样本的情况,于是采用上述方法对这块土地的pH值均值进行区间估计。

表2-3 土壤pH值检测数据

根据已经给出的公式可以在R中下面的代码来进行区间估计,其估计结果我们用方框来进行标识。

或者更简单地,可以直接使用R中的t.test()函数来计算,示例代码如下。结果同样用方框来进行标识,可见与前面得到的结果是一致的。

表2-4对本部分介绍的关于单总体均值的区间估计方法进行了总结,供读者参阅。

表2-4 单总体均值的区间估计

3. 总体方差的区间估计

此处仅讨论正态总体方差的估计问题。根据样本方差的抽样分布可知,样本方差服从自由度为n-1的χ2分布。所以考虑用χ2分布构造总体方差的置信区间。给定一个显著水平α,用χ2分布建立总体方差σ2的置信区间,其实就是要找到一个χ2值,使得

由于

所以可以用其来替代χ2,于是有

并根据上式推导出总体方差σ2在1-α置信水平下的置信区间为

据此便可对总体方差的置信区间进行估计。由于R中并没有提供直接用于方差区间估计的函数,我们便自行编写了下面这个函数用以执行相应计算。

以食品厂抽检产品重量的数据为例,调用以上函数可以算得56.83≤σ2≤180.39。相应地,总体标准差的置信区间则为7.538≤σ≤13.431,即该食品厂生成的食品总体重量标准差95%的置信区间为7.538~13.431g。

2.1.3 双总体均值差的估计

第1章中曾经指出,若,其中i=1,2,…,n且相互独立,则它们的线性组合C1X1+C2X2+…+CnXn仍服从正态分布,其中C1C2,…,Cn是不全为0的常数。并由数学期望和方差的性质可知

所以假设随机变量的估计符合正态分布的一个潜在好处就是它们的线性组合仍然可以满足正态分布的假设。如果有,显然有

a=1,b=-1时,进而有

这其实给出了两个独立的正态分布的总体之差的分布。

X1X2这两个总体中分别抽取样本量为n1n2的两个随机样本,其样本均值分别为。则样本均值满足,样本均值满足。进而样本均值之差满足

由此便得到了进行双总体均值之差区间估计的所需素材。在具体讨论时我们将问题分成两类,即独立样本数据的双总体均值差估计问题,以及配对样本数据的双总体均值差估计问题。

1. 独立样本

如果两个样本是从两个总体中独立抽取的,即一个样本中的元素与另一个样本中的元素相互独立,则称为独立样本(Independent Samples)。

当两总体的方差已知的时候,根据前面推出的结论,类似于单个总体区间估计,可以得出μ1-μ2的置信水平为1-α的双尾置信区间为

如果两个总体的方差未知,可以用两个样本方差来代替,这时μ1-μ2的置信水平为1-α的双尾置信区间为

对于两个总体的方差未知的情况,将进一步划分为两种情况,首先当两总体方差相同,即,但未知时,可以得到

其中

此处的分别是样本方差。类似的做法,可以得到μ1-μ2的置信水平为1-α的双尾置信区间为

来看一个例子。假设有编号为1和2的两种饲料,我们现在分别用它们来喂养两组肉鸡,然后记录每只鸡的增重情况,数据如表2-5所示。

表2-5 喂食不同饲料的肉鸡增重情况

首先在R中录入数据,并分别计算两组数据的均值和方差,示例代码如下。

从输出结果来看,两组样本观察值的标准差是非常相近的,因此假设两个总体的方差是相等的。

根据上面给出的公式,首先来计算s′的值,计算过程如下

因此μ1-μ2在95%置信水平下的置信区间为

或者在R中使用t.test()函数来执行上述计算过程,示例代码如下。区间估计的结果已经用方框加以标识。这个输出中的其他指标结果我们将在假设检验部分继续讨论。

通过设置函数t.test()中的参数可以修改它的一些执行细节,具体参数列表可以参阅R的帮助文档。这里仅提其中几个比较重要的。首先,参数paired的默认值为FALSE,表示执行的是独立样本的情况。若将其置为TRUE,则表示要处理的是配对样本。参数conf.level的默认值为0.95,即在95%的置信水平下进行区间估计,调整它便可以改变置信水平。参数var.equal的默认值为FALSE,如果将其置为TRUE,就表示两个总体具有相同的方差。

此外,当两总体的方差未知,且时,可以证明

近似成立,其中

但由于未知,所以用样本方差来近似,即

可以近似地认为。并由此得到μ1-μ2的置信水平为1-α的双尾置信区间为

仍以饲料和肉鸡增重的数据为例,可以算得

进而有

因此μ1-μ2在95%置信水平下的置信区间为

同样,上述计算过程可以在R中使用t.test()函数来完成,示例代码如下。输出中的其他指标结果在假设检验部分还会有更为详细的讨论。

2. 配对样本

在前面的例子中,为了讨论两种饲料的差异,从两个独立的总体中进行了抽样,但使用独立样本来估计两个总体均值之差也潜在着一些弊端。试想一下,如果喂食饲料1的肉鸡和喂食饲料2的肉鸡体质上就存在差异,可能其中一组吸收更好而另一组则略差,显然试验结果的说服力将大大折扣。这种“有失公平”的独立抽样往往会掩盖一些真正的差异。

在实验设计中,为了控制其他有失公平的因素,尽量降低不利影响,使用配对样本(Paired Sample)就是一种值得推荐的做法。所谓配对样本就是指一个样本中的数据与另一个样本中的数据是相互对应的。比如,在验证饲料差异的试验中,可以选用同一窝诞下的一对小鸡作为一个配对组,因为我们认为同一窝诞下的小鸡之间差异最小。按照这种思路,如表2-6所示,一共有六个配对组参与实验。然后从每组中随机选取一只小鸡喂食饲料1,然后向另外一只喂食饲料2,并记录肉鸡体重增加的数据。

表2-6 配对试验数据

使用配对样本进行估计时,在大样本条件下,两个总体均值之差μ1-μ2在1-α置信水平下的置信区间为

其中,d是一组配对样本之间的差值,表示各差值的均值;σd表示各差值的标准差。当总体σd未知时,可用样本差值的标准差sd来代替。

在小样本情况下,假定两个总体观察值的配对差值服从正态分布。那么两个总体均值之差μ1-μ2在1-α置信水平下的置信区间为

例如,根据表2-6中的数据可以算得各配对组之差分别为-2、6、13、10、7和6,以及sd=5.046。因此,总体均值之差μ1-μ2在95%置信水平下的置信区间为

同样可以在R中使用t.test()函数来完成以上计算过程,此时需要将参数paired置为TRUE。示例代码如下,输出结果中的置信区间估计已经用方框标出。这个区间估计不包含零,其实也就意味两者是存在差异的,即饲料1和饲料2的喂食结果不同。

当然,如果先计算配对组之差,然后再做t.test()所得之结果将是一样的。读者可以自行尝试下面的代码,并观察结果。

最后需要说明的是,如果仅是执行普通的t.test(),而非是做配对数据的t.test(),那么将得到一个宽泛得多的区间估计。如下面代码所示,最终估计的置信区间还包含了零,这使得我们将无法确定饲料1和饲料2的喂食结果是否有不同。

2.1.4 双总体比例差的估计

由样本比例的抽样分布可知,从两个满足二项分布的总体中抽出两个独立的样本,那么两个样本比例之差的抽样服从正态分布,即

再对两个样本比例之差进行标准化,即得

当两个总体的比例p1p2未知时,可用样本比例来代替。所以,根据正态分布建立的两个总体比例之差p1-p2在1-α置信水平下的置信区间为

下面来看一个例子。在某电视节目的收视率调查中,从农村随机调查了400人,其中有128人表示收看了该节目;从城市随机调查了500人,其中225人表示收看了该节目。请以95%的置信水平来估计城市与农村收视率差距的置信区间。

在R中可以使用prop.test()函数来执行双总体比例差的区间估计,示例代码如下。输出结果中的置信区间估计已经用方框标出。参数correct的默认值为TRUE,表示计算过程中需要使用连续性修正。如果将其置为FALSE,则所得结果将同依据上述公式所得结果完全一致。

从输出结果中可以看出估计的置信区间为(6.68%,19.32%),即城市与农村收视率差值的95%的置信区间为6.68%~19.32%。

如果使用连续性修正,则所得结果如下。