您需要使用某种分布模型来拟合这些合并的数据,因为这是外推到上四分位数中的唯一方法。
一个模型
F01(a,b]F(b)−F(a)θ{Fθ}FθL
L(θ)=(Fθ(8)−Fθ(6))51(Fθ(10)−Fθ(8))65⋯(Fθ(∞)−Fθ(16))182
51Fθ(8)−Fθ(6)65Fθ(10)−Fθ(8)
使模型适合数据
θLL
θ=(μ,σ)
F(μ,σ)(x)=12π−−√∫(log(x)−μ)/σ−∞exp(−t2/2)dt.
LR
log(L(θ))log(L)Llog(L)
logL <- function(thresh, pop, mu, sigma) {
l <- function(x1, x2) ifelse(is.na(x2), 1, pnorm(log(x2), mean=mu, sd=sigma))
- pnorm(log(x1), mean=mu, sd=sigma)
logl <- function(n, x1, x2) n * log(l(x1, x2))
sum(mapply(logl, pop, thresh, c(thresh[-1], NA)))
}
thresh <- c(6,8,10,12,14,16)
pop <- c(51,65,68,82,78,182)
fit <- optim(c(0,1), function(theta) -logL(thresh, pop, theta[1], theta[2]))
θ=(μ,σ)=(2.620945,0.379682)fit$par
检查模型假设
F
predict <- function(a, b, mu, sigma, n) {
n * ( ifelse(is.na(b), 1, pnorm(log(b), mean=mu, sd=sigma))
- pnorm(log(a), mean=mu, sd=sigma) )
将其应用于数据以获得拟合的或“预测的” bin人口:
pred <- mapply(function(a,b) predict(a,b,fit$par[1], fit$par[2], sum(pop)),
thresh, c(thresh[-1], NA))
我们可以绘制数据和预测的直方图,以进行直观比较,如这些图的第一行所示:
为了比较它们,我们可以计算卡方统计量。通常将其称为卡方分布以评估重要性:
chisq <- sum((pred-pop)^2 / pred)
df <- length(pop) - 2
pchisq(chisq, df, lower.tail=FALSE)
0.00876−8630.40
使用拟合估计分位数
63(μ,σ)(2.620334,0.405454)F75th
exp(qnorm(.75, mean=fit$par[1], sd=fit$par[2]))
18.066317.76
这些过程和此代码通常可以应用。如果感兴趣,可以进一步利用最大似然理论来计算第三四分位数附近的置信区间。