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 :

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ée
  • lat : La latitude de la station installée
  • lon : La longitude de la station météorologique
  • aaaamm : 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ériode aaaamm
  • tem : La température moyenne mesurée (en °C) durant la période aaaamm
  • hum : L’humidité moyenne mesurée (en %) durant la période aaaamm
  • 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 :
message n°1

Cliquez sur Oui.

Puis, vous aurez ce second message :
message n°2

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

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 fichier meteo.xlsx dans votre Explorateur Windows. Vous devrez avoir l’option Copier en tant que chemin d'accès. Cliquez dessus, puis vous pourrez faire un clique-droit Coller dans votre fonction read_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 meteo01et 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)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)model est votre régression ajustée sur les données.