Up: Return to previous menu
Ensait - E2 - Plans d'expérience
Corrigé de l'évaluation du 2007-11-16
durée 2h00
tous documents autorisés - le
sujet comporte deux pages
La première qualité que l'on attend d'un ingénieur est de savoir présenter
ses conclusions. Les listings, les calculs, les graphiques et autres
"sorties d'ordinateur" ne peuvent en aucun cas remplacer
un relevé de conclusions, rédigé de façon précise et scientifique.
Le sujet proposé demandait de procéder à trois modélisations différentes
à partir d'une même campagne d'essais. Il était donc nécessaire d'ordonner
différents types de matériaux de façon à produire une réponse organisée.
Différentes méthodes ont été utilisées. Faire des captures d'écran
et tout intégrer dans un traitement de texte, c'est très bien.
Faire des couper-coller avec des ciseaux et de la colle (et des traces
de pouce), c'est TRÈS bien aussi... et c'est probablement la
méthode la plus rapide. On peut aussi intégrer des commentaires dans
le listing d'exécution. On peut aussi... Toutes les méthodes sont
bonnes. Ce qui ne va pas est l'absence d'une stratégie de communication.
Certains commentaires sont "inégalement rédigés".
Des copies mentionnant des "valeurs propes", des
"motalités", des représentations "cratésiennes"
et même "l'idéal est qu'ils soivent égal" créent
une certaine surprise au niveau bac+4.
Il nous a semblé néanmoins qu'une absence de fautes de rédaction par
absence de rédaction n'était pas une qualité, et nous avons systématiquement
donné une plus mauvaise évaluation à un résultat non commenté qu'à
un résultat commenté de façon fautive.
La moyenne sur 57 copies est de 11.7, ce qui est tout à fait honorable.
Sept étudiants ont écrit des choses pertinentes sur l'ensemble des
questions posées et ont été évalués à 19/20 ou plus. Quelques autres
ont échoué à ouvrir un fichier : des progrès restent possibles.
Imprimer en "2 pages par feuille" sur les
imprimantes OKI. Vérifier le bon fonctionnement des imprimantes dès
le début de l'évaluation. Votre nom doit apparaître sur les documents
imprimés (et en particulier dans le titre des figures).
Les autres consignes données lors de l'évaluation MAO 2006-2007
continuent d'être valables. Elles sont consultables à l'adresse :
http://www.douillet.info/~douillet/maotp/maotp_ds17/index.html.
En particulier, l'attention des étudiants est
attirée sur le fait que le trafic réseau de leur ordinateur est susceptible
d'être enregistré pendant la durée de l'évaluation.
Télécharger le fichier situé à l'adresse : http://www.douillet.info/~douillet/cours/planx_ds07a/dat_planx_ds07a.txt.
Ce fichier décrit un plan d'expérience. La dernière colonne est celle
des résultats, les autres colonnes décrivent les paramètres (réglages)
du plan d'expérience.
- Quel est le nombre
des expériences ? Quel est le nombre
de modalités ? Quel est, pour chaque modalité, le nombre de
niveaux ? Quelle est la taille
du code adapté à un modèle affine
sans corrélations ?
- Rappelons que le nom du module planx est "plans d'expérience"
et non pas "scilab" ou "révision".
Nous avons constaté une différence significative de résultats
entre les étudiants connaissant le titre du module suivi et les autres.
- On voit que le plan d'expérience comporte
essais. Il y a
modalités, chacune possédant
niveaux codés
.
La taille de l'espace total à explorer est donc
.
- Si l'on considère ces niveaux comme de simples identifiants, le codage
réduit nécessite
variables (une pour la constante
du modèle affine, et deux pour les niveaux indépendants de chaque
modalité).
- Lire le fichier sous Scilab (en modifiant la procédure de lecture...
ou en modifiant le fichier à la main). Donner la matrice ma
codant le plan d'expériences.
- Il fallait transformer le caractère "space" en autre
chose, par exemple "underscore". Puis transformer
les séparateurs texte, anciennement "space/semi-colon/space"
en séparateurs scilab, par exemple "space".
- Il était rappelé que faute d'arriver à programmer cela sous Scilab,
il était possible de modifier le fichier à la main, en utilisant un
traitement de texte, comme edit ou notepad ou scipad
ou ...
- On obtient une matrice texte datas de taille
,
puis une matrice numérique ma de taille
(cf Table 1, gauche).
Table 1:
Matrices ma et Ma
 |
