区间估计与R实现
1 一个总体参数的区间估计
研究一个总体时,主要关心参数总体均值 μ \mu μ,总体比例 π \pi π和总体方差 σ \sigma σ。
1.1 总体均值的区间估计
需要考虑总体是否服从正态分布、总体方差是否已知或样本大小。
1.1.1 正态总体、方差已知/非正态总体、大样本
若总体服从正态分布、且方差已知,或者总体不是正态分布,但样本较大时,样本均值
x
ˉ
\bar{x}
xˉ的抽样分布服从总体期望均值
μ
\mu
μ,方差为
σ
2
/
n
\sigma^2/n
σ2/n。即
μ
∼
N
(
μ
,
σ
2
/
n
)
\mu\sim N(\mu,\sigma^2/n)
μ∼N(μ,σ2/n).标准化得到
z
=
x
ˉ
−
μ
σ
/
n
∼
N
(
0
,
1
)
z=\dfrac{\bar{x}-\mu}{\sigma/\sqrt{n}}\sim N(0,1)
z=σ/nxˉ−μ∼N(0,1)
给定显著性水平(风险值)
α
\alpha
α得到总体均值
μ
\mu
μ置信区间为
(
x
ˉ
−
z
α
/
2
σ
n
,
x
ˉ
+
z
α
/
2
σ
n
)
(\bar{x}-z_{\alpha/2}\dfrac{\sigma}{\sqrt{n}},\bar{x}+z_{\alpha/2}\dfrac{\sigma}{\sqrt{n}})
(xˉ−zα/2nσ,xˉ+zα/2nσ)
其中
x
ˉ
\bar{x}
xˉ为总体均值
μ
\mu
μ的点估计,
z
α
/
2
σ
n
z_{\alpha/2}\dfrac{\sigma}{\sqrt{n}}
zα/2nσ为估计误差。若样本服从正态分布,但总体方差未知,在样本较大条件下,可以用样本方差
s
2
s^2
s2代替总体方差
σ
2
\sigma^2
σ2,总体均值的置信区间为在
α
\alpha
α显著性水平下为
(
x
ˉ
−
z
α
/
2
s
n
,
x
ˉ
+
z
α
/
2
s
n
)
(\bar{x}-z_{\alpha/2}\dfrac{s}{\sqrt{n}},\bar{x}+z_{\alpha/2}\dfrac{s}{\sqrt{n}})
(xˉ−zα/2ns,xˉ+zα/2ns)
# 一个总体均值区间估计
library(BSDA)
# ===================总体(正态)====================
X <- rnorm(10000,mean=1,sd=2)
# 样本
set.seed(1)
x <- sample(X,100,replace = FALSE )
# 方差已知
z.test(x, y = NULL, alternative = "two.sided",
mu = 1, sigma.x = 2, sigma.y = NULL,
conf.level = 0.95)$conf.int
# [1] 0.8522777 1.6362633
# 方差未知
s = sd(x) # 样本方差
z.test(x, y = NULL, alternative = "two.sided",
mu = 1, sigma.x = s, sigma.y = NULL,
conf.level = 0.95)$conf.int
# [1] 0.873636 1.614905
# =============总体(卡方分布)==============
# 总体
X <- rchisq(10000, 100)
# 样本
set.seed(1)
x <- sample(X,1000,replace = FALSE )
s = sd(x)
z.test(x, y = NULL, alternative = "two.sided",
mu = 100, sigma.x = s, sigma.y = NULL,
conf.level = 0.95)
# [1] 99.23246 100.98213
1.1.2 正态总体,方差未知,小样本
总体服从正态分布,但总体方差未知,且为小样本时,使用样本方差
s
2
s^2
s2代替总体方差
σ
2
\sigma^2
σ2,样本均值
x
ˉ
\bar{x}
xˉ抽样分布标准化后服从
t
t
t分布,即
t
=
x
ˉ
−
μ
s
/
n
∼
t
(
n
−
1
)
t=\dfrac{\bar{x}-\mu}{s/\sqrt{n}}\sim t(n-1)
t=s/nxˉ−μ∼t(n−1)
给定显著性水平得到总体均值
μ
\mu
μ置信区间为
(
x
ˉ
−
t
α
/
2
s
n
,
x
ˉ
+
t
α
/
2
s
n
)
(\bar{x}-t_{\alpha/2}\dfrac{s}{\sqrt{n}},\bar{x}+t_{\alpha/2}\dfrac{s}{\sqrt{n}})
(xˉ−tα/2ns,xˉ+tα/2ns)
# 正态、总体方差未知、小样本
X <- rnorm(10000,mean=1,sd=2)
set.seed(1)
x <- sample(X,10,replace = FALSE )
t.test(x,mu=1,alternative = "two.sided",conf.level = 0.95)$conf.int
# 0.8200316 2.8646923
1.2 总体比例区间估计
假设总体包含事件
A
A
A的比例为
π
\pi
π,在大样本条件下,样本包含事件
A
A
A的比例为
p
p
p,则
p
p
p的抽样分布近似于正态分布。其中
p
p
p的期望为
E
p
=
π
Ep=\pi
Ep=π,
D
(
p
)
=
π
(
1
−
π
)
/
n
D(p)=\pi(1-\pi)/n
D(p)=π(1−π)/n,对
p
p
p进行标准化得
z
=
p
−
π
π
(
1
−
π
)
/
n
∼
N
(
0
,
1
)
z=\dfrac{p-\pi}{\sqrt{\pi(1-\pi)/n}}\sim N(0,1)
z=π(1−π)/np−π∼N(0,1)
给定显著性水平置信区间为
(
p
−
z
α
/
2
p
(
1
−
p
)
n
,
p
+
z
α
/
2
p
(
1
−
p
)
n
)
(p-z_{\alpha/2}\sqrt{\dfrac{p(1-p)}{n}},p+z_{\alpha/2}\sqrt{\dfrac{p(1-p)}{n}})
(p−zα/2np(1−p),p+zα/2np(1−p))
# 单个总体比例检验
#100个样本,65个包含在事件A中
prop.test(x=65, n=100, p = NULL, alternative = "two.sided",
correct = TRUE,conf.level = 0.95)
# 手动计算
q <- qnorm(0.05/2,mean=0,sd=1)
p <- 0.65
c(p+q*sqrt(p*(1-p)/100),p-q*sqrt(p*(1-p)/100))
# 使用二项分布的假设检验
binom.test(65, 100, p=0.6, alternative = "two.sided",conf.level = 0.95)
1.3 总体方差区间估计
当总体服从正态分布时,样本方差
s
2
s^2
s2的抽样分布服从卡方
χ
2
\chi^2
χ2分布分布
χ
2
=
(
n
−
1
)
s
2
σ
2
∼
χ
2
(
n
−
1
)
\chi^2=\dfrac{(n-1)s^2}{\sigma^2}\sim \chi^2(n-1)
χ2=σ2(n−1)s2∼χ2(n−1)
给定显著性水平置信区间为
(
n
−
1
)
s
2
χ
α
/
2
2
≤
σ
2
≤
(
n
−
1
)
s
2
χ
1
−
α
/
2
2
\dfrac{(n-1)s^2}{\chi^2_{\alpha/2}}\le\sigma^2\le\dfrac{(n-1)s^2}{\chi^2_{1-\alpha/2}}
χα/22(n−1)s2≤σ2≤χ1−α/22(n−1)s2
#方差区间估计
one.var.test <- function(x,alpha=0.05){
n <- length(x)
s <- var(x)
df <- n-1
ql <- qchisq(alpha/2,df)
qu <- qchisq(1-alpha/2,df)
confint <- c(df*s/qu,df*s/ql)
return(confint)
}
set.seed(1)
X <- rnorm(10000,mean=1,sd=2)
x <- sample(X,100,replace = FALSE )
one.var.test(x,0.05)
# 3.106053 5.437291
2 两个总体参数区间估计
两个总体的参数主要包括两个总体均值差 μ 1 − μ 2 \mu_1-\mu_2 μ1−μ2、两个总体的比例之差 π 1 − π 2 \pi_1-\pi_2 π1−π2,两个总体的方差 σ 1 2 / σ 2 2 \sigma^2_1/\sigma^2_2 σ12/σ22。
2.1 两个总体均值之差区间估计
假设两个总体的均值分别为 μ 1 \mu_1 μ1和 μ 2 \mu_2 μ2,从两个总体中抽取样本量分别为 n 1 n_1 n1, n 2 n_2 n2的随机样本,样本均值分别为 x ˉ 1 \bar{x}_1 xˉ1和 x ˉ 2 \bar{x}_2 xˉ2。
2.1.1 独立样本情形
(1) 假设两个样本是从两个独立总体随机抽取的,两个总体方差已知且为大样本,则两个样本均值之差
x
ˉ
1
−
x
ˉ
2
\bar{x}_1-\bar{x}_2
xˉ1−xˉ2期望为
μ
1
−
μ
2
\mu_1-\mu_2
μ1−μ2,方差为
σ
1
2
/
n
1
+
σ
2
2
/
n
2
\sigma^2_1/n_1+\sigma^2_2/n_2
σ12/n1+σ22/n2,将
x
ˉ
1
−
x
ˉ
2
\bar{x}_1-\bar{x}_2
xˉ1−xˉ2标准化后服从标准正态分布
z
=
(
x
ˉ
1
−
x
ˉ
2
)
−
(
μ
1
−
μ
2
)
σ
1
2
n
1
+
σ
2
2
n
2
∼
N
(
0
,
1
)
z=\dfrac{(\bar{x}_1-\bar{x}_2)-(\mu_1-\mu_2)}{\sqrt{\dfrac{\sigma^2_1}{n_1}+\dfrac{\sigma^2_2}{n_2}}}\sim N(0,1)
z=n1σ12+n2σ22(xˉ1−xˉ2)−(μ1−μ2)∼N(0,1)
😀若
σ
1
2
\sigma_1^2
σ12和
σ
2
2
\sigma_2^2
σ22已知,给定显著性水平置信区间为
[
(
x
ˉ
1
−
x
ˉ
2
)
−
z
α
/
2
σ
1
2
n
1
+
σ
2
2
n
2
,
(
x
ˉ
1
−
x
ˉ
2
)
+
z
α
/
2
σ
1
2
n
1
+
σ
2
2
n
2
]
[(\bar{x}_1-\bar{x}_2)-z_{\alpha/2}\sqrt{\dfrac{\sigma^2_1}{n_1}+\dfrac{\sigma^2_2}{n_2}},(\bar{x}_1-\bar{x}_2)+z_{\alpha/2}\sqrt{\dfrac{\sigma^2_1}{n_1}+\dfrac{\sigma^2_2}{n_2}}]
[(xˉ1−xˉ2)−zα/2n1σ12+n2σ22,(xˉ1−xˉ2)+zα/2n1σ12+n2σ22]
😁若
σ
1
2
\sigma_1^2
σ12和
σ
2
2
\sigma_2^2
σ22未知,使用样本方差代替总体方差,置信区间为
[
(
x
ˉ
1
−
x
ˉ
2
)
−
z
α
/
2
s
1
2
n
1
+
s
2
2
n
2
,
(
x
ˉ
1
−
x
ˉ
2
)
+
z
α
/
2
s
1
2
n
1
+
s
2
2
n
2
]
[(\bar{x}_1-\bar{x}_2)-z_{\alpha/2}\sqrt{\dfrac{s^2_1}{n_1}+\dfrac{s^2_2}{n_2}},(\bar{x}_1-\bar{x}_2)+z_{\alpha/2}\sqrt{\dfrac{s^2_1}{n_1}+\dfrac{s^2_2}{n_2}}]
[(xˉ1−xˉ2)−zα/2n1s12+n2s22,(xˉ1−xˉ2)+zα/2n1s12+n2s22]
#正态分布,方差已知、方差未知且大样本
X1 <- rnorm(10000,10,3)
X2 <- rnorm(10000,8,5)
set.seed(1)
x1 <- sample(X1,100,replace = FALSE )
x2 <- sample(X2,200,replace = FALSE )
# 方差已知
z.test(x1,sigma.x=3,x2,sigma.y=5,mu=2)
# 方差未知
z.test(x1,sigma.x=sd(x1),x2,sigma.y=sd(x2),mu=2)
😋若两总体服从正态分布,样本较小,但两总体方差相等
σ
1
2
=
σ
2
2
=
σ
2
\sigma_1^2=\sigma_2^2=\sigma^2
σ12=σ22=σ2。将两个样本合并在一起估计总体方差
σ
2
\sigma^2
σ2。对应的估计量为
s
p
2
=
(
n
1
−
1
)
s
1
2
+
(
n
2
−
1
)
s
2
2
n
1
+
n
2
−
2
s_{p}^2=\dfrac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_2-2}
sp2=n1+n2−2(n1−1)s12+(n2−1)s22
类似于将两个样本的方差加权合并为一个方差。将
x
ˉ
1
−
x
ˉ
2
\bar{x}_1-\bar{x}_2
xˉ1−xˉ2标准化得到
z
=
(
x
ˉ
1
−
x
ˉ
2
)
−
(
μ
1
−
μ
2
)
s
p
2
n
1
+
s
p
2
n
2
=
(
x
ˉ
1
−
x
ˉ
2
)
−
(
μ
1
−
μ
2
)
s
p
1
n
1
+
1
n
2
∼
t
α
/
2
(
n
1
+
n
2
−
2
)
z=\dfrac{(\bar{x}_1-\bar{x}_2)-(\mu_1-\mu_2)}{\sqrt{\dfrac{s_p^2}{n_1}+\dfrac{s_p^2}{n_2}}}= \dfrac{(\bar{x}_1-\bar{x}_2)-(\mu_1-\mu_2)}{s_p\sqrt{\dfrac{1}{n_1}+\dfrac{1}{n_2}}}\sim t_{\alpha/2}(n_1+n_2-2)
z=n1sp2+n2sp2(xˉ1−xˉ2)−(μ1−μ2)=spn11+n21(xˉ1−xˉ2)−(μ1−μ2)∼tα/2(n1+n2−2)
对应的置信区间为
[
(
x
ˉ
1
−
x
ˉ
2
)
−
t
α
/
2
(
n
1
+
n
2
−
2
)
s
p
2
n
1
+
s
p
2
n
2
,
(
x
ˉ
1
−
x
ˉ
2
)
+
t
α
/
2
(
n
1
+
n
2
−
2
)
s
p
2
n
1
+
s
p
2
n
2
]
[(\bar{x}_1-\bar{x}_2)-t_{\alpha/2}(n_1+n_2-2)\sqrt{\dfrac{s^2_p}{n_1}+\dfrac{s^2_p}{n_2}},(\bar{x}_1-\bar{x}_2)+t_{\alpha/2}(n_1+n_2-2)\sqrt{\dfrac{s^2_p}{n_1}+\dfrac{s^2_p}{n_2}}]
[(xˉ1−xˉ2)−tα/2(n1+n2−2)n1sp2+n2sp2,(xˉ1−xˉ2)+tα/2(n1+n2−2)n1sp2+n2sp2]
# 方差未知且相等
X1 <- rnorm(10000,10,2)
X2 <- rnorm(10000,8,2)
set.seed(1)
x1 <- sample(X1,100,replace = FALSE )
x2 <- sample(X2,200,replace = FALSE )
t.test(x1, x2,alternative = "two.sided",
mu = 2, paired = FALSE, var.equal =TRUE,
conf.level = 0.95)
😋若两总体服从正态分布,样本较小,但两总体方差不等且未知。将
x
ˉ
1
−
x
ˉ
2
\bar{x}_1-\bar{x}_2
xˉ1−xˉ2标准化,总体均值之差置信区间为
[
(
x
ˉ
1
−
x
ˉ
2
)
−
t
α
/
2
(
v
)
s
1
2
n
1
+
s
2
2
n
2
,
(
x
ˉ
1
−
x
ˉ
2
)
+
t
α
/
2
(
v
)
s
1
2
n
1
+
s
2
2
n
2
]
[(\bar{x}_1-\bar{x}_2)-t_{\alpha/2}(v)\sqrt{\dfrac{s^2_1}{n_1}+\dfrac{s^2_2}{n_2}},(\bar{x}_1-\bar{x}_2)+t_{\alpha/2}(v )\sqrt{\dfrac{s^2_1}{n_1}+\dfrac{s^2_2}{n_2}}]
[(xˉ1−xˉ2)−tα/2(v)n1s12+n2s22,(xˉ1−xˉ2)+tα/2(v)n1s12+n2s22]
其中自由度
v
=
(
s
1
2
n
1
+
s
2
2
n
2
)
2
(
s
1
2
/
n
1
)
2
n
1
−
1
+
(
s
2
2
/
n
2
)
2
n
2
−
1
v = \dfrac{(\dfrac{s_1^2}{n_1}+\dfrac{s_2^2}{n_2})^2}{\dfrac{(s_1^2/n_1)^2}{n_1-1}+\dfrac{(s_2^2/n_2)^2}{n_2-1}}
v=n1−1(s12/n1)2+n2−1(s22/n2)2(n1s12+n2s22)2
X1 <- rnorm(10000,10,3)
X2 <- rnorm(10000,8,2)
set.seed(1)
x1 <- sample(X1,100,replace = FALSE )
x2 <- sample(X2,200,replace = FALSE )
t.test(x1, x2,alternative = "two.sided",
mu = 2, paired = FALSE, var.equal =FALSE,
conf.level = 0.95)
2.1.2 配对样本情形
匹配样本可以消除指定不公平而造成的观测差异,进而检验两组总体真正的差异。
1)在大样本条件下,匹配样本均值之差
d
=
μ
1
−
μ
2
d=\mu_1-\mu_2
d=μ1−μ2。置信区间为
(
d
ˉ
−
z
α
/
2
σ
d
n
,
d
ˉ
+
z
α
/
2
σ
d
n
)
(\bar{d}-z_{\alpha/2}\dfrac{\sigma_d}{\sqrt{n}},\bar{d}+z_{\alpha/2}\dfrac{\sigma_d}{\sqrt{n}})
(dˉ−zα/2nσd,dˉ+zα/2nσd)
其中
d
ˉ
\bar{d}
dˉ表示匹配样本对应数据的差值的平均值,
σ
d
\sigma_d
σd表示各差值标准差。若
σ
d
\sigma_d
σd未知,可用样本
s
d
s_d
sd代替。
2)在小样本条件下,若两个总体配对差值服从正态分布,则对应置信区间为
(
d
ˉ
−
t
α
/
2
(
n
−
1
)
s
d
n
,
d
ˉ
+
t
α
/
2
(
n
−
1
)
s
d
n
)
(\bar{d}-t_{\alpha/2}(n-1)\dfrac{s_d}{\sqrt{n}},\bar{d}+t_{\alpha/2}(n-1)\dfrac{s_d}{\sqrt{n}})
(dˉ−tα/2(n−1)nsd,dˉ+tα/2(n−1)nsd)
# ----------配对样本-------------
# 方便演示,这里使用的独立样本
X1 <- rnorm(100,10,3)
X2 <- rnorm(100,8,2)
t.test(X1, X2,alternative = "two.sided",
mu = 2, paired = TRUE,conf.level = 0.95)
2.2 两总体比例之差区间估计
两个总体包含事件
A
A
A的比例分别为
π
1
\pi_1
π1和
π
2
\pi_2
π2,对应的样本比例为
p
1
p_1
p1和
p
2
p_2
p2,则
p
1
−
p
2
p_1-p_2
p1−p2期望为
π
1
−
π
2
\pi_1-\pi_2
π1−π2,对应的方差为
π
1
(
1
−
π
1
)
/
n
1
+
π
2
(
1
−
π
2
)
/
n
2
\pi_1(1-\pi_1)/n_1+\pi_2(1-\pi_2)/n_2
π1(1−π1)/n1+π2(1−π2)/n2,将
p
1
−
p
2
p_1-p_2
p1−p2标准化服从标准正态分布
Z
=
(
p
1
−
p
2
)
−
(
π
1
−
π
2
)
π
1
(
1
−
π
1
)
/
n
1
+
π
2
(
1
−
π
2
)
/
n
2
∼
N
(
0
,
1
)
Z=\dfrac{(p_1-p_2)-(\pi_1-\pi_2)}{\sqrt{\pi_1(1-\pi_1)/n_1+\pi_2(1-\pi_2)/n_2}}\sim N(0,1)
Z=π1(1−π1)/n1+π2(1−π2)/n2(p1−p2)−(π1−π2)∼N(0,1)
对应的置信区间为
(
(
p
1
−
p
2
)
−
z
α
/
2
p
1
(
1
−
p
1
)
/
n
1
+
p
2
(
1
−
p
2
)
/
n
2
,
(
p
1
−
p
2
)
+
z
α
/
2
p
1
(
1
−
p
1
)
/
n
1
+
p
2
(
1
−
p
2
)
/
n
2
)
((p_1-p_2)-z_{\alpha/2}\sqrt{p_1(1-p_1)/n_1+p_2(1-p_2)/n_2},(p_1-p_2)+z_{\alpha/2}\sqrt{p_1(1-p_1)/n_1+p_2(1-p_2)/n_2})
((p1−p2)−zα/2p1(1−p1)/n1+p2(1−p2)/n2,(p1−p2)+zα/2p1(1−p1)/n1+p2(1−p2)/n2)
# 手动计算
p1=0.45
p2=0.32
n2 = 400
n1 = 500
alpha=0.05
q = abs(qnorm(0.05/2))
(p1-p2)-q*sqrt((p1*(1-p1)/n1+p2*(1-p2)/n2))
(p1-p2)+q*sqrt((p1*(1-p1)/n1+p2*(1-p2)/n2))
2.3 两个总体方差比区间估计
两个样本方差比的抽样分布服从
F
(
n
1
−
1
,
n
2
−
1
)
F(n_1-1,n_2-1)
F(n1−1,n2−1)。由于
s
1
2
s
2
2
σ
2
2
σ
1
2
∼
F
(
n
1
−
1
,
n
2
−
1
)
\dfrac{s_1^2}{s_2^2}\dfrac{\sigma^2_2}{\sigma^2_1}\sim F(n_1-1,n_2-1)
s22s12σ12σ22∼F(n1−1,n2−1)
给定
α
\alpha
α显著性水平,得到
F
1
−
α
/
2
≤
s
1
2
s
2
2
σ
2
2
σ
1
2
≤
F
α
/
2
F_{1-\alpha/2}\le\dfrac{s_1^2}{s_2^2}\dfrac{\sigma^2_2}{\sigma^2_1}\le F_{\alpha/2}
F1−α/2≤s22s12σ12σ22≤Fα/2
解得
s
1
2
/
s
2
2
F
α
/
2
≤
σ
1
2
σ
2
2
≤
s
1
2
/
s
2
2
F
1
−
α
/
2
\dfrac{s_1^2/s^2_2}{F_{\alpha/2}}\le \dfrac{\sigma_1^2}{\sigma_2^2}\le \dfrac{s_1^2/s^2_2}{F_{1-\alpha/2}}
Fα/2s12/s22≤σ22σ12≤F1−α/2s12/s22
其中
F
1
−
α
/
2
(
n
1
,
n
2
)
=
1
/
F
α
(
n
2
,
n
1
)
F_{1-\alpha/2}(n_1,n_2)=1/F_{\alpha}(n_2,n_1)
F1−α/2(n1,n2)=1/Fα(n2,n1)。
#-------------两个方差之比---------------
X1 <- rnorm(100,10,3)
X2 <- rnorm(100,8,3)
var.test(X1, X2,alternative = "two.sided",conf.level = 0.95)