r - 我如何在情节上比较 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)
}
但结果我得到了一条线。也许我做错了什么?
解决方案
如果有人对正确答案感兴趣:
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)
推荐阅读
- perl - binmode(标准输出,“:utf8”);和草莓 perl 中的 Unix 行尾
- python - CNN Keras:ValueError:由'conv2d'的2减去3引起的负尺寸大小
- javascript - 如何将 JSON 作为响应从 Node js 发送到 Html 文件
- angular - 进行单个 API 调用并将响应存储在服务中,以便其他组件可以使用该响应而无需进行额外的 API 调用
- c# - 将 .net 框架移植到 .net 核心 Microsoft.Xrm.Sdk.Query
- regex - 如何删除所有以 $ 开头的行
- javascript - 使用 uiOutput 在闪亮的键盘上触发 actionButton
- ios - 如何修复特定控制器上的 alertView 方向?
- cakephp - CakePHP 3 对联合查询的结果进行分页
- java - 为什么即使我的文件位于正确的位置,我也会收到 filenotfound 异常?