- Donner une représentation cartésienne de ce plan d'expériences.
Que remarque-t-on ? Que pensez-vous de cette répartition ?
- La représentation cartésienne
disposant en abscisse les deux premières modalités et les deux autres
en ordonnées ne fait pas apparaître de défauts.
- Par contre les représentations cartésiennes utilisant trois des quatre
modalités font apparaître les qualités de ce plan. Il y a quatre façons
de choisir trois modalités sur les quatre. Et pour chaque restriction
on obtient un plan complet par rapport aux modalités conservées.
- Rappeler quelle est la mesure habituellement utilisée pour déterminer
la qualité d'un choix d'essais. Obtenir, par tirage au sort un tel
choix parmi les choix possibles. Quelle est sa qualité ? Comparer
avec le plan décrit dans le fichier donné.
- La mesure habituellement utilisée pour déterminer la qualité d'un
choix d'essais est la valeur propre minimale de la matrice ms=ma'*ma.
Plus cette valeur propre est grande, plus la propagation d'erreur
est petite.
- La commande [Rdatas,Rma,Rms]=randplan() fournit un plan
d'expérience parmi les
possibles.
- Quand on compare les valeurs propres des deux matrices ms
(à gauche) et Rms (à droite), on voit que le plan proposé
ma est de meilleure qualité que le plan Rma obtenu
par tirage au sort
- Utiliser la méthode des moindres carrés pour déterminer mx,
le meilleur modèle affine sans interactions tenant compte des
résultats expérimentaux.
- La méthode des moindres carrés est
ms=ma'*ma ; mx=(1/ms)*ma'*mb
Cette formule permet de déterminer le modèle affine qui "colle"
le mieux aux données expérimentales.
- On obtient :
- Évaluer la confiance que l'on peut apporter à ce modèle. Donner
les détails des calculs, tracer et imprimer les graphiques utiles.
- La confiance que l'on peut apporter à un modèle concerne son aptitude
à prévoir les résultats des mesures qui n'ont pas été faites. L'évaluation
de cette aptitude est fondée sur l'aptitude du modèle à prévoir rétrospectivement
le passé.
- Visuellement, on porte en abscisse les résultats expérimentaux, et
en ordonnée les désaccords entre le modèle et la réalité. On obtient
la Figure 1.
Figure 1:
Désaccords versus résultats
|
- L'estimation de la qualité de l'accord modèle/réalité est fondée sur
le rapport des variances :
FRV=variance(mb)/variance(mdelta)
- On peut obtenir une estimation visuelle en utilisant le rapport des
amplitudes :
(max(mb)-min(mb))/(max(mdelta)-min(mdelta))
ce rapport est grosso modo la racine carrée du FRV.
- La valeur FRV
estime la capacité à prévoir
rétrospectivement le passé. La capacité à prévoir l'avenir s'obtient
en corrigeant ce résultat de façon à tenir compte des degrés de liberté
utilisés. Il vient :
- Même réduite ainsi, la qualité du modèle reste bonne (FRV nettement
supérieur à 1).
- Évaluer l'influence (isolée) de chaque facteur (tracer, imprimer
et commenter les graphiques utiles).
- L'influence de chaque modalité est estimée en examinant l'amplitude
des variations obtenues en laissant fixes les autres modalités (cf
Figure 2).
Figure 2:
Influences des quatre modalités
|
- On constate que la modalité D est la plus influente, tandis que l'influence
de la modalité B est environ six fois moindre.
On considère maintenant les données comme quatre paramètres,
les nombres
étant désormais considérés comme étant les
valeurs prises par une grandeur mesurable et pas seulement comme les
niveaux d'une modalité.
- Coder l'expérience
par
de façon à travailler avec des variables centrées. Obtenir la nouvelle
matrice de codage mA puis le nouveau modèle
mX correspondant.
- La matrice mA est donnée Table 1,
droite.
- La matrice mX=(1/mS)*mA'*mb vaut :
- Comparer la qualité de ce modèle avec la qualité du modèle précédent.
- La capacité de ce modèle à prédire le passé est très légèrement moins
bonne que celle du modèle précédent. En effet, var(mdelta)
tandis que var(mDelta)
- La mesure fondée sur la plus petite valeur propre est nettement en
faveur du nouveau plan, la matrice mS étant désormais diagonale
et ses valeurs propres
étant plus élevées.
- Plus que tout, le nouveau modèle nécessite moins de coefficients et
sa capacité à prévoir l'avenir est nettement meilleure :
On considère maintenant un modèle du second degré.
- Montrer que la séquence d'expériences réalisée permet d'évaluer
les interactions deux par deux des paramètres.
- Un modèle du second degré nécessite
coefficients
d'interaction et
coefficients de courbure en plus des
coefficients déjà utilisés. Soit
coefficients en tout. Il restera
essais pour évaluer la qualité du modèle.
- On peut aussi prévoir que les coefficients de courbure seront négligeables
et se limiter aux six coefficients d'interaction. On obtient alors
un modèle à
coefficients
- Procéder aux calculs nécessaires et obtenir les coefficients
de ce nouveau modèle.
- La procédure auh(j,k) permet de construire de proche en proche
les matrices maa (avec termes carrés) et Zma (sans
termes carrés).
- Il est préférable de travailler avec des variables centrées. Les
sont centrées par construction. Les
sont donc centrées.
Par contre, les
ne sont pas centrées. Il vaut mieux utiliser
et corriger la matrice maa en conséquence.
Soit Yma la matrice corrigée.
- Les spectres de Yms et Zms sont :
- Les coefficients sont donnés Table 2.
On constate que les modèles affine, sans carrés et quadratique complet
sont "emboîtés". Il en est ainsi parce que les groupes
de colonnes correspondants sont linéairement indépendants (Yms
est diagonale par blocs).
Table 2:
Les coefficients mX, Zmx et Ymx des trois
modèles
 |
