首页 > 解决方案 > 我如何在情节上比较 Kolmogorov 和 Lilieforce 测试?

问题描述

我需要比较两种类型的测试并表明 Kolmogorov 测试比 Lilieforce 测试差。我需要显示 p 值分布,这将表明如果参数未知且 Lilieforce 变得准确,Kolmogorov 测试将变得保守。我试图从 kolmogorov 测试中获取所有 p 值:

n = 20
for (i in 1:n){
  x <- rnorm(1000)
  data1<-matrix(x,n,1)
  ks.test(x,pnorm)
  data2<-matrix(ks.test(data1[i,],pnorm,mean(x),sd(x))$p.value,n,1)

  plot(data2,col = "red",lwd = 3,  type ='l')
  curve(punif(x), add = TRUE)
}

但结果我得到了一条线。也许我做错了什么?

标签: r

解决方案


如果有人对正确答案感兴趣:

install.packages("nortest")
library(nortest)
p1 <-c()
p1a <-c()
p2 <-c()
a <- 1
s <- 2
for (i in 1:10000){
  x <- rnorm(100, a, s)
  p1<-c(p1,ks.test(x,pnorm, a, s)$p.value)
  p1a<-c(p1a,ks.test(x,pnorm, mean(x),sd(x))$p.value)
  p2<-c(p2,lillie.test(x)$p.value)
}
distribpt1<-ecdf(p1)
distribpt2<-ecdf(p2)
distribpt1a<-ecdf(p1a)

plot(distribpt1,col = "red",lwd = 3, xlim=c(0, 1))
lines(distribpt2,col = "blue",lwd = 3)
lines(distribpt1a,col = "green",lwd = 3)
lines(c(0,1),c(0,1),lwd=2,cex=1.5)

及其结果: 在此处输入图像描述


推荐阅读