如何用R中的图证明Kolmogorov-Smirnov统计量的性质?

uqcuzwp8  于 2022-12-06  发布在  Go
关注(0)|答案(1)|浏览(106)

设为X_1,...,X_n -独立同分布的随机变量集,其累积分布函数为F(x),将经验分布函数记为F_n(x),引入Dn值(所谓Kolmogorov-Smirnov准则的统计量):

我需要用情节证明
1.当n\到\无穷大时,Dn具有边际分布

  1. Dn的渐近分布不依赖于分布函数F(x)
    我试过这个,但我不明白为什么我得到错误的情节(我需要基本的gtaphic函数或晶格)
    `
if (!require("latex2exp")) install.packages("latex2exp")
library("latex2exp")

# 1. Dn has a limit distribution for n -> inf 
DNorm <- function(x, mean = 0, sd = 1) {
  emp.cdf <- ecdf(x)
  n = length(x)
  df <- data.frame(emp.cdf = emp.cdf(x), pnorm = pnorm(x, mean, sd))
  vec <- (abs((df$emp.cdf - df$pnorm))) 
  res <- max(vec)* sqrt(n)
}
DnNorm <- function(n, mean = 0, sd = 1) {
  x <- sapply(10:n, rnorm, mean, sd)
  res <- sapply(x, RNorm, mean, sd)
}

pdf(file="1.pdf")
par(mfrow=c(2,2))
hist(DnNorm(100), breaks = 10, xlim = c(0, 3), col = "cyan1",  main = "n = 100", xlab = "Dn")
hist(DnNorm(1000), breaks = 15, xlim = c(0, 3), col = "cyan1", main = "n = 1000", xlab = "Dn")
hist(DnNorm(5000), breaks = 15, xlim = c(0, 3), col = "cyan1", main = "n = 5000", xlab = "Dn")
dev.off()
# 2. Asymptotic distribution of Dn is independent of the distribution function F(x).
pdf(file="2.pdf")
par(mfrow=c(3,1))
hist(DnNorm(3000), breaks = 15, xlim = c(0, 3), col = "cyan1", main = "N(0, 1)", xlab = "Dn")
hist(DnNorm(3000, 50, 4), breaks = 15, xlim = c(0, 3), col = "cyan1", main = "N(50, 4)", xlab = "Dn")
hist(DnNorm(3000, 1), breaks = 15, xlim = c(0, 3), col = "cyan1", main = "EXP(1)", xlab = "Dn")
dev.off()

`

svmlkihl

svmlkihl1#

@Yana Sal也许您需要将函数DnNorm中的行更正为:

{res <- sapply(x, DNorm, mean, sd)} # replace RNorm with your function DNorm()`

相关问题