Statistiques Univariées et Bivariées
Contenu :
Ce sujet de TD est un condensé des deux premiers TD (analyse univariée et bi-variée). Vous allez devoir réaliser tout ce que vous avez vu durant les précédentes séances.
Pré-requis pour la séance :
- La compréhension totale des TD1 et TD2.
Quelques opérations utiles sur R :
a = 2
b = 4
a + b # addition
a - b # soustraction
a * b # multiplication
a / b # division
a**2 # élévation au carré
c = c(1,2,3,4,5,6) # création d'une liste de valeur
sum(c) # somme d'une liste, fonctionne aussi pour sum(data$colonne)
sum(c - a) # somme d'une liste où l'on a soustrait une valeur (a)
# à tous les éléments de c
a * c # multiplie chaque élement de c par a
Présentation du jeu de données
Pour cette séance, vous allez travailler sur les données météorologiques de Météo-France Nouvelle-Calédonie, à deux périodes différentes : Janvier 2024 et Juillet 2024.
poste | lat | lon | aaaamm | alt | pre | tem | hum | sea |
---|---|---|---|---|---|---|---|---|
BELEP AEROD. | -19.71983 | 163.6610 | 202401 | 88 | 110.9 | 28.3 | 79 | 1339 |
BELEP AEROD. | -19.71983 | 163.6610 | 202407 | 88 | 57.4 | 22.3 | 76 | 1339 |
BOURAKE | -21.94250 | 165.9998 | 202401 | 53 | 73.0 | 29.1 | 71 | 440 |
BOURAKE | -21.94250 | 165.9998 | 202407 | 53 | 53.6 | 21.4 | 76 | 440 |
POE | -21.60800 | 165.3998 | 202401 | 6 | 56.7 | 27.5 | 74 | 596 |
Avec :
poste
: Le nom de la station installéelat
: La latitude de la station installéelon
: La longitude de la station météorologiqueaaaamm
: Le mois et l’année de mesure (Janvier 2024 et Juillet 2024 sont au format 202401 et 202407, respectivement)alt
: L’altitude à laquelle la station est installée (en mm)pre
: Le cumul de précipitations mensuelles mesuré (en mm) durant la périodeaaaamm
tem
: La température moyenne mesurée (en °C) durant la périodeaaaamm
hum
: L’humidité moyenne mesurée (en %) durant la périodeaaaamm
sea
: La distance de la station par rapport à la mer (en m)
Pour chacune de ces deux périodes, 20 stations ont mesuré les variables météorologiques énoncées.
Chargement du jeu de données (uniquement pour la version R)
Jusqu’à présent, les données que vous avez utilisées en TD étaient
déjà disponibles dans le logiciel R. Pour ce TD, vous allez travailler
sur des données externes (comme si vous aviez récolté ces données durant
vos prélèvements terrain). Veuillez donc suivre ces étapes pour charger
des données externes. Pour charger le jeu de données externes qui est un
fichier Excel (xlsx
), vous devrez installer une librairie
(une extension) sur R.
Dans la console R, tapez ces deux commandes :
install.packages("readxl") # pour installer la librairie
library("readxl") # pour la rendre utilisable dans votre session
Lorsque vous taperez install.packages("readxl")
dans la
console, vous aurez ce premier message :
Cliquez sur Oui
.
Puis, vous aurez ce second message :
Cliquez sur Oui
également.
Enfin, vous aurez un message de type “Secure CRAN mirrors”. Cliquez
sur 0-Cloud [https]
(tout en haut de la liste) puis sur
OK
. La package va s’installer. Cela devrait prendre moins
de 2min.
Une fois l’installation terminée, vous pouvez taper
library("readxl")
dans la console.
Analyse univariée
1.1. Chargement des données
1.1.1. Chargez les données en utilisant la commande suivante :
meteo = read_excel("chemin/vers/meteo.xlsx")
# la fonction read_excel est contenu dans
# la librairie readxl que vous venez d'installer
où chemin/vers/meteo.xlsx
est le chemin d’accès menant
vers le dossier où est situé le fichier de données que vous avez
téléchargées, le chemin devrait être de la forme
C:/Users/rgovan/Téléchargements/meteo.xlsx
.
Si vous n’avez pas encore téléchargé les données, cliquez ici.
Sur Windows, vous pouvez récupérer le chemin du fichier en maintenant la touche
Maj
du clavier, puis en faisant un clique-droit sur le fichiermeteo.xlsx
dans votre Explorateur Windows. Vous devrez avoir l’optionCopier en tant que chemin d'accès
. Cliquez dessus, puis vous pourrez faire un clique-droitColler
dans votre fonctionread_excel()
. Assurez-vous que le chemin d’accès dans la fonction est bien entres guillemets.
Après avoir lancé read_excel()
, vous pouvez taper
head(meteo)
pour vérifier que les données ont bien été
chargées.
1.2. Séparation des données par période
1.2.1. Créez deux variables meteo01
et
meteo07
pour filtrer les données météorologiques selon la
période de mesure.
Sur R, pour filtrer un tableau selon une colonne (ici,
aaaamm
), tapez la commande suivante :
meteo01 = meteo[meteo$aaaamm == 202401, ]
# data[cond1, cond2] permet de filtrer les lignes selon la condition cond1
# et les colonnes selon la condition cond2
# la syntaxe `a == b` permet de vérifier que `a` et `b` sont identiques.
# elle est complètement différente de `a = b` qui (sur R) est la syntaxe
# pour affecter `b` à la variable `a` que vous créez.
poste | lat | lon | aaaamm | alt | pre | tem | hum | sea |
---|---|---|---|---|---|---|---|---|
BELEP AEROD. | -19.71983 | 163.6610 | 202401 | 88 | 110.9 | 28.3 | 79 | 1339 |
BOURAKE | -21.94250 | 165.9998 | 202401 | 53 | 73.0 | 29.1 | 71 | 440 |
POE | -21.60800 | 165.3998 | 202401 | 6 | 56.7 | 27.5 | 74 | 596 |
NAKUTAKOIN | -22.17117 | 166.4355 | 202401 | 3 | 78.3 | 27.9 | 72 | 35 |
HOUAILOU P | -21.27833 | 165.6280 | 202401 | 11 | 235.7 | 26.9 | 83 | 290 |
MOUE | -22.58983 | 167.4522 | 202401 | 95 | 48.9 | 26.3 | 83 | 3027 |
1.2.2. Faites de même pour l’autre période.
1.3. Statistiques descriptives
1.3.1. Calculer les minimum, moyenne, médiane, maximum et variance des précipitations pour chaque période.
1.3.2. Faites de même sur l’humidité et la température.
1.4. Visualisation
1.4.1. Pour mieux visualiser la différence entre les deux saisons, affichez les boxplots de températures dans un même graphique.
Pour afficher deux boxplots dans un même graphique, vous pouvez taper (et adapter) la commande suivante :
boxplot(boxplot1, boxplot2,
main="Distribution de températures en Janvier et Juillet 2024",
names=c("nom du boxplot1", "nom du boxplot2"),
)
Bien évidemment, vous remplacerez boxplot1
et
boxplot2
par les données correspondantes.
Analyse bi-variée
2.1. Covariance
2.1.1. Toutes périodes confondues, y a-t-il des variables indépendantes ? Justifiez.
2.2. Corrélation
2.2.1. Toutes périodes confondues, y a-t-il des variables fortement corrélées ?
2.3. Régression linéaire
2.3.1. Toutes périodes confondues, déterminez l’équation de la droite expliquant l’humidité en fonction des précipitations.
2.3.2. Donnez l’équation de la droite estimé. Interprétez.
2.3.3. Calculez via R, les termes \(a\) et \(b\), sans utiliser la sortie de la fonction
lm()
.
Rappel : Pour un ensemble de données sous la forme de \(n\) paires \((x_i, y_i)\), \(y_i\) est la variable à expliquer en
fonction de \(x_i\), la variable
explicative. Par la méthode des moindres carrés ordinaire, la droite
ajustée est de la forme : \(y = ax +
b\), où \(a\) est la pente de la
droite et \(b\) est l’ordonnée à
l’origine (intercept).
Ainsi, la pente et l’ordonnée sont respectivement définies par :
\(\qquad\qquad a = \frac{\text{Cov}(X,Y)}{\sigma^2_X}\qquad\) avec \(\sigma^2_X\) la variance de \(X\)
\(\qquad\qquad b = \bar{Y} - \frac{\text{Cov}(X,Y)}{\sigma^2_X}\bar{X}\quad\) avec \(\bar{X}\) et \(\bar{Y}\), la moyenne observée des variables \(X\) et \(Y\), respectivement.
2.3.4. Calculez via R, le coefficient de détermination \(R^2\), sans utiliser la sortie de la
fonction lm()
.
Rappel : Le coefficient de détermination est défini par :
\(\qquad\qquad R^2 = 1 - \frac{\sum\limits_{i=1}^{n} (y_i - \hat{y_i})^2}{\sum\limits_{i=1}^{n} (y_i - \bar{y})^2}\qquad\) avec
- \(y_i\) la valeur observée au point \(x_i\) (la valeur que l’on retrouve dans le jeu de données au point \(x_i\)) ;
- \(\hat{y_i}\) la valeur estimée au point \(x_i\) (la valeur déterminée par l’équation de la droite au point \(x_i\)) ;
- \(\bar{y}\) la moyenne observée de la variable \(y\).
Pour vous aider, vous pouvez calculer chaque élément de l’équation
séparément, puis les rassembler à la fin.
Par exemple en créant une variable numerateur
pour calculer
\(\sum (y_i - \hat{y_i})^2\), puis une
variable denominateur
pour calculer \(\sum (y_i - \bar{y})^2\).
2.3.5. L’équation est-elle parfaitement ajustée ? Que pouvez-vous en conclure ?
2.3.6. Affichez dans un graphique, l’humidité en fonction des précipitations. Intégrez sur le graphique, la droite estimée par la régression linéaire.
Indication : Utilisez la fonction plot(x, y)
où
x
est votre série de valeurs en abscisses et y
est votre série de valeurs en ordonnées (en fonction de x
).
Pour afficher la droite, utilisez la fonction abline(model)
où model
est votre régression ajustée sur les données.