efrei/probabilites-statistiques/examen_tp/main.tex

419 lines
20 KiB
TeX

\documentclass[a4paper,french,12pt]{article}
\title{Probabilités et statistiques\\Examen TP}
\author{Tunui Franken --- 20210123}
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{styles}
\usepackage{xfrac}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\maketitle
\clearpage
\tableofcontents
\clearpage
\section{Introduction}
Cette étude a pour but d'explorer la différence entre statistique descriptive univariée (ne prenant en compte qu'une variable à la fois) ou bivariée (recoupant deux variables en même temps).
Nous présenterons ainsi l'intérêt de procéder à une étude bivariée sur un jeu de données.
Pour cela, nous sommes en possession de 150 observations de fleurs \texttt{iris} faites par Edgar Anderson.
Ces observations concernent quatre variables quantitatives correspondant aux mesures suivantes (en centimètres)~:
\begin{itemize}
\item Longueur du pétale (\texttt{petal.length})
\item Largeur du pétale (\texttt{petal.width})
\item Longueur du sépale (\texttt{sepal.length})
\item Largeur du sépale (\texttt{sepal.width})
\end{itemize}
\ldots{} et une variable qualitative correspondant à l'espèce de la fleur (\texttt{species})~:
\begin{itemize}
\item Setosa
\item Versicolor
\item Virginica
\end{itemize}
\section{Statistique descriptive univariée}
\subsection{Familiarisation avec le jeu de données}
\begin{enumerate}
\item Pour se faire une idée de la structure des données, vous pouvez afficher les noms des variables (colonnes).
Quelle commande devez-vous utiliser pour cela~?
On utilise la commande \texttt{names}~:
\begin{lstlisting}[gobble=20]
names(iris)
\end{lstlisting}
\item Quelle commande utiliserez-vous pour trouver le nombre d'observations (nombre de lignes)~?
Combien y a-t-il d'observations~?
Il y a 150 observations, comme indiqué par la commande \texttt{nrow}~:
\begin{lstlisting}[gobble=20]
nrow(iris)
\end{lstlisting}
\item Affichez les 15 premières observations du tableau.
Quel est l'espèce de la fleur n°7~?
Celle de la fleur n°11~?
Ce sont toutes deux des \texttt{Setosa}~:
\begin{lstlisting}[gobble=20]
> head(iris, 15)
sepal.length sepal.width petal.length petal.width species
1 5.1 3.5 1.4 0.2 Setosa
2 4.9 3.0 1.4 0.2 Setosa
3 4.7 3.2 1.3 0.2 Setosa
4 4.6 3.1 1.5 0.2 Setosa
5 5.0 3.6 1.4 0.2 Setosa
6 5.4 3.9 1.7 0.4 Setosa
7 4.6 3.4 1.4 0.3 Setosa
8 5.0 3.4 1.5 0.2 Setosa
9 4.4 2.9 1.4 0.2 Setosa
10 4.9 3.1 1.5 0.1 Setosa
11 5.4 3.7 1.5 0.2 Setosa
12 4.8 3.4 1.6 0.2 Setosa
13 4.8 3.0 1.4 0.1 Setosa
14 4.3 3.0 1.1 0.1 Setosa
15 5.8 4.0 1.2 0.2 Setosa
\end{lstlisting}
\item Assurez-vous que la variable espèce de l'iris (\texttt{iris\$Species}) contenue dans la dernière colonne est sous forme de ``factor'' et que cette variable catégorielle présente bien trois modalités correspondantes aux 3 catégories \texttt{setosa}, \texttt{versicolor} et \texttt{virginica}.
Quelles commandes devez-vous utiliser~?
Lors de l'import du fichier \texttt{csv}, j'ai utilisé l'argument \texttt{stringsAsFactors} que j'ai mis à \texttt{TRUE}~:
\begin{lstlisting}[gobble=20]
iris <- read.csv("iris.csv", sep=",", stringsAsFactors=TRUE)
\end{lstlisting}
Je peux alors vérifier que la variable \texttt{species} est bien sous forme de ``factor'' et qu'elle présente bien les trois modalités attendues, avec les commandes suivantes~:
\begin{lstlisting}[gobble=20]
> class(iris$species)
[1] "factor"
> levels(iris$species)
[1] "Setosa" "Versicolor" "Virginica"
\end{lstlisting}
\end{enumerate}
\subsection{Caractérisation des séries statistiques}
Pour résumer l'information contenue dans cette variable, on utilise l'instruction \texttt{summary}.
Quel est le résultat qui s'affiche~?
\begin{lstlisting}[gobble=12]
> summary(iris$species)
Setosa Versicolor Virginica
50 50 50
\end{lstlisting}
Cette information peut être obtenue en construisant un tableau (\texttt{table}) comptabilisant le nombre d'individus par modalité.
Pour ce faire, taper l'instruction suivante~:
\begin{lstlisting}[gobble=12]
> table(iris$species)
\end{lstlisting}
\begin{enumerate}\setcounter{enumi}{4}
\item Comparer avec le résultat obtenu à la question précédente.
Puisque cette variable \texttt{species} est sous forme de ``factor'', les résultats sont parfaitement identiques.
\end{enumerate}
\subsection{Représentations graphiques}
\begin{enumerate}\setcounter{enumi}{5}
\item Les représentations graphiques liées aux variables qualitatives sont la représentation en secteurs ou camembert (\texttt{pie}) et la représentation en bâtons (\texttt{barplot}).
Tapez les lignes de commandes suivantes~:
\begin{lstlisting}[gobble=20]
> pie(table(iris$species))
> barplot(table(iris$species))
\end{lstlisting}
\includegraphics[width=0.5\linewidth]{./img/1.6.pie.png}
\includegraphics[width=0.5\linewidth]{./img/1.6.barplot.png}
\item La troisième colonne du fichier \texttt{iris} contient la longueur du pétale.
Il s'agit d'une variable quantitative.
Pour résumer l'information contenue dans cette variable, nous utilisons la fonction \texttt{summary}.
Quel résultat obtenez-vous~?
Interprétez.
\begin{lstlisting}[gobble=20]
> summary(iris$petal.length)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.600 4.350 3.758 5.100 6.900
\end{lstlisting}
La médiane (\texttt{4.350}) est plus grande que la moyenne (\texttt{3.758}), ce qui laisse penser que la première moité des valeurs contient beaucoup de valeurs faibles.
Le premier quartile (\texttt{1.600}) est proche du minimum (\texttt{1.000}), sous-entendant encore beaucoup de petites valeurs pour cette variable.
Le troisième quartile (\texttt{5.100}), quant à lui, est à peu près equidistant de la moyenne (\texttt{3.758}) et du maximum (\texttt{6.900}), ce qui indique une répartition plus homogène (une plus grande symétrie) de la seconde moitié des observations.
\end{enumerate}
Il existe un paramètre permettant de découper la fenêtre graphique~:
\begin{lstlisting}[gobble=12]
par(mfrow=c(nl,nc)) ou par(mfcol=c(nl,nc))
\end{lstlisting}
\texttt{nl} définit le nombre de graphiques en lignes et nc définit le nombre de graphiques en colonnes.
\texttt{mfrow} signifie que l'ordre d'entrée des graphiques s'effectue selon les lignes et \texttt{mfcol} signifie que l'ordre d'entrée des graphiques s'effectue selon les colonnes.
Une des représentations adéquates est l'histogramme (\texttt{hist}).
Regardez l'aide de \texttt{hist()}.
Puis, taper la ligne de commande suivante~:
\begin{lstlisting}[gobble=12]
> hist(iris$Petal.Length,col=grey(0.6),main="Histogramme")
\end{lstlisting}
\texttt{main} est l'option qui permet d'afficher un titre dans un graphique
\begin{enumerate}\setcounter{enumi}{7}
\item Réalisez le même type d'analyse sur chacune des trois autres variables quantitatives~: largeur du pétale, longueur du sépale et largeur du sépale.
\begin{lstlisting}[gobble=20]
> summary(iris$petal.width)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.100 0.300 1.300 1.199 1.800 2.500
\end{lstlisting}
On retrouve ici, pour la largeur du pétale, les mêmes propriétés que pour la longueur du pétale~:
médiane plus grande que la moyenne, symétrie de la moitié haute avec un quartile à 75\% equidistant de la moyenne et du maximum, et enfin un premier quartile très proche du minimum.
\begin{lstlisting}[gobble=20]
> summary(iris$sepal.length)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4.300 5.100 5.800 5.843 6.400 7.900
\end{lstlisting}
Pour la longueur du sépale par contre, nous avons une répartition très différente. \\
Le premier quartile est très proche de la médiane, et le troisième quartile est plus proche de la moyenne que du maximum.
Il y a d'avantage de valeurs élevées.
\begin{lstlisting}[gobble=20]
> summary(iris$sepal.width)
Min. 1st Qu. Median Mean 3rd Qu. Max.
2.000 2.800 3.000 3.057 3.300 4.400
\end{lstlisting}
La largeur du sépale présente des caractéristiques similaire à sa longueur.
La moyenne et la médiane sont presque équivalents, et situés à peu près au milieu entre le minimum et le maximum.
Les premier et troisième quartiles sont quant à eux plus proches de la médiane, chacun.
On peut donc affirmer que les données pour les sépales sont plus symétriques que les données concernant les pétales.
\item Affichez plusieurs graphiques sur une même fenêtre en utilisant l'une des deux commandes expliquées précédemment.
\begin{lstlisting}[gobble=20]
par(mfrow=c(2,2))
hist(iris$petal.length,col=grey(0.6),main="Histogramme")
hist(iris$petal.width,col=grey(0.6),main="Histogramme")
hist(iris$sepal.length,col=grey(0.6),main="Histogramme")
hist(iris$sepal.width,col=grey(0.6),main="Histogramme")
\end{lstlisting}
\includegraphics[width=\linewidth]{./img/1.9.hists.png}
\end{enumerate}
\section{Statistique descriptive bivariée}
Une fois réalisée les graphiques pour chaque variable prise séparément, l'étude peut porter sur la relation entre deux variables.
Nous parlons alors de croisement de deux variables ou d'étude bivariée.
La représentation graphique liant deux variables quantitatives est le nuage de points.
Représentons par exemple la longueur et la largeur du pétale pour les 150 iris contenues dans le fichier de données.
Pour cela, exécuter la ligne suivante~:
\begin{lstlisting}[gobble=8]
> plot(iris$petal.length, iris$petal.width,
+ xlab="Longueur du pétale", ylab="Largeur du pétale",
+ main="Nuage de points", pch=20)
\end{lstlisting}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/2.10.nuage.png}
\end{center}
\begin{enumerate}\setcounter{enumi}{9}
\item Faire un commentaire.
Le nuage laisse apparaître une relation linéaire entre la longueur et la largeur du pétale, bien qu'il y a un trou entre les longeurs 2 et 3.
Il y a donc une corrélation entre la longeur et la largeur du pétale.
\end{enumerate}
Dans cette représentation graphique, plusieurs individus peuvent être situés sur un même point.
La fonction \texttt{sunflowerplot} permet de visualiser ces superpositions.
Tapez la ligne suivante~:
\begin{lstlisting}[gobble=8]
> sunflowerplot(iris$petal.length, iris$petal.width,
+ xlab="Longueur du pétale", ylab="Largeur du pétale",
+ main="Nuage de points", pch=20)
\end{lstlisting}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/2.11.tournesol.png}
\end{center}
\begin{enumerate}\setcounter{enumi}{10}
\item Que remarquez-vous~?
Il y a beaucoup de superpositions, à 2, 3, 5, voire 8 individus.
\item Réalisez l'étude du croisement de deux variables quantitatives de votre choix.
\begin{lstlisting}[gobble=16]
> sunflowerplot(iris$petal.length, iris$sepal.length,
+ xlab="Longueur du pétale", ylab="Longueur du sépale",
+ main="Nuage de points", pch=20)
\end{lstlisting}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/2.12.petal-vs-sepal-length.png}
\end{center}
Pour une longueur de pétale comprise entre 1 et 2, il n'y a pas de corrélation avec la longueur du sépale.
Les deux semblent complètement indépendants.
Mais à partir d'une longueur de pétale de 3, nous retrouvons la linéarité vue précédemment.
Plus le pétale est long, plus le sépale l'est également.
\end{enumerate}
Il est clair que le sens biologique de l'étude ne doit pas être négligé.
La représentation graphique permettant de lier une variable qualitative et une variable quantitative est la boîte à moustaches (\texttt{boxplot}).
Représentons par exemple la longueur des pétales en fonction de l'espèce.
Pour cela, taper la ligne de commande suivante~:
\begin{lstlisting}[gobble=8]
> boxplot(iris$petal.length ~iris$species,col=grey(0.6))
\end{lstlisting}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/2.13.petal-length-vs-species.boxplot.png}
\end{center}
\begin{enumerate}\setcounter{enumi}{12}
\item Commentez.
Tout d'abord, nous retrouvons les valeurs particulières de la question précédente.
Toutes les iris dont la longueur du pétale comprise entre 1 et 2 n'étant pas correlée à la longueur du sépale sont en fait des \texttt{Setosa}.
Plus globalement, les longueurs de pétales sont bien distinctes entre les espèces.
Le maximum de longueur de pétale d'une \texttt{Versicolor} aurait pu appartenir à une \texttt{Virginica} et le minimum de longueur de pétale d'une \texttt{Virginica} aurait pu appartenir à une \texttt{Versicolor}.
Mais quand on regarde les valeurs comprises entre les premiers et troisièmes quartiles, on voit bien que les longeurs des \texttt{Virginica} sont plus grandes que les longeurs de pétale pour les \texttt{Versicolor}.
\item Choisissez une autre variable quantitative, croisez-la avec la variable espèce d'iris et commentez.
\begin{lstlisting}[gobble=16]
> boxplot(iris$sepal.length ~iris$species,col=grey(0.6))
\end{lstlisting}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/2.14.sepal-length-vs-species.boxplot.png}
\end{center}
On retrouve pour la longeur du sépale la même distribution que pour la longueur du pétale.
Les \texttt{Versicolor} et les \texttt{Virginica} sont plus proches que les \texttt{Setosa}.
Les longueurs de sépale suivant cet ordre croissant~: \texttt{Setosa}, \texttt{Versicolor}, \texttt{Virginica}.
\end{enumerate}
Le nuage de points comme les boîtes à moustaches montrent que les données morphologiques des iris semblent liées à l'espèce.
Il pourrait donc être intéressant de réaliser des graphiques différents pour chacune des modalités iris Setosa, iris Versicolor et iris Virginica ou de superposer l'information espèce dans le graphique des nuages de points.
Taper alors les lignes de commande suivantes~:
Tracée des histogrammes des longueurs des pétales de l'ensemble des iris, des iris setosa, des iris versicolor et des iris virginica~:
\begin{lstlisting}[gobble=8]
> par(mfrow=c(2,2))
> br0=seq(0,8,le=20)
> hist(iris$petal.length, main="Ensemble des 150 iris",
+ xlab="Longueur du pétale", br=br0)
> hist(iris$petal.length[iris$species=="setosa"], main="Setosa",
+ xlab="Longueur du pétale", br=br0)
> hist(iris$petal.length[iris$species=="versicolor"],
+ main="Versicolor", xlab="Longueur du pétale", br=br0)
> hist(iris$petal.length[iris$species=="virginica"],
+ main="Virginica", xlab="Longueur du pétale", br=br0)
\end{lstlisting}
Tracé des nuages des points de la largeur du pétale en fonction de la longueur des pétales de l'ensemble des iris, des iris setosa, des iris versicolor et des iris virginica~:
\begin{lstlisting}[gobble=8]
> par(mfrow=c(2,2))
> plot(iris$petal.length, iris$petal.width,
+ xlab="Longueur du pétale", ylab="Largeur du pétale",
+ main="Nuage de points", pch=20)
> plot(iris$petal.length[iris$species=="setosa"],
+ iris$petal.Width[iris$species=="setosa"],
+ xlim=c(1,6.9), ylim=c(0.1,2.5), xlab="",ylab="",
+ main="iris setosa", pch=20)
> plot(iris$petal.length[iris$species=="versicolor"],
+ iris$petal.width[iris$Species=="versicolor"],
+ xlim=c(1,6.9), ylim=c(0.1,2.5), xlab="", ylab="",
+ main="iris versicolor", pch=20)
> plot(iris$petal.length[iris$species=="virginica"],
+ iris$petal.width[iris$species=="virginica"],
+ xlim=c(1,6.9), ylim=c(0.1,2.5), xlab="", ylab="",
+ main="iris virginica", pch=20)
\end{lstlisting}
Et pour finir\ldots{}
Tapez la ligne de commande suivante~:
Représentation graphique de toutes les possibilités de variables par variable~:
\begin{lstlisting}[gobble=8]
> pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",
+ pch = 21, bg = c("red", "green3", "blue")[unclass(iris$species)])
\end{lstlisting}
\begin{center}
\includegraphics[width=0.8\linewidth]{./img/2.15.3species-all-variables.png}
\end{center}
\begin{enumerate}\setcounter{enumi}{14}
\item Qu'observez-vous~?
Ces graphiques, en ajoutant la couleur pour délimiter les espèces, soulignent clairement le fait que chaque espèce présente des caractéristiques bien distinctes.
Les points sont regroupés par couleur, avec très peu voire pas du tout de mélange.
\end{enumerate}
\section{Conclusion}
Cette étude nous a permis de mettre en évidence l'intérêt de faire un croisement des variables.
En croisant deux variables quantitatives (longueur et largeur de pétale par exemple), nous avons pu établir la présence ou l'absence de liens de correlation entre ces variables.
En croisant une variable quantitative avec une variable qualitative (longueur du sépale en fonction de l'espèce par exemple), nous avons pu déterminer des caractéristiques propres à chaque espèce.
La statistique bivariée permet donc d'extrapôler des comportements à partir des données, ce qui n'était pas possible en prenant les variables séparément (statistique descriptive univariée).
\end{document}