参数估计是在样本统计量概率分布的基础上,根据样本信息,推断总体参数。总体参数用θ表示,用于估计参数的统计量用θ上加一个 ^ 表示,θ^也称为估计量,根据一个具体的样本计算出来的估计量的数值成为估计值。
参数估计的方法
方法有两种:点估计、区间估计。
点估计
点估计指的是用估计量的某个取值,作为总体参数θ的估计值。比如用样本均值作为总体均值的估计值,用样本比例作为总体比例的估计值等等。再比如,某个产品的样本良品率是97%,将97%作为这一批产品的良品率。
所以你可以看到,点估计的估计可靠性一般,因为依赖于估计量的可靠性,估计量的可靠性是有其抽样分布的标准误来衡量的。这么一来,无法说出点估计值与总体参数的真实值接近程度,我们就需要找其他的解决办法,比如围绕估计值构造一个总体参数的区间。
区间估计
区间估计是在点估计的基础上得到总体参数的一个估计区间,通常区间是由样本统计量±估计误差得来。进行区间估计时,根据样本统计量的抽样分布,可以对统计量与筒体参数的接近程度给出一个概率度量。
实际情况,样本均值已知总体均值未知,我们求的就是总体均值。可以理解为,总体均值在样本均值的两侧对称分布,所以我们可以利用标准误估计总体均值在多少个标准误内可以作为总体均值的置信区间。
置信区间说的就是,在区间估计中,由于样本估计量构造出的总体参数在一定置信水平下的估计区间。其中最小值成为区间下限,最大值成为区间上限。我们有哪个百分数将区间划分成100份,95%称为置信水平(也就是距离样本均值±1.96个标准误的距离),在这个置信区间中包含总体参数真值次数所占的比例是置信水平,或成为置信度、置信系数。
-置信区间告诉我们在多次估计得到的区间中,大概有多少个区间包含参数的真值;
-实际运用中过宽的区间意义不大,过窄区间容易漏掉真值;
总体参数真值固定,样本区间数量不固定;
评价估计量的标准
用于估计总体参数的估计量θ^有很多,什么样的估计量算比较好的呢?
无偏性
无偏性说的是:估计量抽样分布的期望值=被估计的总体参数。现在有所选估计量的θ^, 总体参数θ,如果E(θ^ )=θ,则θ^是θ的无偏估计量。
效性
有效性指的是估计量的方差大小。表示了估计量接近总体参数的程度,同一个总体的无偏估计量有非常多个,离散最小的则是最好的。
【例】
从均值为0、方差为1的总体抽取10000个样本量为10的样本:
1)计算样本均值方差和样本中位数方差;
2)进行无偏性和有效性度量模拟;
# 创建向量test,利用R语言解答需要用到循环语法:
#基本语法
# for (变量 in 条件) {
# 循环体
# }
test<-c(1,2,5,7,9)
for (i in test) {
print(i)
}
无偏估计的算法:
# vector函数能创建一个指定类型和长度的矢量,比如vector("numeric",2)。
# rnorm(统计量, 平均数, 标准差)。
# append为给向量添加元素的函数,append(要添加到哪个向量上, 要添加的元素是什么, after = length(x)从目标向量的第几个元素后添加),如果不指定after,则从目标向量的最后一个数字后添加。
# 创造可以制定长度和类型的三个变量对象
x<-vector();m<-vector();v<-vector()
# 设置样本量为10
n=10
# 变量i按照条件1~10000进行循环,每次循环的数据需要满足统计量为10、样本均值为0、标准方差为1 的d数据
# 接下来的每一次循环所得的数据将给x、m、v分别追加:为x对象追加d数据的均值;为m对象追加d数据的中位数;为v对象追加d数据的方差。
for (i in 1:10000) {
d<-rnorm(n,0,1)
x<-append(x,mean(d))
m<-append(m,median(d))
v<-append(v,var(d))
}
# 计算x、m、v各自的平均值,并组合成数据框输出
data.frame(mean(x),mean(m),mean(v))
通过上面的例子的结果可以看出:
- 无偏估计中,对样本均值、样本方差、样本中位数取平均值进行比较,结果都近似于总体均值。总体方差、总体中位数;
有效性的算法:
#接下来循环同样的数据,但重新命名变量;
x1<-vector();m1<-vector();v1<-vector()
n=10
for (i in 1:10000) {
d1<-rnorm(n,0,1)
x1<-append(x1,mean(d1))
m1<-append(m1,median(d1))
v1<-append(v1,var(d1))
}
# 循环后的样本计算他们的方差,进行对比
data.frame(var(x1),var(m1),var(v1))
通过上面的例子的结果可以看出:
- 检验有效性时,采用了另一组同样分布的数据变量,比较样本均值、样本方差、样本中位数的方差,发现样本均值的方差数字最小,所以是表现更有效的估计量。
一致性
一致性指的是随着样本量无限增大,统计量会最终收敛于所估总体的参数内。也就是说,大样本的估计量更加接近总体参数。
# set.seed生成随机数,括号里的数据代表生成的是第几次随机数
set.seed(12)
# 变量N是:“样本量为1000,均值为50,标准差为10”的一组数据
N=rnorm(1000,50,10)
mu=mean(N)
# sample为抽样函数,sample(从什么总体中抽样,抽样的次数,有无放回T代表有放回)
x10<-mean(sample(N,10,replace = F))
x100<-mean(sample(N,100,replace = F))
x500<-mean(sample(N,500,replace = F))
x900<-mean(sample(N,900,replace = F))
data.frame(总体均值=mu,x10,x100,x500,x900)
通过上面的例子的结果可以看出:
- 抽样字数越多,最终的样本参数约接近总体参数。
总体均值的区间估计
研究总体时,推断总体均值的统计量就是样本均值,研究两个总体时,关心的参数是两个总体均值的差值,用于推断的统计量则是两个样本的均值之差。
一个总体均值的估计
在对一个总体均值进行区间估计时,需要考虑抽取样本的总体是否是正态分布、总体方差是否已知、用于估计的样本是否为大样本(n≥30)还是小样本。
总体均值的置信区间都是由样本均值甲减估计误差得到的。所以估计误差有两部分组成:点估计的标准误、估计所要求的的置信水平为(1-α)时,统计量分布两侧面积各位α/2时的分位数值。因此,总体均值在(1-α)置信水平下的置信区间可以表达为:
样本均值 ±(分位数 * 样本均值的标准误)
1、大样本估计
由中心极限定理可知,样本均值近似服从期望值为μ,方差为σ^2/n的正态分布。样本均值标准化后得服从标准正态分布,z=(x拔-μ)/(σ/开方n)~N(0,1)。
若总体标准差σ已知,标准化时使用σ;
若σ未知,则用样本标准差s代替。
因此,可以有正态分布构建总体均值在(1-α)置信水平下的置信区间为:
当总体方差未知时,上述公式的σ替换成s,这是总体均值μ在(1-α)置信水平下的置信区间为:
install.packages("BSDA","lattice")
library(BSDA,lattice)
library(readr)
oil5<-read.csv("/Users/ayu/Downloads/example5_1.csv",header = T)
# z.test()用于标准正太分布的单样本和双样本的置信区间和假设检验。
# y=NULL用于单样本,sigama.x=sd(数据),sigama.y=sd(数据)用于指定两个总体的标准差
# 如果总体标准差未知,使用样本标准差代替;
# conf.level用于指定置信水平,如果不给则默认是0.95
z.test(oil5$耗油量,y=NULL,sigma.x=sd(oil5$耗油量),conf.level=0.90)
# 只出区间信息
z.test(oil5$耗油量,y=NULL,sigma.x=sd(oil5$耗油量),conf.level=0.90)$conf.int
#上述代码输出结果
One-sample z-Test # 单一样本的z检验
data: oil5$耗油量 #计算的数据对象和对象中哪一个变量
z = 99.575, p-value < 2.2e-16 # Z值=99.575,p值小于2.2*10的负16次方(一般p值小于用户定的显著性水平,就拒绝原假设)
alternative hypothesis: true mean is not equal to 0 #
替代假设:真实均值不等于0
95 percent confidence interval: # 95%的置信区间是7.810673到8.124327
7.810673 8.124327
sample estimates: # 样本估计的均值是7.9675 ,取了均值置信区间值的平均数
mean of x
7.9675
2、小样本估计
在小样本情形下(n<30),对总体均值的估计都是建立在总体服从正态分布的假设前提下。
-
如果正态总体的方差已知,样本经过标准化后仍然服从标准正态分布此时可以使用下图进行估计总体均值的置信区间:
-
如果正态总体方差未知,样本均值经过标准化后服从自由度为n-1的t分布,即:
这时候,需要使用t分布构建总体均值的置信区间,在(1-α)置信水平下,总体均值的置信区间为:
【例】
计算某个随机25个样本的重量,假设25个重量是服从正态分布,那么这一批样本的平均重量在置信水平在95%下的置信区间是?
s1<-read.csv("/Users/ayu/Downloads/example5_2.csv",header = TRUE)
t.test(s1,conf.level = 0.95)
#只输出区间信息
t.test(s1)$conf.int
两个总体均值之差的估计
设有两个总体均值μ1、μ2。从两个总体中分别抽取样本量为n1、n2的两个随机样本。均值为x1拔、x2拔。
估计两个总体均值之差的点估计量显然是两个样本的均值之差,也就是(μ1-μ2)=(x1拔-x2拔)
估计原理与一个总体均值的区间估计类似。两个总体均值之差在(1-α)的置信水平下的置信区间可以表示为:
1、独立大样本的估计
如果两个样本是从两个总体中独立抽取的,即一个样本中的元素与另一个样本中的元素相互独立,这就是独立样本。
如果两个样本都为大样本,那么两个样本均值之差近似服从期望值为(μ1-μ2)、方差为(σ1^ 2/n1+σ2^ 2/n2)的正态分布,两个样本均值之差经过标准化后侧服从标准正态分布:
-
当两个总体方差已知时,两个总体均值之差的在置信水平(1-α)下的置信区间是:
-
当两个总体方差未知时,可用两个样本方差来代替,这时候两个总体均值之差在置信水平(1-α)下的置信区间是:
【例】
研究男女的工资差异,选取男女工资各40人的随机工资样本,建立男女平均工资之差的95%置信区间。
library(BSDA)
# mu表示原假设所指定的平均值或平均值差值的单个数字
z.test(s2$男性工资,s2$女性工资,mu=0,sigma.x =sd(s2$男性工资) ,sigma.y = sd(s2$女性工资))$conf.int
2、独立小样本的估计
当两个样本都是独立小样本时,估计两个总体均值之差需要假设两个总体都服从正态分布。
- 当两个总体方差已知时,两个样本均值之差经过标准化后服从标准正态分布,此时可以按照下图建立两个总体均值之差的置信区间:
-
当两个总体方差未知时有以下两个场景:
1)两个总体方差未知但相等时,需要用两个样本的方差来估计总体方差,此时需要把两个样本合并到一起,用以得到总体方差西格玛方的估计量,估计量为下述公式:
这时候,两个样本均值之差经过标准化后服从自由度为(n1-n2-2)的t分布,也就是下图的样子:
2)当两个总体的方差未知且不相等时,两个样本均值之差经过标准化后浸塑服从自由度为v的t分布,自由度为v的计算公式为:
两个总体均值之差在在置信水平(1-α)下的置信区间是:
【例】
如果有两组方法进行组装产品,分别记录同样的12个工人分别组装,得到两个方法各12个组装时间。假定组装时间都是服从正态分布的,计算:
1)如果两个总体方差相等,方法的样本均值差,在95%的置信区间是多少?
2)如果两个总体方差不等,方法的样本均值差,在90%的置信区间是多少?
ts<-read_csv("/Users/ayu/Downloads/example5_4.csv")
# 假设方差是相等的,平均时间差的95%置信区间
t.test(x=ts$方法一,y=ts$方法二,var.equal = TRUE)$conf.int
# 假设方差是不等的,平均时间差的95%置信区间
t.test(x=ts$方法一,y=ts$方法二,var.equal = FALSE,conf.level=0.90)$conf.int
3、配对样本的估计
用两个独立样本估计两个总体均值之差时有独立的弊端,比如偶尔会将某些不不好的参数抽样到一起,这时候,两个样本的对比会显得不公平。配对样本估计就是解决这类问题:也就是一个样本中的数据与两一个样本中的数据相对应,这样的数据通常是对同一个体所做的前后两次的测量。比如,前指定某10个人用第一种工具组装产品,再让这10个人用第二种工具组装产品,得到两种工具组装产品的总工时数据,这就是配对数据。
使用配对样本进行估计时,在大样本条件下,两个总体均值之差μd=μ1-μ2,在(1-α)置信水平下的置信区间为:
其中,d表示两个配对数据的差值,d拔表示个差值的均值,σd表示各个差值的标准差,当总体σd未知时,可用样本差值sˇd来替代。
在小样本情形下,假定两个总体各观察值的配对差服从正态分布,两个总体均值之差μd=μ1-μ2,在(1-α)置信水平下的置信区间为:
# paired逻辑指示,表示是否需要配对t检验
library(readr)
e5<-read.csv("文件路径地址",header = TRUE)
t.test(e5$试卷A,e5$试卷B,paired = TRUE)$conf.int
总体比例的区间估计
一个总体比例的估计
1. 大样本的估计方法
#计算一个总体比例的置信区间(大样本)
#赞成比例的95%的置信区间
n<-500
x<-325
p<-x/n
q<-qnorm(0.975)
LCI<-p-q*sqrt(p*(1-p)/n)
UCI<-p-q*sqrt(p*(1-p)/n)
data.frame(LCI,UCI)
#使用Hmisc包得到三种不同方法的区间
install.packages("Hmisc")
library(Hmisc)
n<-500
x<-325
binconf(x,n,alpha=0.05,method="all")
2. 任意大小样本的估计方法
#计算一个总体比例的置信区间(任意大小样本)
#赞成比例的95%的置信区间
n1<-500+4
p1<-(325+2)/n1
q<-qnorm(0.975)
LCI<-p1-1*sqrt(p1*(1-p1)/n1)
UCI<-p1+1*sqrt(p1*(1-p1)/n1)
data.frame(LCI,UCI)
两个总体比例之差的估计
两个总体之差的估计需要考虑样本来那个的大虾,如果两个样本量都非常大,可以采用传统的估计方法,如果两个样本量是中等大小或者比较小,,需要对样本量和实验成功次数做出修正以改进估计的区间。
1. 两个大样本的估计方法
两个总体比例之差的区间估计原理与一个总体比例的区间估计相同。
#随机调查500个女性收看节目有225人
#随机抽查了400个男性,收看节目有128人
#用95%置信水平估计女性与男性收视率差值的置信区间。
p1<- 225/500;p2<-128/400
q<-qnorm(0.975)
LCI<-p1-p2-q*sqrt(p1*(1-p1)/500+p2*(1-p2)/400)
UCI<-p1-p2+q*sqrt(p1*(1-p1)/500+p2*(1-p2)/400)
data.frame(LCI,UCI)
2. 两个任意大小样本的估计方法
#随机调查500个女性收看节目有225人
#随机抽查了400个男性,收看节目有128人
#用95%置信水平估计女性与男性收视率差值的置信区间。
n1<-500+2;n2<-400+2
p1<- (225+1)/n1;p2<-(128+1)/n2
q<-qnorm(0.975)
LCI<-p1-p2-q*sqrt(p1*(1-p1)/n1+p2*(1-p2)/n2)
UCI<-p1-p2+q*sqrt(p1*(1-p1)/n1+p2*(1-p2)/n2)
data.frame(LCI,UCI)
总体方差的区间估计
一个总体方差的估计
估计中体方差是,首先假定总体服从正态分布,其原理与总体均值和总体比例的区间估计不同,不再是点估计量±估计误差。因为样本方差的抽样分布服从自由度为(n-1)的x^2 分布构造总体方差的置信区间,由于x^2不是对称分布,无法由点估计值±估计误差的大总体方差的置信区间。
install.packages("TeachingDemos")
library(readr,Hmisc,TeachingDemos)
e52<-read.csv("/Users/ayu/Downloads/example5_2.csv",header = TRUE)
sigma.test(e52$食品重量,conf.level=0.95)$conf.int
两个总体方差的估计
比较两个总体方差的问题,一般由于两个样本店额方差服从了F(n1-1,n2-1)分布,因此可以用F分布来构造两个总体方差比的置信区间。
#两种方法组装产品得到时间的两个样本,使用时间方差比的置信区间进行估计
library(readr)
e54<-read.csv("/Users/ayu/Downloads/example5_4.csv",header = TRUE)
var.test(e54$方法一,e54$方法二,alternative = "two.sided" )$conf.int