Comment obtenir un intervalle de confiance pour un centile?

14

J'ai un tas de valeurs de données brutes qui sont des montants en dollars et je veux trouver un intervalle de confiance pour un centile de ces données. Existe-t-il une formule pour un tel intervalle de confiance?

Graphth
la source

Réponses:

20

Cette question, qui couvre une situation courante, mérite une réponse simple et non approximative. Heureusement, il y en a un.

Supposons que sont des valeurs indépendantes d'une distribution inconnue dont le quantile j'écrirai . Cela signifie que chaque a une chance (au moins) d'être inférieur ou égal à . Par conséquent, le nombre de inférieur ou égal à a une distribution binomiale . F q th F - 1 ( q ) X i q F - 1 ( q ) X i F - 1 ( q ) ( n , q )X1,,XnFqthF1(q)XiqF1(q)XiF1(q)(n,q)

Motivés par cette simple considération, Gerald Hahn et William Meeker dans leur manuel Statistical Intervals (Wiley 1991) écrivent

Un intervalle de confiance bilatéral sans distribution conservateur de pour est obtenu ... commeF - 1 ( q ) [ X ( l ) , X ( u ) ]100(1α)%F1(q)[X(l),X(u)]

où sont les statistiques d'ordre de l'échantillon. Ils disentX(1)X(2)X(n)

On peut choisir des entiers symétriquement (ou presque symétriquement) autour de et le plus près possible sous réserve des exigences queq ( n + 1 ) B ( u - 1 ; n , q ) - B ( l - 1 ; n , q ) 1 - α .0lunq(n+1)

(1)B(u1;n,q)B(l1;n,q)1α.

L'expression à gauche est la chance qu'une variable binomiale ait l'une des valeurs . Evidemment, c'est la chance que le nombre de valeurs de données comprises dans les inférieurs de la distribution ne soit ni trop petit (inférieur à ) ni trop grand ( ou supérieur).{ l , l + 1 , , u - 1 } X i 100 q % l u(n,q){l,l+1,,u1}Xi100q%lu

Hahn et Meeker suivent avec quelques remarques utiles, que je citerai.

L'intervalle précédent est conservateur car le niveau de confiance réel, donné par le côté gauche de l'équation , est supérieur à la valeur spécifiée . ...1 - α(1)1α

Il est parfois impossible de construire un intervalle statistique sans distribution ayant au moins le niveau de confiance souhaité. Ce problème est particulièrement aigu lors de l'estimation des centiles dans la queue d'une distribution à partir d'un petit échantillon. ... Dans certains cas, l'analyste peut faire face à ce problème en choisissant et non symétrique. Une autre alternative peut être d'utiliser un niveau de confiance réduit.ulu


Examinons un exemple (également fourni par Hahn & Meeker). Ils fournissent un ensemble ordonné de «mesures d'un composé issu d'un processus chimique» et demandent un intervalle de confiance de pour le percentile. Ils affirment que et fonctionneront.100 ( 1 - α ) = 95 % q = 0,90 l = 85 u = 97n=100100(1α)=95%q=0.90l=85u=97

Figure montrant la répartition binomiale (100, 0,90)

La probabilité totale de cet intervalle, comme le montrent les barres bleues de la figure, est de : c'est aussi proche que possible de , mais toujours au-dessus, en choisissant deux seuils et en éliminant toutes les chances dans le la queue gauche et la queue droite qui sont au-delà de ces seuils.95 %95.3%95%

Voici les données, présentées dans l'ordre, en laissant de côté des valeurs du milieu:81

1.491.662.0524.3324.7225.4625.6725.7726.6428.2828.2829.0729.1631.1431.8333.2437.3253.4358.11

Le plus grand est et le plus grand est . L'intervalle est donc . 24,33 97 e 33,24 [ 24,33 , 33,24 ]85th24.3397th33.24[24.33,33.24]

Réinterprétons cela. Cette procédure était censée avoir au moins chances de couvrir le percentile. Si ce centile dépasse réellement , cela signifie que nous aurons observé ou plus sur valeurs dans notre échantillon qui sont inférieures au centile. C'est trop. Si ce centile est inférieur à , cela signifie que nous aurons observé ou moins de valeurs dans notre échantillon qui sont inférieures au centile. C'est trop peu.90 e 33,24 97 100 90 e 24,33 84 90 e95%90th33.249710090th24.338490th Dans les deux cas - exactement comme indiqué par les barres rouges sur la figure - ce serait une preuve contre le centile se trouvant dans cet intervalle.90th


