Mapytex/documentation/source/presentation_stat.rst

111 lines
2.7 KiB
ReStructuredText

Présentation des outils de statistiques de pyMath
=================================================
La partie statistique de pyMath est un module python qui permet generer des données statistiques et de les analyser pour un niveau collège - début de lycée.
Analyse des données
-------------------
La gestion des données statistiques se fait à travers 2 classes: *Dataset* (ensemble de données) et *WeightedDataset* (ensemble de données pondérées).
.. code-block:: python
>>> from pytmath import Dataset, WeightedDataset
>>> d = Dataset([1, 3, 4, 2, 4, 1], data_name = "Points")
>>> print(d)
[1, 3, 4, 2, 4, 1]
>>> w = WeightedDataset({1:3, 2:4, 3:5}, data_name = "Nombre de frères", weight_name = "Effectifs" )
>>> print(w)
{1:3, 2:4, 3:5}
Le passage du *Dataset* à *WeightedDataset* revient à compter les effectifs de chaque classe (il n'est pas encore possible de définir des classes sous forme d'intervals).
.. code-block:: python
>>> W = WeightedDataset(d)
>>> print(W)
{1: 2, 2: 1, 3: 1, 4: 2}
Une fois les données définies, on peut calculer les indicateurs statistiques suivants:
- L'effectif total (ou la pondération totale):
.. code-block:: python
>>> d.effectif_total()
6
>>> w.effectif_total()
12
- La somme:
.. code-block:: python
>>> d.sum()
15
>>> w.sum() #/!\ c'est une somme pondérée
26
- La moyenne:
.. code-block:: python
>>> d.mean()
2.5
>>> w.mean()
2.17
- La variance et l'écart-type (sd):
.. code-block:: python
>>> d.variance()
1.58
>>> d.sd()
1.26
>>> w.variance()
0.64
>>> w.sd()
0.8
- Les quartiles et les valeurs extrèmes:
.. code-block:: python
>>> max(d)
4
>>> d.quartiles() #(min, Q1, Me, Q3, Max)
(1, 3, 3, 4, 4)
>>> d.quartile(1) # Q1
3
>>> min(w)
1
>>> w.quartiles() #(min, Q1, Me, Q3, Max)
(1, 1.5, 2, 3, 3)
>>> w.quartile(2) #Me
2
Enfin une fonction rudimentaire a été ajouté pour présenter ces données dans un tableau formaté pour Latex
.. code-block:: python
>>> print(d.tabular_latex())
\begin{tabular}{|c|*{6}{c|}}
\hline
1 & 3 & 4 & 2 & 4 & 1 \\
\hline
\end{tabular}
>>> print(w.tabular_latex())
\begin{tabular}{|c|*{3}{c|}}
\hline
Nombre de frères & 1 & 2 & 3 \\
\hline
Effectifs & 3 & 4 & 5 \\
\hline
\end{tabular}
Générer des données aléatoirement
---------------------------------