- Que remarque-t-on ?
- On constate que le dernier modèle, avec quatre coefficients de plus,
conduit à une variance résiduelle légèrement plus petite. Mais ce
qui compte n'est pas de mieux prédire le passé.
- On constate, au contraire, que le modèle sans carrés possède une meilleure
aptitude à prévoir le futur car le FRV corrigé est supérieur (446
au lieu de 395).
- On constate en outre que le modèle quadratique est bien meilleur que
le modèle affine simple. Les termes exprimant les interactions 12
et 34 ont une influence comparable aux termes affines et sont donc
indispensables à une bonne modélisation du processus étudié.
//Evaluation Plans d'Expérience
//Vient en complément du fichier 'planx.sce'
-->function readds
-->global mydir myfig shortnam datas
-->myfig=mydir;
-->nam = "dat_planx_ds07a.txt"; shortnam="ds";
-->fich = mydir + nam ; disp('source: '+fich)
-->hndl = mopen(fich, "r") ; rep = mgetl(hndl) ; mclose(hndl) ;
-->rep = strsubst( rep, ' ', '_') ; rep = strsubst( rep, '_;_', ' ') ;
-->frmt='%s%s%s%s%s%s%s%s' ; datas = msscanf(-1, rep, frmt) ;
-->readmoda
-->endfunction
-->function draw_residus_modif
-->curfig= scf(1);
-->draw_residus ; curax=get('current_axes') ;
-->curax.title.text=shortnam+" : residus "+curax.title.text
-->curax.margins=[0.05,0.01,0.15,0.05] ;
-->set_posfig_dim(curfig.figure_size(1),curfig.figure_size(2))
-->xs2eps(1, myfig+shortnam+"_residus")
-->endfunction
-->function draw_influences_modif
-->curfig= scf(2);
-->draw_influences ; curax=get('current_axes') ;
-->curax.title.text=shortnam+" : "+curax.title.text
-->set_posfig_dim(curfig.figure_size(1),curfig.figure_size(2))
-->xs2eps(2, myfig+shortnam+"_influ")
-->endfunction
-->mydir = "/home/douillet/docs/Ensait/planx/planx_ds07a/";
-->cd (mydir); exec('planx.sce',-1);
!fun readdata(item) !
!fun mambms fun mat=data2mat(data) !
!fun draw_residus fun draw_influences !
!fun rectan=recmap(tox,toy,DAT) !
!fun aug(u,v) !
!fun [Datas,mA,mS]=randplan() fun [Datas,mA,mS]=goodplan(tx) !
-->//1.1
-->readds
source: /home/douillet/docs/Ensait/planx/planx_ds07a/dat_planx_ds07a.txt
-->printf(" nb modalités=%d, nb essais=%d\n", ix,jx)
nb modalités=4, nb essais=27
-->//1.2
-->ma=data2mat(datas)
1. - 1. - 1. - 1. - 1. 0. 1. 0. 1.
1. 1. 0. 0. 1. - 1. - 1. - 1. - 1.
1. 1. 0. - 1. - 1. 1. 0. - 1. - 1.
1. 0. 1. - 1. - 1. 0. 1. - 1. - 1.
1. - 1. - 1. 0. 1. 1. 0. 0. 1.
1. 1. 0. - 1. - 1. - 1. - 1. 0. 1.
1. - 1. - 1. 1. 0. - 1. - 1. 0. 1.
1. - 1. - 1. 0. 1. 0. 1. - 1. - 1.
1. - 1. - 1. 1. 0. 1. 0. - 1. - 1.
1. 1. 0. 1. 0. 0. 1. - 1. - 1.
1. 0. 1. 0. 1. 0. 1. 1. 0.
1. 1. 0. 1. 0. - 1. - 1. 1. 0.
1. - 1. - 1. - 1. - 1. - 1. - 1. - 1. - 1.
1. - 1. - 1. - 1. - 1. 1. 0. 1. 0.
1. 0. 1. - 1. - 1. 1. 0. 0. 1.
1. - 1. - 1. 1. 0. 0. 1. 1. 0.
1. 1. 0. 1. 0. 1. 0. 0. 1.
1. 0. 1. - 1. - 1. - 1. - 1. 1. 0.
1. 1. 0. - 1. - 1. 0. 1. 1. 0.
1. 1. 0. 0. 1. 0. 1. 0. 1.
1. 1. 0. 0. 1. 1. 0. 1. 0.
1. 0. 1. 1. 0. - 1. - 1. - 1. - 1.
1. 0. 1. 0. 1. - 1. - 1. 0. 1.
1. 0. 1. 0. 1. 1. 0. - 1. - 1.
1. - 1. - 1. 0. 1. - 1. - 1. 1. 0.
1. 0. 1. 1. 0. 1. 0. 1. 0.
1. 0. 1. 1. 0. 0. 1. 0. 1.
-->//1.3 : on obtient un plan complet pour chaque triplet de variables
-->recmap([1,2],[3],datas)
1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1.
-->recmap([2,3],[4],datas)
1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1.
-->//1.4
-->[Rdatas,Rma,Rms]=randplan(); ms=ma'*ma;
-->[spec(ms), spec(Rms)]
9. 2.4190038
9. 3.5469372
9. 6.1151175
9. 9.7608775
27. 15.872093
27. 20.786309
27. 31.664489
27. 36.357574
27. 41.477599
-->//2.1
-->mambms;
rawvar= 40.429040, redvar= 4.750327, est(FRV)= 5.892086
-->mx
9.5803648
- 0.0147956
3.26083
0.0433691
0.8215247
- 0.0992214
4.0853027
- 0.0675738
4.9267311
-->//2.2
-->draw_residus_modif
-->FRV=variance(mb)/variance(mdelta)
8.5107915
-->//2.3
-->draw_influences_modif
-->//3.1
-->mA=[ones(jx,1), eval(datas(2:$,1:4))-1] ;
-->mS=mA'*mA , spec(mS)
mS =
27. 0. 0. 0. 0.
0. 18. 0. 0. 0.
0. 0. 18. 0. 0.
0. 0. 0. 18. 0.
0. 0. 0. 0. 18.
ans =
18.
18.
18.
18.
27.
-->mX=(1/mS)*mA'*mb, mDelta=mA*mX-mb;
mX =
9.5803648
3.2534322
0.8432093
4.0356921
4.8929442
-->//3.2
-->variance(mDelta)
4.7588996
-->printf("est(FRV)=%f\n", variance(mb)/variance(mDelta)*(jx-5)/(jx-1))
est(FRV)=7.188466
-->//4.2
-->maa=mA; for j=2:5 do for k=j+1:5 do auh(j,k) ; end; end; Zma=maa;
-->for j=2:5 do auh(j,j); end;
-->Yma=maa+[zeros(27,11),-ones(27,4)*2/3]; fac=1E14;
-->Yms=Yma'*Yma; Yms=round(fac*Yms)/fac; Zms=Zma'*Zma;
-->Ymx=(1/Yms)*Yma'*mb; Zmx=(1/Zms)*Zma'*mb;
-->[[mX;zeros(10,1)], [Zmx;zeros(4,1)], Ymx]
9.5803648 9.5803648 9.5803648
3.2534322 3.2534322 3.2534322
0.8432093 0.8432093 0.8432093
4.0356921 4.0356921 4.0356921
4.8929442 4.8929442 4.8929442
0. 1.9247444 1.9247444
0. 0.0923934 0.0923934
0. 0.0119960 0.0119960
0. 0.0564158 0.0564158
0. - 0.0688481 - 0.0688481
0. 2.1078514 2.1078514
0. 0. 0.0221934
0. 0. - 0.0650536
0. 0. 0.1488321
0. 0. 0.1013607
-->//4.3
-->Zmdelta=Zma*Zmx-mb; Ymdelta=Yma*Ymx-mb;
-->printf("est(FRVZ)=%f\n", variance(mb)/variance(Zmdelta)*(jx-5-6)/(jx-1))
est(FRVZ)=445.602126
-->printf("est(FRVY)=%f\n", variance(mb)/variance(Ymdelta)*(jx-5-6-4)/(jx-1))
est(FRVY)=394.825384
-->exit
Up: Return to previous menu
douillet@ensait.fr
2007-11-20