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。

解:

# 先载入数据
data <- c(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)

(1)利用符号检验

x <- 51.5
S1 = sum(data<x) # 小于中位数个数
S2 = sum(data>x) # 大于中位数个数
S0 = sum(data==x) # 等于中位数个数
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 \]

x <- 75
S1 = sum(data<x) 
S2 = sum(data>x) 
S0 = sum(data==x) 
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 \]

x <- 45
S1 = sum(data<x) 
S2 = sum(data>x) 
S0 = sum(data==x) 
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为多少分位数
quantile.test <- function(d, q, p, alternative = c("two.sided", "less", 
    "greater")){
      len <- length(d)
      t1 <- sum(d<=q)  # 小于等于分位数值的个数
      t2 <- sum(d<q)  # 小于分位数值的个数
      l <- pbinom(q = t1,size = len,prob = p)
      r <- pbinom(q = t2,size = len,prob = p,lower.tail = TRUE)
      PVAL <- switch(alternative,
                     less = l,
                     greater = r,
                     two.sided = 2*min(l,r))
      structure(list(p.value = PVAL, alternative = alternative))
    }
d <- c(70,92,73,60,81,63,92,68,
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年的索赔数额的中位数是否比上一年有所变化。

解:

中位数的双边检验问题,利用符号检验。

# 载入数据
d <- c(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)
x <- 48.32
S1 = sum(d<x) 
S2 = sum(d>x) 
S0 = sum(d==x) 
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 \]

# 载入数据
d <- c(29.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)
x <- 10
S1 = sum(d<x) 
S2 = sum(d>x) 
S0 = sum(d==x) 
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 顾客没有明显偏好 \]

S1 = 7  # 喜欢甲品种
S2 = 12 # 喜欢乙品种
S0 = 3  # 结点,不考虑
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 \]

# 载入数据
d1 <- c(114,121,128,122,141,128)
d2 <- c(105,126,123,118,143,121)
S1 <- sum(d2<d1)  # S-
S2 <- sum(d2>d1)  # S+
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,故我们应当接受原假设,即认为他们的减肥计划并不成功。