Module de : Université de Tunis El Manar Niveau : 1ière Année
Méthodes Statistiques &
Filière : M1R-EEA
Processus Stochastiques
Chargé de Cours : Faculté des Sciences [Link]. : 2020-2021
A. Oueslati de Tunis Semestre I
1. La fonction plot est une fonction générique de R permettant de représenter tous les types de données.
L’utilisation classique de la fonction plot consiste à représenter un nuage de points d’une variable y en
fonction d’une variable x. Elle admet en arguments le vecteur x des abscisses et le vecteur y des ordonnées.
Par exemple, pour représenter à intervalles réguliers les points de la courbe de x 7−→ sin(2πx) sur [0, 1],
on utilise les commandes suivantes :
x <- seq(0,1,length=50)
y <- sin(2*pi*x)
plot(x,y)
1.0
●●●●
●● ●●
● ●
● ●
● ●
●
0.5
●
●
●
●
●
●
●
●
●
0.0
● ●
y
●
●
●
●
●
●
−0.5
●
●
●
● ●
● ●
● ●
● ●
−1.0
●● ●●●
●●
0.0 0.2 0.4 0.6 0.8 1.0
x
Ces commandes entraı̂nent l’ouverture d’une fenêtre graphique. Il est plus classique en statistique d’uti-
liser la fonction plot avec des formules du type y x. Par exemple, le graphique précédent peut aussi être
obtenu par :
plot(y~x)
1.0
●●●●
●● ●●
● ●
● ●
● ●
●
0.5
●
●
●
●
●
●
●
●
●
0.0
● ●
y
●
●
●
●
●
●
−0.5
●
●
●
● ●
● ●
● ●
● ●
−1.0
●● ●●●
●●
0.0 0.2 0.4 0.6 0.8 1.0
x
1. Représentation d’une variable Nous étudions les différentes manières de représenter une seule
variable suivant sa nature. Pour ce faire, nous utilisons le jeu de données sur le ronflement étudié
dans la fiche précédente.
1
a. Variable quantitative continue Nous étudions ici la variable continue age.
A. La représenter sous forme d’histogramme (fonction hist).
B. A l’aide de l’argument main de la fonction hist, ajouter le titre Histogramme des âges à
l’histogramme précédent.
C. Représenter l’histogramme des densités avec les classes [20;40], ]40;55], ]55,80].
D. On peut également visualiser une variable continue à l’aide d’un boxplot (fonction boxplot).
E. L’instruction par(mfrow=c(n,p)) partitionne la fenêtre graphique en np sous-figures sur n
lignes et p colonnes. Représenter côte à côte l’histogramme et le boxplot précédents.
b. Variable quantitative discrète, variable qualitative Les diagrammes en barres peuvent représenter
aussi bien des variables qualitatives que quantitatives discrètes.
A. Représenter la variable sexe (fonction plot).
B. Représenter la variable alcool (transformée en variable qualitative via la fonction [Link]).
2. Représentation de deux variables Les représentations diffèrent bien entendu suivant les types
des variables.
a. Représenter le poids en fonction de la taille.
b. Un boxplot peut être utilisé pour comparer une variable quantitative suivant les modalités d’une
variable qualitative (fonction boxplot). Représenter ainsi les boı̂tes à moustaches de la variable
age en fonction de la variable ronfle. Conclusion ?
3. Améliorer la présentation d’un graphe Certains arguments permettant d’améliorer le graphe
peuvent être utilisés directement dans la fonction plot.
a. Dans la représentation du poids en fonction de la taille, utiliser les arguments xlim et ylim pour
obtenir un graphique de limites [150,210] et [40,120].
b. Ajouter les légendes pour les axes par les arguments xlab et ylab.
c. Il est possible d’insérer des lignes sur un graphe. Grâce à la fonction abline, ajouter une droite
verticale au niveau de la médiane des tailles et une droite horizontale au niveau de la médiane
des poids.
d. Calculer le centre de gravité du nuage de points, le représenter par une croix rouge (arguments
pch et col de la fonction points) et écrire "G", toujours en rouge, juste en dessous via la fonction
text.
4. Graphiques en trois dimensions Les fonctions classiques de représentation 3D sur une grille de
points sont les fonctions persp (3D avec effet de perspective), contour (lignes de niveau) et image
(lignes de niveau avec effet de couleur). Le classique ”chapeau mexicain”, proposé dans l’aide de
persp, est le graphe de la fonction
p p
f : (x, y) 7−→ z = f (x, y) = 10sin x2 + y 2 / x2 + y 2
a. Programmer la fonction f .
b. Définir deux vecteurs x et y de 200 valeurs chacun, comprises entre -10 et 10.
c. Il suffit alors d’évaluer la fonction f en chaque point de la grille, c’est-à-dire que pour chaque
couple x[i], y[j], nous calculons f(x[i],y[j]). Afin d’éviter une (double) boucle, utiliser la
fonction outer, qui permet ce type d’évaluation directement.
d. Tracer cette fonction en 3D à l’aide de la fonction persp.
e. Faire pivoter la figure précédente grâce aux arguments theta et phi.
f. Noter qu’on peutégalement obtenir les courbes de niveaux en utilisant contour(x,y,z) ou image(x,y,z).
On peut aussi utiliser le package rgl pour construire la surface précédente :
library(rgl)
[Link](x,y,z)
Ce package est à conseiller pour tous les problèmes de visualisation 3D. En effet, il permet par
exemple d’opérer des rotations des graphiques avec la souris ainsi que d’utiliser des symboles avec
effet d’éclairage.
5. Complément d’exercices
a. Graphes de fonctions
A. Tracer la fonction sinus en rouge (arguments type et col) sur l’intervalle [0, 4π].
2
B. Superposer sur ce graphe la fonction cosinus (fonction lines).
C. Ajouter sur le même graphe les droites d’équations y = 1 et y = +1 en vert (fonction abline).
D. Ajouter la droite d’équation y = x en tirets (argument lty) bleus.
b. Comparaisons de variables On souhaite comparer la distribution des variables taille et poids
suivant les modalités de la variable ronfleur.
A. Comparer la distribution de la variable taille suivant les modalités de la variable ronfle à
l’aide d’un boxplot.
B. Même question pour la variable poids.
C. Représenter les figures des questions précédentes sur une même fenêtre graphique.
D. Sauvegarder le graphique au format pdf.
2. Factorielle
1. Programmer factorielle n, c’est-à-dire n! = n × (n − 1) × ... × 2 × 1 en utilisant prod.
2. Programmer factorielle n en utilisant une boucle for.
3. Comparer à la fonction gamma disponible sous R.
3. Création et inversion d’une matrice
1. Créer la matrice mat suivante (avec les noms de lignes et noms de colonnes, on pourra utiliser les
fonctions rownames et colnames, ou encore la fonction dimnames) :
colonne 1 colonne 2 colonne 3 colonne 4
ligne-1 1 5 5 0
ligne-2 0 5 6 1
ligne-3 3 0 3 3
ligne-4 4 4 4 2
2. Calculer le déterminant puis inverser la matrice en utilisant les fonctions appropriées.
3. Stocker la matrice mat, son déterminant et sa matrice inverse dans une liste de trois éléments. On
nommera ces éléments : matrice, determinant et inverse.
4. Retrouver l’inverse en utilisant la fonction ginv du package MASS.
4. Diagonalisation Les matrices suivantes sont-elles diagonalisables ? Si oui, expliciter la diagonalisation.
0 1 1
5 −2
A= ;B= 1 0 1
4 −1
1 1 0
5. Sélection et tri dans un data-frame Le data-frame iris est disponible sous R. Il suffit de taper
data(iris) pour le charger.
1. Obtenir un résumé de ce jeu de données grâce à la fonction summary.
2. Déterminer les dimensions de ce jeu de données grâce à la fonction dim.
3. Visualiser ses cinq premières lignes.
4. Créer un nouveau data-frame, que vous appellerez iris2, comportant uniquement les données de la
modalité versicolor de la variable Species.
5. Trier par ordre décroissant les données de iris2 en fonction de la variable [Link] (vous
pourrez utiliser la fonction order).
6. Loi Binomiale On jette dix fois de suite une pièce équilibrée et on s’intéresse à la variable aléatoire X
correspondant au nombre de Pile obtenus sur les 10 lancers.
1. Quelle est la loi de X ?
2. Déterminer P (X = 7).
3. Représenter la loi de la variable X (argument type=”h” de la fonction plot).
4. Soit Y le nombre de Pile obtenus après 10 lancers lorsque la pièce est truquée avec probabilité
d’obtenir Pile égale à p = 0.75. Représenter sur deux graphiques différents mais dans une même
fenêtre graphique les lois des variables X et Y .
5. Calculer la valeur de la fonction de répartition de la variable Y au point 7.
6. Représenter la fonction de répartition de Y (plot avec l’argument type=”s”).
7. Lire sur le graphique la médiane de Y .
3
8. Retrouver la valeur de cette médiane ainsi que les valeurs des quartiles.
7. Loi Normale Nous étudions les représentations des lois continues à travers l’exemple de la loi normale.
1. Représenter sur une même fenêtre graphique la densité et la fonction de répartition de la loi normale
centrée réduite (on représentera ces fonctions sur l’intervalle [−4; 4]).
2. Déterminer le quantile d’ordre 0.95.
3. Fermer cette fenêtre graphique, représenter à nouveau la densité de la loi N (0, 1) et ajouter l’axe des
abscisses.
4. Grâce à la fonction segments, ajouter un segment vertical joignant l’axe des abscisses à la fonction
de densité au niveau du quantile d’ordre 0.95.
5. Que représentent les aires sous la courbe se trouvant à gauche et à droite du segment ?
6. Reprendre les questions précédentes pour une loi normale de moyenne 2 et de variance 4.
8. Simulations La simulation de données consiste typiquement à tirer un échantillon (X1 , ..., Xn ) de
variables indépendantes et identiquement distribuées (en abrégé i.i.d.) suivant la même loi qu’une variable
aléatoire X. Les fonctions utilisées sur R pour simuler des données suivant une loi s’écrivent de la même
manière que pour la densité, la fonction de répartition ou le quantile, mais cette fois avec le préfixe r.
Par exemple, la fonction
rnorm(5,mean=0,sd=1)
## [1] -0.3669 1.0946 0.2092 0.4325 -1.2409
simule un échantillon de taille 5 suivant une loi normale centrée réduite.
1. Simuler un échantillon de taille 20 suivant une loi normale N (0.1). Stocker cet échantillon dans un
vecteur ech.
2. Tracer l’histogramme (de la densité) pour l’échantillon ech.
3. Superposer sur le même graphe la loi normale centrée réduite.
4. Refaire les questions précédentes pour des échantillons de taille 100, 1000 et 10000. On présentera les
3 figures dans une même fenêtre graphique. Interpréter.
9. Loi de Fisher On rappelle que si U ∼ χ2 (k), V ∼ χ2 (l) avec U et V indépendantes, alors par définition
la quantité U/k
V /l suit une loi de Fisher à k et l degrés de liberté.
Par la même méthode qu’à l’exercice précédent, illustrer la loi de Fisher à 8 et 16 degrés de liberté.
10. Loi du χ2 Nous illustrons dans cet exercice la P définition suivante : si X1 , ..., Xd sont i.i.d. suivant la loi
d
normale centrée réduite, alors la variable Y = i=1 Xi2 suit une loi du χ2 à d degrés de liberté, ce que
2
l’on note Y ∼ χ (d).
1. Simuler n = 500 échantillons de taille d = 20 suivant une loi N (0, 1). On pourra mettre les résultats
dans une matrice echs de dimension n × d.
2. Mettre dans un vecteur ech de taille n la somme des carrés des lignes de la matrice echs (on a ainsi
simulé un échantillon de taille n de la variable Y ).
3. Représenter à l’aide d’un histogramme la distribution de l’échantillon ech. On pourra utiliser des
classes de longueur 3 réparties uniformément sur l’intervalle [0, 51].
4. Comparer cette représentation avec la densité de la loi du χ2 à 20 degrés de liberté (superposer la
densité avec l’histogramme).
11. Loi de Student
1. Tracer la courbe de la loi normale centrée réduite entre −4 et 4.
2. Tracer sur le même graphe les lois de Student à 5 et 30 degrés de liberté avec une couleur différente
pour chaque courbe.
3. Ajouter une légende en haut à gauche pour spécifier chaque distribution (fonction legend).
12. Théorème central limite
1. Soit X1 , X2 , ...XN i.i.d. suivant une loi de Bernoulli de paramètre p. Rappeler la loi suivie par SN =
X1 + ... + XN . Donner sa moyenne et son écart-type.
2. Dans ce cadre, que dit le théorème central limite ?
3. On fixe p = 0.5. Pour N = 10, simuler n = 1000 réalisations S1 , ..., S1000 d’une loi binomiale de
paramètres N et p. Ranger dans un vecteur U 10 les quantités
Si − N × p
p
N × p × (1 − p)
. Faire de même avec N = 30 et N = 1000 pour obtenir deux nouveaux vecteurs U 30 et U 1000.
4
4. Représenter sur une même fenêtre les histogrammes de U 10, U 30 et U 1000 en superposant à chaque
fois la densité de la loi normale centrée réduite.
13. Loi des grands nombres
1. Rappeler la loi des grands nombres.
2. Après avoir fixé la graine du générateur aléatoire à 123, simuler un échantillon (x1 , ..., x1000 ) de
longueur 1000 provenant d’une loi de Bernoulli de paramètre p = 0.6.
Pl
3. Calculer les moyennes successives Ml = Sl /l où Sl = i=1 Xi (via une boucle ou la fonction cumsum).
Tracer Ml en fonction de l puis ajouter la droite horizontale d’équation y = 0.6.