正态混合分布
Normal Mixture Distribution
我正在尝试为 25% N(μ=0,σ=4) 和 75% N(μ=4,σ=) 的正态混合分布创建 qqplot 和 运行 KS 检验2).我该如何调整我的 qqplot 和 KS 测试以适应这个分布?我认为我的 abline 不正确,我的 KS 测试也没有真正正确地反映分布。
如有任何帮助,我们将不胜感激。
set.seed(4711)
n = 500
P = ppoints(n)
Q = qnorm(P)
dt <- sample(c(1,2), prob= c(0.25,0.75), size = n, replace = T)
x <- c()
for(i in 1:n){
if(dt[i] == 1) x[i]=rnorm(1, mean = 0, sd = 4) else x[i] = rnorm(1, mean = 4, sd = 2)
}
hist(x, prob = T, breaks = 27, col = "lightgreen", main = "Mixture Normal")
curve(0.25*dnorm(x, mean = 0, sd = 4) + 0.75*dnorm(x, mean = 4, sd = 2), add = T, col = 2, lwd = 3, lty = 2)
qqplot(Q, x)
abline(0,1)
ks.test(x, 'pnorm')
获得更合理的 qqplot 的方法,即“代表”理论“的直线(或在本例中的两个样本版本的情况下的经验)是适当地缩放参数。A单样本 KS 测试的“qqplot”实际上是“半参数”,即首先提取被测样本的均值和标准差,然后用于订单统计图的缩放。所以这样做:
qqplot(Q, scale(x) ) # make the mean 0 and the SD=1
abline(0,1)
ks.test(x, 'pnorm')
#------------------
One-sample Kolmogorov-Smirnov test
data: x
D = 0.70763, p-value < 2.2e-16
alternative hypothesis: two-sided
我正在尝试为 25% N(μ=0,σ=4) 和 75% N(μ=4,σ=) 的正态混合分布创建 qqplot 和 运行 KS 检验2).我该如何调整我的 qqplot 和 KS 测试以适应这个分布?我认为我的 abline 不正确,我的 KS 测试也没有真正正确地反映分布。
如有任何帮助,我们将不胜感激。
set.seed(4711)
n = 500
P = ppoints(n)
Q = qnorm(P)
dt <- sample(c(1,2), prob= c(0.25,0.75), size = n, replace = T)
x <- c()
for(i in 1:n){
if(dt[i] == 1) x[i]=rnorm(1, mean = 0, sd = 4) else x[i] = rnorm(1, mean = 4, sd = 2)
}
hist(x, prob = T, breaks = 27, col = "lightgreen", main = "Mixture Normal")
curve(0.25*dnorm(x, mean = 0, sd = 4) + 0.75*dnorm(x, mean = 4, sd = 2), add = T, col = 2, lwd = 3, lty = 2)
qqplot(Q, x)
abline(0,1)
ks.test(x, 'pnorm')
获得更合理的 qqplot 的方法,即“代表”理论“的直线(或在本例中的两个样本版本的情况下的经验)是适当地缩放参数。A单样本 KS 测试的“qqplot”实际上是“半参数”,即首先提取被测样本的均值和标准差,然后用于订单统计图的缩放。所以这样做:
qqplot(Q, scale(x) ) # make the mean 0 and the SD=1
abline(0,1)
ks.test(x, 'pnorm')
#------------------
One-sample Kolmogorov-Smirnov test
data: x
D = 0.70763, p-value < 2.2e-16
alternative hypothesis: two-sided