Vous êtes sur la page 1sur 27

Programmation avec le logiciel R (Loi de Probabilité avec R)

Salima Helali

Univesité de Sfax, Faculté de Sciences de Sfax

() 14 décembre 2019 1 / 27
Table des matières

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 2 / 27
Syntaxe générale

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 3 / 27
Syntaxe générale

Syntaxe générale
Soit une var X suivant une loi quelconque dans R.
• pour avoir la densité de X , la commande est : dloi.
• pour avoir la fonction de répartition de X , la commande est : ploi.
• pour avoir la quantile de X , la commande est : qloi.
• pour simuler des réalisations d’une var qui suit la même loi que X , la commande
est : rloi.

Figure 1: Tableau récapitulatif

() 14 décembre 2019 4 / 27
Densité

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 5 / 27
Densité

Densité
• Soit Y une var discrète, "la densité" de Y en y est la probabilité P(Y = y ).
• Soit Y une var continue à densité, fY , "la densité" de Y en y est la fonction fY (y ).
La densité de Y en y est donnée par la commande suivante : dloi(y, p1, p2) ou p1 et p2
sont des paramètres.

Figure 2: Exemples
() 14 décembre 2019 6 / 27
Densité

Densité

Figure 3: Exemples
() 14 décembre 2019 7 / 27
Densité

Densité

Exemple 1 :

On écrit : dbinom(4, 8, 0.3)


Résultat : [1] 0.1361
Alors, on a calculé la densité d’une variable aléatoire X ∼ B(8, 0.3) en x = 4 :

P(X = 4) = C84 0.34 (1 − 0.3)8−4

Une manière de vérifier ça est de faire sur R :

choose(8, 4)x 0.34 x (1 − 0.3)8−4

Résultat : [1] 0.1361

() 14 décembre 2019 8 / 27
Densité

Densité

Exemple 2 :

On écrit : dnorm(1.7, 2, 0.12)


Résultat : [1] 0.1460692
Alors, on a calculé la densité d’une variable aléatoire X ∼ N(2, 0.122 ) en x = 1.7 :
 
1 (1.7 − 2)2
fX (1.7) = √ exp
2π ∗ 0.122 2 ∗ 0.122

Une manière de vérifier ça est de faire sur R :

(1/sqrt(2*pi*0.12 ˆ2))*exp(-(1.7-2) 2/(2*0.12 ˆ 2))

Résultat : [1] 0.1460692

() 14 décembre 2019 9 / 27
Densité

Densité

Exemple 3 :

Calculer la densité en un vecteur des données :

On écrit : dbinom(c(4, 6), 8, 0.3)


Résultat : [1] 0.13613670 0.01000188
On a alors calculé la densité de la variable aléatoire X ∼ B(8, 0.3) pour x ∈ {4, 6}.

On écrit :
dexp(2, c(1, 2, 3))
Résultat : [1] 0.135335283 0.036631278 0.007436257
Alors, on a calculé la densité d’une variable aléatoire X ∼ E (λ) en x = 2, avec λ = 1,
λ = 2 et λ = 3.

Ces résultats peuvent être mis dans un vecteur pour le réutiliser après.
On écrit :
v = dexp(2, c(1, 2, 3))
v
Résultat : [1] 0.135335283 0.036631278 0.007436257.

() 14 décembre 2019 10 / 27
Densité

Représentation graphique
Pour représenter la densité d’une variable aléatoire X discrète, on peut utiliser la
commande plot. On écrit :

plot(0 :5, dbinom(0 :5, 5, 0.2), type = "h", ylab = "P(X = x)")
Résultat :

Figure 4: Exemples

On a alors représenté le graphe de la densité d’une variable aléatoire X ∼ B(5, 0.2).


() 14 décembre 2019 11 / 27
Densité

Représentation graphique
Pour représenter la densité d’une variable aléatoire X continue, on peut utiliser la
commande curve. On écrit :

curve(dnorm(x, 5, 1.5), 0.5, 9.5, ylab = "f X(x )"))


Résultat :

Figure 5: Exemples

On a alors représenté le graphe de la densité d’une variable aléatoire X ∼ N(5, 152 ).


() 14 décembre 2019 12 / 27
Quantile

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 13 / 27
Quantile

Quantile

