Programmer en R/Les loi de probabilités, ajustement et test
Le logiciel R dispose d'une extension (package) dédiée aux statistiques, stats
, qui est chargée par défaut. Il contient les lois statistiques suivantes : lois bêta, binomiale, de Cauchy, χ2 (khi-deux, khi carré), exponentielle, F de Fisher, gamma, géométrique, hypergéométrique, log-normale, multinomiale, binomiale négative, normale, de Poisson, t de Student, uniforme, de Weibull, du paradoxe des dates d'anniversaire, du rang signé de Wilcoxon, de Tukey et de la somme des rangs de Wilcoxon.
Fonctions relatives aux lois de probabilité
modifierPour chacune de ces lois, R fournit, lorsqu'elle est définie, la densité de probabilité, la fonction de répartition (probabilités cumulées), la fonction de probabilité inverse (quantiles) et un générateur de nombres aléatoires suivant cette loi. Les noms des fonctions sont déterminés de manière systématique.
Loi, suffixe | Fonctions, préfixe | |||
---|---|---|---|---|
Densité de probabilitéd
|
Fonction de répartitionp
|
Quantilesq
|
Générateur aléatoirer
| |
bêta, beta
|
dbeta |
pbeta |
qbeta |
rbeta
|
binomiale, binom
|
dbinom |
pbinom |
qbinom |
rbinom
|
de Cauchy, cauchy
|
dcauchy |
pcauchy |
qcauchy |
rcauchy
|
χ2, chisq
|
dchisq |
pchisq |
qchisq |
rchisq
|
exponentielle, exp
|
dexp |
pexp |
qexp |
rexp
|
F, f
|
df |
pf |
qf |
rf
|
gamma, gamma
|
dgamma |
pgamma |
qgamma |
rgamma
|
géométrique, geom
|
dgeom |
pgeom |
qgeom |
rgeom
|
hypergéométrique, hyper
|
dhyper |
phyper |
qhyper |
rhyper
|
log-normale, lnorm
|
dlnorm |
plnorm |
qlnorm |
rlnorm
|
multinomiale, multinom
|
dmultinom |
pmultinom |
qmultinom |
rmultinom
|
binomiale négative, nbinom
|
dnbinom |
pnbinom |
qnbinom |
rnbinom
|
normale, norm
|
dnorm |
pnorm |
qnorm |
rnorm
|
de Poisson, pois
|
dpois |
ppois |
qpois |
rpois
|
t de Student, t
|
dt |
pt |
qt |
rt
|
uniforme, unif
|
dunif |
punif |
qunif |
runif
|
de Weibull, weibull
|
dweibull |
pweibull |
qweibull |
rweibull
|
Paramètres des fonctions
modifierLes paramètres des fonctions dépendent des paramètres des lois. Deux options sont utilisées de manière générale :
log = TRUE
oulog.p = TRUE
: la probabilité est exprimée par son logarithme népérien ln(p) ;lower.tail = FALSE
: la probabilité est exprimée par la probabilité complémentaire 1 – p.
Ces options ne sont illustrées que pour la loi normale. Nous donnons quelques exemples pour des lois fréquemment utilisées.
Loi normale
modifierUne loi normale admet deux paramètres : l'espérance (ou moyenne, mean) μ (mu) et l'écart type (standard deviation) σ (sigma). On a donc :
dnorm(x)
: densité de probabilité en x de la loi normale centrée réduite, φ(x) ;
dnorm(x, m, s)
oudnorm(x, mean = m, sd = s)
: densité de probabilité en x de la loi normale d'espérance m et d'écart type s ;pnorm(x)
: fonction de répartition en x de la loi normale centrée réduite, Φ(x) ;
pnorm(x, m, s)
oupnorm(x, mean = m, sd = s)
: idem pour la loi normale d'espérance m et d'écart type s ;qnorm(p)
: quantile de la probabilité p pour la loi normale centrée réduite, Φ–1(p) ;
qnorm(p, m, s)
ouqnorm(p, mean = m, sd = s)
: idem pour la loi normale d'espérance m et d'écart type s ;rnorm(n)
: génération de n nombres aléatoires suivant la loi normale centrée réduite ;
rnorm(n, m, s)
ournorm(n, mean = m, sd = s)
: idem pour la loi normale d'espérance m et d'écart type s.
Par ailleurs, ces fonctions admettent des options :
- logarithme népérien de la probabilité :
dnorm(x, mean = m, sd = s, log = TRUE)
(= ln(dnorm(x, m, s)
)),pnorm(x, mean = m, sd = s, log.p = TRUE)
(= ln(pnorm(x, m, s)
)),qnorm(p, mean = m, sd = s, log.p = TRUE)
(=qnorm(exp(p), m, s)
) ; - probabilité complémentaire :
pnorm(x, mean = m, sd = s, lower.tail = FALSE)
(= 1 –pnorm(x, m, s)
),qnorm(p, mean = m, sd = s, lower.tail = FALSE)
(=qnorm(1 - p, m, s)
).
Loi uniforme
modifierUne loi uniforme admet deux paramètres : le minimum a et le maximum b de l'intervalle de définition. On a donc :
dunif(x)
: densité de probabilité en x de la uniforme sur [0 ; 1] ;
dunif(x, a, b)
oudunif(x, min = a, max = b)
: densité de probabilité en x de la loi uniforme sur [a ; b] ;- …
Loi binomiale
modifierUne loi binomiale admet deux paramètres : la taille de l'échantillon (size, nombre de tirages) n et la probabilité de réussite de chaque épreuve, P. On a donc :
dbinom(k, n, P)
oudbinom(k, size = n, prob = P)
: probabilité d'avoir k réussite parmi n tirages ;- …
Loi exponentielle
modifierUne loi exponentielle admet un paramètre : le taux (rate) λ (lambda). On a donc :
dexp(x, lambda)
oudexp(x, rate = lambda)
: densité de probabilité en x de la loi exponentielle de paramètre beta et lambda ;- …
Loi de Poisson
modifierUne loi de Poisson admet un paramètre : son espérance λ (lambda). On a donc :
dpois(k, l)
oudpois(k, lambda = l)
: densité de probabilité en k de la loi de Poisson de paramètre l ;- …
Loi du khi-carré
modifierUne loi du χ2 admet un paramètre : le nombre de degrés de liberté (degrees of freedom) k. On a donc :
dchisq(x, k)
oudchisq(x, df = k)
: densité de probabilité en x de la loi du χ2 à k degrés de liberté ;- …
Les fonctions sont aussi définies pour les lois non-centrées ; on introduit alors le paramètre de décentralisation (non-centering parameter) λ : dchisq(x, k, lambda)
ou dchisq(x, df = k, ncp = lambda)
.
Loi t de Student
modifierUne loi t de Student admet un paramètre : le nombre de degrés de liberté (degree of freedom) k. On a donc :
dt(x, k)
oudt(x, df = k)
: densité de probabilité en x de la loi t de Student à k degrés de liberté ;- …
Les fonctions sont aussi définies pour les lois non-centrées ; on introduit alors le paramètre de décentralisation μ : dt(x, k, mu)
ou dt(x, df = k, ncp = mu)
.
Loi F (de Fisher)
modifierUne loi F admet deux paramètres : les degrés de liberté (degrees of freedom) ν1 et ν2 (nu). On a donc :
df(x, nu1, nu2)
oudf(x, df1 = nu1, df2 = nu2)
: densité de probabilité en x de la loi F à ν1 et ν2 degrés de liberté ;- …
Les fonctions sont aussi définies pour les lois non-centrées ; on introduit alors le paramètre de décentralisation λ : df(x, nu1, nu2, lambda)
ou df(x, df1 = nu1, df2 = nu2, ncp = lambda)
.
Loi de Weibull
modifierUne loi de Weibull admet deux paramètres : le paramètre de forme (shape) β (bêta, parfois noté k) et le paramètre d'échelle (scale) λ (lambda). On a donc :
dweibull(x, beta, lambda)
oudweibull(x, shape = beta, scale = lambda)
: densité de probabilité en x de la loi de Weibull de paramètres beta et lambda ;- …