Вам необходимо согласовать эти объединенные данные с некоторой моделью распределения, поскольку это единственный способ экстраполировать в верхний квартиль.
Модель
По определению, такая модель задается функцией кадлага растущей с 0 до 1 . Вероятность, которую он назначает любому интервалу ( a , b ], равна F ( b ) - F ( a ) . Чтобы выполнить подбор, необходимо установить семейство возможных функций, индексированных (векторным) параметром θ , { F θ } Предполагая, что выборка суммирует совокупность людей, выбранных случайным образом и независимо от популяции, описанной некоторым конкретным (но неизвестным) F θF01( а , б )F( б ) - F( а )θ{ Fθ}Fθ, вероятность выборки (или вероятность , ) является произведением индивидуальных вероятностей. В примере это будет равноL
L ( θ ) = ( Fθ( 8 ) - Fθ( 6 ) )51( Fθ( 10 ) - Fθ( 8 ) )65⋯ ( Fθ( ∞ ) - Fθ( 16 ) )182
потому что из людей ассоциированные вероятности Р θ ( 8 ) - F θ ( 6 ) , 65 имеют вероятности Р θ ( 10 ) - F θ ( 8 ) , и так далее.51Fθ( 8 ) - Fθ( 6 )65Fθ( 10 ) - Fθ( 8 )
Подгонка модели к данным
Оценка максимального правдоподобия по & представляет собой значение , которое максимизирует L (или, что эквивалентно, логарифм L ).θLL
Распределение доходов часто моделируется логнормальными распределениями (см., Например, http://gdrs.sourceforge.net/docs/PoleStar_TechNote_4.pdf ). Если записать , семейство логнормальных распределений имеет видθ = ( μ , σ)
F( μ , σ)( х ) = 12 π--√∫( журнал( х ) - μ ) / σ- ∞ехр( - т2/ 2)дт .
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) )
Применяется к данным для получения подогнанных или «предсказанных» популяций бинов:
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
Эти процедуры и этот код можно применять в целом. Теория максимального правдоподобия может быть дополнительно использована для вычисления доверительного интервала вокруг третьего квартиля, если это представляет интерес.