Soit p ∈]0, 1[ et X une variable aléatoire réelle. Si X est une variable aléatoire discrète,
on appelle p-ème quantile de X l’entier xp défini par

xp = inf{k ∈ Z , FX (k) ≥ p}.

Si X est une variable aléatoire à densité, on appelle p-ème quantile de X le réel xp tel que

FX (xp ) = p.

Le p-ème quantile de X est donné par la commande : qloi(p, p1, p2), ou p1 et p2 sont
deux paramètres.

() 14 décembre 2019 14 / 27
Quantile

Exemple :

On écrit :
qbinom(0.25, 5, 0.6)
Résultat :[1] 2
Alors, on a calcule le p-ème quantile avec p = 0.25 d’une variable X ∼ B(5, 0.6) :

x0 .25 = inf{k ∈ Z , FX (k) ≥ 0.25}.

Pour vérifier ce résultat, on peut chercher toutes les valeurs de FX (x ) pour


x ∈ 0, 1, 2, 3, 4, 5 :
pbinom(0 :5, 5, 0.6)
Résultat : [1] 0.01024 0.08704 0.31744 0.66304 0.92224 1.00000
On constate que FX (1) = 0.08704 < 0.25 ≤ 0.31744 = FX (2), donc x0 .25 = 2.

() 14 décembre 2019 15 / 27
Quantile

Exemple :

On écrit :
qnorm(0.975, 0, 1)
Résultat : [1] 1.96

Alors, on a calculé le p-ème quantile avec p = 0.975 d’une var X ∼ N(0, 1).

() 14 décembre 2019 16 / 27
Simulation

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 17 / 27
Simulation

La commande sample
_ On écrit : sample(x).
Cela correspond au tirage d’un élément de x sans remise, il revient à permuter
aléatoirement les éléments de x .

On écrit : x = 1 :7
sample(x)
Résultat : [1] 2 4 1 7 5 6 3
Si on refait la même commande
sample(x)
Résultat : [1] 1 7 6 2 3 4 5
les résultats sont différents.

() 14 décembre 2019 18 / 27
Simulation

Simulation avec des lois préprogrammées


Si la loi de X dépend d’un ou de plusieurs paramètres, disons p1 et p2, alors on simule
des réalisations de n variables aléatoires indépendantes qui suivent la même loi que X par
les commandes suivantes : rloi(n, p1, p2)
Exemple 1 :
On écrit :
rpois(10, 2)
Résultat : [1] 0 2 2 3 3 5 1 3 1 2
Alors, on a simulé des réalisations de 10 variables aléatoires indépendantes, chacune
suivant la loi de Poisson P(2).
Exemple 2 :
On écrit :
x = rnorm(15, 22, 2)
Résultat :
16.29346 20.03768 23.64521 19.80074 21.79431 23.40846 20.32446 25.50194 23.25963
21.64157 21.97450 23.91137 21.44780 23.14619 22.82958
Alors, on a maintenant construit un vecteur dont les eléments sont des réalisations de 15
variables aléatoires indépendantes, chacune suivant la loi normale N(22, 22 ).

() 14 décembre 2019 19 / 27
Complément du cours

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 20 / 27
Complément du cours

Fonction : définition

La définition d’une fonction suit la syntaxe suivante :


name=function (les entrés de fonction) {
expression
return(les sorties de fonction )
}
name : le nom que l’on décide de donner la la fonction.
expression : le corps de la fonction.
L’appel de la fonction aura la syntaxe suivante :
name()
Par exemple, si on souhaite définir la fonction qui calcule le carré d’un nombre, voici ce
que l’on peut écrire :

carre=function(x){
y = x2
return(y)
}
carre(2)
carre(-3)

() 14 décembre 2019 21 / 27
Complément du cours

Racine d’une fonction

On considère la fonction suivant :


f=function(x){
y =x −3
return(y)
}
? La fonction uniroot recherche la racine d’une fonction dans un intervalle. C’est donc la
fonction de base pour trouver la solution (unique) de l’équation f (x ) = 0 dans un
intervalle determiné.
On écrit

Résultat : 3
Alors on a cherché le zéro de la fonction f sur l’intervalle [−2, 5]

() 14 décembre 2019 22 / 27
Complément du cours

Max et Min d’une fonction

On considère la fonction suivant :


f=function(x){
y = sin(x )
return(y)
}
? La fonction optimize La fonction optimize recherche le minimum local (par défaut) ou
le maximum local d’une fonction dans un intervalle donné.
On écrit

Alors on a cherché le max de la fonction f sur l’intervalle [0, π].


On écrit

Alors on a cherché le min de la fonction f sur l’intervalle [−π/2, π/2].

() 14 décembre 2019 23 / 27
Exercices

1 Syntaxe générale

2 Densité

3 Quantile

4 Simulation

5 Complément du cours

6 Exercices

() 14 décembre 2019 24 / 27
Exercices

Exercice 1

Trouver la solution des équations suivantes à l’aide des fonctions R appropriees.


• x 3 − 2x 2 − 5 = 0 pour 1 ≤ x ≤ 4.
• x 3 + 3x 2 − 5 = 0 pour −4 ≤ x ≤ 0.
• x − 2−x = 0 pour 0 ≤ x ≤ 1.
• e x + 2−x + 2 cos(x ) − 6 = 0 pour 1 ≤ x ≤ 2.
• e x − x 2 + 3x − 2 = 0 pour 0 ≤ x ≤ 1.

() 14 décembre 2019 25 / 27
Exercices

Exercice 2
Représenter la densité d’une variable aléatoire réelle X ∼ P(1) pour
x ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8}.
Solution :
On écrit :
plot(0 :8, dpois(0 :8, 1), type = "h", xlab = "x", ylab = "P(X = x)")

() 14 décembre 2019 26 / 27
Exercices

Exercice 3
Représenter la densité d’une variable aléatoire réelle X ∼ χ2 (3) pour x ∈ [0, 10].
Solution :
On écrit : curve(dchisq(x, 3), 0, 10, xlab = "x")
Cela nous donne :

() 14 décembre 2019 27 / 27