# TP2 : Statistiques descriptives. 

  **Séries statistiques regroupées par intervalles**

Lorsqu'une série statistique peut prendre n'importe quelle valeur dans un intervalle, ou
si elle prend un trop grand nombre de valeurs discrètes, il est pratique de regrouper ces
valeurs par petits intervalles (qu’on appellent classes). Nous allons voir comment faire
cela avec scilab en prenant l'exemple de la fonction `rand()` (le générateur de Knuth) qui
génére des nombres uniformément répartis dans l'intervalle \\([0,1[\\).

## Partie 1
### Ex1
1. Générer la série statistique et les classes 
   ```
   --> X=rand(1000,1);
   --> classes=[0:0.1:1];
   ```
2. Calculer le tableau des fréquences avec la fonction `dsearch`.
   ```
   --> [ind,n,info] = dsearch(X,classes,'c'); // n contient les effectifs
   --> N=length(X); // effectif total
   --> f=n/N;// fréquences
   ```
3. Tracer l'histogramme normalisé
   ```
   --> histplot(classes,X); // histogramme normalisé
   ```
4. Calculer les fréquences cumulées et tracer la fonction de répartition.
5. Calculer la moyenne et la médiane de la même manière que pour une série discrète.
6. Calculer la moyenne approchée en attribuant à tous les effectifs de l'intervalle $I=[a_i,b_i]$ la valeur $x_i = \frac{a_i+b_i}{2}$
7. Calculer la variance, l'écart-type et l'inter-quartile de la même manière que pour une série discrète.
   Attention ! les fonctions `variance` et `stdev` sont des estimateurs sans biais de la variance et l'écart type. Elles
   divisent par la taille de l'échantillon - 1. Utilisez la définion ou la formule de König 

	$$ Var(X) = E( (X-E(X)^2 ) = E(X^2) - E(X)^2$$

8. Comparer la variance et la variance approchée (définie comme la moyenne approchée).

### Ex2
Refaire l'exercice 1 avec les classes de taille variable :
$$
[0,0.1[,[0.1,0.2[,[0.2,0.5[,[0.5,0.7[,[0.7,0.8,[0.8,1[
$$

### Ex3
Refaire l'exercice avec $10^5$ tirages.

## Partie 2
Le but est de générer des séries statistiques de réels dans l'intervalle $[0,1[$ et de les comparer aux séries obtenues 
avec la fonction `rand()`. À partir de l'étude statistique (histogramme, répartition, valeur moyenne, écart-type, etc.) on veut pouvoir justifier si la série obtenue
se comporte comme une série de nombres aléatoires uniformément répartis dans l'intervalle $[0,1[$.

Pour chaque série suivante, reprendre les questions de l'exercice 1 de la partie 1 afin de savoir si elle est un bon générateur de nombres (pseudo-)aléatoires uniformément répartis dans $[0,1[$.

1. Partie décimale des racines carrées de entiers 
   ```
   --> X=pmodulo(sqrt(1:1000),1);
   ```
2. Valeur absolue des cosinus d'entiers
   ```
   --> Y=abs(cos(1:1000));
   ```
3. Partie décimale des multiples entiers de $\pi$
   ```
   --> Z=pmodulo(%pi*(1:1000),1);
   ```
4. Partie décimale des multiples entiers de $\frac{1}{7}$
   ```
   --> T=pmodulo((1/7)*(1:1000),1);
   ```

5. On peut également tester s'il y a corrélation entre deux nombres consécutifs $x_n$ et $x_{n+1}$ en portant dans un plan les points de coordonnées
   $x=x_n$ et $y=x_{n+1}$. Que constatez-vous pour chaque série précédente ?
