第七章 参数估计
人们每时每刻都在做估计. 出门根据天色云量等估计今天的天气, 根据婴儿的哭声和面色判断其冷热和是否饥饿, 根据望闻问切来估计病人的病情, 根据外表估计一个人的身高体重, 根据营业数据等估计一个公司的业绩等等. 估计就是根据你拥有的信息来对现实世界进行某种判断. 统计中的估计也不例外, 它是根据数据做出的.
举例说, 人们想知道到底有多大比例的重庆人同意重庆大力发展轨道交通, 由于不大可能询问所有的三千多万重庆市民人们只好进行抽样调查以得到样本, 并用样本中同意发展轨道交通的比例来估计真实的比例. 从不同的样本得到的结论也不会完全一样. 虽然真实的比例在这种抽样过程中永远也不知道, 但有可能知道估计出来的比例和真实的比例大致差多少. 从数据得到关于总体参数的一些结论的过程就叫做统计推断(statistical inference). 这个调查例子是估计总体参数(某种意见的比例)的一个过程. 估计(estimation)是统计推断的重要内容之一. 统计推断的另一个主要内容是下一章要引进的假设检验(hypothesis testing).
1. 用估计量估计总体参数
总体代表人们所关心的那部分现实世界. 而在利用样本中的信息来对总体参数进行推断之前, 人们往往对代表总体的变量假定了分布族. 比如假定某特定人群的身高属于正态分布族, 或者在抽样调查时对某个观点认同与否假定了二项分布族等等. 这些模型假定基本上是根据经验而得, 所以仅仅是对现实世界的一个近似.
在假定了总体分布族之后, 进一步对总体的认识就是要在这个分布族中选 择一个与人们所关心的问题有关的具体分布. 由于分布族成员是由参数确定的, 如果能够估计出参数, 对总体的具体分布就知道得差不多了.
哪些是分布的参数呢?一些常见的参数包括总体均值($\mu$), 总体标准差($\sigma$)和(Bernoulli试验中)成功概率p等(总体中含有某种特征的个体之比例). 正态分布族中的成员被(总体)均值和标准差完全确定, Bernoulli分布族的成员被概率(或比例)p完全决定. 因此如果能够对这些参数进行估计, 总体分布也就估计出来了.
估计当然要根据从总体所抽取的样本来确定. 前面提到过, 样本的(不包含未知总体参数的)函数称为统计量, 而用于估计的统计量称为估计量(estimator).
由于一个统计量对于不同的样本取值不同, 所以, 估计量也是随机变量, 并有其分布.
当然, 如果样本已经得到,把数据代入之后, 估计量就有了一个数值, 也就不是随机的了, 这个数字称为该估计量的一个实现(realization)或取值, 也称为一个估计值(estimate).
这里介绍两种估计, 一种是点估计(point estimation), 也就是用估计量的实现值来近似相应的总体参数. 另一种是区间估计(interval estimation), 它是包括估计量在内(有时是以估计量为中心)的一个区间, 该区间被认为很可能包含总体参数.
点估计给出一个数字用起来很方便, 而区间估计给出一个区间, 说起来留有余地, 不像点估计那么绝对.
思考一下
- 人们往往假定某感兴趣的总体有某种分布, 然后通过从这个总体抽出来的样本来得到这个总体分布参数的性质, 这就是统计推断中的估计. 然而, 并不是这 些关于总体的假定都有道理, 因此, 统计中还有一些判断这些总体的近似分布的方法.
- 现实世界大多数总体的实际分布是不可能知道的, 更不可能仅仅限于人类所掌握的少数可以用数学语言表达出来的那些. 人类所能够希望的是某些巳知的概率分布可以对某些实际总体有较好的近似而已.
- 人们根本不可能根据数据来证明该数据来自于哪个总体, 但可以收集证据来试图否定数据属于某个总体, 如果否定不了, 最多只能够说, 没有证据否定该数据来源于该总体. 第八章的假设检验就反映了这种科学的否定式思维方法.
2. 点估计
用什么样的估计量来估计参数呢?实际上没有硬性限制. 任何统计量, 只要人们觉得合适就可以当成估计量. 当然, 统计学家想出了许多标准来衡量一个估计量的好坏. 每个标准一般都仅反映估计量的某个方面. 这样就出现了按照这些标准定义的各种名目的估计量. 另一些估计量则是由它们的计算方式来命名的. 最常用的估计量就是大家熟悉的样本均值($\bar{X}$)、样本标准差 ($s$)和(Bernoulli试验的)成功比例(x/n), 人们用它们来分别估计总体均值($\mu$)、总体标准差($\sigma$)和成功概率(或总体中的比例)p. 这些在前面都已经介绍过大家也知道如何通过计算机( 或公式)来计算它们.
那么, 什么是好估计量的标准呢?一种统计量称为无偏估计量(unbiased estimator). 所谓的无偏性(unbiasedness)就是:虽然每个样本产生的估计量的取值不一定等于参数, 但当抽取大量样本时, 那些样本产生的估计量的均值会接近真正要估计的假定分布的参数.
严格说来, 如果估计量的数学期望等于欲估计的总体参数, 则该估计量称为该参数的无偏估计量。
注意, 由于一般仅仅抽取一个样本, 并且用该样本的这个估计量的实现来估计对应的参数, 人们并不知道这个估计值和要估计的参数差多少. 因此, 无偏性仅仅是非常多次重复抽样时的一个渐近概念. 随机样本产生的样本均值、样本标准差和Bernoulli试验的成功比例分别都是相应的总体均值、总体标准差和总体比例的无偏估计. 在无偏估计量的类中, 人们还希望寻找方差最小的估计量, 称为最小方差无偏估计量.
这是因为方差小说明反复抽样产生的许多估计值差别不大, 因此更加精确.
评价一个统计量好坏的标准很多, 而且许多都涉及一些大样本的极限性质.我们不想在这里涉及太多此方面的细节.
思考一下
- 日常生活中有许多估计, 有些类似于点估计. 比如, 人们会说某些商店贵, 某些商店便宜, 这肯定不是指一两个商品. 请讨论人们可能如何思考这个问题.
- 举例说明你可以想象的点估计的应用.
- 估计的精确性(如无偏性和最小方差性等等)仅仅是对人们所猜想的模型(或总体)而言, 但模型本身和现实世界的差距就不得而知了. 因此, 任何推断的精确性都无法弥补一个拙劣猜想的模型所造成的与实际问题之间的巨大偏差.
3. 区间估计
当描述一个人的体重时, 你一般可能不会说这个人是76.45公斤, 而说这个人是七八十公斤, 或者是在70公斤到80公斤之间.你提供的这个范围就是某种区间估计. 在抽样调查例子中也常用点估计加区间估计的说法. 比如, 为了估计某候选人在选民中的支持率(即总体比例p), 调查机构的民意测验可能会说, 该候选人的“支持率为75%, 误差是$\pm$3 %, 置信度为95%”. 这种说法意味着下面三点:
- 样本中的支持率为75%, 这是用样本比例作为对总体比例的点估计.
- 估计范围为75% $\pm$ 3%($\pm$3%的误差), 即区(间72%, 78%).
- 如果用类似的方式, 重复抽取大量(样本量相同的)样本时, 产生的大量类似区间中有些会覆盖真正的p, 而有些不会, 但这些区间中大约有95%会覆盖真正的总体比例.
这样得到的区间被称为总体比例p的置信度(confidence level)为95%的置信区间(confidence interval). 这里的置信度又称置信水平或置信系数.
显然置信度的概念又是大量重复抽样时的一个渐近概念. 因此, “目前得到的区间(比如上面的75%$\pm$3%)以概率0.95覆盖真正的比例p” 是个错误的说法.
这里的区间(72%, 78%)是固定的, 而总体比例p也是固定的值, 只不过未知而已. 因此只有两种可能或者该区间包含总体比例, 或者不包含, 这当中没有任何概率可言. 至于区间(72%, 78%)是否覆盖真实比例, 除非一个不漏地调查所有选民, 否则永远也无法知道.
事实上, 本书涉及的置信区间(或其上下界)都是由统计量来确定的, 依样本而变, 是随机变量.
因此, 构造置信度100(1 - $\alpha$)%置信区间的随机区间则以1-$\alpha$ 的概率覆盖待估计的参数, 但该区间相应于一个样本的实现值就是固定的了, 无法知道其是否真正覆盖需要估计的参数.
在用语上, 人们喜欢用啰嗦的符号100(1-$\alpha$)%来表示置信度的记号. 因此95%置信区间相当于$\alpha$ = 0.05的情况. 当然, 这可能只是西方人把百分号%(percentage) 作为名词的习惯而已 对于中国读者, 95%和0.95或者1 — 0.05都是很自然的同义语. 现在中国(包括官方)也已经学会用“百分点”(%)这个名词(量词)了. 在英文中, 置信区间的上界(或上限, 即区间的左边界)称为upper bound, 下界(或下限)称为lower bound.
3.1 一个正态总体均值$\mu$的区间估计
刚才所涉及例子是关于总体比例的置信区间, 本章后面还要给出计算公式. 除了比例之外, 还可以对其他参数, 例如总体均值构造置信区间.下面看一个数值例子.
例7.1 (数据:noodle.txt) 某厂家生产的挂面包装上写明“净含量450克”. 在用天平称量了商场中的48包挂面之后, 得到样本量为48的关于挂面重量(单位:克)的一个样本:
449.5 461.1 457.5 444.7 456.1 454.7 441.5 446.0 454.9 446.2 457.3 446.1
456.7 451.4 452.5 452.4 442.0 452.1 452.8 442.9 449.8 452.4 458.5 442.7
447.9 450.5 448.3 451.4 449.7 446.7 441.7 455.6 442.9 451.3 452.9 457.2
448.5 444.5 443.1 442.3 439.6 446.5 447.2 445.8 449.4 441.6 444.7 441.4
这里假定, 挂面重量所代表的总体分布服从正态分布. 利用计算机, 可以很容易地得到挂面重量的样本均值及总体均值的置信区间等.
用下面R语句可以很容易得到关于该数据的各种常用统计量:
weight=scan("noodle.txt") #读入数据
swnmary(weight) #输出均值, 中位数, 极大极小值, 上下四分位点
t.test(weight, con= 0.95)$con #输出95%置信区间
输出的样本均值等于449.01, 而总体均值的95%置信区间为 (447.41, 450.61).
这个置信区间是根据公式
$$
\bar{x}\pm t_{\alpha/2}\frac{s}{\sqrt{n}}
$$
计算出来的, 这里n是样本量, $\bar{x}$是样本均值的实现值, $t_{\alpha/2}$为自由度为n-1的t分布的上$\alpha$/2分位点, s是样本标准差.
当然, 根本不用麻烦地代公式手工计算(包括查表求$t_{\alpha/2}$), 用一句计算机代码很容易得到结果.
上图展示了一个模拟结果, 描述了从一个正态总体抽样得到的各种样本, 在不同置信度, 不同样本量的情况下关于总体均值置信区间长短和覆盖的情况. 这里虚线为“真实“的均值. 可以看出对于同样的样本量(这里分别是n=50或n=20), 置信度的增加导致区间变长. 对于同样的置信度(这里是0.95或0.60), 样本量的增加导致区间变短. 而无论样本量多少, 显然置信度大的, 覆盖真实总体均值的区间比例要大些.
3.2 两个正态总体均值之差$\mu_1-\mu_2$的区间估计
人们不仅可以构造一个总体均值(或比例)的置信区间, 还可以构造两个总体均值(或比例)之差的置信区间. 比如, 希望知道两个地区学生成绩的差异, 可以建造两个地区成绩均值之差$\mu_1-\mu_2$的置信区间. 如果想要比较一个候选人在不同阶段支持率的差异, 那就可以构造两个比例之差P1 — P2 的置信区间等.
下面再看一个例子
例7.2 (数据:expend.txt)这是我国两个地区的一些城市2003年的城镇家庭人均消费性支出(单位:元)数据. 这里, 假定这种支出服从正态分布. 在数据中(无论哪种形式)收入是一列, 变量名为expend, 而区域为另一列, 变量名为area(用1、2表示两个地区).
(a) 希望要分别得到这两个总体均值和标准差的点估计(即样本均值和样本标准差)和各自总体均值的95%置信区间. 利用R语句:
w=read.table("expend.txt", header =T) #读入数据
x=w[w[,2]==1,1];
y=w[w[,2]==2,1] #分开两个区域
mean(x); sd(x); mean(y); sd(y) #得到各自的均值和标准差:
作为两个总体均值估计量的样本均值 分别为4562.53和5413.72, 而样本标准差分别为599.831和785.121.
(b) 求两个均值差$\mu_1-\mu_2$的点估计和95%置信区间. 可用下面语句得到可得到均值差的置信区间:
mean(x) - mean(y) #均值差的估计
t.test(x,y)$conf
两个总体均值差$\mu_1-\mu_2$的估计为—851.1928, $\mu_1-\mu_2$的95%置信区间为(-1330.8755, —371.5101).
注意, 这个结果假定了两个区域数据的方差不等. 如果假定两个区域数据方差相等, 则用(增加选项”var=T”)代码
t.test(x,y,var=T)$conf
得到两个总体均值差$\mu_1-\mu_2$的95%置信区间为(-1333.8228, —368.5629). 如何判断方差是否相等呢?这需要用下一章将讲到的检验.
这可以用R语句
var.test(x,y)$p.value
实行, 得到一个p值(下一章介绍), 这里是0.2880653. 如果p值很小(一般认为小于0.05, 但不是绝对的), 称为显著, 认为方差不相等 这里的p值并不小, 所以, 没有证据说明方差不相等, 但绝对不等于证明了方差相等.
思考一下
- 上面的输出中, 必须先检验一下方差, 再在两行中挑选一行看结果, 有些麻烦. 实际上, 如果相信数据, 直接用根据数据中提供的信息而建立的第二行结果, 也未尝不可. 结果差不了多少. 但是由于这里第一行假定方差相等的计算公式是先有的, 后来才有的更一般的第二行计算公式. 所以, 可能是为了尊重历史. 实际上, 任何两个总体的方差都不可能完全相同, 如果真的类似, 用第二行结果也差不了多少. R软件的默认值就是方差不相等的情况.
- 本书中的数值结果包含的小数点后的位数往往过多, 这是直接从计算机上复制下来的结果, 为了比较, 本书大多不刻意地减少小数点后的位数.
3.3 总体比例(Bernoulli试验成功概率)p的区间估计
例7.3 在一个大都市中对1341人的随机调查结果显示, 有934个人支持绿色出行和发展公共交通的政策. 假定该样本为简单随机样本, 希望找出总体中支持绿色出行和发展公共交通的人的比例的点估计及其置信度为95%的置信区间.
首先, 由于总体很大, 该调查可以看成Bernoulli试验, 而支持绿色出行和发展公共交通的总体比例p的点估计可以很容易算出:$\hat{p}$ = 934/1341 = 0.6964952. 而使用R语句
binom.test(934,1341,con=0.95)$con
可以得到p的95%置信区间为(0.6711031, 0.7210230). 下面语句可以算出包括精确区间在内的p的三种区间及其点估计(要事先下载程序包Hmisc). 输出中的渐近(asymptotic)区间是用Bernoulli试验的大样本正态近似的置信区间的公式计算的, Wilson区间是正态近似区间的改进.
library(Hmisc)
binconf(934, 1341, alpha=.05, method="all")
输出为
PointEst Lower Upper
Exact 0.6964952 0.6711031 0.7210230
Wilson 0.6964952 0.6713547 0.7205131
Asymptotic 0.6964952 0.6718872 0.7211031
之所以有各种置信区间的算法, 是因为在前计算机时代, 算精确区间很不容易, 人们就用各种方法来寻找计算量少的近似区间.
注意, 这里的方法仅限于大总体的情况. 如果用正态近似, 则只适用于大总体及大样本.
在小总体和小样本时要用超几何分布的模型, 而在大总体和小样本时不能用大样本正态近似, 必须直接用精确方法. 读者可参看后面公式.
3.4 总体比例(Bernoulli试验成功概率)之差$p_1-p_2$的区间估计
例7.4 在两个地区对于某商品认可与否的调查结果显示, 第一个地区被调查的950人中有423人认可, 而在第二个地区的被调查的1102人中只有215人认可. 求这两个总体比例之差$p_1-p_2$的95%置信区间.
用一句R代码
prop.test(c(423,215),c(950,1102),con=.95)$con
可以得到两个总体比例之差$p_1-p_2$的95%置信区间为(0.2098615,0.2904652).
4. 关于置信区间的注意点
前面已经提到不要认为由一个样本数据得到总体参数的一个95%置信区间, 就以为该区间以0.95的概率覆盖总体参数. 置信度95%仅仅描述用来构造该区间上下界的统计量(是随机的)覆盖总体参数的概率, 也就是说, 无穷次重复抽样所得到的所有区间中大约有95%包含参数. 但是把一个样本数据带入统计量的公式所得到的一个区间, 只是这些区间中的一个. 这个非随机的区间是否包含那个非随机的总体参数, 一般不可能知道非随机的数目之间没有概率可言.
置信区间的论述是由区间和置信度两部分组成. 有些新闻媒体报道的一些调查结果只给出百分比和误差(即置信区间), 并不说明置信度, 也不给出被调查的人数, 这是不负责的表现因为降低置信度可以使置信区间变窄(显得“精确”), 有误导读者之嫌.在公布调查结果时给出被调查人数是负责任的表现. 这样内行则可以由此推算出置信度(由后面给出的公式), 反之亦然.
一个描述性例子:一个有10000个人回答的调查显示, 同意某种观点的人的比例为70%(有7000人同意), 可以算出总体中同意该观点的比例的95%置信区间为(0.691,0.709)
R代码
binom.test(7000, 10000, con=.01)$con
另一个调查声称有70%的比例反对该种观点, 还说总体中反对该观点的置信区间也是(0.69, 0.71). 到底相信谁呢?实际上, 第二个调查隐瞒了置信度(等价于隐瞒了样本量). 如果第二个调查仅仅调查了50个人, 有35个人反对该观点. 可以算出, 第二个调查的置信区间的置信度仅有1%.
R代码
binom.test(35, 50, con=. 01)$con
常识表明, 来自现实世界的数据量越大, 对现实世界的了解就越充分. 样本量对置信区间有很大的影响理想的情况是获得很小的置信区间和很大的置信度. 但鱼与熊掌不可兼得, 只好固定一个, 力求另一个更好如果固定置信度在某个值, 比如95%, 那么样本量越大, 置信区间就越窄. 如果固定置信区间的长度, 那么样本量越大, 置信度就越大. 人们可以从需要的置信区间的长度和置信度求出需要多 大的样本量当然, 要指明的是, 在固定置信度时, 置信区间长度的减少并不是和样本量n成反比, 而是和寸i成反比, 也就是说当样本量增加一倍(即2n)时, 置信区间的长度为原先的$1/\sqrt{2}$.
这里所涉及的一些区间估计的公式在后面会介绍, 同时还会总结如何使用R软件从数据获得想要的区间估计.
思考一下
- 对于正态总体, 在样本没有得到时, 端点由随机的统计量组成的诸如 $\bar{x} \pm t\frac{\alpha}{2} \frac{s}{\sqrt{n}}$ 的100(1-$\alpha$)%置信区间的确以1-$\alpha$ 的概率覆盖真实总体均值, 但一旦得到样本数据, 并以此计算出一个具体数值区间, 比如例7.1中的95%置信区间(447.41, 450.61). 这时, 就不能说区间(447.41, 450.61)以0.95的概率覆盖均值. 为什么这样, 请讨论.
- 置信区间的概念需要对总体有所要求或假定, 请讨论.
5. R语句的说明
本章所提到的连续变量总体均值和标准差的估计量就是样本均值和样本标准差. 而总体比例的估计就是样本比例(简单的整数相除). 因此下面不赘述稍微复杂的是区间估计. 但都可以直接用R软件得出:
单样本的总体均值$\mu$的区间估计:对于数据代码x, 用R语句
t.test(x,conf=0.95)$conf
得到(95%) 置信区间
两样本的总体均值差$\mu_1-\mu_2$的区间估计:对数据代码x和y, 用语句
t.test(x,y, conf=0.95)$conf
就可以得到(95%)置信区间. 如果想用前计算机时代方法(假定方差相等), 则先要用R语句
var.test(x, y)$p.value
得到p值, 如果p值不是很小, 可用语句
t.test(x, y, var=T, conf=0.95)$conf
得到假定方差相等的简单公式计算的(95%)置信区间.
- 单样本的总体比例p的区间估计:对于数据代码n和x, 用R语句
得到(95%)置信区间. 或者用binom.test(x,n,con=.95)$con
得到各种精确和近似置信区间.library(Hmisc) binconf(x, n, alpha=.05, method="all")
- 两样本总体比例差$p_1-p_2$的区间估计:对数据代码x1, x2和n1, n2, 用语句
就可以得到(95%) 置信区间.prop.test(c(x1,x2),c(n1,n2),con=0.95)$con
摘自 吴喜之, 统计学:从数据到结论.第四版.
第五章 简单统计推断:总体参数的估计