TP1 - Ali Hajj Hassan

publicité
Université Grenoble Alpes • L2 MIASHS • 2016/2017
TP no 1: lois usuelles discrètes
Le logiciel R permet d’effectuer des calculs avec toutes les lois de probabilité usuelles, et aussi
de simuler des échantillons issus de ces lois. Le tableau suivant résume les différentes lois discrètes
implémentées dans R.
Loi
binomiale
géométrique
hypergéometrique
binomiale négative
Poisson
Appelation R
binom
geom
hyper
nbinom
pois
Arguments
size, prob
prob
m, n, k
size, prob
lambda
Pour effectuer un calcul avec une de ces lois, nous disposons de quatre commandes préfixées
par une des lettres d, p, q, r et suivi de son appellations R:
• dnomdist : il s’agit de la fonction de probabilité ( P[ X = k]) dans le cas d’une loi discrète (et
de la fonction de densité pour une distribution de probabilité continue).
• pnomdist : il s’agit de la fonction de répartition ( P[ X ≤ k ]).
• qnomdist : il s’agit de la fonction des quantiles, c’est-à-dire la valeur pour laquelle la fonction
de répartition atteint une certaine probabilité; dans le cas discret, cette fonction renvoie le
plus petit entier k tel que ( P[ X ≤ k]) ≥ p.
• rnomdist : génère des réalisations aléatoires indépendantes de la distribution nomdist.
Voici quelques exemples :
rgeom(100, 0.25)
# 100 tirages de loi géométrique de paramètre p = 0.25
dbinom(0:2,10,0.3) # probablités de 0, 1, 2 pour la loi B(10, 0.3)
pnbinom(23,2,0.1)
# P( X ≤ 23) pour la loi BN (2, 0.1)
qpois(0.75,1.5)
# 3ème quartile de la loi P (1.5)
Exercice 1.
Soit X ∼ B(10, 0.25).
1. Calculer P( X = 4), P( X ≤ 3), P(5 < X ), P(2 < X ≤ 6) ainsi que la médiane et le premier
quartile de X. Utiliser les commandes dbinom, pbinom, qbinom.
2. Comparer les commandes sum(dbinom(0:4, 10,0.25)) et pbinom(4, 10, 0.25).
3. Créer le vecteur k contenant les entiers allant de 0 à 10. Créer ensuite le vecteur pk donnant
toutes les valeurs de P( X = k), k ∈ {0, 1, . . . , 10}.
4. Quelle est le mode de X (la valeur de X la plus probable) ?
Retrouver le résultat avec la commande k[which(pk==max(pk))].
1
Université Grenoble Alpes • L2 MIASHS • 2016/2017
5. Utiliser la commande sum(k*pk) pour vérifier que E( X ) = 2.5(= np).
De manière similaire, vérifier que V ( X ) = 1.875(= np(1 − p)).
6. La fonction plot permet de représenter graphiquement la loi de probabilité de X. Le type
de tracé est spécifié avec l’option type="h" (lignes verticales d’un diagramme en bâtons),
épaissies grâce à l’option lwd=5. Le titre du graphique est saisi avec la commande main.
plot(k, pk, type = "h", lwd = 10,
main = "Probabilités d’une loi Binomiale \n avec n=10, p =0.25",
ylab = "p(X=k)")
On pourra ajouter l’option lend ="square" afin de tracer des barres rectangulaires.
Exercice 2.
On jette dix fois de suite une pièce équilibrée et on s’intéresse à la variable aleatoire X1 correspondant au nombre de piles obtenus sur les 10 lancers.
1. Quelle est la loi de X1 ?
2. A l’aide de la fonction pbinom, calculer la probabilité d’avoir au plus 3 fois pile.
Retrouver ce résultat avec la fonction dbinom.
3. Représenter graphiquement la loi de la variable X1 .
On suppose maintenant que la pièce est truquée et que la probabilité d’obtenir pile est p = 0.75.
On note X2 la variable aléatoire correspondant au nombre de piles obtenus après 10 lancers.
4. En utilisant la commande par(mfrow = c(1, 2)) puis la fonction plot, représenter sur deux
graphiques différents mais dans une même fenêtre graphique les lois des variables X1 et X2 .
Utiliser à la fin la commande dev.off() pour fermer la fenêtre graphique.
5. Créer le vecteur x contenant les entiers allant de 0 à 10. Créer ensuite le vecteur y (pour
fonction de répartition) donnant toutes les valeurs de P( X ≤ k), k ∈ {0, 1, . . . , 10}.
6. Représenter la fonction de répartition de X2 (plot avec l’argument type=’s’).
7. Lire sur le graphique la médiane de X2 .
8. Calculer la valeur de cette médiane ainsi que les valeurs des quartiles.
Exercice 3.
Tracer le graphe de la fonction de répartition d’une variable aléatoire X suivant
• la loi de Bernoulli B(1, 0.4),
• la loi géométrique G(0.4),
• la loi hypergéométrique H(15, 10, 5),
• la loi binomiale négative BN (3, 0.75).
2
Université Grenoble Alpes • L2 MIASHS • 2016/2017
Exercice 4.
Soit X une variable aléatoire suivant la loi de Poisson P (λ).
1. Soit fpois la fonction prenant k et lambda comme paramètres d’entrée et renvoyant la valeur
p comme sortie:
f p o i s =f u n c t i o n ( k , lambda ) {
p=exp(− lambda ) ∗lambda^k / f a c t o r i a l ( k )
return (p) }
Que représente la valeur renvoyée p ? A quelle fonction R est équivalente la fonction fpois ?
Retrouver le résultat de la commande fpois(3,5) en utilisant la fonction R équivalente.
2. Est-ce que P( X ≤ 7) ≥ 0.85 ?
3. Déterminer le plus petit entier k tel que P( X ≤ k) ≥ 0.95.
4. Calculer P( X ≥ 4).
5. Représenter le graphe de la loi de X à l’aide d’un diagramme à bâtons.
6. Représenter le graphe de la fonction de répartition de X.
Exercice 5.
lorsque n est “grand" et np “petit", on peut approcher la loi binomiale B(n, p) par la loi de Poisson
P(λ) où λ = np. L’objectif de cet exercice est d’illustrer la qualité de l’approximation de la loi
binomiale par la loi de Poisson en considérant différentes configurations de n et p.
Reproduire et interpréter les commandes suivantes:
x = 0:15
y1 = dpois(x, 7.5)
y2= dbinom(x,25, 0.3)
plot(x, y2, type = "h", lty=1,lwd = 2, col="blue",xlab="k",ylab="P(X=k)",
main="Approximation d’une loi binomiale B(25,0.3) par une loi de Poisson P(7.5)")
lines(x,y1,type="h",lty=2,lwd=2,col="red")
legend(11,0.15,lty=c(1,2),legend=c("B(25,0.3)","P(7.5)"),
col=c("blue","red"),bty="n")
ou
proba= c(y1,y2)
proba_matrice = matrix(proba,ncol=16, nrow=2, byrow=T)
colnames(proba_matrice) = x
barplot(proba_matrice,beside=T,ylim=c(0,0.2),col=c("red","blue"),
legend.text=c("B(25,0.3)","P(7.5)")) ; box()
3
Université Grenoble Alpes • L2 MIASHS • 2016/2017
x = 0:15
y = dpois(x, 4)
n=c(25,50,100,200)
p=c(0.16,0.08,0.04,0.02)
par(mfrow = c(2, 2))
for(i in 1:4){
proba= c(dbinom(x,n[i],p[i]),y)
proba_matrice = matrix(proba,ncol=16, nrow=2, byrow=TRUE)
colnames(proba_matrice) = x
barplot(proba_matrice,beside=TRUE,xlab="k",ylab="P(X=k)",
ylim=c(0,0.22),col=c("red","blue"),
legend.text=c(paste("B(",n[i],",",p[i],")",sep=""),"P(4)")) ; box()
}
4
Téléchargement