Ich habe eine Reihe von Rohdatenwerten, die Dollarbeträge sind, und ich möchte ein Konfidenzintervall für ein Perzentil dieser Daten finden. Gibt es eine Formel für ein solches Konfidenzintervall?
Ich habe eine Reihe von Rohdatenwerten, die Dollarbeträge sind, und ich möchte ein Konfidenzintervall für ein Perzentil dieser Daten finden. Gibt es eine Formel für ein solches Konfidenzintervall?
Diese Frage, die eine häufige Situation abdeckt, verdient eine einfache, nicht ungefähre Antwort. Zum Glück gibt es einen.
Angenommen, sind unabhängige Werte von einer unbekannten Verteilung F, deren q- tes Quantil I F - 1 ( q ) schreibt . Dies bedeutet, dass jedes X i eine Chance hat, dass (mindestens) q kleiner oder gleich F - 1 ( q ) ist . Folglich hat die Anzahl von X i kleiner oder gleich F - 1 ( q ) ein Binomial ( n Verteilung.
Motiviert durch diese einfache Überlegung schreiben Gerald Hahn und William Meeker in ihrem Handbuch Statistical Intervals (Wiley 1991)
Ein zweiseitiges verteilungsfreies konservatives -Konfidenzintervall für F - 1 ( q ) wird erhalten ... als [ X ( l ) , X ( u ) ]
wobei die Ordnungsstatistik der Stichprobe ist. Sie fahren fort zu sagen
Man kann ganze Zahlen symmetrisch (oder nahezu symmetrisch) um q ( n + 1 ) und so nah wie möglich beieinander wählen , abhängig von den Anforderungen, dass B ( u - 1 ; n , q ) - B ( l - 1 ; n , q ) ≥ 1 - α .
Der Ausdruck links ist die Wahrscheinlichkeit, dass eine Binomialvariable einen der Werte { l , l + 1 , … , u - 1 } hat . Offensichtlich ist dies die Wahrscheinlichkeit, dass die Anzahl der Datenwerte X i , die innerhalb der unteren 100 q % der Verteilung liegen, weder zu klein (kleiner als l ) noch zu groß ( u oder größer) ist.
Hahn und Meeker folgen mit einigen nützlichen Bemerkungen, die ich zitieren werde.
Das vorhergehende Intervall ist konservativ, da das tatsächliche Konfidenzniveau, das durch die linke Seite von Gleichung ist, größer als der angegebene Wert 1 - α ist . ...
Es ist manchmal unmöglich, ein verteilungsfreies statistisches Intervall zu erstellen, das mindestens das gewünschte Konfidenzniveau aufweist. Dieses Problem ist besonders akut, wenn Perzentile im Schwanz einer Verteilung aus einer kleinen Stichprobe geschätzt werden. ... In einigen Fällen kann der Analyst dieses Problem lösen, indem er und u unsymmetrisch wählt. Eine andere Alternative kann darin bestehen, ein reduziertes Konfidenzniveau zu verwenden.
R
Die mittlere Simulationsabdeckung betrug 0,9503; Die erwartete Abdeckung beträgt 0,9523
Die Übereinstimmung zwischen Simulation und Erwartung ist hervorragend.
#
# Near-symmetric distribution-free confidence interval for a quantile `q`.
# Returns indexes into the order statistics.
#
quantile.CI <- function(n, q, alpha=0.05) {
#
# Search over a small range of upper and lower order statistics for the
# closest coverage to 1-alpha (but not less than it, if possible).
#
u <- qbinom(1-alpha/2, n, q) + (-2:2) + 1
l <- qbinom(alpha/2, n, q) + (-2:2)
u[u > n] <- Inf
l[l < 0] <- -Inf
coverage <- outer(l, u, function(a,b) pbinom(b-1,n,q) - pbinom(a-1,n,q))
if (max(coverage) < 1-alpha) i <- which(coverage==max(coverage)) else
i <- which(coverage == min(coverage[coverage >= 1-alpha]))
i <- i[1]
#
# Return the order statistics and the actual coverage.
#
u <- rep(u, each=5)[i]
l <- rep(l, 5)[i]
return(list(Interval=c(l,u), Coverage=coverage[i]))
}
#
# Example: test coverage via simulation.
#
n <- 100 # Sample size
q <- 0.90 # Percentile
#
# You only have to compute the order statistics once for any given (n,q).
#
lu <- quantile.CI(n, q)$Interval
#
# Generate many random samples from a known distribution and compute
# CIs from those samples.
#
set.seed(17)
n.sim <- 1e4
index <- function(x, i) ifelse(i==Inf, Inf, ifelse(i==-Inf, -Inf, x[i]))
sim <- replicate(n.sim, index(sort(rnorm(n)), lu))
#
# Compute the proportion of those intervals that cover the percentile.
#
F.q <- qnorm(q)
covers <- sim[1, ] <= F.q & F.q <= sim[2, ]
#
# Report the result.
#
message("Simulation mean coverage was ", signif(mean(covers), 4),
"; expected coverage is ", signif(quantile.CI(n,q)$Coverage, 4))
Ableitung
Erstens brauchen wir die asymptotische Verteilung des empirischen cdf.
Da Inverse eine stetige Funktion ist, können wir die Delta-Methode verwenden.
Wenden Sie nun die oben erwähnte Delta-Methode an.
Um das Konfidenzintervall zu konstruieren, müssen wir dann den Standardfehler berechnen, indem wir Beispielgegenstücke für jeden der Begriffe in der obigen Varianz einfügen:
Ergebnis