该篇文章首先介绍了样本不同情形下的检验方式:单正态总体参数的z/t/卡方检验;两正态总体参数的t/F检验;成对数据的t检验;单样本比率检验、两样本比率检验,然后以例题的形式使用R语言编程结合题目背景完成不同情形下的假设检验并给出详细分析。
1 不同情形下检验方式
1.1 单正态总体参数的检验
(1)方差σ^2已知时,μ的检验:Z检验。
z.test()
(2)方差σ^2未知时,μ的检验:t检验。
t.test()
(3)方差σ^2的检验:χ 2检验。
chisq.var.test( )
1.2 两正态总体参数的检验
(1)均值的比较:t检验。
t.test(x, y, var.equal=TRUE)
(2)方差的比较:F检验。
var.test(x, y)
1.3 成对数据的t检验
t.test(x, y, paired=TRUE)
1.4 单样本比率的检验、两样本比率的检验
prop.test( ) 函数调用格式: prop.test(x, n, p = NULL, alternative = c("two.sided", "less", "greater"), conf.level = 0.95, correct = TRUE) x为样本中具有某种特性的样本数量, n为样本容量, correct选项为是否做连续性校正。
2 题目实战
2.1 题目一:z/u检验
有一枪弹,出厂时,其初速率v~N(950,100)(单位:m/s).经过较长时间储存,取9发进行测试,得样本值(单位:m/s)如下:914 920 910 934 953 945 912 924 940。据经验,枪弹经储存后其初速率仍服从正态分布,且标准差保持不变,问是否可以认为这批枪弹的初速率有显著降低。α = 0.05 。
运行程序:
z.test<-function(x,n,sigma,alpha,u0=0,alternative="two.sided"){ options(digits=6) #结果显示6为有效数 result<-list() #构造一个空的list,用于存放输出结果 mean<-mean(x) #求x的算术平均值 z<-(mean-u0)/(sigma/sqrt(n)) #计算z统计量的值 p<-pnorm(z,lower.tail=FALSE) #返回值是正态分布的分布函数值 result$mean<-mean #将均值存入结果 result$z<-z #将z值存入结果 result$p.value<-p #得出P值根据其判定参数估计效果 ifelse(alternative=="two.sided",result$p.value <- 2*(1-pnorm(abs(z))), #双侧检验 ifelse(alternative=="less",result$p.value <- pnorm(z,lower.tail=T), #下侧检验 ifelse(alternative=="greater",result$p.value <-pnorm(z,lower.tail=F),#上侧检验 return("your input is wrong")))) result$conf.int<-c( mean-sigma*qnorm(1-alpha/2,mean=0,sd=1, lower.tail=TRUE)/sqrt(n), mean+sigma*qnorm(1-alpha/2,mean=0,sd=1, lower.tail=TRUE)/sqrt(n)) result } #调用z.test()函数 z.test(928,9,10,0.05,u0=950,alternative="less") #函数中对应的值分别为样本均值、样本数量、总体标准差、置信水平、检验初速率
运行结果:
通过u检验的运行结果可以看出z统计量的值为-6.6,置信区间为[921.476, 934.533],p值=2.05579e^{-11}<0.052 ,故拒绝原假设,即可以认为这批枪弹的初速率有显著降低。
2.2 题目二:z/u(t)检验
从一批钢管抽取10根,测得期内径(单位:mm)为:
100.36 100.31 99.99 100.11 100.64
100.85 99.42 99.91 99.35 100.10
设这批钢管内径服从正态分布N(μ,σ2),试分别在下列条件下检验假设。设(α=0.05)。H0:μ=100 vs H1:μ>100。
(1)已知σ=0.5;(z/u检验)
运行程序:
z.test(100.104,10,0.5,0.05,u0=100,alternative="less")#将样本均值、样本数量、总体标准差、置信水平、u0带入计算出均值、检验统计量的值、p值、置信区间。
运行结果:
通过u检验的运行结果可以看出z统计量的值为0.657754,置信区间为[99.7941,100.4139],p值=0.744652>0.05,故接受原假设,即不能认为这批钢管内径大于100。
(2)σ未知。(t检验)
运行程序:
salt<-c(100.36,100.31,99.99,100.11,100.64,100.85,99.42,99.91,99.35,100.1)#将样本各个数据定义为一个向量,便于调用 t.test(salt,mu=100,alternative="greater")#将u0等于100带入调用的t检验函数
运行结果:
通过t检验的运行结果可以看出t统计量的值为0.691,p值=0.254>0.05,故接受原假设,即不能认为这批钢管内径大于100。
2.3 题目三:t检验
考察一鱼塘中鱼的含汞量,随机的取10条鱼测得各鱼的含汞量(单位:mg)为:
0.8 1.6 0.9 0.8 1.2 0.4 0.7 1.0 1.2 1.1
设鱼的含汞量服从正态分布N(μ,σ2),试检验假设H0:μ<=1.2 vs H1:μ>1.2 (取α=0.1)。
运行程序:
salt <- c(0.8,1.6,0.9,0.8,1.2,0.4,0.7,1,1.2,1.1)#将样本各个数据定义为一个向量,便于调用 t.test(salt,mu=1.2,alternative="greater",conf.level=0.9)#将u0等于1.2带入调用的t检验函数
运行结果:
通过t检验的运行结果可以看出t统计量的值为-2.203,p值=0.972>0.05,故接受原假设,即鱼的含汞量没有大于1.2。
2.4 题目四:t检验
如果一个矩形的宽度w与长度l的比w/l=1/2(√5-1)≈0.618,这样的矩形称为黄金矩形。下面列出从某工艺品工厂随机抽取的20个矩形的长度与宽度的比值.
0.693 0.749 0.654 0.670 0.662 0.672 0.615 0.606 0.690 0.628
0.668 0.611 0.606 0.609 0.553 0.570 0.844 0.576 0.933 0.630
设这一工厂生产的矩形长度与宽度的比值总体服从正态分布其均值未μ,试
求检验假设(取α=0.05)。
H0:μ=0.618 vs H1:μ≠0.618。
运行程序:
salt<-c(0.693,0.749,0.654,0.67,0.662,0.672,0.615,0.606,0.69,0.628,0.668,0.611,0.606,0.609,0.553,0.57,0.844,0.576,0.933,0.63)#将样本各个数据定义为一个向量,便于调用 t.test(salt,mu=0.618,alternative="two.sided")#将u0等于0.618带入调用的t检验函数
运行结果:
通过t检验的运行结果可以看出t统计量的值为2.142,p值=0.0453<0.05,故拒绝原假设,即不能认为工厂生产的矩形长度与宽度的比值等于0.618。
2.5 题目五:t检验
下面给出两种型号的计算器充电以后所能使用的时间(单位:h)的观测值
型号A:5.5 5.6 6.3 4.6 5.3 5.0 6.2 5.8 5.1 5.2 5.9,
型号B:3.8 4.3 4.2 4.0 4.9 4.5 5.2 4.8 4.5 3.9 3.7 4.6.
设两样本独立且数据所属的两总体的密度函数至多差一个平移量,试问能否
认为型号A的计算器平均使用时间比型号B来的长(取α=0.01)?
运行程序:
x <- c(5.5,5.6,6.3,4.6,5.3,5.0,6.2,5.8,5.1,5.2,5.9)#将型号A的每一个样本值弄成向量 y <- c(3.8,4.3,4.2,4.0,4.9,4.5,5.2,4.8,4.5,3.9,3.7,4.6)#将型号B的每一个样本值弄成向量 t.test(x,y,var.equal=TRUE)#利用t检验函数进行检验
运行结果:
通过t检验的运行结果可以看出t统计量的值为5.484,p值=1.93e-05<0.05,故拒绝原假设,即能认为型号A的计算器平均使用时间比型号B来的长。
2.6 题目六:t检验
在针织品漂白工艺过程中,要考察温度对针织品断裂强力(主要质量标准)的影响.为了比较70oC与80oC的影响有无差别,在这两个温度下,分别重复做了8次试验,得数据如下(单位:N):
70oC时的强力:20.5 18.8 19.8 20.9 21.5 19.5 21.0 21.2
80oC时的强力:17.7 20.3 20.0 18.8 19.0 20.1 20.0 19.1
根据经验,温度对针织品断裂强度的波动没有影响.问在70oC时的平均断裂强力与80oC时的平均断裂强力间是否有显著差别?(假定断裂强力服从正态分布,α=0.05)。
运行程序:
x <- c(20.5,18.8,19.8,20.9,21.5,19.5,21.0,21.2)#将70摄氏度时强力的每一个样本值弄成向量 y <- c(17.7,20.3,20.0,18.8,19.0,20.1,20.0,19.1)#将80摄氏度时强力的每一个样本值弄成向量 t.test(x,y,var.equal=TRUE)
运行结果:
通过t检验的运行结果可以看出t统计量的值为2.241,p值=0.0418<0.05,故拒绝原假设,即在70oC时的平均断裂强力与80oC时的平均断裂强力间有显著差别。
【数理统计实验(三)】假设检验的R实现(二)+https://developer.aliyun.com/article/1506474