La loi binomiale est une distribution de probabilité discrète qui décrit le nombre de succès dans un nombre fixe d’essais indépendants et identiquement distribués (iid)
Rappelons que la formule de probabilité de la loi binomiale est : \[ P(X = k) = {n \choose k} p^k (1-p)^{n-k} \]
où \(X\) est la variable aléatoire qui représente le nombre de succès dans \(n\) essais indépendants, \(p\) est la probabilité d’un succès pour chaque essai, \(k\) est le nombre de succès que l’on souhaite observer, et \({n \choose k}\) est le coefficient binomial qui donne le nombre de façons d’obtenir \(k\) succès parmi \(n\) essais
Les sondages : La loi binomiale est souvent utilisée pour modéliser les résultats des sondages, où chaque personne interrogée a une probabilité \(p\) de répondre “oui” à une question donnée. Le nombre de personnes répondant “oui” suit alors une distribution binomiale. Par exemple, si vous menez un sondage sur les préférences politiques d’un groupe de personnes, vous pouvez utiliser la loi binomiale pour prédire combien de personnes vont voter pour chaque candidat.
Les tests médicaux : La loi binomiale peut être utilisée pour modéliser les résultats des tests médicaux, où chaque test peut donner un résultat “positif” ou “négatif”. La probabilité de recevoir un résultat positif dépend de la sensibilité et de la spécificité du test, ainsi que de la prévalence de la maladie dans la population. Par exemple, si vous testez un grand groupe de personnes pour une maladie donnée, vous pouvez utiliser la loi binomiale pour prédire combien de personnes vont recevoir un résultat positif.
Les défauts de fabrication : La loi binomiale peut être utilisée pour modéliser les défauts de fabrication dans une ligne de production. Par exemple, si vous produisez des pièces électroniques et que chaque pièce a une probabilité \(p\) d’être défectueuse, le nombre de pièces défectueuses sur une ligne de production peut être modélisé par une distribution binomiale. Vous pouvez ensuite utiliser cette distribution pour prédire combien de pièces seront défectueuses dans un lot donné.
Les jeux de hasard : La loi binomiale peut également être utilisée pour modéliser les jeux de hasard, comme les jeux de cartes ou les jeux de loterie. Par exemple, si vous jouez à un jeu de cartes dans lequel vous tirez une carte d’un paquet de 52 cartes, vous pouvez utiliser la loi binomiale pour prédire combien de fois vous allez tirer une carte donnée après un certain nombre de tirages.
R propose plusieurs fonctions pour travailler avec la loi binomiale
Voici un exemple d’utilisation de la loi binomiale dans R
Supposons que vous avez un sac avec 20 billes, dont 6 sont rouges et 14 sont noires. Vous tirez 5 billes au hasard, sans remiseQuelle est la probabilité que vous obteniez exactement 2 billes rouges ?
La réponse à cette question peut être trouvée en utilisant la loi binomiale. Dans R, vous pouvez calculer la probabilité exacte avec la fonction dbinom()
Voici le code R pour calculer cette probabilité :
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.1 ✔ purrr 1.0.1
## ✔ tibble 3.1.8 ✔ dplyr 1.1.0
## ✔ tidyr 1.3.0 ✔ stringr 1.5.0
## ✔ readr 2.1.4 ✔ forcats 1.0.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
# Définir les paramètres de la loi binomiale
n <- 5 # nombre d'essais
p <- 6/20 # probabilité de succès (bille rouge)
k <- 2 # nombre de succès souhaité (2 billes rouges)
# Calculer la probabilité de k succès
prob <- dbinom(k, n, p)
prob
## [1] 0.3087
# Générer toutes les probabilités pour k allant de 0 à n
(probs <- dbinom(0:n, size = n, prob = p))
## [1] 0.16807 0.36015 0.30870 0.13230 0.02835 0.00243
# Charger les packages nécessaires
library(knitr)
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
# Créer un data.frame avec les probabilités
df <- data.frame(k = 0:n, Probabilite = probs)
# Formater les probabilités sans le zéro de tête
df$Probabilite <- sub("^0\\.", ".", sprintf("%.4f", df$Probabilite))
# Créer un tableau avec les probabilités
kable(df, align = c("c", "c"), caption = "Distribution de probabilité binomiale pour n = 5 et p = 0.3") %>%
kable_classic(full_width = FALSE)
k | Probabilite |
---|---|
0 | .1681 |
1 | .3601 |
2 | .3087 |
3 | .1323 |
4 | .0284 |
5 | .0024 |
# Générer toutes les probabilités pour k allant de 0 à n
probs <- data.frame(k = 0:n) %>%
mutate(prob = dbinom(k, n, p))
# Créer le graphique avec ggplo2
ggplot(probs, aes(x = k, y = prob)) + geom_rect(aes(xmin = k - 0.5, xmax = k + 0.5, ymin = 0, ymax = prob),
fill = "red", width = 1) +
xlab("Nombre de succès (k)") +
ylab("Probabilité") +
ggtitle(paste("Distribution de probabilité binomiale pour n =", n, "et p =", p))+
scale_x_continuous(breaks = 0:n, expand = c(0, 0))
## Warning in geom_rect(aes(xmin = k - 0.5, xmax = k + 0.5, ymin = 0, ymax =
## prob), : Ignoring unknown parameters: `width`
Pour tracer la fonction de répartition de la loi binomiale, vous pouvez utiliser la fonction pbinom() de R, qui calcule la probabilité cumulée de la loi binomiale pour un certain nombre de succès. Ensuite, vous pouvez tracer la fonction de répartition en utilisant la fonction ggplot2()
La fonction de répartition (ou fonction cumulative) d’une variable aléatoire discrète est une fonction qui associe à chaque valeur de la variable aléatoire la probabilité que cette valeur soit inférieure ou égale à cette valeur
Si \(X\) est une variable aléatoire discrète avec un ensemble de valeurs possibles \(S\), la fonction de répartition de \(X\) est définie comme :
\[F(x)=P(X\leq x)\] pour tout \(x\in S\), où \(P(X \leq x)\) est la probabilité que \(X\) prenne une valeur inférieure ou égale à \(x\).
# Générer toutes les probabilités pour k allant de 0 à n
probs <- data.frame(k = 0:n) %>%
mutate(prob = dbinom(k, n, p),
cdf = pbinom(k, n, p))
# Créer le graphique de la fonction de répartition
ggplot(probs, aes(x = k, y = cdf)) +
geom_step(color = "red", linewidth= .8) +
xlab("Nombre de succès (k)") +
ylab("Probabilité cumulée") +
ggtitle(paste("Fonction de répartition de la loi binomiale pour n =", n, "et p =", p))
\[ E(X) = \sum_{x}xP(X=x) \] où \(x\) est la valeur de la variable aléatoire X et \(P(X=x)\) est la probabilité associée à cette valeur
\[E(X) = np\]
où \(n\) est le nombre d’essais et \(p\) est la probabilité de succès dans chaque essai
n <- 5 # nombre d'essais
p <- 0.3 # probabilité de succès
esp <- sum(0:n * dbinom(0:n, n, p))
tolerance <- 1e-6
abs(esp - n * p) < tolerance
## [1] TRUE
Ici, la variable tolerance représente la marge d’erreur tolérée pour la comparaison des deux valeurs. Si la valeur retournée est “TRUE”, alors les deux valeurs sont considérées comme égales avec une marge d’erreur tolérée de tolerance. Vous peuvez ajuster la valeur de tolerance en fonction des besoins
Générer un grand nombre de réalisations de la loi binomiale :
set.seed(123) # pour la reproductibilité
X <- rbinom(10000, n, p)
mean(X)
## [1] 1.4849
La valeur de la moyenne obtenue avec R devrait être proche de l’espérance mathématique de la loi binomiale, qui est égale à 1.5 dans cet exemple. Vous pouvez essayer différentes valeurs pour n et p et vérifier que la moyenne des réalisations de la loi binomiale est proche de l’espérance mathématique de la loi binomiale pour ces valeurs
La loi des grands nombres est un concept important en probabilité et en statistiques qui stipule que, en répétant un grand nombre de fois une expérience aléatoire, la moyenne des résultats se rapproche de la valeur attendue (l’espérance) de l’expérience. Autrement dit, plus on répète l’expérience, plus la moyenne des résultats converge vers l’espérance
Dans le cas de la loi binomiale, la moyenne des réalisations obtenues
en utilisant la fonction rbinom
de
R devrait être proche de l’espérance mathématique de la
loi binomiale, qui est égale à n * p
. En
répétant cette expérience aléatoire un grand nombre de fois (par exemple
en augmentant le nombre de réalisations à 10000 ou plus), on s’attend à
ce que la moyenne des réalisations se rapproche de plus en plus de
l’espérance mathématique théorique. C’est une illustration de la loi des
grands nombres en action
Il peut être intéressant pour les utilisateurs de
R d’expérimenter avec différentes valeurs de
n
et p
pour
voir comment la loi des grands nombres s’applique à la loi
binomiale
La loi des grands nombres est un concept fondamental en probabilité et en statistiques. Elle stipule que la moyenne d’un grand nombre d’observations d’une expérience aléatoire converge vers l’espérance mathématique de l’expérience. En d’autres termes, plus on répète une expérience aléatoire, plus la moyenne des résultats se rapproche de la valeur attendue. Cette loi a été démontrée par plusieurs mathématiciens au fil des siècles, et elle est considérée comme l’un des piliers de la théorie des probabilités
La fonction quantile \(Q(p)\) est définie comme suit pour une variable aléatoire X :
\[ Q(p) = \min \{x \in \mathbb{R} : F(x) \geq p\} \]
où \(F(x)\) est la fonction de répartition de \(X\) et \(p\) est une probabilité entre 0 et 1. Autrement dit, la fonction quantile renvoie la plus petite valeur de la variable aléatoire \(X\) telle que la probabilité de la variable aléatoire prenant une valeur inférieure ou égale à cette valeur soit supérieure ou égale à la probabilité donnée
Le concept de quantile est important en statistiques car il permet de caractériser la distribution d’une variable aléatoire. En particulier, les quantiles permettent de décrire les valeurs extrêmes, les valeurs centrales, ainsi que la dispersion des données
Par exemple, le quantile d’ordre 0.5 (ou la médiane) est une mesure de la tendance centrale qui divise la distribution en deux parties égales. Les quartiles (quantiles d’ordre 0.25 et 0.75) permettent de caractériser la dispersion des données autour de la médiane. Les déciles (quantiles d’ordre 0.1, 0.2, …, 0.9) et les percentiles (quantiles d’ordre 1, 2, …, 99) permettent d’avoir une idée plus fine de la répartition des données
En somme, les quantiles sont des outils très utiles pour résumer et visualiser une distribution de données, et ils sont largement utilisés en statistiques, en particulier en statistiques descriptives et en analyse exploratoire des données
Dans le cas de la loi binomiale, la fonction quantile permet de déterminer la plus petite valeur \(k\) telle que la probabilité de la variable aléatoire prenant une valeur inférieure ou égale à k soit supérieure ou égale à une probabilité donnée p. On peut exprimer cela comme suit:
\[ Q(p) = \min\{k : P(X \leq k) \geq p\} \]
où \(X\) suit une loi binomiale avec des paramètres \(n\) et \(p\), et \(P(X ≤ k)\) est la probabilité cumulative jusqu’à \(k\), \(k\) est un entier qui varie entre \(0\) et \(n\)
# Définir les paramètres de la loi binomiale
n <- 10
p <- 0.3
# Calculer le quantile pour une probabilité de 0.1
q <- qbinom(0.1, size = n, prob = p)
q
## [1] 1
pbinom(1, size=n, prob = p)
## [1] 0.1493083
# Définir les paramètres de la loi binomiale
n <- 5
p <- 0.3
# Générer une séquence de probabilités allant de 0 à 1 par pas de 0.01
probs <- seq(0, 1, 0.001)
# Calculer les quantiles correspondants à chaque probabilité
quantiles <- qbinom(probs, size = n, prob = p)
# Créer le graphique
ggplot(data.frame(probs, quantiles), aes(x = probs, y = quantiles)) +
geom_line() +
xlab("Probabilité") +
ylab("Quantile") +
ggtitle("Fonction quantile pour la distribution binomiale avec n = 5 et p = 0.3")
library(ggplot2)
# Définir les paramètres de la loi binomiale
n <- 5
p <- 0.3
# Générer la fonction quantile
qfun <- stepfun(seq(0, 1, 0.01), c(0, qbinom(seq(0, 1, 0.01), n, p)))
# Créer le graphique
ggplot(data.frame(x = c(0, 1)), aes(x = x)) +
stat_function(fun = qfun, geom = "step", size = .8, color = "red") +
xlab("Probabilité") +
ylab("Quantile") +
ggtitle(paste("Fonction quantile pour n =", n, "et p =", p))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
stat_function est une fonction de ggplot2 qui permet de tracer une courbe représentant une fonction donnée. Cette fonction prend en entrée une fonction R et un intervalle de valeurs pour la variable indépendante. Elle utilise ensuite cette fonction pour générer des valeurs de la variable dépendante à partir des valeurs de la variable indépendante, puis trace la courbe correspondante.
Dans notre cas, la fonction que nous avons fournie à stat_function était notre fonction quantile, calculée à l’aide de stepfun et de qbinom. Nous avons également spécifié l’intervalle de valeurs pour la variable indépendante avec data.frame(x = c(0, 1)).
En utilisant stat_function, nous avons pu tracer notre fonction quantile en utilisant les outils de ggplot2, comme le choix de la couleur et de l’épaisseur de la ligne, ainsi que le formatage des étiquettes d’axe et de titre.
# Définir les paramètres de la loi binomiale
n <- 5
p <- 0.3
# Générer la fonction de répartition
pfun <- function(x) pbinom(x, n, p)
# Créer le graphique
ggplot(data.frame(x = 0:n), aes(x = x)) +
stat_function(fun = pfun, geom = "step", size = .8, color = "red") +
xlab("Nombre de succès (k)") +
ylab("Probabilité cumulée") +
ggtitle(paste("Fonction de répartition pour n =", n, "et p =", p))
\[ Var(X) = E[(X - E[X])^2] \]
où \(E[X]\) est l’espérance mathématique de \(X\). En ce qui concerne la loi binomiale, sa variance est donnée par :
\[ Var(X) = np(1-p) \]
où \(n\) est le nombre d’essais et \(p\) la probabilité de succès lors de chaque essai. On peut vérifier cette propriété en utilisant R
# Définir les paramètres de la loi binomiale
n <- 5
p <- 0.3
# Calculer l'espérance et la variance de la loi binomiale
mu <- n * p
variance <- n * p * (1 - p)
# Afficher les résultats
cat("Espérance de la loi binomiale :", mu, "\n")
## Espérance de la loi binomiale : 1.5
cat("Variance de la loi binomiale :", variance, "\n")
## Variance de la loi binomiale : 1.05
# Calculer la variance pondérée
probs <- dbinom(0:n, n, p)
weighted_var <- sum((0:n - mu)^2 * probs)
# Afficher la variance pondérée
cat("Variance pondérée de la loi binomiale :", weighted_var, "\n")
## Variance pondérée de la loi binomiale : 1.05
Il est recommandé aux femmes âgées de 40 ans et plus de passer une mammographie chaque année. Un rapport récent indique que si une femme passe des mammographies annuelles sur une période de 10 ans, il y a une probabilité de 60% qu’il y ait au moins un résultat faux positif. (Un résultat de mammographie faux positif est un résultat qui indique la présence d’un cancer alors qu’en fait il n’y en a pas). Si les résultats des tests annuels sont indépendants, quelle est la probabilité qu’au cours d’une année donnée, une mammographie produise un résultat faux positif ? (trouvez la valeur de p telle que la probabilité qu’une variable aléatoire binomiale avec n=10 soit supérieure ou égale à 1 soit de 0.60).
Un chercheur travaillant sur un traitement de la calvitie a remarqué que les hommes d’âge moyen présentant une calvitie ont une probabilité de 45% de subir une crise cardiaque au cours de la prochaine décennie. Dans un échantillon de 100 hommes chauves d’âge moyen, quelles sont les probabilités suivantes ?