Up: Return to previous menu
Ensait - A2 - Plans d'expérience
Date: Corrigé du DS du 05/11/2003 - durée 2h00
Durée : 2 heures. Tous documents autorisés.
L'usage d'un ordinateur (et des programmes indiqués en
cours) est recommandé.
Le listing des calculs fait sur ordinateur sera joint
(deux pages par feuille, folioté).
Le commentaire écrit fera des références précises à cette
feuille de calcul.
Dans ce corrigé, les commandes Maple sont en caractères typewriter
et les "réponses Maple" au format équation. Il nous
a semblé que l'on pouvait améliorer la lisibilité de ces listings
par une commande sayval, dont le résultat est d'afficher
côte à côte la question et la réponse.
-
- sayval:= proc(z::uneval); z= eval(z) ; end:
Comme il se doit, un commentaire en langage ordinaire accompagne le
tout. Un des objectif de ce commentaire est le formatage des résultats,
destiné à ne pas afficher avec douze décimales un résultat dont dix
décimales sont incertaines.
est une v.a.
. Que valent
,
et
?
Calculez
.
-
- m,s:=17, 2.9 ; esp=m, sd=s, var=s2 ; sayval(1-Norlaw(m,s,18)) ;
Cette probabilité est donc de 37%.
- Si les âges d'un groupe de personnes sont distribués suivant
la loi
, quel est le pourcentage des membres
de ce groupe ayant : (a) moins de 27 ans ; ( b) au moins 26 ans ;
(c) entre 21 et 24 ans ?
-
- m,s:=25, 4 ; esp=m, sd=s, var=s2 ; sayval(Norlaw(m,s,27));
sayval(1-Norlaw(m,s,26)) ; sayval(Norlaw(m,s,24)-Norlaw(m,s,21)) ;
Les réponses sont donc respectivement : 69%, 40% et 24%.
- Déterminer
et
sachant que la variable
suit une loi normale et que
et
.
-
- '{IGauss(0.31)=(7-mu)/sigma, IGauss(1-0.44)=(18-mu)/sigma}' ;
solve(rhs(%));
Conduisant à :
On considère une variable
distribuée selon la loi binomiale
avec pour paramètres
et
.
- Donner la formule de
.
-
- n,p,q:= 8, 0.4, 1-'p' ; psi:= unapply( binomial(n,k)*pk*q(n-k),k) ;
- Donner les valeurs à six décimales de
pour
.
-
- seq(psi(k),k=0..n) ;
- Rappeler les formules de calcul de l'espérance et de la variance
d'une variable aléatoire discrète. Utiliser ces formules et les valeurs
de Q2 pour calculer des valeurs approchées
et
.
-
- sayval(sum(psi(k), k=0..n)) ;
sayval(sum(k*psi(k), k=0..n)) ; mu:= rhs(%) :
sayval(sum(k2*psi(k), k=0..n)-mu2) ; sigma:= sqrt(rhs(%)) :
sayval([mu=n*p, sigma2=n*p*q]) ;
- Comparer avec les valeurs exactes (rappeler les formules valables
pour une variable suivant la loi binomiale). Un histogramme est demandé.
On sait que les valeurs théoriques sont
.
En reportant, on retrouve les valeurs obtenues. L'histogramme est
obtenu en choisissant des classes centrées sur les valeurs réellement
obtenues.
-
- tal:= [seq(Weight(k-1/2..k+1/2, psi(k)), k=0..n)] :
pla:= stats[statplots, histogram](tal) :
plb:= plot([[mu+sigma,t,t=0..0.4/sigma],[mu-sigma,t,t=0..0.4/sigma]],
color=red, linestyle=16) : display(pla,plb) ;
La hauteur probable du trait (
) est obtenue par référence
au modèle normal. On obtient la figure 1.
Figure 1:
Histograme de la loi binomiale
.
|
|
- Quelles sont les valeurs des paramètres de la variable normale
présentant la meilleure ressemblance avec la variable binomiale
étudiée ci-dessus ? Donner les valeurs à trois décimales de
pour cette variable normale. Histogramme.
- On sait que pour
"assez grand" la loi
de la variable réduite associée converge vers la loi de Gauss. La
variable
suit donc, de façon approchée, une loi normale ayant
et
comme paramètres. Les probabilités
sont donc données par les variations de la fonction de répartition.
-
- 'phi(k)=Norlaw(mu, sigma, k+1/2)-Norlaw(mu, sigma, k-1/2)' ;
phi:= unapply(rhs(%),k) : seq(psi(k),k=0..n) ;
- Il convient de tenir compte du phénomène suivant. La loi normale prend
ses valeurs sur
tout entier, alors que la loi binomiale est
à support fini. Il peut donc sembler utile de renormaliser les probabilités
obtenues en divisant par la masse totale (ici
). Une autre
façon de faire serait de prolonger à l'infini les deux classes extrêmes.
-
- sayval(sum(phi(k), k=0..n)) ; masse:= rhs(%) :
sayval(sum(k*phi(k), k=0..n)/masse) ; mu1:= rhs(%) :
sayval(sum(k2*phi(k), k=0..n)/masse-mu12) ; sigma1:= sqrt(rhs(%)) :
sayval([mu=mu1, sigma2=sigma12]) ;
On obtient alors
comme paramètres de dispersion.
- Représentant tout cela sur un histogramme, on obtient la figure 2.
-
- [seq(Weight(k-1/2..k+1/2, phi(k)), k=0..n)] :
plc:= stats[statplots, histogram](%) : display(pla,plb, plc) ;
Figure:
Histogramme de la loi normale associée.
|
|
- Comment comparer les valeurs de
et
?
Par un test de
. On constate que les deux distributions
(gaussienne et gaussienne renormalisée) obtiennent le même score.
-
- sayval(sum((phi(k)-psi(k))2/psi(k), k=0..n)) ;
sayval(sum((phi(k)/masse-psi(k))2/psi(k), k=0..n)) ;
On a prélevé un premier échantillon de
objets.
La moyenne de cet échantillon est
et son écart-type est
. Puis on a prélevé un deuxième échantillon de
.
La moyenne de cet échantillon est
et son écart-type est
.
Reprenant les données, on obtient :
-
- N:=10000 : n, s:='n', 's' : n[1]:=650 : m[1]:=98 : s[1]:= 13 :
n[2]:=1000-n[1] : m[2]:=103 : s[2]:=14 :
[seq([n[j],m[j],s[j]],j=1..2)] : N, Matrix(%) ;
- Calculer la moyenne
et l'écart-type
de l'échantillon constitué de la réunion des deux échantillons précédents.
-
- n[0]:=n[1]+n[2] ; m[1]*n[1]+m[2]*n[2] : m[0]:= %/n[0]*1. ;
s[1]2*n[1]+s[2]2*n[2] : mvar:= %/n[0]*1. :
varm:= (n[1]*(m[1]-m[0])2+n[2]*(m[2]-m[0])2)/n[0] :
s[0]:= sqrt(mvar+varm);
La variance totale est la somme de la moyenne des variances (ici
)
et de la variance des moyennes (ici
).
- Tester l'hypothèse selon laquelle les deux échantillons initiaux
auraient été prélevés au sein d'une même population.
-
- sayval(s[0]2*(n[0])/(n[0]-1)*(1/n[1]+1/n[2])) ;
rhs(%) : sayval((m[1]-m[2])/sqrt(%)) ;
Sous l'hypothèse donnée, notre meilleure de la variance de la population
est
. Les variances des
moyennes d'échantillon sont alors respectivement
et
. La variance d'une différence (de variables indépendantes)
étant la somme des variances, on arrive à une valeur
pour
la variable réduite associée, valeurs totalement improbable. L'hypothèse
est à rejeter.
- En supposant que la population est homogène et distribuée normalement,
avec un nombre total d'individus égal à
, estimer le nombre
d'objets (de la population totale) vérifiant
.
-
- t:= 98. : sayval(Norlaw(m[0], s[0], t)) ; p:= rhs(%) :
L'espérance de
vaut donc
- En supposant que la population est constituée de deux populations
indépendantes, homogènes et distribuées normalement, avec un nombre
total d'individus égal à
, estimer
le nombre
d'objets (de la population totale) vérifiant
.
-
- sayval(Norlaw(m[1], s[1], t)) ; p1:= rhs(%) :
sayval(Norlaw(m[2], s[2], t)) ; p2:= rhs(%) :
sayval(N*(n[1]/n[0]*p1+n[2]/n[0]*p2)) ; centre:= rhs(%) :
En supposant que les tailles des échantillons ont été choisies proportionnellement
aux tailles des sous-populations, on a
, conduisant
maintenant à
.
- Donner, dans les deux cas, un intervalle de confiance à
pour le nombre
. Comparer les résultats obtenus.
-
- sayval(N*p-2*sqrt(N*p*(1-p))..N*p+2*sqrt(N*p*(1-p))) ;
-
- sayval(N*(n[1]/n[0]*p1*(1-p1)+n[2]/n[0]*p2*(1-p2))) ;
centre -2*sqrt(rhs(%))..centre +2*sqrt(rhs(%)) ;
Au sein d'une population distribuée selon une loi normale, on
a prélevé l'échantillon suivant
(les données ont été arrondies pour alléger les calculs...)
- Estimer la moyenne
de la population pour les seuils
de confiance
et
(une certaine table a été complétée
sur le site web pour contenir les informations nécessaires).
-
- n:= nops(vals) : mu:= add(k, k=vals)/n*1. :
s:= sqrt(add(k2, k=vals)/n*1.-mu2)*n/(n-1) :
'n'=n, 'mu'=mu, 's'=s;
On commence par calculer la moyenne de l'échantillon, ainsi que le
prédicteur de variance
. Puis on utilise les tables de Student-Fischer
pour obtenir les coefficients
et
permettant de faire
le calcul. On aboutit aux intervalles
et
. Pour tenir compte
du nombre exact de degrés de liberté, il faudrait recourir à la fonction
de Student-Fischer par :
-
- tau:=.999 : mu + stats[statevalf, icdf, studentst[n-1]]((1+tau)/2)*s ;
- Estimer la taille de l'échantillon nécessaire pour obtenir un
intervalle de largeur
autour de
(toujours pour les seuils
et
).
-
- 3=4*sigma, sigma='s'/sqrt(N) : %, solve({%}) ;
-
- 3=6.6*sigma, sigma='s'/sqrt(N): %, solve({%}) ;
On commence par l'approximation normale (
dépend de la taille,
tandis que
n'en dépend pas). Le rayon de l'intervalle à 95%
étant
, sa largeur est de
et on trouve
.
Pour une fiabilité à 99.9%, la largeur de l'intervalle (en
)
est
, conduisant à
Pour ces dimensions,
la correction de Fischer est inutile. On peut le vérifier en posant
les calculs "exacts", qui consuisent à
.
-
- stats[statevalf, icdf, studentst[285]]((1+.999)/2) :
3=2*%*sigma, sigma='s'/sqrt(N) : %, solve({%}) ;
Up: Return to previous menu
douillet@ensait.fr
2004-09-06