From f24c61a186af130d6c87aa9789021f57ff1399a8 Mon Sep 17 00:00:00 2001 From: Denis Monnerat Date: Mon, 18 May 2026 18:59:32 +0200 Subject: [PATCH] stats --- stats/README.md | 13 ++++ stats/tp/tp1/README.md | 134 ++++++++++++++++++++++++++++++++++++++ stats/tp/tp1/data/DS1.csv | 100 ++++++++++++++++++++++++++++ stats/tp/tp1/data/DS2.csv | 100 ++++++++++++++++++++++++++++ 4 files changed, 347 insertions(+) create mode 100644 stats/README.md create mode 100644 stats/tp/tp1/README.md create mode 100644 stats/tp/tp1/data/DS1.csv create mode 100644 stats/tp/tp1/data/DS2.csv diff --git a/stats/README.md b/stats/README.md new file mode 100644 index 0000000..0d43645 --- /dev/null +++ b/stats/README.md @@ -0,0 +1,13 @@ +# Outils numériques pour les statistiques descriptives (R2.08) +La série de tp, ainsi que la saé S2.04, utiliseront [scilab](https://www.scilab.org/). + +Une [aide](../scilab/) + +### TP + +| Semaine | | +| -------------------- | ------------------------------------------------ | +| 1 : 19/05 - 23/05 | [tp1](./tp/tp1) | +| 2 : 26/05 - 30/05 | [tp2](./tp/tp2) | +| 3 : 02/06 - 06/06 | [tp3](./tp/tp3) | + diff --git a/stats/tp/tp1/README.md b/stats/tp/tp1/README.md new file mode 100644 index 0000000..7f4968a --- /dev/null +++ b/stats/tp/tp1/README.md @@ -0,0 +1,134 @@ +# TP1 : Statistiques descriptives +Pour utiliser [Scilab](https://www.scilab.org/), taper la commande + +``` +scilab +``` + +Il s'agit de la version avec interface graphique. + +``` +scilab-adv-cli +``` + +Ligne de commande avec graphique. + +``` +scilab-cli +``` + +Uniquement interpréteur en ligne de commande (pas de fontions graphiques). Vous pouvez consulter l'aide sur le site +de scilab, et/ou cette [aide](../../scilab) succinte pour commencer. + +SI les graphiques ne s'affichent pas, lancez scilab depuis un terminal après avoir fait + +``` +export LIBGL_ALWAYS_SOFTWARE=1 +``` + +- `load/save` permet de charger/sauvegarder une session : fichier binaire. +- `exec` permet l'exécution d'un script (instructions et définitions de fonctions) : fichier texte .sce +- `getf` ou `exec` permet de charger des fonctions définies dans un fichier : fichier texte .sci + +## Ex1 +On souhaite étudier le nombre de buts marqués lors d'un match de foot. Voici un échantilllon $X$ de 20 derniers matchs regardés + +``` +3 1 5 3 2 7 0 1 0 3 2 4 4 0 3 3 2 5 3 1 +``` + +1. Remplir à la main le tableau des effectifs et des fréquences. + + | $x_i$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | + | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | + | $n_i$ | | | | | | | | | + | $f_i$ | | | | | | | | | + + +2. Saisir dans scilab la série $X$ + ``` + --> X=[3 1 5 3 2 7 0 1 0 3 2 4 4 0 3 3 2 5 3 1]; + ``` +3. Taper l'instruction + ``` + --> M=tabul(X,"i") + ``` + Que fait l'instruction `tabul` ? +4. Donner une commande scilab qui calcule le vecteur ligne $x$ des valeurs, $n$ des effectifs et le vecteur ligne $f$ des fréquences. Vérifier votre tableau. +5. Donner une commande qui affiche les effectifs sous forme d'histogrammes verticaux. +6. Calculer le tableau des fréquences cumulées, et vérifier avec scilab. + ``` + --> fcc = cumsum(f) + ``` + Tracer le graphe correspondant (fonction de répartition). + +7. Donner le mode, la médiane de la série $X$. +8. Calculer la moyenne de $X$ de trois manières différentes : + ``` + --> mu=mean(X) + --> sum(X)/length(X) + --> sum(x.*f) + ``` +9. À partir du tableau des fréquences cumulées trouver les quartiles de la série $X$. +10. Calculer les quartiles et l'inter-quartile avec scilab grâce à + ``` + --> quart(X) + --> iqr(X) + ``` +11. Calculer la variance de $X$ de deux manières différentes : + ``` + mean((X-mu).^2) // définition + mean(X.^2) - mean(X)^2 // formule de Koening + ``` +## Ex2 +1. Charger la série statistique $DS_1$. (utilisez la fonction `csvRead` de scilab) + - Générer l'histogramme et le graphe de répartition. + - Calculer la moyenne, médiane et mode. + - Calculer la variance, l'écart-type et l'inter-quartile. +2. Charger la série statistique $DS_2$. + - Générer l'histogramme et le graphe de répartition. + - Calculer la moyenne, médiane et mode. + - Calculer la variance, l'écart-type et l'inter-quartile. +3. On voudrait égaliser les notes de telle sorte que la moyenne soit 10 et l'écart-type soit 4. + - Soit + \[ + Y_1= DS_1 - 0.57 + \] + + Quelle est sa moyenne ? Son écart-type ? + - Soit + \[ + Y_2 = 1.97\times DS_1 + \] + + Quelle est sa moyenne ? Son écart-type ? + - Soit + \[ + Y_3 = 10 + 1.97(DS_1 - 10.57) + \] + + Quelle est sa moyenne ? Son écart-type ? + - Trouver $a,b\in\mathbb{R}$ tels que + \[ + Y_4=aDS_2 + b + \] + + ait pour moyenne 10 et pour écart-type 4. +## Ex3 +On souhaite étudier la loi d'une variable $Y=|[X]|$ où $X$ suit une loi normale $N(0,4)$. +1. $Y$ est-elle discète ou continu ? +2. Taper dans scilab + ``` + --> X=grand(1,100,'nor',0,4) + --> Y=abs(floor(X)) + ``` + Que font-elles ? Les valeurs de $Y$ sont-elles cohérentes ? +3. Donner une valeur approchée de la moyenne et de la variance de $Y$. +4. Donner le tableau des effectifs. +5. Mettre les modalités de $Y$ dans une matrice colonne $y$, les effectifs dans + une matrice colonne $n$, les fréquences dans une matrice colonne $f$. +6. Repésentez $f$ en fonction de $x$ à l'aide de la fonction `bar`. +7. Déterminer le mode de $Y$ et le comparer avec la moyenne et la médiane de $Y$. +8. Construire le graphe des fréquences cumulées. +9. Tracer le diagramme en bâton des fréquences cumulées. Lire sur le diagramme les trois quartiles + $Q_1$, $m$ et $Q_3$ puis les déciles de la série statistique. diff --git a/stats/tp/tp1/data/DS1.csv b/stats/tp/tp1/data/DS1.csv new file mode 100644 index 0000000..2ee7be7 --- /dev/null +++ b/stats/tp/tp1/data/DS1.csv @@ -0,0 +1,100 @@ +7 +10 +9 +11 +9 +10 +11 +12 +12 +11 +12 +14 +12 +10 +7 +9 +10 +10 +8 +11 +10 +6 +10 +14 +10 +11 +11 +12 +14 +11 +14 +10 +12 +11 +8 +11 +13 +10 +10 +15 +12 +13 +13 +10 +12 +14 +11 +12 +9 +10 +10 +11 +5 +11 +8 +15 +7 +9 +12 +14 +13 +13 +10 +10 +11 +6 +8 +8 +10 +13 +9 +11 +12 +10 +9 +8 +12 +10 +12 +8 +11 +11 +10 +11 +10 +11 +9 +13 +12 +11 +8 +8 +11 +7 +9 +11 +9 +10 +12 +14 diff --git a/stats/tp/tp1/data/DS2.csv b/stats/tp/tp1/data/DS2.csv new file mode 100644 index 0000000..795cc94 --- /dev/null +++ b/stats/tp/tp1/data/DS2.csv @@ -0,0 +1,100 @@ +14 +8 +10 +7 +9 +8 +8 +12 +13 +5 +5 +10 +5 +6 +6 +9 +9 +15 +9 +6 +9 +6 +8 +11 +10 +8 +15 +9 +12 +12 +13 +10 +9 +10 +6 +11 +10 +7 +10 +12 +13 +7 +4 +7 +13 +8 +8 +5 +5 +12 +7 +8 +7 +2 +8 +9 +8 +7 +9 +13 +6 +7 +11 +13 +15 +10 +4 +9 +6 +14 +9 +12 +5 +14 +9 +8 +13 +13 +5 +0 +8 +2 +3 +10 +8 +9 +7 +9 +11 +4 +7 +7 +9 +6 +3 +10 +8 +6 +4 +5