pois_power <- function(n,C,lty){ #n是样本量,C是拒绝域中的C,lty是画图线条类型
lambda <- seq(from=0.1,to=2.0,by=0.01)
pois_d <- ppois(C,n*lambda)
plot(lambda,pois_d,type="l",xlab="λ",ylab="power",lty=lty,sub="检验势函数随分布参数变化曲线") #画势函数
text(lambda[50],pois_d[50],paste("C=",as.character(C),sep = "")) #添加必要注释
}
pois_power(10,5,1) #画n=10,C=5时的势函数,线条类型是实线
par(new=T)
pois_power(10,7,2) #画n=10,C=7时的势函数,线条类型是虚线
pois_power_2 <- function(n,C,lty){ #n是样本量,C是拒绝域中的C,lty是画图线条类型
lambda <- seq(from=0.1,to=2.0,by=0.01)
pois_d <- ppois(C,n*lambda)
plot(lambda,pois_d,type="l",xlab="λ",ylab="power",lty=lty,axes=F) #画势函数
text(lambda[50],pois_d[50],paste("n=",as.character(n),sep = "")) #添加必要注释
}
pois_power_2(10,5,1) #画n=10,C=5时的势函数,线条类型是实线
par(new=T)
pois_power_2(20,5,2) #画n=20,C=5时的势函数,线条类型是虚线
axis(1)
axis(2,at=seq(0.2,1.0,0.2))
box()
normal_power<- function(miu0,sigma,alpha,n){ #miu0为μ0,sigma为σ0,alpha为显著性水平α,n为样本量
miu<-seq(from=miu0-2*sigma,to=miu0+2*sigma,by=0.01)
nor_d<- 1-pnorm(qnorm(1-alpha)-(miu-miu0)/(sigma/sqrt(n)))
plot(miu,nor_d,type="l",xlab="μ",ylab="power")
lines(c(miu0,miu0),c(0,alpha),lty=2)
lines(c(0,miu0),c(alpha,alpha),lty=2)
text(miu0-1.7*sigma,alpha*2,paste("α=",as.character(alpha),sep=""))
}
par(mfrow=c(2,2))
normal_power(3,1,0.1,25) #画μ0=3,σ0=1,显著性水平α=0.1,样本量为25时的势函数
normal_power(3,1,0.05,25) #画μ0=3,σ0=1,显著性水平α=0.05,样本量为25时的势函数
normal_power(3,1,0.01,25) #画μ0=3,σ0=1,显著性水平α=0.01,样本量为25时的势函数
normal_power(3,1,0.005,25) #画μ0=3,σ0=1,显著性水平α=0.005,样本量为25时的势函数
exp_pow_1 <- function(lambda0,n,alpha,lty){ #检验统计量为2λ0*Tn
chisq1 <- qchisq(alpha/2,2*n) #拒绝域左边界
chisq2 <- qchisq(1-alpha/2,2*n)#拒绝域右边界
lambda <- seq(lambda0*0.5,lambda0*1.5,by=0.01)
power_exp <- pgamma(chisq1,shape=n,rate=lambda/(2*lambda0))+pgamma(chisq2,shape=n,rate=lambda/(2*lambda0),lower.tail=F) #λ不等于λ0时检验统计量落入拒绝域的概率
plot(lambda,power_exp,type="l",lty=lty,xlim=c(1,3),ylim=c(0,0.6),xlab="λ")
text(lambda[20],power_exp[20],"2λ0*Tn")
}
exp_pow_2 <- function(lambda0,n,alpha,lty){ #检验统计量为2λ0*n*x(1)
chisq1 <- qchisq(alpha/2,2) #拒绝域左边界
chisq2 <- qchisq(1-alpha/2,2) #拒绝域右边界
lambda <- seq(lambda0*0.5,lambda0*1.5,by=0.01)
power_exp <- pgamma(chisq1,shape=1,rate=lambda/(2*lambda0))+pgamma(chisq2,shape=1,rate=lambda/(2*lambda0),lower.tail=F) #λ不等于λ0时检验统计量落入拒绝域的概率
plot(lambda,power_exp,type="l",lty=lty,xlim=c(1,3),ylim=c(0,0.6),xlab="λ")
text(lambda[30],power_exp[30],"2λ0*n*x(1)")
}
exp_pow_1(2,10,0.05,1) #画λ=2,n=10,α=0.05,检验统计量为2λ0*Tn时的势函数,线条类型是实线
par(new=T)
exp_pow_2(2,10,0.05,2) #画λ=2,n=10,α=0.05,检验统计量为2λ0*n*x(1)时的势函数,线条类型是虚线
文章主要研究的问题是:利用统计学的方法对某城市的土壤重金属污染状况进行分析研究,根据统计数据确定样本点的八种重金属元素(砷,镉,铜,镍,汞,铅,锌,铬)的浓度和样本点的地理位置来分析城市表层土壤重金属污染的主要原因.
文中传统的研究机理:运用复杂的外部因素的机理分析方法来研究重金属污染,包括污染物的排放途径(采矿,工业“三废”排放,含重金属污水灌溉,城市生活垃圾,汽车尾气,污泥农用及含重金属的农药有机肥,使用重金属制品等人为因素)、污染物的传播途径(例如大气扩散,大气沉降,地表水扩散)、土壤或生物对污染物中重金属的吸附和释放机理等等.
文章中的经验分布函数与教材中的有何不同?
教材中的经验分布函数是,将容量为n的简单随机样本的值看作是某个离散随机变量等可能取的值而得到的离散分布的分布函数.(在这里这n个值的概率相等都为1/n)
文章中的经验分布函数相当于将样本等距分割成若干组之后的累积分布函数,而每一组的概率由该组的频率决定.
文章中构造经验分布函数的做法实际上损失了信息,将数值变量活生生地压缩成分类变量:原始数据能构造出文中的经验分布函数,文中的经验分布函数却推不出原始数据,而教材中的经验分布函数与原始数据是一一对应的.这样的恶果可由表2中体现出来.
文章中这样构造的表2有何不足?表现在哪里?
library(MASS)
data(geyser)
waiting<-geyser[,1]
###开始画经验分布函数
waiting.sort<-sort(waiting)
waiting.rank<-rank(waiting.sort,ties.method="max")
waiting.cdf<-waiting.rank/length(waiting)
plot(waiting.sort,waiting.cdf)#描点
N<-length(waiting)
segments(waiting.sort[1:(N-1)],waiting.cdf[1:(N-1)],waiting.sort[2:N],waiting.cdf[1:(N-1)])#画线
###开始画经验分布函数的置信区间
alpha<-0.5
band<-sqrt(1/(2*N))*log(2/alpha)
lower.95<-waiting.cdf-band
upper.95<-waiting.cdf+band
lines(waiting.sort,lower.95,lty=2)
lines(waiting.sort,upper.95)
###对比不同alpha值下的置信区间宽度
alpha<-seq(0.01,0.1,by=0.001)
band<-sqrt(1/(2*N))*log(2/alpha)
plot(alpha,band)
可见置信区间的宽度随α值的增大而变小.
###画经验密度函数
Fn <- ecdf(waiting)
plot(Fn)
###画置信区间
lines(waiting.sort,lower.95,lty=2)
lines(waiting.sort,upper.95)