Procédures de calcul des quantiles (cas des données pondérées)
Procédures de calcul des quantiles (cas des données pondérées)
Introduction
La statistique est une méthode scientifique permettant l’organisation, la description, l’estimation, la comparaison ainsi que la prédiction et la recherche des liens de causalité. Il faut éviter de confondre la statistique comme étant la science qui vient d’être définie et une statistique qui est un ensemble de données chiffrées sur un sujet précis.
Une des branches d’études dans la statistique est la statistique descriptive. Un des thèmes qui existent dans la statistique descriptive est la notion des quantiles. De nos jours, nombreux sont les logiciels en statistique qui permettent le calcul rapide et la recherche dans ce domaine. Ce qui nous à amener à élaborer ce travail qui s’intitule « Procédures de calcul des quantiles (cas des données pondérées) ».
Ce travail est divisé en trois parties. La première partie est consacrée au but du travail et à l’introduction à la notion des quantiles. La seconde partie est constituée aux définitions. Pour terminer, nous entamons la méthode de calcul des quantiles.
- But du travail et introduction à la notion des quantiles
- 1But du travail
Dans le logiciel R, les définitions sont implémentées sans que les poids puissent être pris en compte. Le but de ce travail est d’écrire les procédures qui permettent de calculer les quantiles dans le cas où les données sont pondérées.
En effet, le programme R possède une fonction qui calcule les quantiles mais avec les poids égaux de un. Le programme que nous avons écrit calcule les quantiles avec plusieurs versions qui sont dans R en utilisant les coefficients de pondération de telle sorte que si on remplace ces coefficients de pondération par 1, on retombe sur le résultat du programme R. En outre, ces résultats seront comparés avec ceux de l’analyse manuelle. Si les résultats sont identiques, alors notre programme marche de la meilleure des façons.
- 2Introduction à la notion des quantiles
Les quantiles sont des points essentiels pris à des intervalles réguliers verticaux d’une fonction de distribution cumulative de la variable aléatoire. Ce sont des mesures de position qui divisent une série en classes de tailles égales.
Cependant, ils ne servent pas nécessairement a déterminer le centre d’une distribution d’observations, mais plutôt a décrire une position particulière. L’ordre d’un quantile permet de positionner la valeur correspondante sur la distribution considérée. La notion de quantile est directement liée à celle de fonction de répartition qui est un instrument essentiel servant a définir de façon unifiée la loi de probabilité d’une variable aléatoire quelle qu’elle soit, discrète ou continue. Le quantile de point de vu de la définition est l’inverse de la fonction de répartition. La fonction de répartition est une fonction en escalier lorsqu’on a des observations dans une population finie. La fonction n’est donc pas strictement croissante.
C’est ainsi qu’il existe plusieurs interpolations différentes qui ont été proposées. L’article de Rob J. HYNDMAN and Yanan FAN (1996) dans STATISTICAL COMPUTING propose neuf manières différentes pour calculer les quantiles dans le cas d’une fonction discrète avec des poids égaux ou inexistants.
Dans le cadre de ce travail (dont l’objectif est d’abord la transposition des méthodes de calcul des quantiles de la fonction R, et en suite de généraliser la situation avec l’utilisation des poids), nous nous limiterons aux cinq premières définitions.
Les quantiles d’échantillon de type i sont définis par :
1 ≤ i ≤ 9
(j-m)/n ≤ p < (j-m+1)/ n, y[j] est la jeme statistique d’ordre,
0 ≤ γ ≤ 1 (la valeur de gamma est une fonction de j et g),
où n : la dimension de l’échantillon,
m : constante déterminée par le type de quantile,
j : entier directement inférieur à (np+m) avec j =,
g : la partie fractionnelle avec g = pn + m-j
- Définitions
- 1Une fonction de répartition
La fonction de répartition est un instrument de référence pour définir de façon unifiée la loi de probabilité d’une variable aléatoire qu’elle soit discrète ou continue. La fonction de répartition d’une variable aléatoire Y est une fonction F définie par :
Pour un nombre réel x, la fonction de répartition de Y correspond à la probabilité pour que Y soit inférieure ou égal à y.
- 2Les quantiles
Les quantiles sont des mesures de position qui ne tentent pas nécessairement de déterminer le centre d’une distribution d’observations, mais de décrire une position particulière. Un quantile d’ordre q de la variable aléatoire Y, ou q Є [0,1], est défini comme une valeur yq telle que P (Y ≤ yq) = q ou, de même, Fy (yq) = q.
La notion de quantile est directement liée à celle de fonction de répartition. Cette notion de quantile est essentielle du fait que l’ordre d’un quantile permet de positionner la valeur correspondante sur la distribution considérée.
Dans le cas d’une fonction continue, à tout ordre q Є [0,1] correspond une valeur yq du fait de la continuité de Fy. En générale, Fy est strictement croissante sur l’ensemble des valeurs de x où 0 < Fy (y) < 1 et yq est donc unique pour q Є] 0,1[.
Dans le cas d’une fonction discrète, Fy est une fonction en escalier et il peut y avoir tout un intervalle de valeurs possibles si q est entre deux marches.
- 3Les poids dans le calcul des quantiles
Dans une population finie, la notion de poids est très importante quand on envisage les échantillonnages complexes. Dans les plans de sondage complexes les poids sont différents pour chaque individu. Les ajustements pour les non réponses créé aussi des poids. Le calcule des quantiles doit pouvoir tenir compte de ces différents poids.
- Méthodes de calcul des quantiles
Le logiciel R possède une fonction qui calcule les quantiles sans tenir compte des poids. La fonction « quantile » de R admet 9 différentes définitions. Le programme que nous avons écrit, calcule les quantiles pour les 5 premières définitions en tenant compte des poids.
- Principes
Une fonction de répartition peut s’écrire comme une moyenne définie par :
où k éléments de la population U.
I [A] vaut 1 si A est vrai et 0 si A est faux.
On a donc un estimateur par substitution direct donné par :
où S : l’échantillon
wk : les poids.
Le quantile Qp d’ordre p est en principe la solution de l’équation implicite
F(Qp) = p, et pourrait être estimé en résolvant l’équation :
Cependant, les réciproques des fonctions et n’existent pas, ces fonctions sont en escalier et ne sont donc pas strictement croissantes. Le calcul d’un quantile dans une distribution en escalier fait l’objet de multiples définitions dont les cinq premières sont donnés par les différentes définitions suivantes.
- Définition 1
La définition la plus ancienne et la plus étudiée. Elle est l’inverse de la fonction de répartition empirique obtenue en posant m = 0
On sait que :
m = 0, j = , g = np +m –j, la valeur de g est donnée par :
Méthode par récurrence
Soit un échantillon de 10 individus avec n=10
p(%) | np | g | g |
10 | 1 | 0 | 0 |
25 | 2.5 | 0.5 | 1 |
50 | 5 | 0 | 0 |
75 | 7.5 | 0.5 | 1 |
On remarque que :
- Définition 2
Elle est également la plus usuelle, et définie comme suite :
Les Wj sont les poids wk cumulés selon les yk triés par ordre non décroissant sur l’échantillon et j est tel que Wj-1< ≤ Wj
- Définition 3
Après la fonction de distribution empirique et la fonction de distribution empirique avec mise à la moyenne, nous allons définir une autre fonction pour la détermination des quantiles. On a :
Wj-1< np ≤ Wj Þ np – W j-1 ≤ Wj – np Þ Wj + W j-1 ≤ 2np Þ np ≥ ½ (W j-1 + Wj)
On pose:
- Définition 4
Hyndman et Fan (1996) présentent huit autres définitions du quantile dont six sont basés sur une interpolation linéaire de la fonction de répartition. La fonction de répartition devenue strictement croissante peut alors être inversée. Selon les interpolations utilisées, les estimateurs des quantiles ne seront que légèrement différents sauf si la taille de l’échantillon est petite. L’interpolation linéaire la plus simple de la fonction de répartition consiste à joindre par une droite les couples (yk, F1(yk)), ce qui donne :
où Fu(.) est la fonction de répartition d’une variable uniforme dans [0,1[ tel que
Au moyen de cette interpolation, il est possible de définir un quantile de manière univoque. En inversant la fonction, on obtient :
où j est l’unité telle que Wj-1< p ≤ Wj, y0 = y1,
Wj sont les poids wk cumulés selon les yk triés par ordre non décroissant sur l’échantillon.
- Définition 5
Cette définition consiste à interpoler le milieu des contremarches :
où j est l’unité telle que (Wj-1 – wj-1)/2 < p≤ (Wj – wj)/2 et y0 = y1.
- Calcul des quantiles
- Exemple de calcul
Considérons un échantillon qui contient une variable d’intérêt yk, les poids wk, les poids cumulés Wk, et les poids relatifs cumulés pk
yk | wk | Wk | pk |
1 | 25 | 25 | 0.25 |
2 | 10 | 35 | 0.35 |
3 | 20 | 55 | 0.55 |
4 | 15 | 70 | 0.70 |
5 | 30 | 100 | 1.00 |
Avec
En utilisant les définitions énoncées les principes, on obtient pour chacune d’elle les résultats suivants :
- Calcul à l’aide de la première définition
On sait que :
1) p = 25%, np = 25, Wj = 25 Þ Q (1/4) = Yj = 1
2) p = 30%, np = 30, Wj ≠ 30 Þ Q (3/10) = Yj = 2
3) p = 40%, np = 40, Wj ≠ 40 Þ Q (4/10) = Yj = 3
- Calcul à l’aide de la seconde définition
1) p = 25%, np = 25, Wj = np Þ Q (1/4) = ½(1+2) = 1.5
2) p = 30%, np = 30, Wj ≠ np Þ Q (3/10) = Yj = 2
3) p = 40%, np = 40, Wj ≠ np Þ Q (4/10) = Yj = 3
- Calcul à l’aide de la troisième définition
1) p = 25%, np = 25, ½ (W (J-1) + WJ) = ½ (0+25) = 12.5, 25 > 12.5 Þ Q (¼) = YJ = 1
2) p = 30%, np = 30, ½ (W (J-1) + WJ) = ½ (25+35) = 30, 30 = 30 Þ Q (3/10) = YJ = 2
3) p = 40%, np = 40, ½ (W (J-1) + WJ) = ½ (35+55) = 45, 40 < 45 Þ Q (4/10) = YJ-1 = 2
- Calcul à l’aide de la quatrième définition
1) p = 25%, np = 25, Q (1/4) = 0 + (1 – 0) (25 – 0)/25 = 1
2) p = 30%, np = 30, Q (3/10) = 1 + (2 – 1) (30 – 25)/10 = 1.5
3) p = 40%, np = 40, Q (4/10) = 2 + (3 – 2) (40 – 35)/20 = 2.25
- Calcul à l’aide de la cinquième définition
1) p = 25%, np = 25, Q1 (1/4) = Y1 + (Y2 – Y1) (2*25 – 2*25 + 25)/ (25 + 10) = 1.7142
2) p = 30%, np = 30, Q2 (3/10) = Y1 + (Y2 – Y1) (2*30 – 2*25 + 25)/ (25 + 10) = 2
3) p = 40%, np = 40, Q3 (4/10) = Y2 + (Y3 – Y2) (2*40 – 2*35 + 10)/ (20 + 10) = 2.666667
Le tableau des résultats est donné par :
Prob(%) | Définition 1 | Définition 2 | Définition 3 | Définition 4 | Définition 5 |
25 | 1 | 1.5 | 1 | 1 | 1.7142 |
30 | 2 | 2 | 2 | 1.5 | 2 |
40 | 3 | 3 | 2 | 2.25 | 2.666667 |
50 | 3 | 3 | 3 | 2.75 | 3.2857 |
60 | 4 | 4 | 3 | 3.33 | 3.857143 |
70 | 4.5 | 4.5 | 4 | 4 | 4.333333 |
75 | 5 | 5 | 4 | 4.16666 | 4.555556 |
80 | 5 | 5 | 4 | 4.3333 | 4.777778 |
- Calcul des quantiles avec R
- Présentation du code
my.quantile.weights <- function (x, p, w = rep (1/length(x), length (x)), type=2)
{
n <- length(x)
w <- w [orde r(x)]
x <- sort(x)
W <- cumsum (w)
N.hat <- W[n]
k <- length (p)
q <- rep (NaN, k)
for (i in 1:k)
{
j <- 1
if (type==2 || type==4)
{
if (p[i] == 1 && type == 2)
q[i] <- x[n]
else if ((N.hat*p[i] <= W[1]) && type==4)
q[i] <- x[1]
else
{
while (W[j] < N.hat*p[i])
j <- j+1
if (type == 2)
{
if (W[j] == N.hat*p[i])
q[i] <- (x[j]+x[j+1])/2
else
q[i] <- x[j]
}
else if (type == 4)
q[i] <- x[j-1]+(x[j]-x[j-1])*(N.hat*p[i]-W[j-1])/w[j]
}
}
else if (type==5)
{
if (N.hat*p[i] <= (W[1]-w[1]/2))
q[i] <- x[1]
else if (p[i] == 1)
q[i] <- x[n]
else
{
while ((W[j]-w[j]/2) < N.hat*p[i])
j <- j+1
q[i] <- x[j-1]+(x[j]-x[j-1])*(2*p[i]*N.hat-2*W[j-1]+w[j-1])/(w[j-1]+w[j])
}
}
else if (type==1)
{
while (W[j]<N.hat*p[i])
j <- j+1
q[i] <- x[j]
}
else if (type==3)
{
W <- c (W,W[n])
x <- c(x, x[n])
while((j<n)&&((j==round(j/2)*2)&&(N.hat*p[i]>(W[j]+W[j+1])/2))||((j!=round(j/2)*2) &&(N.hat*p[i]>=(W[j]+W[j+1])/2)))
j <- j+1
q[i] <- x[j]
}
}
q
}
- Application du code
x=c(1,2,3,4,5)
x
[1] 1 2 3 4 5
w=c(25,10,20,15,30)
w
[1] 25 10 20 15 30
my.quantile.weights(x,p=c(0.25,0.3,0.4,0.5,0.6,0.7,0.75,0.8),w,type=1)
[1] 1 2 3 3 4 4 5 5
my.quantile.weights(x,p=c(0.25,0.3,0.4,0.5,0.6,0.7,0.75,0.8),w,type=2)
[1] 1.5 2.0 3.0 3.0 4.0 4.5 5.0 5.0
> my.quantile.weights(x,p=c(0.25,0.3,0.4,0.5,0.6,0.7,0.75,0.8),w,type=3)
[1] 1 2 2 3 3 4 4 4
my.quantile.weights(x,p=c(0.25,0.3,0.4,0.5,0.6,0.7,0.75,0.8),w,type=4)
[1] 1.000000 1.500000 2.250000 2.750000 3.333333 4.000000 4.166667 4.333333
my.quantile.weights(x,p=c(0.25,0.3,0.4,0.5,0.6,0.7,0.75,0.8),w,type=5)
[1] 1.714286 2.000000 2.666667 3.285714 3.857143 4.333333 4.555556 4.777778
- Généralisation
x=runif(100)
x
[1] 0.826328650 0.755154905 0.170247589 0.542672059 0.329513291 0.687260645
[7] 0.667031127 0.346433229 0.248068117 0.201831354 0.936042881 0.131127349
[13] 0.835508374 0.434438664 0.663607326 0.622568760 0.852395008 0.535645203
[19] 0.400025385 0.076044597 0.963092725 0.445220873 0.688419588 0.944456850
[25] 0.925151811 0.338180002 0.313386003 0.204388184 0.395580661 0.502747504
[31] 0.664527860 0.082044307 0.327426404 0.331579267 0.232680425 0.441718476
[37] 0.161196413 0.920188227 0.539233868 0.518782849 0.324717310 0.622317814
[43] 0.843185466 0.410435243 0.441096566 0.054517139 0.002833917 0.380732052
[49] 0.938005390 0.853635867 0.303773907 0.075914872 0.610848935 0.857524128
[55] 0.495880042 0.720500562 0.060551010 0.992498028 0.502146883 0.721684213
[61] 0.520716622 0.415568019 0.339781002 0.136957367 0.954229349 0.454681548
[67] 0.718454672 0.204635889 0.725323274 0.731449594 0.438157822 0.028520865
[73] 0.984337734 0.825365626 0.788951817 0.390699725 0.978640016 0.835345673
[79] 0.926319346 0.524266060 0.964131956 0.200169660 0.803858451 0.369206919
[85] 0.086350111 0.139050161 0.493966666 0.553499918 0.077362361 0.674483893
[91] 0.112895121 0.906431854 0.085302786 0.477686999 0.662734430 0.406319332
[97] 0.795347080 0.305590131 0.066314049 0.849867816
w=rep (1,times=length(x))
my.quantile.weights(x,(0:100)/100,w,type=1)-
quantile (x,(0:100)/100,type=1)
0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15%
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31%
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47%
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63%
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79%
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95%
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
96% 97% 98% 99% 100%
0 0 0 0 0
Pour la deuxième, troisième et la cinquième méthode, le résultat est le même que la première.
my.quantile.weights(x,(0:100)/100,w,type=4)-
quantile(x,(0:100)/100,type=4)
0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15%
x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1
16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31%
x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1
32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47%
x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1
48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63%
x1 x1 x1 x1 x1 x1 x1 x2 x3 x4 x1 x1 x1 x1 x1 x1
64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79%
x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1
80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95%
x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1 x1
96% 97% 98% 99% 100%
x1 x1 x1 x1 x1
x1 = 0.000000e+00; x2 = 1.110223e-16; x3 = -1.110223e-16; x4 = 1.110223e-16
Conclusion
Vu les résultats du calcul par l’intermédiaire du code de calcul sur le logiciel R, et ceux des résultats obtenus manuellement, notre procédure de calcul des quantiles est satisfaisante car l’erreur est de l’ordre de 2, 5%.
Autres que le logiciel R, il existe d’autres logiciels comme Excel, SAS, XLSTAT, WinIDAMS ainsi que d’autres logiciels pour effectuer des calculs statistiques ainsi que des travaux de recherche.
Références bibliographiques
- Biostatistiques – statistiques descriptives estimation ponctuelles, Nicolas Molinari, Faculté de Médecine Montpellier-Nîmes
- Outils pour la Biologie, Mouchiroud, Mathématiques
- http://www.math-info.univ-paris5.fr/smel/cours/mp/node14.html
- http://www.math.univ-toulouse.fr/~besse/enseignement.html#haut
- http://www2.toulouse.iufm.fr/mathematiques/stat2/present/indexp.htm
Nombre de pages du document intégral:16
€24.90