Expliquer la fonction quantile() en fonction de R
J'ai été mystifié par le R quantile de la fonction tous les jours.
J'ai une notion intuitive de la façon dont les quantiles de travail, et une M. S. dans les stats, mais boy oh boy, la documentation qu'il est confus pour moi.
De la documentation:
Q[i](p) = (1 - gamma) x[j] + gamma
x[j+1],
Je suis avec elle jusqu'à présent. Pour un type je quantile, c'est une interpolation entre x[j] et x [j+1], basée sur une mystérieuse constante gamma
où 1 <= i <= 9, (j-m)/n <= p <
(j-m+1)/n, x[j] est la j-ème ordre
statistique, n est la taille de l'échantillon, et m
est une constante déterminée par l'exemple
quantile type. Ici gamma dépend
la partie fractionnaire de g = np+m-j.
Alors, comment calculer j? m?
Pour l'échantillon continue à quantile
types (4 à 9), l'échantillon
les quantiles peuvent être obtenus en linéaire
l'interpolation entre les kth ordre
statistique et p(k):p(k) = (k - alpha) /(n - alpha - bêta
+ 1),
où α et β sont des constantes déterminées
par le type. De plus, m = alpha + p(1
- alpha - bêta), et gamma = g.
Maintenant, je suis vraiment perdu. p, qui a été une constante avant, est maintenant apparemment une fonction.
Donc, de Type 7, quantiles, la valeur par défaut...
De Type 7
p(k) = (k - 1) /(n - 1). Dans ce cas, p(k) = mode[F(x[k])]. Il est utilisé par S.
Quelqu'un veut-il m'aider? En particulier, je suis confus par la notation de p étant une fonction et d'une constante, ce que le diable m est, et maintenant, pour calculer j pour certains p.
J'espère que sur la base des réponses ici, nous pouvons présenter quelques révisé la documentation qui explique mieux ce qui se passe ici.
quantile.R code source
ou type: quantile.par défaut
Vous devez vous connecter pour publier un commentaire.
Vous êtes naturellement confus. Que la documentation est terrible. J'ai dû revenir sur le papier il est basé sur (Hyndman, R. J.; Fan, Y. (novembre 1996). "Sample Quantiles de la Statistique des Paquets". Statisticien Américain 50 (4): 361-365. doi:10.2307/2684934) afin d'obtenir une compréhension. Commençons avec le premier problème.
La première partie vient tout droit du livre, mais ce que les rédacteurs de documentation a été omis qui
j = int(pn+m)
. Cela signifieQ[i](p)
ne dépend que des deux statistiques d'ordre le plus près d'êtrep
fraction de la voie par le (tri) des observations. (Pour ceux qui, comme moi, qui ne sont pas familiers avec le terme, le "statistiques d'ordre" d'une série d'observations est le tri de la série.)Aussi, la dernière phrase est tout simplement faux. Il faut lire
Comme pour
m
c'est simple.m
dépend de l'9 algorithmes a été choisi. Ainsi, tout commeQ[i]
est le quantile de la fonction,m
doit être considéré commem[i]
. Pour les algorithmes 1 et 2,m
est de 0, 3,m
est -1/2, et pour les autres, c'est dans la partie suivante.C'est vraiment déroutant. Ce que la documentation des appels
p(k)
n'est pas le même que lep
d'avant.p(k)
est le tracé de la position. Dans ce document, les auteurs de l'écrire commep
k
, ce qui permet de. D'autant plus que dans l'expression dem
, lep
est à l'originep
, et lam = alpha + p * (1 - alpha - beta)
. Sur le plan conceptuel, pour les algorithmes 4-9, les points (p
k
,x[k]
) sont interpolées pour obtenir la solution (p
,Q[i](p)
). Chaque algorithme ne diffèrent que dans l'algorithme de lap
k
.Comme pour le dernier bit R est un simple constat de ce qui S utilise.
L'original papier donne une liste de 6 "propriétés souhaitables pour un échantillon de quantile de la fonction", et les états une préférence pour la n ° 8 qui répond à l'ensemble de 1. #5 satisfait à l'ensemble d'entre eux, mais ils ne l'aiment pas sur d'autres motifs (c'est plus phénoménologique que dérivé de principes). #2 est ce que les non-stat geeks comme moi serait de considérer les quantiles et c'est ce qui est décrit dans wikipédia.
BTW, en réponse à dreeves répondre, Mathematica fait les choses de manière très différente. Je crois que je comprends la cartographie. Mathematica est plus facile à comprendre, (a) il est plus facile de se tirer dans le pied avec de l'absurde paramètres, et (b) il ne peut pas faire de la R de l'algorithme n ° 2. (Voici Mathworld du Quantile de la page, qui stipule Mathematica ne peut pas faire #2, mais donne une simple généralisation de tous les autres algorithmes en fonction de quatre paramètres).
help(quantile)
dans R, je suis heureux de la façon dont cela s'est avéré!Il existe différentes manières de calculer les quantiles lorsque vous lui donner un vecteur, et qui n'ont pas connu CDF.
Examiner la question de savoir quoi faire lorsque vos observations ne tombent pas sur les quantiles exactement.
Les "types" sont que la détermination de la façon de le faire. Ainsi, les méthodes de dire "utiliser une interpolation linéaire entre la k-ième ordre statistique et p(k)".
Donc, ce qui est p(k)? Un gars dit: "eh bien, j'aime utiliser k/n". Un autre gars a dit, "j'aime utiliser des (k-1)/(n-1)" etc. Chacune de ces méthodes ont des propriétés différentes qui sont mieux adaptés pour un problème ou d'une autre.
L' \alpha et \beta sont juste des façons de paramétrer les fonctions p. Dans un cas, ils sont 1 et 1. Dans un autre cas, ils sont en 3/8 et -1/4. Je ne pense pas que les p sont jamais une constante dans la documentation. Ils ne montrent pas toujours la dépendance explicite.
Voir ce qui se passe avec les différents types quand vous les mettez dans des vecteurs comme 1:5 et 1:6.
(notez aussi que même si vos observations tombent exactement sur les quantiles, certains types continuent d'utiliser l'interpolation linéaire).