1 基于二项分布的检验
1.1 主要理论
二项分布描述了n重Bernoulli试验种恰有k次成功的概率,记为\(B(n,p)\),基于二项分布的检验主要是对\(p\)进行检验: \[ H_0:\ p=p_0\qquad v.s. \qquad H_1:\ ? \] 涉及到具体的实际问题主要有:
分位数检验:\(X\)的\(p_0\)分位数是\(x_0\),数据中没有严格等于\(x_0\)的数
符号检验:\(p_0=0.5\)的二项检验。可用于中位数检验,两样本中成对数据的比较以及位置参数的检验
涉及到的主要R语言函数:binom.test
。
formals(binom.test)
#> $x
#>
#>
#> $n
#>
#>
#> $p
#> [1] 0.5
#>
#> $alternative
#> c("two.sided", "less", "greater")
#>
#> $conf.level
#> [1] 0.95
1.2 习题3
3.1
已知某中昆虫的20%显示出特性A,在非正常的环境下得到18条昆虫,其中没有一条具有特性A。那么假设在这种环境下,此种昆虫和通常环境一样有0.2的概率显示特性A,这合理吗?取显著性水平\(\alpha=0.05\),用双边检验。
解:
基于二项分布的检验问题: \[ p=0.2\qquad v.s.\qquad p\ne0.2 \]
利用R:
binom.test(x = 0,n = 18,p = 0.2,alternative = "two.sided")
#>
#> Exact binomial test
#>
#> data: 0 and 18
#> number of successes = 0, number of trials = 18, p-value = 0.03
#> alternative hypothesis: true probability of success is not equal to 0.2
#> 95 percent confidence interval:
#> 0.000 0.185
#> sample estimates:
#> probability of success
#> 0
p值小于0.05,故应当拒绝原假设,即假设在这种环境下,此种昆虫和通常环境一样有0.2的概率显示特性A,这不合理。
3.2
在一次安全月活动中,所检验的16辆车中有6辆是不安全的。试在显著性水平\(\alpha=0.05\)下,检验原假设:这些车中有不多于10%的车是安全的。
解:
设\(p\)是车辆不安全的概率,有基于二项分布的检验问题: \[ p\le0.1 \qquad v.s. \qquad p>0.1 \]
利用R:
binom.test(x = 6,n = 16,p = 0.1,alternative = "greater")
#>
#> Exact binomial test
#>
#> data: 6 and 16
#> number of successes = 6, number of trials = 16, p-value = 0.003
#> alternative hypothesis: true probability of success is greater than 0.1
#> 95 percent confidence interval:
#> 0.178 1.000
#> sample estimates:
#> probability of success
#> 0.375
\(p\)值小于0.05,应当拒绝原假设。
3.3
某一居民小区向市政府报告说,至少有60%的居民认同小区改造建设。市政府随后就随机调查了100个居民,其中48人同意这种小区改造建设。问在显著性水平\(\alpha=0.05\)下,检验这个居民小区的报告是否合理。
解:
同意小区改造假设的居民人数服从二项分布,\(p\)为同意的概率。检验问题: \[ p \ge 0.6 \qquad v.s. \qquad p<0.6 \] 利用R:
binom.test(x = 48,n = 100,p = 0.6,alternative = "less")
#>
#> Exact binomial test
#>
#> data: 48 and 100
#> number of successes = 48, number of trials = 100, p-value = 0.01
#> alternative hypothesis: true probability of success is less than 0.6
#> 95 percent confidence interval:
#> 0.000 0.567
#> sample estimates:
#> probability of success
#> 0.48
\(p\)值小于0.05,故应当拒绝原假设,即认为这个居民小区的报告不合理。
3.4
据估计,目前做前列腺手术的男性中有一半正遭受某种副作用的影响。为了努力减轻这种副作用的可能性,FDA研究了一种新的手术方法。19例受手术者只有3人有这种不良副作用,由此得出这项新手术方法能有效减轻副作用,这个结论可靠吗?取显著性水平\(\alpha=0.05\)。
解:
有不良副作用的受手术者人数服从二项分布,\(p\)为有不良副作用的概率,为了保护原假设,检验问题: \[ p\ge0.5\qquad v.s. \qquad p<0.5 \] 利用R:
binom.test(x = 3,n = 19,p = 0.5,alternative = "less")
#>
#> Exact binomial test
#>
#> data: 3 and 19
#> number of successes = 3, number of trials = 19, p-value = 0.002
#> alternative hypothesis: true probability of success is less than 0.5
#> 95 percent confidence interval:
#> 0.000 0.359
#> sample estimates:
#> probability of success
#> 0.158
\(p\)值小于0.05,即可以认为结论可靠。
3.5
某学校初中三年级学生的体重的随机样本有如下20个数据(单位:kg):
71, 67, 49, 59.5, 65.5, 51.5, 77, 61, 46.5, 68.5,
43, 59.5, 80.5, 77, 79, 82.5, 40.5, 58.5, 64, 51.5.
试在显著性水平\(\alpha=0.05\)下,检验下面的假设:
(1)体重的中位数为51.5;
(2)95%分位数至少是75;
(3)30%分位数小于等于45。
解:
# 先载入数据
<- c(71, 67, 49, 59.5, 65.5, 51.5, 77, 61, 46.5, 68.5,
data 43, 59.5, 80.5, 77, 79, 82.5, 40.5, 58.5, 64, 51.5)
(1)利用符号检验
<- 51.5
x = sum(data<x) # 小于中位数个数
S1 = sum(data>x) # 大于中位数个数
S2 = sum(data==x) # 等于中位数个数
S0 binom.test(x = S2,n = S1+S2,p = 0.5,alternative = "two.side") # 去掉S0
#>
#> Exact binomial test
#>
#> data: S2 and S1 + S2
#> number of successes = 14, number of trials = 18, p-value = 0.03
#> alternative hypothesis: true probability of success is not equal to 0.5
#> 95 percent confidence interval:
#> 0.524 0.936
#> sample estimates:
#> probability of success
#> 0.778
\(p\)值小于\(0.05\),故应当拒绝假设(1).
(2)原假设等价于95%分位数大于等于75,也即若75是\(p_0\)分位数,则\(p_0\le0.95\)。故检验问题为分位数检验: \[ H_0:\ p_0\le0.95\qquad v.s. \qquad H_1:\ p_0>0.95 \]
<- 75
x = sum(data<x)
S1 = sum(data>x)
S2 = sum(data==x)
S0
S0#> [1] 0
由于没有数据严格等于75,可实用二项检验:
binom.test(x = S1,n = S1+S2,p = 0.95,alternative = "greater")
#>
#> Exact binomial test
#>
#> data: S1 and S1 + S2
#> number of successes = 15, number of trials = 20, p-value = 1
#> alternative hypothesis: true probability of success is greater than 0.95
#> 95 percent confidence interval:
#> 0.544 1.000
#> sample estimates:
#> probability of success
#> 0.75
\(p\)值很大,可以接受假设(2).
(3)类似于(2),可以得到分位数检验问题:
\[ H_0:\ p_0\ge0.3\qquad v.s. \qquad H_1:\ p_0<0.3 \]
<- 45
x = sum(data<x)
S1 = sum(data>x)
S2 = sum(data==x)
S0
S0#> [1] 0
由于没有数据严格等于45,可实用二项检验:
binom.test(x = S1,n = S1+S2,p = 0.3,alternative = "less")
#>
#> Exact binomial test
#>
#> data: S1 and S1 + S2
#> number of successes = 2, number of trials = 20, p-value = 0.04
#> alternative hypothesis: true probability of success is less than 0.3
#> 95 percent confidence interval:
#> 0.000 0.283
#> sample estimates:
#> probability of success
#> 0.1
\(p\)值小于\(0.05\),应当拒绝假设(3).
3.6
大学新生入学后需要参加一个特殊的高中学业考试,多年以来成绩的上四分位数是72.某高中有16名毕业生上了大学,他们参加了考试,得分如下:
70,92,73,60,81,63,92,68,
75,82,76,72,62,58,95,92
认为这16个学生是这所高中上大学的所有学生的一个随机样本。试在显著性水平\(\alpha=0.05\)下,检验上面所给出的分数是来自一个上四分位数为72的总体。
解:
分位数的检验问题。设\(X\)为总体,检验问题: \[ X的75\%分位数为72\quad v.s. \quad X的75\%分位数不是72 \]
因为数据中有严格等于72的数据,所以下面考虑手动计算。
# d为数据向量
# q为分位数值
# p为多少分位数
<- function(d, q, p, alternative = c("two.sided", "less",
quantile.test "greater")){
<- length(d)
len <- sum(d<=q) # 小于等于分位数值的个数
t1 <- sum(d<q) # 小于分位数值的个数
t2 <- pbinom(q = t1,size = len,prob = p)
l <- pbinom(q = t2,size = len,prob = p,lower.tail = TRUE)
r <- switch(alternative,
PVAL less = l,
greater = r,
two.sided = 2*min(l,r))
structure(list(p.value = PVAL, alternative = alternative))
}
<- c(70,92,73,60,81,63,92,68,
d 75,82,76,72,62,58,95,92
)quantile.test(d,72,0.75,"two.sided")
#> $p.value
#> [1] 0.00329
#>
#> $alternative
#> [1] "two.sided"
由于\(p\)值小于0.05,故应当拒绝原假设。
3.7
在某保险种类中,2011年的索赔数额(单位:万元)的随机样本为
23.12, 23.64, 25.26, 27.42, 34.86, 37.98, 47.40,
52.37, 58.42, 63.71, 73.80, 75.06, 93.60, 98.25
已知2010年的索赔数额的中位数为48.32万元,试在显著性水平\(\alpha=0.05\)下,检验2011年的索赔数额的中位数是否比上一年有所变化。
解:
中位数的双边检验问题,利用符号检验。
# 载入数据
<- c(23.12, 23.64, 25.26, 27.42, 34.86, 37.98, 47.40,
d 52.37, 58.42, 63.71, 73.80, 75.06, 93.60, 98.25)
<- 48.32
x = sum(d<x)
S1 = sum(d>x)
S2 = sum(d==x)
S0 binom.test(x = S1,n = S1+S2,p = 0.5,alternative = "two.sided")
#>
#> Exact binomial test
#>
#> data: S1 and S1 + S2
#> number of successes = 7, number of trials = 14, p-value = 1
#> alternative hypothesis: true probability of success is not equal to 0.5
#> 95 percent confidence interval:
#> 0.23 0.77
#> sample estimates:
#> probability of success
#> 0.5
\(p\)值巨大,可以认为原假设成立,即2011年的索赔数额的中位数比上一年没有显著变化。
3.8
一个工人加工某零件的尺寸标准应该是10mm,顺序度量了20个加工后的零件之后,得到如下尺寸:
9.9,8.8,11.3,10.3,10.0,10.5,11.6,9.4,11.9,9.4,
9.5,11.7,12.2,9.6,12.8,9.8,10.7,10.9,11.3,10.7
试在显著性水平\(\alpha=0.05\)下,检验零件尺寸的中位数是否有大于10mm的可能?
解:
中位数检验问题: \[ M>10\qquad v.s. \qquad M\le 10 \]
# 载入数据
<- c(29.9,8.8,11.3,10.3,10.0,10.5,11.6,9.4,11.9,9.4,
d 9.5,11.7,12.2,9.6,12.8,9.8,10.7,10.9,11.3,10.7)
<- 10
x = sum(d<x)
S1 = sum(d>x)
S2 = sum(d==x)
S0 binom.test(x = S1,n = S1+S2,p = 0.5,alternative = "less")
#>
#> Exact binomial test
#>
#> data: S1 and S1 + S2
#> number of successes = 6, number of trials = 19, p-value = 0.08
#> alternative hypothesis: true probability of success is less than 0.5
#> 95 percent confidence interval:
#> 0.00 0.53
#> sample estimates:
#> probability of success
#> 0.316
\(p\)值大于0.05,应当接受原假设,即认为零件尺寸的中位数有大于10mm的可能。
3.9
关顾某食品店的22名顾客品尝甲和乙两种点心并选出喜欢的品种。7名顾客喜欢甲品种,12顾客喜欢乙品种,3名顾客没有特别偏好。问在显著性水平\(\alpha=0.05\)下,这能否说明顾客有明显偏好?
解:
成对数据的比较,利用两样本的符号检验:
\[ 顾客没有明显偏好\qquad v.s. \qquad 顾客没有明显偏好 \]
= 7 # 喜欢甲品种
S1 = 12 # 喜欢乙品种
S2 = 3 # 结点,不考虑
S0 binom.test(x = S1,n = S1+S2,p = 0.5,alternative = "two.sided")
#>
#> Exact binomial test
#>
#> data: S1 and S1 + S2
#> number of successes = 7, number of trials = 19, p-value = 0.4
#> alternative hypothesis: true probability of success is not equal to 0.5
#> 95 percent confidence interval:
#> 0.163 0.616
#> sample estimates:
#> probability of success
#> 0.368
\(p\)值大于0.05,故应当接受原假设,即认为顾客有明显偏好。
3.10
某6位学生打算通过节食减肥,节食前后的体重(单位:kg)有如下结果:
节食前体重:114,121,128,122,141,128
节食后体重:105,126,123,118,143,121
问在显著性水平\(\alpha=0.05\)下,我们能否认为他们的减肥计划是成功的?
解:
成对数据的比较问题: \[ P^{-}> P^{+}\qquad v.s. \qquad P^{-}\le P^{+} \] 即 \[ P^{-}> 0.5\qquad v.s. \qquad P^{-}\le 0.5 \]
# 载入数据
<- c(114,121,128,122,141,128)
d1 <- c(105,126,123,118,143,121)
d2 <- sum(d2<d1) # S-
S1 <- sum(d2>d1) # S+
S2 binom.test(x = S1,n = S1+S2,p = 0.5,alternative = "less")
#>
#> Exact binomial test
#>
#> data: S1 and S1 + S2
#> number of successes = 4, number of trials = 6, p-value = 0.9
#> alternative hypothesis: true probability of success is less than 0.5
#> 95 percent confidence interval:
#> 0.000 0.937
#> sample estimates:
#> probability of success
#> 0.667
\(p\)值大于0.05,故我们应当接受原假设,即认为他们的减肥计划并不成功。