79 votes

Expliquer la fonction quantile () dans 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.

À partir de la documentation:

Q[i](p) = (1 - gamma) x[j] + gamma x[j+1],

Je suis avec elle jusqu'à présent. Pour un type que je quantile, c'est une interpolation entre x[j] et x [j+1], basée sur une mystérieuse de la 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, pour le Type 7 quantiles, la valeur par défaut...

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

66voto

AFoglia Points 3791

Vous êtes à juste titre 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.

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 type quantile. Ici gamma dépend de la partie fractionnaire de g = np+m-j.

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 signifie Q[i](p) ne dépend que des deux statistiques d'ordre le plus près d'être p de la fraction de la voie par le (tri) des observations. (Pour ceux qui, comme moi, qui ne sont pas familiers avec le terme, "les 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

Ici gamma dépend de la partie fractionnaire de np+m, g = np+m-j

Comme pour m c'est simple. m dépend de l'9 algorithmes a été choisi. Ainsi, tout comme Q[i] est le quantile de la fonction, m doit être considérée m[i]. Pour les algorithmes 1 et 2, m 0, 3, m est -1/2, et pour les autres, c'est dans la partie suivante.

Pour l'échantillon continue à quantile types (4 à 9), l'échantillon quantiles peuvent être obtenues par interpolation linéaire 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.

C'est vraiment déroutant. Ce que la documentation des appels p(k) n'est pas le même que l' p d'avant. p(k) est le tracé de la position. Dans ce document, les auteurs de l'écrire comme pk, ce qui permet de. D'autant plus que dans l'expression d' m, p est à l'origine d' p, et l' m = alpha + p * (1 - alpha - beta). Sur le plan conceptuel, pour les algorithmes 4-9, les points (pk, x[k]) sont interpolées pour obtenir la solution (p, Q[i](p)). Chaque algorithme ne diffèrent que dans l'algorithme de l' pk.

Comme pour le dernier bit R est un simple constat de ce qui S utilise.

Le papier d'origine 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éponse, 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, à laquelle les états Mathematica ne peut pas faire #2, mais donne une simple généralisation de tous les autres algorithmes en fonction de quatre paramètres).

6voto

Baltimark Points 2600

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

1voto

dreeves Points 9130

La fonction quantile de Mathematica est probablement similaire et sa documentation est peut-être plus élucidante:

http://reference.wolfram.com/mathematica/ref/Quantile.html

Voici des informations générales sur les fonctions quantiles:

http://en.wikipedia.org/wiki/Quantile_function

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X