Jak oszacować trzeci kwartyl binowanych danych?

12

Czy istnieje jakaś sztuczka techniczna, aby określić trzeci kwartyl, jeśli należy on do otwartego przedziału, który zawiera więcej niż jedną czwartą populacji (więc nie mogę zamknąć przedziału i użyć standardowej formuły)?

Edytować

W przypadku, gdy coś źle zrozumiem, podam mniej więcej pełny kontekst. Mam dane ułożone w tabeli z dwiema kolumnami i, powiedzmy, 6 rzędami. Każda kolumna odpowiada przedziałowi (w pierwszej kolumnie) i ilości populacji, która „należy” do tego przedziału. Ostatni przedział jest otwarty i obejmuje ponad 25% populacji. Wszystkie przedziały (z wyjątkiem ostatniego) mają ten sam zakres.

Przykładowe dane (transponowane do prezentacji):

Column 1: (6;8),(8;10),(10;12),(12;14),(14;16),(16;∞)
Column 2:    51,    65,     68,     82,     78,   182 

Pierwszą kolumnę należy interpretować jako przedział poziomu dochodów. Drugi należy interpretować jako liczbę pracowników, których dochód należy do przedziału.

Standardowa formuła, o której myślę, to .Q3=xQ3+3N4i=1k1ninQ3rQ3

atad
źródło
Powszechnym założeniem przy próbie oszacowania kwantyli z binowanymi danymi jest przyjęcie jednolitości w przedziałach. Ale jeśli wiesz coś o tym, w jaki sposób dane mogą być dystrybuowane (podobnie jak w przypadku dochodów, które są poprawne), założenia, które odzwierciedlają tę wiedzę, będą na ogół lepsze. Inną alternatywą byłoby założenie, że jest ono gładkie, a następnie wygładzenie danych (czy to przez KDE, czy przez dopasowaną dystrybucję), redystrybuować punkty w przedziałach zgodnie z modelem [i ewentualnie ponownie oszacować (w nieco podobny sposób do EM) dopasowanie, i ponownie rozpowszechnij w pojemnikach], a następnie oszacuj na tej podstawie kwantyle.
Glen_b

Odpowiedzi:

16

Musisz dopasować te skumulowane dane do jakiegoś modelu dystrybucyjnego, ponieważ jest to jedyny sposób ekstrapolacji na górny kwartyl.

Wzór

Z definicji taki model daje funkcja cadlag rosnąca od 0 do 1 . Prawdopodobieństwo, które przypisuje do dowolnego przedziału ( a , b ], to F ( b ) - F ( a ) . Aby dopasować, musisz założyć rodzinę możliwych funkcji indeksowanych parametrem (wektorowym) θ , { F θ } Zakładając, że próba podsumowuje zbiór osób wybranych losowo i niezależnie od populacji opisanej przez niektóre konkretne (ale nieznane) F θF01(a,b]F(b)F(a)θ{Fθ}FθPrawdopodobieństwo próbki (lub prawdopodobieństwa , ) jest iloczynem z poszczególnych prawdopodobieństwa. W tym przykładzie byłby równyL

L(θ)=(Fθ(8)Fθ(6))51(Fθ(10)Fθ(8))65(Fθ()Fθ(16))182

51Fθ(8)Fθ(6)65Fθ(10)Fθ(8)

Dopasowanie modelu do danych

θLL

θ=(μ,σ)

F(μ,σ)(x)=12π(log(x)μ)/σexp(t2/2)dt.

LRlog(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

Sprawdzanie założeń modelu

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) )

Jest on stosowany do danych w celu uzyskania dopasowanych lub „przewidywanych” populacji bin:

pred <- mapply(function(a,b) predict(a,b,fit$par[1], fit$par[2], sum(pop)), 
               thresh, c(thresh[-1], NA))

Możemy narysować histogramy danych i prognozę, aby porównać je wizualnie, pokazane w pierwszym rzędzie tych wykresów:

Histogramy

Aby je porównać, możemy obliczyć statystyki chi-kwadrat. Jest to zwykle określane jako rozkład chi-kwadrat w celu oceny istotności :

chisq <- sum((pred-pop)^2 / pred)
df <- length(pop) - 2
pchisq(chisq, df, lower.tail=FALSE)

0.008768630.40

Wykorzystanie dopasowania do oszacowania kwantyli

63(μ,σ)(2.620334,0.405454)F75th

exp(qnorm(.75, mean=fit$par[1], sd=fit$par[2]))

18.066317.76

Te procedury i ten kod można stosować ogólnie. Teorię maksymalnego prawdopodobieństwa można dalej wykorzystać do obliczenia przedziału ufności wokół trzeciego kwartylu, jeśli jest to interesujące.

Whuber
źródło
Wow, dzięki! Muszę przyznać, że nie spodziewałem się, że tak zaawansowana (przynajmniej dla mnie) maszyna zostanie użyta do znalezienia rozwiązania.
atad
Maszyna nie musi być zaawansowana ani wyrafinowana, ale cokolwiek zrobisz, powinieneś podążać za tymi samymi ogólnymi liniami tego przykładu: załóż coś o podziale dochodów, użyj tego, aby dopasować model matematyczny, sprawdź model pod kątem racjonalności, a jeśli jest rozsądne dopasowanie, użyj go do obliczenia kwartylu. Po drodze zastosuj metody graficzne, ponieważ mogą ujawnić ciekawe wzory. (Interesujące jest to, że istnieje wyraźne odstępstwo od logarytmu w zakresie niskich dochodów: zastanawiałbym się, dlaczego tak się dzieje i co może powiedzieć o tej populacji.)
whuber
+1, świetna odpowiedź. Wygląda na to, że będę musiał się jeszcze nauczyć R.
dav
8

Za długo na komentarz:

odpowiedź Whubersa jest tak dobra, jak każda inna, ale zakłada prawidłową skośność w swoim logarytmicznym modelu. Może to być realistyczne w przypadku dochodów w populacji ogólnej, ale może nie dotyczyć dochodów dla jednego pracodawcy w określonej grupie zaszeregowania.

68645017.5

8017.3

17

Henz
źródło
1
16