参数检验
正态均值的检验
单样本的均值检验
- 群体方差已知,构造z统计量服从正态分布
- 群体方差未知,构建t统计量服从自由度为n-1的t分布
例:测的灯泡的寿命服从正态分布,但参数未知。先抽样159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170。问就这16个数,有没有理由认为灯泡的平均寿命大于225小时?
x <- c(159, 280, 101, 212, 224, 379, 179, 264, 222, 362, 168, 250, 149, 260, 485, 170)
t.test(x,mu=225,alternative = "greater")
两样本的均值差异
样本分为独立样本和配对样本。
对于独立样本:
- 已知双方群体方差,构建z统计量,服从正态分布
- 不知双方群体方差,但知道方差相等,构造服从n1+n2-2自由度的t统计量,服从t分布
- 不知双方群体方差,方差也不等(进行方差检验),构造统计量使其近似服从t分布
对于配对样本:
前后做差,再做一个样本的与0的均值检验。
#备选假设Ux-Uy<0
#两组独立样本,分别来自两个正态总体,同一个炉子方差相等。
#方差相等,构造服从n1+n2-2自由度的t统计量,服从t分布
x <- c(78.1,72.4,76.2,74.3,77.4,78.4,76.0,75.5,76.7,77.3)
y <- c(79.1,81.0,77.3,79.1,80.0,79.1,79.1,77.3,80.2,82.1)
var.test(x,y)
t.test(x,y,var.equal = T,alternative = "less")
#两组配对的检验
t.test(x-y,alternative = "less")
正态方差的检验
单样本的方差检验
可以构造卡方分布。但是均值已知的情况下自由度为n,未知时自由度为n-1。
#小学生的身高
x <- c(136,144,143,157,137,159,135,158,147,165,158,142,159,150,156,152,140,149,148,155)
#计算p值的函数。 cdf为构造的分布,x为分布的参数,side=-1 备择假设less,0双侧检验,1备择假设greater
pValue <- function(cdf, x, paramet=numeric(0), side=0){
n <- length(paramet)
P <- switch(n+1,
cdf(x),
cdf(x, paramet),cdf(x, paramet[1], paramet[2]),
cdf(x, paramet[1], paramet[2], paramet[3])
)
if(side<0){
P
}else if(side>0){
1-P
}else{
if(P<1/2){
2*P
}else{
2*(1-P)
}
}
}
#单组方差检定
myVar.testP <- function(x, sigma2=1, mu=Inf, side=0){
n <- length(x)
if(mu<Inf){
S2 <- sum((x-mu)^2)/n; df=n
}else{
S2 <- var(x); df=n-1
}
chi2 <- df*S2/sigma2
P <- pValue(pchisq, chi2, paramet=df, side=side)
data.frame(var=S2, df=df, chisq2=chi2, P_value=P)
}
myVar.testP(x,sigma2=75)
myVar.testP(x,sigma2=75,mu=149)
双样本的方差检验
无论均值 μ 是否知道,都可以构建是的统计量服从F分布。
#比较两个总体方差是否一致
x <- c(78.1,72.4,76.2,74.3,77.4,78.4,76.0,75.5,76.7,77.3)
y <- c(79.1,81.0,77.3,79.1,80.0,79.1,79.1,77.3,80.2,82.1)
var.test(x,y)
二项分布的总体假设检验
#例:某蔬菜种子的发芽率为p=0.85. 现随机抽取500粒种子,
#用药水处理一下,然后测的发芽的种子数为445粒。
#请问药水有没有提高发芽率的作用。
#p值很小,接受对立假说,有好的作用
#95%的置信区间不包括0.85
binom.test(445,500,p=0.85,
alternative="greater")
非参数检验
详见:
1.皮尔森拟合优度塔防检验。
2.ks检验。
3.列联表数据独立性检验。
4.符号检验。
5.秩统计量。
6.秩相关检验。
7.wilcoxon检验。