TP 1 : Corrigé - Mathématiques en ECE 2

ECE 2 - Mathématiques
Mr Dunstetter - ENC-Bessières 2014\2015
TP 1 : Statistiques descriptives
TP 1 : Corrigé
Première partie : étude sous scilab des exemples du cours.
Avant de commencer chaque exercice, eacer les anciennes données à l'aide de l'instruction clear et les
fenêtres à l'aide des instructions suivantes :
--> scf(0), clf(), scf(1), clf(), scl(2), clf(), scf(3), clf()
Etude du nombre de but par match lors de la coupe du monde
Pour faciliter le problème, on va partir directement du tableau des eectifs (on ne se soucie pas de la série
statistique de départ, qui doit contenir les données brutes : un vecteur avec les nombres de buts enregistrés
pour chaque match).
1. x est un vecteur contenant les valeurs prises par la série statistique (support). n est un vecteur
contenant les eectifs de chaque valeur du caractère (à la même place que se trouve la valeur dans
x).
2. Exécuter sous scinotes la procédure suivante (en n'oubliant pas de sauvegarder) :
clear
x=0:1:7
n=[8,16,13,13,7,5,0,1]
N=0
y=zeros(1,8)
for i=1:8 do
N=N+n(1,i)
end
for j=1:8 do
y(1,j)=n(1,j)/N
end
N est un réel qui est égal à la somme des éléments du vecteur n, donc c'est l'eectif total de la série
statistique.
y est un vecteur qui contient l'eectif de la valeur no j divisé par l'eectif total, donc la fréquence
de la valeur j : c'est donc un vecteur contenant les fréquences d'apparition des valeurs de la série
statistique.
3. Exécuter sous scinotes la procédure suivante :
clear
x=0:1:7
n=[8,16,13,13,7,5,0,1]
N=0
y=zeros(1,8)
for i=1:8 do
N=N+n(1,i)
end
for j=1:8 do
1
ECE 2 - Mathématiques
Mr Dunstetter - ENC-Bessières 2014\2015
TP 1 : Statistiques descriptives
y(1,j)=n(1,j)/N
end
z=zeros(1,8)
for i=1:8 do
for j=1:i do
z(1,i)=z(1,i)+y(1,j)
end
end
Après avoir calculé N et y comme précédemment, le coecient i du vecteur z est aecté de la somme
entre 1 et i des coecients de y, donc des eectifs : le coecient no i de z est donc égal à la somme des
fréquences des valeurs inférieures ou égales à la valeur no i : c'est le vecteur des fréquences cumulées
croissantes.
4. Utilisation des fonctions de scilab. Exécuter dans scinotes la procédure suivante :
clear
x=0:1:7
n=[8,16,13,13,7,5,0,1]
N=sum(n)
y=n/sum(n)
z=cumsum(n)/sum(n)
sum(n) eectue la somme des éléments du vecteur ou de la matrice n.
cumsum(n) eectue les sommes cumulées du vecteur n : les coecient i est aecté de la somme des
éléments du départ jusqu'au i-ème.
5. Exécuter dans scinotes la procédure suivante :
clear
x=0:1:7
n=[8,16,13,13,7,5,0,1]
y=n/sum(n)
bar(x,y)
La fonction bar(x,y) trace un diagramme en barre avec en abscisses les valeurs qui se trouvntr dans
x, et en ordonnée les valeurs qui se trouvent dans y (x et y doivent donc avoir la même taille).
6. Exécuter dans scinotes la procédure suivante :
clf
clear
x=0:1:7
n=[8,16,13,13,7,5,0,1]
z=cumsum(n)/sum(n)
plot(x,z)
Les fréquences cumulées croissantes en statistiques descriptives correspondent à la fonction de répartition en probabilités.
Etude des taux de chômage dans quelques pays mondiaux.
1. x=[0.09899 , 0.11100 , 0.04300 , 0.05100 , 0.03700 , 0.04400 , 0.17700]
2. Exécuter dans scinotes la procédure suivante :
classes=[0,0.025,0.05,0.075,0.1,0.15,0.2,1]
histplot(classes,x)
2
ECE 2 - Mathématiques
Mr Dunstetter - ENC-Bessières 2014\2015
TP 1 : Statistiques descriptives
histplot(x,y) trace l'histogramme de la série statistiques y, avec les classes mises dans le vecteur x
(qui n'est donc pas de la même taille que y).
3. Exécuter dans scinotes la procédure suivante :
clf
histplot(10,x)
Dans ce cas histplot trace l'histogramme de série x en prenant des classes de taille égale, en nombre
égal à celui qu'on a fourni, commençant à la première valeur de la série (la plus basse) et s'arrêtant
à la dernière (la plus haute).
Exercices
Exercice 1.
On souhaite étudier la loi d'une variable Y = |bXc| où X ,→ N (0, 4). Pour cela, on réalise
100 simulation de la loi de Y et on construit le diagramme en bâton de l'échantillon obtenu , entre autres :
1. --> X=grand(1,100,'nor',0,2);
--> Y=abs(floor(X))
La première instruction crée une vecteur de taille 100 dont chaque coecient est une simulation de
la loi normale d'espérance 0 et d'écart-type 2, donc de variance 4.
La seconde instruction prend,
, sa partie entière puis la
valeur absolue de ce résultat.
pour chaque coecient du vecteur X
Les valeurs de X doivent être des réels qui peuvent être positifs ou négatifs, puis oor(X) doit
contenir des entiers qui peuvent être positifs ou négatifs, et enn abs(oor(X)) contient les valeurs
absolues de ces valeurs : ce sont encore des entiers (la valeur absolue d'une entier est un entier) qui
doivent tous être positifs ou nuls.
2. L'instruction
--> M=tabul(Y,"i")
crée le tableau pondéré de la série statistique Y , c'est-à-dire qu'il crée une matrice M de 2 colonnes,
aecte à la première colonne les valeurs prises par X par ordre croissant ("d" au lieu de "i" donnerai
l'ordre décroissant) et à la seconde colonne l'eectif de chaque valeur.
Taper cette instruction, observer le résultat.
3. --> m1=M(:,1)
--> m2=M(:,2)
4. --> f=m2/sum(m2)
5. --> bar(m1,f)
Le mode de Y est la valeur pour lequel la barre est la plus haute (selon les simulations, cela peut
être 0 ou 1, voire 2 dans de rares cas).
--> a=median(Y)
--> b=mean(Y)
On doit trouver une médiane égale à 1 dans la quasi-totalité des cas, et une moyenne entre 1 et 2.
On remarque que dans cet exemple, ces trois indicateurs sont assez proches les uns des autres.
6. --> F=cumsum(f)
--> scf(1)
--> bar(m1,F)
3
ECE 2 - Mathématiques
Mr Dunstetter - ENC-Bessières 2014\2015
TP 1 : Statistiques descriptives
7. --> scf(2)
--> plot(m1,F)
Une fois le mode datadip enclenché, on se balade sur la courbe et on se place aux points d'ordonnée
0.1 , 0.2 , etc... pour lire en abscisse le décile correspondant.
Exercice 2. Simulation d'une loi usuelle :
1. --> X=grand(1,40,'bin',6,0.5)
2. -->histplot([-0.5:1:6.5],X)
--> [I,O,N]=dsearch(X,0:6)
La sortie N a la valeur 0, ce qui est normale puisque les classes entre 0 et 6 contiennent toutes les
valeurs de la loi normale.
L'analyse des sorties O et I et de la série permet de voir que la première classe est [0; 1], la deuxième
]1; 2], la troisième ]2; 3], la quatrième ]3; 4], la cinquième ]4; 5], la sixième ]5; 6].
Cette utilisation de dsearch est maladroite car elle a rassemble les valeurs 0 et 1. Il vaut mieux
prendre, comme dans l'instruction histplot juste au-dessus, des classes de -0.5 à 6.5 pour éviter ce
problème.
3. --> bar(0:1:6,binomial(0.5,6))
Pour que les graphiques se superposent mieux, il faudrait faire plus de simulations. Par exemple avec
100 simulation puis 1000 simulation, les graphiques doivent être de plus en plus proches.
4