Une façon de trouver de bons choix de et est de rechercher en fonction de vos besoins. Voici une méthode qui commence par un intervalle approximatif symétrique puis recherche en faisant varier à la fois et jusqu'à afin de trouver un intervalle avec une bonne couverture (si possible). Il est illustré avec du code. Il est configuré pour vérifier la couverture dans l'exemple précédent pour une distribution normale. Sa sortie estlulu2R

La couverture moyenne de simulation était de 0,9503; la couverture prévue est de 0,9523

L'accord entre simulation et attente est excellent.

#
# 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))
whuber
la source
4

Dérivation

Le -quantile (c'est le concept plus général que le centile) d'une variable aléatoire est donné par . L'échantillon homologue peut être écrit comme - ce n'est que le quantile échantillon. Nous sommes intéressés par la distribution de:τqτXFX1(τ)q^τ=F^1(τ)

n(q^τqτ)

Premièrement, nous avons besoin de la distribution asymptotique du cdf empirique.

Puisque , vous pouvez utiliser le théorème de la limite centrale. est une variable aléatoire de Bernoulli, donc la moyenne est et la variance est .F^(x)=1n1{Xi<x}1{Xi<x}P(Xi<x)=F(x)F(x)(1F(x))

n(F^(x)F(x))N(0,F(x)(1F(x)))(1)

Maintenant, comme l'inverse est une fonction continue, nous pouvons utiliser la méthode delta.

[** La méthode delta dit que si , et est une fonction continue, alors **]n(y¯μy)N(0,σ2)g()n(g(y¯)g(μy))N(0,σ2(g(μy))2)

Dans la partie gauche de (1), prenez , etx=qτg()=F1()

n(F1(F^(qτ))F1(F(qτ)))=n(q^τqτ)

[** notez qu'il y a un peu de main dans la dernière étape car , mais ils sont asymptotiquement égaux s'ils sont fastidieux à montrer **]F1(F^(qτ))F^1(F^(qτ))=q^τ

Maintenant, appliquez la méthode delta mentionnée ci-dessus.

Puisque (fonction inverse théorème)ddxF1(x)=1f(F1(x))

n(q^τqτ)N(0,F(qτ)(1F(qτ))f(F1(F(qτ)))2)=N(0,F(qτ)(1F(qτ))f(qτ)2)

Ensuite, pour construire l'intervalle de confiance, nous devons calculer l'erreur standard en branchant des homologues échantillons de chacun des termes de la variance ci-dessus:

Résultat

Doncse(q^τ)=F^(q^τ)(1F^(q^τ))nf^(q^τ)2= τ(1τ)nf^(q^τ)2

EtCI0.95(q^τ)=q^τ±1.96se(q^τ)

Cela vous obligera à estimer la densité de , mais cela devrait être assez simple. Alternativement, vous pouvez également démarrer le CI assez facilement.X

bmciv
la source
1
Pourriez-vous développer votre réponse avec le contenu de l'article lié? Les liens peuvent ne pas fonctionner indéfiniment et cette réponse deviendrait alors moins utile
Andy
1
Quel est l'avantage de ce résultat asymptotique basé sur des estimations de densité par rapport à la distribution libre cibasée sur la distribution binomiale?
Michael M
Est-ce toujours basé sur l'article que vous avez lié à l'origine ?
Nick Stauner
Oui, dois-je ajouter ce lien? Je pense que c'est un résultat bien connu. Je l'ai déjà vu en classe et ce n'est pas difficile à trouver par google. Dans un cas comme celui-ci, vaut-il mieux s'y connecter ou le taper, ou les deux?
bmciv
Je dirais les deux, et que vous devriez le rééditer si cela est cité / dérivé entièrement de celui-ci pour une bonne attribution. Sinon, peu importe que vous le modifiiez, mais en général, la politique Stack Exchange consiste à décourager les réponses de lien uniquement pour éviter la pourriture des liens et par principe (l'idée est d'être un référentiel indépendant, pas un index de lien - mais Je ne sais pas dans quelle mesure ce scénario est plus qu'une "pente glissante" imaginaire).
Nick Stauner