SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Rapport de Stage de 5ème
année
présenté par
Mamadou SECK
Filière MAM
Promotion 21
Année 2014-2015
Intégration de l’analyse de la variance
multivariée dans la solution XLSTAT
Tuteur de l’entreprise : Arnaud BELLETOILE
Tuteur de l’école : Thierry CLOPEAU
Août 2015
Polytech Lyon - UNIVERSITE CLAUDE BERNARD LYON 1
Domaine Scientifique de la Doua - 15 Boulevard Latarjet
69622 VILLEURBANNE CEDEX
Tél. (33) 04.72.43.12.24 - Fax. (33) 04.72.43.12.25
http://polytech.univ-lyon1.fr
Remerciements
Tout d’abord, j’exprime ma profonde gratitude à Monsieur Arnaud BELLETOILE pour
m’avoir e cacement encadré durant ce stage, ainsi qu’à Thierry FAHMY sans qui il aurait
été plus di cile de faire ce stage chez Addinsoft. Bien sûr, je les remercie également pour
leurs nombreux conseils. Ils m’ont permis d’organiser mon travail d’un point de vue
professionnel.
J”adresse aussi mes remerciements aux autres collègues pour la bonne ambiance et les
conseils utiles qu’ils ont prodigués avec générosité.
Cela a été un réel plaisir de travailler dans une telle équipe.
Note
˚
Ce
rapport a
été rédigé en
LATEX˙“La connais-
sance s’acquiert par
l’expérience, tout le
reste n’est que de
l’information” -
Albert Ein-
stein
˚
i
Sommaire
Introduction 1
1 Addinsoft 2
1.1 Structure de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Position économique et stratégique . . . . . . . . . . . . . . . . . . . . . 3
2 Analyse de la Variance Multivariée 5
2.1 Le modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Estimation et somme des carrés et produits croisés . . . . . . . . . . . . 7
2.3 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Caractéristiques des tests . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 SSCP dans une MANOVA . . . . . . . . . . . . . . . . . . . . . . 10
2.3.3 Wilks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.4 Test de la trace de Hotelling Lawley . . . . . . . . . . . . . . . . . 12
2.3.5 Test de la trace de Pillai . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.6 Test de la plus grande racine de Roy . . . . . . . . . . . . . . . . 12
2.3.7 Somme des carrés de type I, II et III . . . . . . . . . . . . . . . . 13
3 Implémentation et intégration du code 15
3.1 Revue de l’existant dans la concurrence . . . . . . . . . . . . . . . . . . . 15
3.2 C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Interfaçage VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.1 Schéma d’exécution du code . . . . . . . . . . . . . . . . . . . . . 19
3.4 Comparaison XLSTAT et logiciels concurrents . . . . . . . . . . . . . . . 21
4 Impressions personnelles 22
Conclusion 23
ii
Liste des tableaux
1.1 Compte de résultat des 3 dernières années . . . . . . . . . . . . . . . . . 4
1.2 Evolution du nombre de clients, de solutions statistiques et de l’e ectif
chez Addinsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Table d’analyse de la variance multivariée . . . . . . . . . . . . . . . . . 11
2.2 Formules de calcul des matrices SSCP pour un modèle à 3 facteurs . . . 14
3.1 Options proposées par XLSTAT et ses concurrents . . . . . . . . . . . . . 21
iii
Introduction
Étudiant en troisième année du cycle d’ingénieur à Polytech Lyon en Mathématiques
Appliquées et Modélisation (MAM), j’ai été amené à réaliser un stage d’assistant ingénieur
d’une vingtaine de semaines pour acquérir une nouvelle expérience professionnelle et
valider mon diplôme. Je l’ai e ectué au sein de Addinsoft du 27 avril 2015 au 25 septembre
2015. Cela a été pour moi une opportunité de travailler dans le développement d’un
logiciel. Le but étant non pas le profit mais l’expérience, cela crée une réelle motivation.
C’est dans ce cadre que j’ai mis en pratique mes connaissances acquises ces dernières
années et également appris à m’adapter pour optimiser et non plus appliquer pour réaliser.
Cahier des charges
Le thème du stage correspond à une implémentation de l’analyse de la variance multi-
variée, solution statistique fréquemment utilisée par les professionnels.
Il consiste en premier lieu à une recherche bibliographique sur le modèle linéaire
général, plus particulièrement la MANOVA pour comprendre la méthode et avoir de
premières idées quant au raisonnement mathématique et à l’implémentation de cette
méthode. En second lieu, choisir une bonne méthode d’implémentation aussi bien en
C++ qu’en VBA pour construire un code optimisé et bien conditionné, qui se chargerait
de faire une analyse rapide tout en produisant des résultats justes.
Conditions requises
L’implémentation de la MANOVA nécessite une bonne connaissance de la méthode à
développer, des résultats produits par les concurrents sur le marché et de leurs spéci-
ficités et finalement choisir le meilleur benchmark .
Le choix du meilleur benchmark se faisant à partir d’un certain nombre de critères, il est
indispensable de faire une étude préalable du fonctionnement du code de chaque concur-
rent, pour déterminer lequel d’eux constituera le meilleur benchmark.
Cela m’a permis de me familiariser avec le langage C++, mais également de mieux com-
prendre les logiciels R, Excel et la programmation Excel VBA.
Après avoir présenté Addinsoft et l’environnement du stage, nous nous intéresserons
à mon activité de stagiaire ainsi qu’aux travaux réalisés et, enfin nous ferons le bilan de
ce stage, avant de conclure.
1
1 Addinsoft
Addinsoft est l’entreprise éditrice du logiciel XLSTAT, une solution logicielle adossée à
Microsoft Excel et spécialisée dans les statistiques et l’analyse de données. Fondée en
2000 par son dirigeant actuel, M. Thierry Fahmy, l’entreprise a su s’imposer au fil des
ans comme l’une des solutions qui compte sur son cœur de métier. Pour cela, elle a su
proposer une approche originale combinant des méthodes d’analyses pointues directement
issues du milieu académique, une interface conviviale et intuitive destinée à rendre ces
méthodes accessibles à un large éventail d’utilisateurs et enfin un support aux utilisa-
teurs, humain et réactif, centré sur l’échange et la satisfaction du client.
1.1 Structure de l’entreprise
Jusqu’à tout récemment, l’entreprise Addinsoft a conservé une taille et une organisation
de très petite entreprise avec un e ectif salarié ne dépassant jamais 4 ou 5 personnes.
Cependant, une phase importante de développement a été amorcée durant l’année 2014
avec une vague de recrutements, portant l’e ectif à 11 personnes et une formalisation
des rôles de chacun dans une structure davantage segmentée. Cette nouvelle structure
opérationnelle couvre 4 pôles d’activités et de métiers qui sont :
• le pôle développement statistique
• le pôle SEO (Search Engine Optimization)
• le pôle infrastructures/informatique
• le pôle comptabilité/gestion
Les missions de chacun de ces pôles sont détaillées dans l’organigramme ci dessous.
2
Pour ma part, j’ai évolué au sein du pôle développement statistique, composé de trois
développeurs en statistiques. De part la taille humaine de la structure, j’ai pu intéragir
avec les membres des di érents pôles, ce qui m’a facilité la tâche pour remplir les missions
qui m’étaient confiées.
1.2 Position économique et stratégique
Si la jeunesse de ses e ectifs et son positionnement high-tech font immanquablement
penser à une start-up, l’entreprise Addinsoft est positionnée sur un segment de marché
établi et mûr depuis les années 70, ce qui la démarque nettement d’une start-up classique.
En e et, les acteurs principaux du domaine du logiciel de statistiques, tels que SAS ou
SPSS (IBM), ont vu le jour en 1966 et 1968, respectivement. Ils ont, par la suite, acquis
une position d’acteur dominant dès les années 2000.
C’est donc au sein d’un domaine fortement concurrentiel, comptant des acteurs his-
toriques d’envergure, qu’Addinsoft est parvenue à conquérir des parts de marchés pour de-
venir la suite logicielle d’analyse de données pour Excel la plus utilisée au monde. Ce suc-
cès s’explique en partie par un positionnement stratégique axé sur la facilité d’utilisation
apportée par Excel et un excellent rapport qualité/prix.
Comme le montrent les comptes de résultat regroupés dans le tableau 1.1 et 1.2, l’entreprise
3
s’est construite au fil des ans une solide santé économique. Cette dernière lui permet
d’envisager sereinement la phase de développement qu’elle a entamée en 2014 et dont
l’objectif principal est de réaliser une montée en gamme importante. Cet objectif am-
bitieux se traduit d’ores et déjà par le lancement de plusieurs projets en parallèle actuelle-
ment en cours de réalisation :
• refonte de la vitrine web et de l’interface client;
• renforcement de la présence sur les réseaux sociaux;
• développement d’une solution cloud;
• l’implémentation d’algorithmes sur GPUs;
• veille accrue sur les dernières tendances dans le domaine des statistiques et de
l’analyse des données.
2014 2013 2012 Variation
Chi res d’a aires (euros) 1 629 800 1 572 600 1 355 200 20,04%
Production (euros) 1 629 800 1 572 600 1 355 200 20,04%
Valeur ajoutée (euros) 990 900 470 900 455 800 113,74%
EBE (euros) 324 700 233 100 299 900 17,03%
Résultat d’exploitation (euros) 149 800 195 000 260 100 -48,21%
RCAI (euros) 165 600 223 600 259 100 -39,64%
Résultat Net(euros) 218 300 151 500 163 500 36,75%
Tableau 1.1: Compte de résultat des 3 dernières années
(EBE : Excédent brut d’exploitation, RCAI : Résultat Courant Avant Impôt.)
2014 2013 2012
Nombre de clients 4 000 3 500 3 000
Universitaire 25% 26% 28%
Entreprises 38% 41% 42%
Individuels 37% 33% 30%
E ectif 11 5 3
Nombre de solutions statistiques 15 13 11
Tableau 1.2: Evolution du nombre de clients, de solutions statistiques et de l’e ectif chez
Addinsoft
Tous les jours, plusieurs centaines de personnes téléchargent XLSTAT qui compte
maintenant plus de 30000 utilisateurs. Les utilisateurs de XLSTAT se répartissent dans
plus de 100 pays, de Hong-Kong au Pérou, de la Norvège à l’Afrique du Sud.
Une augmentation de 36,75% sur le résultat net entre 2012 et 2014 témoigne de la bonne
santé économique de Addinsoft.
4
2 Analyse de la Variance
Multivariée
L’Analyse de la Variance (ANOVA) est un modèle particulier du modèle linéaire général
utilisé quand une variable quantitative est expliquée par une ou plusieurs variables qualita-
tives, appelés facteurs. Les modèles d’analyse de la variance sont très utilisés dans
plusieurs domaines allant des biostatistiques à l’économie. Les tests associés à ces mo-
dèles robustes sont généralement puissants.
L’objectif des modèles d’ANOVA est de déterminer les e ets des variables qualitatives
sur la variable quantitative et, éventuellement, de tester l’égalité des moyennes entre les
di érents niveaux de facteurs. Dans plusieurs situations, il est plus intéressant de tester
simultanément les e ets des facteurs sur non pas une mais plusieurs variables réponses.
Cette étude multivariée est appelée MANOVA (pour l’anglais Multivariate Analysis Of
Variance).
L’analyse de la variance multivariée est donc une extension de l’ANOVA dans laquelle
les e ets des facteurs sont évalués sur une combinaison de plusieurs variables réponses.
L’avantage de l’utilisation d’une MANOVA au lieu de plusieurs ANOVA simultanées
réside dans le fait qu’elle prend en compte la corrélation entre les variables réponses et
permet ainsi une meilleure utilisation des informations provenant des données.
Ainsi, la MANOVA teste la présence de di érences significatives parmi les combi-
naisons de niveaux de facteurs sur plusieurs variables réponses. Avec une MANOVA, on
est donc capable de tester conjointement toutes les hypothèses que testent une ANOVA
et on a plus de chances d’observer les di érences entre les niveaux de facteurs.
Par exemple, deux facteurs peuvent n’avoir d’e ets sur di érentes variables réponse que
si celles-ci sont prises en compte ensemble et non pas séparément.
De plus, faire plusieurs ANOVA au lieu d’une MANOVA augmente l’erreur de type I
c’est à dire la probabilité de rejeter à tort l’hypothèse H0. Par exemple, pour 6 variables
réponses et un niveau de confiance fixé à 5%, l’erreur de type I est de 30% pour plusieurs
ANOVA et 5% pour une MANOVA.
Enfin, plusieurs ANOVA séparées ne prennent pas en compte la covariation entre
variables réponses tandis que la MANOVA n’est pas seulement sensible aux di érences
de moyenne entre niveaux de facteurs mais également à la covariance entre variables ex-
plicatives. Quand ces variables sont toutes étudiées ensemble, il y a plus de chances de
détecter une possible corrélation entre certaines variables. Ce n’est pas le cas avec une
ANOVA qui ne prend en compte qu’une seule variable réponse.
Les modèles d’ANOVA et de MANOVA peuvent être utilisés sous certaines condi-
5
tions et leur complexité croît avec le nombre de facteurs inclus dans le modèle. Pour
les variables dépendantes, les données forment un échantillon aléatoire de vecteurs dans
une population normale multivariée. Dans cette population, les matrices de variance /
covariance de toutes les cellules sont les mêmes. L’analyse de la variance supporte les
écarts à la normalité, bien que les données doivent être symétriques.
Dans ce rapport, nous nous e orcerons de montrer comment le modèle est a ecté
quand des hypothèses ne sont pas respectées et de présenter les di érentes méthodes util-
isées pour palier aux di érents problèmes.
Des données équilibrées (plan équilibré) sont des données où le nombre d’observations
est identique pour toutes combinaisons de niveaux de facteurs. Dans le cas contraire, on
parle de données déséquilibrées ou plan déséquilibré.
Nous introduirons la MANOVA et toutes ses propriétés selon qu’on soit dans un plan
équilibré ou un plan déséquilibré. Ensuite, nous justifierons les choix d’implémentation
de la méthode avant de terminer sur la description de l’implémentation en tant que telle.
2.1 Le modèle
Pour les modèles standard d’ANOVA et de MANOVA, on suppose que les échantillons
sont indépendants, suivent une loi normale et que les matrices de covariance sont égales
pour chaque facteur et chaque combinaison de niveaux de facteurs (homogénéité de la
covariance). Il a été prouvé que ces modèles restent robustes pour des données équilibrées
même si l’hypothèse d’égalité des matrices de covariance n’est pas parfaitement respectée
(Timm, 2002). Cependant, ce n’est pas le cas pour des données non équilibrées, nous
verrons comment corriger ce problème dans la deuxième partie du rapport.
Nous prendrons comme exemple illustratif une MANOVA à deux facteurs avec inter-
action. Soit deux facteurs A et B avec respectivement a et b niveaux.
yijk : p ◊ 1 est un vecteur avec p mesures pour la kème
observation du ième
niveau du
facteur A et du jème
niveau du facteur B :
yijk = µ + –i + —j + –—ij + ‘ijk (2.1)
avec
i = 1, · · · , a , j = 1, · · · , b, k = 1, · · · , n
–i , —j représentent les e ets principaux des facteurs A et B et –—ij l’e et d’interaction
entre A et B.
‘ijk
iid
≥ Np(0, ) ce qui implique
E(yijk) = µ + –i + —j + –—ij et ‡(yijk) = ‡(‘ijk) =
La forme matricielle du modèle est alors :
6
Y
(n◊m)
= X
(n◊p)
B
(p◊m)
+ E
(n◊m)
(2.2)
où Y est une matrice d’observations multivariées, X est une matrice de variables
explicatives, B est une matrice de paramètres à estimer et E est une matrice contenant
des erreurs ou du bruit.
2.2 Estimation et somme des carrés et produits croisés
Comme pour les modèles d’ANOVA univariés, certains e ets seront inestimables dûs à
une sur-paramétrisation du modèle. Des contraintes doivent donc être imposées sur les
paramètres –i , —j et –—ij.
Rappelons qu’on est toujours dans le modèle à deux facteurs avec interactions. On ex-
prime ces contraintes de la manière suivante :
aÿ
i=1
–i = 0
bÿ
j=1
—j = 0
aÿ
i=1
–—ij = 0 ’j
aÿ
j=1
–—ij = 0 ’i
(2.3)
Avec les contraintes ci-dessus, les estimateurs du modèle avec interactions sont :
ˆµ = y...
ˆ–i = yi.. ≠ y...
ˆ—j = y.j. ≠ y...
ˆ–—ij = yij. ≠ yi.. ≠ y.j. + y...
(2.4)
où
7
y... =
aÿ
i=1
bÿ
j=1
nÿ
k=1
yijk
yi.. =
bÿ
j=1
nij
ÿ
k=1
(bnij)≠1
yijk
y.j. =
aÿ
i=1
nij
ÿ
k=1
(anij)≠1
yijk
yij. =
nij
ÿ
k=1
n≠1
ij yijk
(2.5)
Dans un modèle multivarié, les sommes des carrés dues aux e ets dans le modèle et
les sommes des carrés d’erreur sont représentées sous forme matricielle plutôt que sous
forme d’échelle comme dans l’analyse univariée. Ces matrices sont appelées matrices
SSCP (sommes des carrés et produits croisés). Elles sont toutes carrées et symétriques.
Ainsi, matriciellement, on obtient l’estimateur du maximum de vraisemblance de B par :
ˆB = (XÕ
X)≠1XÕ
Y (2.6)
La somme totale des carrés et produits croisés notée SSCPT peut être décomposée
en somme des carrés issus de la régression SSCPReg et en somme des carrés résiduels
SSCPE.
SSCPT
(m◊m)
= Y Õ
Y ≠ ny yÕ
=
1
Y ≠ Y
2Õ 1
Y ≠ Y
2
SSCPT = ˆEÕ ˆE +
1
ˆY Õ ˆY ≠ ny yÕ
2
SSCPT = SSCPE + SSCPReg
(2.7)
y est un vecteur de taille (m ◊ 1) contenant les moyennes par colonne de la matrice
des observations.
ˆY = X ˆB est la matrices des valeurs ajustées des observations.
ˆE = Y ≠ ˆY est la matrice des résidus ou matrice des erreurs d’ajustement.
La somme des carrés et produits croisés de la régression peut à son tour être décom-
posée en somme de somme de carrés et produits croisés issus de chaque facteur et de
chaque interaction, SSCPA, SSCPB et SSCPAB respectivement.
Dans notre exemple de la MANOVA à deux facteurs cette décomposition donne :
SSCPReg = SSCPA + SSCPB + SSCPAB (2.8)
Ces matrices seront utilisées ensuite pour réaliser l’ensemble des test statistiques qui
sont présentés dans la section suivante.
8
2.3 Tests
Pour tester tous les e ets du modèle simultanément, les tests de Fisher standards pour les
e ets principaux et les e ets d’interaction doivent être généralisés. Les résultats de ces
tests multivariés sont tous basés sur la relation entre la matrice d’erreur E et la matrice
H, c’est à dire sur le calcul des valeurs propres de la matrice E≠1
H. H symbolise
l’hypothèse testée dans le modèle.
Dans notre exemple de MANOVA à deux facteurs, HA, HB et HAB sont respectivement
les matrices SSCP associées aux hypothèses de nullité d’e ets principaux des facteurs
A, B et de l’e et d’interaction entre les facteurs A et B. H = HA,HB ou HAB suivant
l’hypothèse testée.
L’hypothèse générale pour une MANOVA à deux facteurs peut s’écrire sous la forme
de la série d’hypothèses suivante :
H0A : –1 = –2 = · · · = –a = 0
H0B : —1 = —2 = · · · = —b = 0
H0AB : –—11 = · · · = –—1b = · · · = –—a1 = · · · = –—ab = 0
(2.9)
Les quatre tests multivariés les plus utilisés sont :
• le test de Wilks
• le test de la trace de Hotelling-Lawley
• le test de la trace de Pillai
• le test de la plus grande racine de Roy.
2.3.1 Caractéristiques des tests
Rappelons qu’un test est robuste s’il reste valable alors que les hypothèses d’application
ne sont pas toutes réunies. Cela peut être une taille d’échantillon un peu faible ou une
loi de probabilité (loi normale pour les tests paramétriques) qui n’est pas vérifiée.
Rappelons aussi que la puissance d’un test statistique ou encore le complément du
risque de deuxième espèce est la probabilité de rejeter l’hypothèse nulle sachant qu’elle est
incorrecte. Autrement dit, la puissance exprime la probabilité de détecter une di érence
lorsqu’elle existe réellement.
Le test de Wilks est le plus utilisé, il reste interprétable aussi bien pour des données
équilibrés que pour des données déséquilibrées.
Compte tenu de l’expression de la statistique de test de la trace de Hotelling-Lawley
que nous expliciterons, cette expression est considérée comme la généralisation multidi-
mensionnelle la plus naturelle du test de Fisher. Il est utile dans le cas où toutes les
9
variables quantitatives ont toutes exactement deux niveaux.
Le test de Pillai n’est e cace que dans le cas où on a égalité des échantillons (plan
équilibré). Dans ce cas, il est robuste.
On notera enfin dans le cas du test de la plus grande racine de Roy, la loi de Fisher
est un minorant pour la loi de la statistique de test, ce qui signifie que la p-valeur calculée
pour ce test est toujours plus petite que celle des autres tests. Le test de Roy est un test
puissant mais pas robuste. Pour cette raison, il est déconseillé.
2.3.2 SSCP dans une MANOVA
Restons dans l’exemple de la MANOVA avec les facteurs A et B avec respectivement a et
b niveaux. Pour chaque niveau d’interaction ij, on réalise nij observations indépendantes
de chaque variable quantitative à expliquer Y(nij Ø 1), notées yij,i = 1, · · · a, j = 1, · · · b,
on pose enfin n =
qa
i=1
qb
j=1 nij : n est le nombre total d’observations réalisées dans
l’expérience.
Si nij = n0 ,i = 1, · · · a, j = 1, · · · b, on dit que le plan est équilibré; sinon, on parle
de plan déséquilibré. Dans un plan équilibré, n0 s’appelle le nombre de répétitions.
Selon la nature des données (équilibrées ou déséquilibrées), les matrices SSCP ne se
calculent pas de la même manière. Cependant le tableau 2.1 d’analyse de la variance
multivariée suivant reste inchangé.
Les matrices SSCP du modèle s’expriment de la manière suivante :
SSCPA = nb
aÿ
i=1
(yi.. ≠ y...) (yi.. ≠ y...)Õ
SSCPB = na
bÿ
j=1
1
y.j. ≠ y...
2 1
y.j. ≠ y...
2Õ
SSCPAB = n
aÿ
i=1
bÿ
j=1
1
yij. ≠ yi.. ≠ y.j. + y...
2 1
yij. ≠ yi.. ≠ y.j. + y...
2Õ
SSCPE =
aÿ
i=1
bÿ
j=1
nÿ
k=1
1
yijk ≠ yij.
2 1
yijk ≠ yij.
2Õ
SSCPT =
aÿ
i=1
bÿ
j=1
nÿ
k=1
1
yijk ≠ y...
2 1
yijk ≠ y...
2Õ
(2.10)
Les expressions des moyennes sont données à l’équation 2.5.
10
Source matrices SSCP Degrés de liberté
Facteur A SSCPA a ≠ 1
Facteur B SSCPB b ≠ 1
Interaction AB SSCPAB (a ≠ 1)(b ≠ 1)
Erreur SSCPE ab(n ≠ 1)
Total SSCPT abn ≠ 1
Tableau 2.1: Table d’analyse de la variance multivariée
2.3.3 Wilks
Pour i = 1, · · · m, soit ⁄i, les valeurs propres de la matrice E≠1
H. Pour les quatre tests
qui suivront, on utilisera ces valeurs propres.
Le test de rapport de vraisemblance plus connu sous le nom de test de Wilks
(Wilks-1932) est égal à :
=
mŸ
i=1
1
1 + ⁄i
=
|E|
|E + H|
(2.11)
Cette valeur peut être interprétée comme le pourcentage de variabilité non expliquée
par l’e et étudié.
Si E est petit par rapport à H, sera proche de 0 sinon sera proche de 1.
L’hypothèse nulle est rejetée quand est petit.
Quand l’hypothèse nulle est vraie, la statistique de test T suit la loi de Fisher suivante :
T =
1 ≠ 1/“
1/“
”“ ≠ c
dfnum
≥ F(dfnum,”“≠c) (2.12)
avec
dffactor = nombre de niveaux du facteur ≠ 1
dfnum = p ◊ dffactor
” = (n ≠ (dffactor + 1)) ≠
dffactor ≠ p + 1
2
“ =
Y
___]
___[
ˆ
ı
ı
Ù
p2
df2
factor ≠ 4
p2 + df2
factor ≠ 5
p2
+ df2
factor ≠ 5 > 0
1 p2
+ df2
factor ≠ 5 Æ 0
c =
dfnum
2
≠ 1
11
2.3.4 Test de la trace de Hotelling Lawley
Le test statistique
THL =
mÿ
i=1
⁄i = Tr(E≠1
H) (2.13)
est souvent octroyé à Hotelling (1938) et Lawley (1947) qui ont travaillé sur ce test.
Plus H est grand comparé à E, plus la trace est grande. Dans ce cas, on rejette
l’hypothèse nulle pour des grandes valeurs de THL.
La statistique de test
1
c
THL ≥ F(a,b) (2.14)
avec :
a = pdfH ; b = 4 +
a + 2
B ≠ 1
B =
(dfE + dfH ≠ D ≠ 1)(dfE ≠ 1)
(dfE ≠ p ≠ 3)(dfE ≠ p)
c =
a(b ≠ 2)
b(dfE ≠ p ≠ 1)
2.3.5 Test de la trace de Pillai
Pillai (1955) a développé le test suivant :
TP =
mÿ
i=1
⁄i
1 ≠ ⁄i
= Tr
1
(E + H)≠1
H
2
(2.15)
communément appelé test de la Trace de Pillai. Comme le test de la trace de Hotelling-
Lawley, l’hypothèse nulle est rejetée pour de grandes valeurs de TP .
2.3.6 Test de la plus grande racine de Roy
La statistique de ce dernier test est ⁄max, la plus grande valeur propre de E≠1
H.
⁄max = max
1ÆiÆm
⁄i (2.16)
On trouve diverses approximations qui permettent de mettre en oeuvre ce test. Celle qui
est la plus couramment utilisée est la suivante :
S =
⁄max(dfH + dfE ≠ r)
r
≥ F(r,dfH +dfE≠r) (2.17)
où r = max(p, dfH)
12
2.3.7 Somme des carrés de type I, II et III
Dans le cas de données équilibrées, le type de somme de carrés choisi n’influe pas sur les
résultats de la régression. Cependant pour des données non équilibrées, le choix du type
devient important.
Type I :
Cette méthode est également appelée décomposition hiérarchique de la somme des
carrés. Chaque terme est ajusté uniquement pour le terme qui le précède dans le modèle.
La somme des carrés de type I est généralement utilisée pour :
• Une analyse de la variance dans laquelle tout e et prinicipal est spécifié devant les
e ets d’intéraction de premier ordre, et chaque e et de premier ordre spécifié avant
ceux de second ordre, et ainsi de suite;
• Un modèle de régression polynomial dans lequel les termes d’ordre inférieur sont
spécifiés avant ceux d’ordre supérieur;
• Un modèle par imbrication pur dans lequel le premier e et spécifié est imbriqué
dans le second et le second spécifié dans le troisième, etc.
Type II :
Cette méthode calcule les sommes des carrés d’un e et dans le modèle ajusté pour
tous les autres e ets “appropriés” . Un e et approprié est un e et qui correspond à tous
les e ets qui ne contiennent pas l’e et à étudier. La méthode des sommes des carrés de
type II sert généralement pour :
• Une analyse de la variance équilibrée;
• Tout modèle qui contient un e et principal uniquement;
• Tout modèle de régression;
• Un modèle par emboîtement pur.
Type III :
Cette méthode calcule les sommes des carrés d’un e et dans le modèle comme les
sommes des carrés ajustée pour tout autre e et qui ne le contient pas et orthogonal à
chaque e et qui le contient. Les sommes de carrés de type III présentent l’avantage
essentiel de ne pas varier avec les fréquences de cellule. Ce type de somme des carrés
est donc souvent considéré comme utile pour les modèles déséquilibrés auxquels aucune
cellule ne manque. La méthode des sommes des carrés de type III sert généralement
pour :
• Tous les modèles énumérés dans les types I et type II;
• Tous les modèles qui ne contiennent pas de cellules vides (données manquantes).
13
Exemple
Considérons un modèle à 3 facteurs avec interactions, les matrices de somme des carrés
et produits croisés seront calculés comme indiqué dans le tableau 2.2.
On notera que :
SSCP(x|y, z, u) = SSCP(x, y, z, u) ≠ SSCP(y, z, u) (2.18)
SSCP(x|y, z, u) est la matrice SSCP des e ets de x sachant que les e ets de y, z et
u sont déjà pris en compte dans le modèle.
SSCP(x, y, z, u) est la matrice SSCP du modèle dans lequels les e ets de x, y, z et u
sont pris en compte.
E ets Type I Type II Type III
A A A|B, C, BC A|B,AB,C,AC,BC,ABC
B B|A B|A,C,AC B|A,AB,C,AC,BC,ABC
A ◊ B AB|B,A A,B,C,AC,BC AB|A,B,C,AC,BC,ABC
C C|A,B,AB as Type I C|A,B,AB,AC,BC,ABC
A ◊ C AC|A,B,AB,C AC|A,B,AB,C,BC AC|A,B,AB,C,BC,ABC
B ◊ C BC|A,B,AB,C,AC as Type I BC|A,B,AB,C,AC,ABC
A ◊ B ◊ C ABC|A,B,AB,C,AC,BC as Type I as Type I
Tableau 2.2: Formules de calcul des matrices SSCP pour un modèle à 3 facteurs
14
3 Implémentation et intégration du
code
Une fois la recherche bibliographique faite et la méthode comprise, l’implémentation et
l’intégration sont les parties les plus importantes.
Plusieurs critères sont pris en compte pour l’implémentation et l’interfaçage dont les
principaux sont :
• la lisibilité du code;
• la rapidité d’exécution du code;
• la simplicité de l’interface et son ergonomie.
3.1 Revue de l’existant dans la concurrence
On a vu dans les parties précédentes que la base de la MANOVA repose sur le calcul
des matrices des sommes des carrés et produits croisés utilisées pour réaliser les tests de
Wilks, Hotelling-Lawley, Pillai et Roy. Pour ce faire, il y a au moins trois approches,
communément appelés somme des carrés de type I, II et III. Cette notation semble avoir
été introduite par SAS mais est très répandue maintenant.
La question du choix du type de somme de carrés et produits croisés ne se pose pas
pour des données équilibrées. Cependant, pour des données déséquilibrées, ce choix est
souvent sujet à controverses. Il est essentiel de savoir quelles informations sont les plus
pertinentes dans le jeu de données à étudier pour faire le meilleur choix du type de somme
des carrés.
Par défaut, R utilise le type I pour le calcul des matrices SSCP. De part sa nature
séquentielle, ce type de calcul donnera, sur des données non équilibrées, des résultats
di érents selon l’ordre d’ajout des e ets principaux dans le modèle. En pratique, cette
approche teste donc la di érence entre les moyennes pondérées et les résultats dépendent
de la taille des échantillons de chaque niveau de facteur.
Dans MinitabR•
, seul le type II est utilisé pour le calcul des matrices SSCP. Dans
ce cas, l’accent est mis sur les e ets principaux, aucune interaction, même signficative
n’est prise en compte. En d’autres termes, il faut d’abord tester les interactions entre les
di érents facteurs et, seulement s’ils ne sont pas significatifs, poursuivre l’analyse avec
les e ets principaux.
En termes de calcul et d’implémentation, le type II est équivalent à plusieurs type I avec
di érents ordres d’ajouts de facteurs.
Le type par défaut utilisé dans SASR•
et SPSSR•
est le type III. Cette approche est
puissante quand les interactions sont significatives, cependant les e ets principaux ne
15
sont plus interprétables. En l’absence d’interactions significatives, le type II devient plus
puissant.
Le type II n’est puissant que dans un modèle sans interaction significative. Le type
III n’est puissant que dans un modèle où les interactions sont significatives. Pour ces
raisons, nous avons choisi d’implémenter la MANOVA de XLSTAT avec des matrices de
somme de carrés et produits carrés de type I. L’utilisateur aura le choix d’ajouter les
facteurs dans l’ordre qu’il souhaite.
3.2 C++
Pseudocode MANOVA
Soit Y (n ◊ m) la matrice des observations et B(n ◊ p) la matrice des facteurs. On a n
observations et p facteurs.
nlevels(1 ◊ p + pinter + 1) contient le nombre de niveaux de chaque facteur et de chaque
interaction.
Algorithm 1 MANOVA à p facteurs implémentée avec des SSCP de type I
pdesign = 1
pinter = 2p
≠ p ≠ 1
for i = 1 to p do
pdesign = pdesign ◊ nlevels(i)
end for
X(n ◊ pdesign)
X = BuildDesignMatrix(B)
Faire la décomposition QR avec pivot de X
X = Q R
Calculer la matrice des e ets
Effects = QT
Y
EndPoint(1) = 1, rank(1) = 1
for i = 2 to p + pinter + 1 do
EndPoint(i) = EndPoint(i ≠ 1) + nlevels(i ≠ 1)
Copier dans Xcopy les valeurs de X de la colonne 1 à la colonne EndPoint(i)
rank(i) = RANK(Xcopy)
if rank(i)! = rank(i ≠ 1) then
Copier dans Effectscopy les valeurs de Effects de la ligne EndPoint(i ≠ 1) + 1
à la ligne EndPoint(i)
SSCP(i ≠ 1) = (Effectscopy)T
Effectscopy
end if
end for
Run Tests (Wilks, Hotelling, Pillai, Roy)
L’algorithme 1 présente l’implémentation d’une MANOVA à p facteurs avec des ma-
16
trices SSCP de type I. Les parties les plus importantes de cet algorithme seront détaillées
à travers un exemple.
Exemple
Soit Y (10 ◊ m) une matrice avec 10 observations et m variables dépendantes, —(10 ◊ 2)
la matrice des variables explicatives représentée ci-après :
— =
Q
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
a
A1 B2
A1 B2
A1 B1
A1 B1
A2 B1
A2 B1
A2 B3
A2 B3
A1 B3
A1 B3
R
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
b
La première partie consiste à construire la matrice de design X.
La première colonne de — correspond au facteur A qui a deux niveaux : A1 et A2.
La deuxième colonne de — correspond au facteur B qui a trois niveaux : B1, B2 et B3.
On a ici l’exemple d’une MANOVA à deux facteurs.
La première colonne de la matrice de design correspond toujours au vecteur unitaire.
Les autres colonnes sont construites avec la contrainte a1 = 0. Autrement dit, le premier
niveau de chaque facteur n’est pas pris en compte. On ne retouvera alors dans la matrice
design que les e ets des niveaux A2, B2, B3 et les e ets des interactions A2 ◊ B2 et
A2 ◊ B3.
On obtient la matrice suivante :
X =
Q
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
a
A B A ◊ B
A2 B2 B3 A2 ◊ B3 A2 ◊ B3
1 0 1 0 0 0
1 0 1 0 0 0
1 0 0 0 0 0
1 0 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0
1 1 0 1 0 1
1 1 0 1 0 1
1 0 0 1 0 0
1 0 0 1 0 0
R
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
b
17
On fait ensuite une décomposition QR de la matrice X.
X
(10◊6)
= Q
(10◊6)
. R
(6◊6)
où Q est une matrice orthogonale (QT
Q = I10, la matrice identité avec 10 lignes et
10 colonnes) et R une matrice triangulaire supérieure.
La matrice des e ets contenant les e ets des facteurs A et B et de l’interaction A◊B
est obtenue de la matrice suivante :
E ets
(6◊m)
= QT
(6◊10)
. Y
(10◊m)
Les 6 lignes de la matrice E ets correspondent respectivement aux e ets des 6 colonnes
de la matrice de design X.
Par exemple, pour calculer la matrice SSCP correspondant à l’e et du facteur B, on
sélectionne les lignes 3 et 4 de la matrice E ets que l’on copie dans la matrice E etsB(2◊
m) et fait ensuite le calcul suivant :
SSCPB
(m◊m)
= E etsBT
(m◊2)
.E etsB
(2◊m)
Avec le même raisonnement, on obtient toutes les autres matrices de somme de carrés
et produits carrés.
Une fois que toutes les matrices SSCP sont calculées, les tests statistiques sont faits
comme décrits dans la partie précédente.
3.3 Interfaçage VBA
D’après l’ouvrage GUI Bloppers de Je Johnson, il y a neuf principes fondamentaux à
respecter pour créer une meilleure expérience utilisateur et faciliter la réalisation d’une
interface graphique. Ces principes sont :
• Se concentrer sur l’utilisateur et ses tâches et non sur la technologie;
• Considérer la fonction en premier, la présentation ensuite;
• Se conformer à la vision de la tâche par l’utilisateur;
• Gérer l’accès et la visibilité des fonctions;
• Ne pas distraire les utilisateurs de leur tâche;
• Faciliter l’apprentissage;
• Fournir de l’information;
• Concevoir pour la réactivité;
• Essayer avec l’utilisateur et corriger ensuite.
18
Dans le cas de la MANOVA, l’utilisateur aura essentiellement besoin des matrices
SSCP et des résultats des di érents tests.
Comme il peut y avoir des données manquantes dans un jeu d’observations , l’utilisateur
a la possibilité de gérer ces données manquantes. Il a aussi la possibilité d’attribuer des
poids à des observations.
L’interface suivante sera utilisée dans la solution XLSTAT .
Il y a 4 onglets principaux :
• L’onglet Général où l’utilisateur sélectionne la matrice des données et celle des
facteurs. Il pourra éventuellement sélectionner la colonne correspondant aux poids
si ceux-ci sont définis.
• L’onglet Options où l’utilisateur choisit les résultats des tests qu’il souhaite obtenir
en sortie, le niveau de confiance des tests et le niveau d’interaction maximal qui
l’intéresse.
• L’onget Missing Values où l’utilisateur peut choisir si une observation doit être
supprimée si une des données de cette observation est manquante. Il peut aussi
choisir de ne pas autoriser de données manquantes dans son jeu de données auquel
cas, une boîte de dialogue l’avertira si une donnée manquante est détectée.
• L’onglet Outputs où l’utilisateur peut choisir d’a cher les statistiques descriptives
de son jeu de données et les matrices SSCP.
3.3.1 Schéma d’exécution du code
L’exécution du code VBA/C++ se fait en suivante les étapes ci-dessous :
• L’utilisateur sélectionne ses données et explore toutes les options qui s’o rent à lui
19
Figure 3.1: Schéma d’exécution du code
• Le code VBA se charge de la conversion des données qualitatives en données quan-
titatives, vérifient les données et si tout a été bien respecté, la fonction passerelle
entre le code VBA et C++ est appelée. Autrement, une boîte de dialogue signale
à l’utilisateur un problème avec sa sélection.
Des variables sont aussi créés au sein de la fonction VBA pour contenir les résultats
des tests et les matrices SSCP. Ces variables sont en argument de la fonction lien
VBA/C++.
• La fonction lien vérifie la nature des arguments d’entrée et leur taille et passe ensuite
à l’éxécution de la fonction C++.
• Les résultats de la fonction C++ sont copiés dans les variables gardées en mémoire
• On utilise ces variables mémoire pour a cher les résultats attendus par l’utilisateur
dans une nouvelle feuille Excel
Toutes ces étapes sont schématisées ci-après :
20
3.4 Comparaison XLSTAT et logiciels concurrents
XLSTAT R IBM SPSS
Type I 3 3 3
Type II 7 7 3
Type III 7 7 3
Wilks 3 3 3
Hotelling 3 3 3
Pillai 3 3 3
Roy 3 3 3
Pondération 3 7 3
Interface 3 7 3
Licence GNU Public 7 3 7
Plateformes Windows - Mac Windows - Mac -Linux Windows-Mac
Tableau 3.1: Options proposées par XLSTAT et ses concurrents
Comme le montre le tableau 3.1 SPSS a l’avantage de proposer tous les types de cal-
culs de somme des carrés et produits croisés à ses utilisateurs.
R propose une solution assez complète à l’image de XLSTAT à la seule di érence qu’il
requiert de ses utilisateurs, des compétences en programmation.
XLSTAT o re donc une MANOVA similaire à celle des leaders du marchés, en termes de
précision de calculs et de qualité.
Temps de calcul :
Le test suivant a été réalisé avec une matrice de données de 205 lignes et 4 colonnes.
De plus, on a 3 facteurs avec respectivement 22, 2 et 2 niveaux d’où une matrice X de
taille 205 ◊ 88.
Le temps d’exécution entre la validation de la part de l’utilisateur de sa sélection des
données et l’a chage complète des résultats est d’environ 10.75 secondes avec XLSTAT.
Ce temps d’exécution est de l’ordre de la seconde avec les logiciels R et SPSS.
On voit alors que les concurrents sont nettement meilleurs en termes de temps d’exécution.
Ce déficit devrait être comblé avec le développement en cours d’une classe de matrices
creuses. En e et, pour des jeux de données de grande taille, la matrice de design X est
généralement une matrice creuse.
21
4 Impressions personnelles
Malgré un sujet conceptuellement assez simple, la compréhension des bases théoriques
de la MANOVA et surtout la manière dont elle doit e cacement être programmée ont
pris beaucoup de temps. De plus, l’absence de documentation sur l’implémentation de
ces méthodes statistiques et le non-libre accès au code source des logiciels concurrents
nécessitaient une recherche poussée.
En e et, dans un marché où la plupart des logiciels statistiques sont commercialisés, il
est parfois di cile d’avoir accès aux informations concernant les méthodes d’implémenta-
tion de ces méthodes statistiques.
Plus précisément j’ai commencé mon implémentation plus de deux semaines après
mon arrivée. J’ai essayé beaucoup de méthodes d’implémentation en rencontrant beau-
coup de problèmes. En e et, la manière d’implémenter di ère souvent de la présentation
théorique de la méthode. J’ai fait également beaucoup de recherches sur la manière dont
la MANOVA était implémentée chez les concurrents, plus particulièrement la manière de
R. Ces recherches m’ont pris du temps avant que j’organise mes recherches d’une autre
manière à savoir cibler l’existant au détriment de la théorie.
Cependant, en suivant les bons conseils et sans partir sur de mauvaises pistes, nous
avons finalement obtenu des résultats satisfaisants.
J’ai donc beaucoup appris durant ce stage, tant au niveau professionnel que personnel.
D’un point de vue personnel, je vais définitivement me tourner vers la programmation
mathématique. Ayant passé presque six mois sur la programmation logicielle, avec un
bon encadrement, j’ai énormément progressé dans le développement C++ et VBA.
Professionnellement, j’ai découvert le domaine de la conception logicielle et de la
recherche. Tout cela s’inscrit dans un univers passionnant.
De par ce que j’ai appris et réalisé durant ce stage, c’est avec un réel enthousiasme que
je recommencerai volontiers un tel projet. Merci à toute l’équipe Addinsoft !
22
Conclusion
Le bilan de ce stage s’est avéré très positif. Les objectifs ont été atteints et ce fut une
très bonne expérience pratique pour moi.
Dorénavant, l’analyse de la variance multivariée est disponible sur XLSTAT. Tous
les programmes étant implementés sous une forme standard qu’utilise toute l’équipe de
développement statistique Addinsoft, cela augmente les chances que le code puisse être
amélioré pour une meilleure expérience utilisateur.
Pour ce qui est des performances, il s’agit surtout d’utiliser la classe de matrices
creuses pour accélerer les calculs. On a pu voir au cours de notre implémentation qu’il
n’est souvent pas judicieux de faire une implémentation directe de la théorie.
Dans la continuité du projet, il pourrait être avisé de laisser à l’utilisateur le choix du
type de matrice de sommes de carrés et produits croisés, ce qui implique leur implémen-
tation en amont.
23
Références bibliographiques
[1] James E. Gentle, Wolfgang Karl H., Yuichi Mori
Handbook of computational statistics, Edition 2
Springer
[2] Alan Taylor
Multivariate Analyses with Manova and GLM
Department of psychology Macquarie University 2002-2011.
[3] Master thesis - Patrik Zetterberg
E ects of unbalancedness and heteroscedasticity on two way MANOVA
Department of statistics Stockholm University 2013.
[4] John Fox, Michael Friendly, Sanford Weisberg
Hypothesis for multivariate linear models using car package
The R Journal ISSN 2073-4859.
[5] Je Johnson
GUI Bloppers
[10] Analyse de la variance multivariée - MANOVA
http://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/
st-m-modmixt5-manova.pdf
Wikistat
[6] R
[7] MinitabR•
[8] SASR•
[9] SPSSR•
24
Addinsoft
35 Place Gambetta
Bordeaux
France
http://www.xlstat.com/
Mamadou SECK
Polytech Lyon
MAM - Promotion 21
Année 2014-2015
Résumé
Intégration de l’analyse de la variance multivariée dans la solution XLSTAT
Dans cette étude, nous présentons l’implémentation de l’analyse de la variance multivariée
dans le logiciel XLSTAT. Après avoir présenté les bases théoriques d’une telle méthode et les
di érentes possibilités de mises en oeuvre, nous nous pencherons sur l’implémentation du code
source en C++, ensuite sur l’interface homme-machine réalisée en VBA avant de nous intéresser
finalement à l’expérience utilisateur.
Ceci passe par une recherche bibliographique, l’utilisation de logiciels concurrents pour compren-
dre leur jauger la qualité de leur o re, les options proposées ainsi que la façon dont leur solution
est implémentée.
Mots-clés : MANOVA, SSCP, Statistiques, XLSTAT
Abstract
Integration of the multivariate analysis of variance in XLSTAT solution
This present thesis describes the implementation of the MANOVA method within the XLSTAT
statistical solution.
The theoretical basis of this method will first be detailed. We will then explore the various possi-
bilities of implementation of this method and present the several approaches taken by competing
solutions.
Finally, we will describe our implementation together with the GUI (Graphical User Interface).
Thorough bibliography and the use of numerous tools, we are involved to achieve an exhaustive
review of the competition and develop an e cient solution.
Keywords : MANOVA, SSCP, Statistiques, XLSTAT

Weitere ähnliche Inhalte

Was ist angesagt?

Gestion De Production Implantation
Gestion De Production ImplantationGestion De Production Implantation
Gestion De Production Implantationcharkaoui abdelkabir
 
Odoo: Tableaux de bord et Reporting
Odoo: Tableaux de bord et ReportingOdoo: Tableaux de bord et Reporting
Odoo: Tableaux de bord et ReportingAfrica Performances
 
Projet Fin d'année version finale
Projet Fin d'année version finaleProjet Fin d'année version finale
Projet Fin d'année version finaleHoussem AZZOUZ
 
L'Essentiel du tableau de bord
L'Essentiel du tableau de bordL'Essentiel du tableau de bord
L'Essentiel du tableau de bordnodesway
 
Ecole ESMA : Rapport de stage - Agence Achamiya Voyages
Ecole ESMA : Rapport de stage - Agence Achamiya VoyagesEcole ESMA : Rapport de stage - Agence Achamiya Voyages
Ecole ESMA : Rapport de stage - Agence Achamiya VoyagesMehdi Hamime
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
Rapport PFE | Remitec | Automatisation d'une installation de production des e...
Rapport PFE | Remitec | Automatisation d'une installation de production des e...Rapport PFE | Remitec | Automatisation d'une installation de production des e...
Rapport PFE | Remitec | Automatisation d'une installation de production des e...Zouhair Boufakri
 
Rapport de stage de perfectionnement
Rapport de stage de perfectionnementRapport de stage de perfectionnement
Rapport de stage de perfectionnementbadouuur
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 
présentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptx
présentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptxprésentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptx
présentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptxeyabenbrahem1
 
Conception et développement d'une GMAO
Conception et développement d'une GMAOConception et développement d'une GMAO
Conception et développement d'une GMAOMarwa BOUSSETTA
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Anouar Kacem
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
 
Présentation PFE Module Article GPAO
Présentation PFE Module Article GPAOPrésentation PFE Module Article GPAO
Présentation PFE Module Article GPAOahmedmiha
 
Rapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh fini
Rapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh finiRapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh fini
Rapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh finiHamza Mefteh
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...tayebbousfiha1
 

Was ist angesagt? (20)

Gestion De Production Implantation
Gestion De Production ImplantationGestion De Production Implantation
Gestion De Production Implantation
 
Odoo: Tableaux de bord et Reporting
Odoo: Tableaux de bord et ReportingOdoo: Tableaux de bord et Reporting
Odoo: Tableaux de bord et Reporting
 
Projet Fin d'année version finale
Projet Fin d'année version finaleProjet Fin d'année version finale
Projet Fin d'année version finale
 
Rapport Projet de fin d’études
Rapport Projet de fin d’étudesRapport Projet de fin d’études
Rapport Projet de fin d’études
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
Rapport de stage Ingelec
Rapport de stage IngelecRapport de stage Ingelec
Rapport de stage Ingelec
 
L'Essentiel du tableau de bord
L'Essentiel du tableau de bordL'Essentiel du tableau de bord
L'Essentiel du tableau de bord
 
Ecole ESMA : Rapport de stage - Agence Achamiya Voyages
Ecole ESMA : Rapport de stage - Agence Achamiya VoyagesEcole ESMA : Rapport de stage - Agence Achamiya Voyages
Ecole ESMA : Rapport de stage - Agence Achamiya Voyages
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Rapport PFE | Remitec | Automatisation d'une installation de production des e...
Rapport PFE | Remitec | Automatisation d'une installation de production des e...Rapport PFE | Remitec | Automatisation d'une installation de production des e...
Rapport PFE | Remitec | Automatisation d'une installation de production des e...
 
Rapport de stage de perfectionnement
Rapport de stage de perfectionnementRapport de stage de perfectionnement
Rapport de stage de perfectionnement
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
présentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptx
présentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptxprésentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptx
présentation MACHINE DE DECOUPAGE CABLE A GRAND SECTION.pptx
 
Conception et développement d'une GMAO
Conception et développement d'une GMAOConception et développement d'une GMAO
Conception et développement d'une GMAO
 
Rapprt de stage
Rapprt de stageRapprt de stage
Rapprt de stage
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
Présentation PFE Module Article GPAO
Présentation PFE Module Article GPAOPrésentation PFE Module Article GPAO
Présentation PFE Module Article GPAO
 
Rapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh fini
Rapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh finiRapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh fini
Rapport PFE Ingénieurs - ULT-2016 - Hamza Mefteh fini
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
 

Andere mochten auch

HXR 2016: Improving Insurance Member Experiences -Janna Kimel, Cambia
HXR 2016: Improving Insurance Member Experiences -Janna Kimel, CambiaHXR 2016: Improving Insurance Member Experiences -Janna Kimel, Cambia
HXR 2016: Improving Insurance Member Experiences -Janna Kimel, CambiaHxRefactored
 
Los alimentos escondidos
Los alimentos escondidosLos alimentos escondidos
Los alimentos escondidosmaria cereceda
 
Emily_Tucci_Resume
Emily_Tucci_ResumeEmily_Tucci_Resume
Emily_Tucci_ResumeEmily Tucci
 
Accueil intranet 01 2016
Accueil intranet 01 2016Accueil intranet 01 2016
Accueil intranet 01 2016elliotry
 
Prospectart
ProspectartProspectart
Prospectartelliotry
 
7-15-16 (BEST) Brads New Resume
7-15-16 (BEST) Brads New Resume7-15-16 (BEST) Brads New Resume
7-15-16 (BEST) Brads New ResumeBrad Stokkeland
 
Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...
Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...
Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...EUROsociAL II
 
Accueil intranet 2016
Accueil intranet 2016Accueil intranet 2016
Accueil intranet 2016elliotry
 
Cartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clusteringCartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clusteringtuxette
 
Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...
Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...
Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...Víctor Quispe Payehuanca
 
5.2 Régression linéaire
5.2 Régression linéaire5.2 Régression linéaire
5.2 Régression linéaireBoris Guarisma
 

Andere mochten auch (15)

HXR 2016: Improving Insurance Member Experiences -Janna Kimel, Cambia
HXR 2016: Improving Insurance Member Experiences -Janna Kimel, CambiaHXR 2016: Improving Insurance Member Experiences -Janna Kimel, Cambia
HXR 2016: Improving Insurance Member Experiences -Janna Kimel, Cambia
 
Los alimentos escondidos
Los alimentos escondidosLos alimentos escondidos
Los alimentos escondidos
 
Whitney CV
Whitney CVWhitney CV
Whitney CV
 
Emily_Tucci_Resume
Emily_Tucci_ResumeEmily_Tucci_Resume
Emily_Tucci_Resume
 
Accueil intranet 01 2016
Accueil intranet 01 2016Accueil intranet 01 2016
Accueil intranet 01 2016
 
Prospectart
ProspectartProspectart
Prospectart
 
7-15-16 (BEST) Brads New Resume
7-15-16 (BEST) Brads New Resume7-15-16 (BEST) Brads New Resume
7-15-16 (BEST) Brads New Resume
 
Crisis en el Ministerio de Salud
Crisis en el Ministerio de SaludCrisis en el Ministerio de Salud
Crisis en el Ministerio de Salud
 
Big Data Small Data
Big Data Small DataBig Data Small Data
Big Data Small Data
 
Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...
Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...
Incentivos en Educación. Unidad de Financiamiento por Desempeño OPEP - SPE / ...
 
Accueil intranet 2016
Accueil intranet 2016Accueil intranet 2016
Accueil intranet 2016
 
Cartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clusteringCartes auto-organisée de Kohonen et clustering
Cartes auto-organisée de Kohonen et clustering
 
Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...
Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...
Causas que-originan-la-evasión-tributaria-en-los-centros-comerciales-de-prend...
 
PSectorKPIs_1181UK0211
PSectorKPIs_1181UK0211PSectorKPIs_1181UK0211
PSectorKPIs_1181UK0211
 
5.2 Régression linéaire
5.2 Régression linéaire5.2 Régression linéaire
5.2 Régression linéaire
 

Ähnlich wie rapport

Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
Etude business transformation2015_sopragroup_01_bt
Etude business transformation2015_sopragroup_01_btEtude business transformation2015_sopragroup_01_bt
Etude business transformation2015_sopragroup_01_btFlorian Ferrando-Bohbot
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilahMoez Moezm
 
Work placement bachelor's degree computer science_2009
Work placement bachelor's degree computer science_2009Work placement bachelor's degree computer science_2009
Work placement bachelor's degree computer science_2009MRamo2s
 
2014 04 07 must mémoire transition vers le cloud du business model des edite...
2014 04 07 must mémoire  transition vers le cloud du business model des edite...2014 04 07 must mémoire  transition vers le cloud du business model des edite...
2014 04 07 must mémoire transition vers le cloud du business model des edite...Gilles d'Arpa
 
Rapport Splunk.pdf
Rapport Splunk.pdfRapport Splunk.pdf
Rapport Splunk.pdfHichemKhalfi
 
Rapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftRapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftOussama BAHLOULI
 
Optimisation des processus métier
Optimisation des processus métierOptimisation des processus métier
Optimisation des processus métierAquastar Consulting
 
Application de planification de production
Application de planification de productionApplication de planification de production
Application de planification de productionMarwa Bhouri
 
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectifThese hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectifAbdelhak Essoulahi
 
Guide LMS Comment choisir sa plateforme ? Edition 2019
Guide LMS Comment choisir sa plateforme  ? Edition 2019Guide LMS Comment choisir sa plateforme  ? Edition 2019
Guide LMS Comment choisir sa plateforme ? Edition 2019FFFOD
 
Modèle d'analyse et de benchmarking des couts informatiques
Modèle d'analyse et de benchmarking des couts informatiquesModèle d'analyse et de benchmarking des couts informatiques
Modèle d'analyse et de benchmarking des couts informatiqueshemissis
 
Retours d’expérience sur la conduite de projets BI sur les technologies...
Retours d’expérience sur la conduite de projets BI sur les technologies...Retours d’expérience sur la conduite de projets BI sur les technologies...
Retours d’expérience sur la conduite de projets BI sur les technologies...Guillaume Meyer
 
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...Bonitasoft
 
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-ConsultingRapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-ConsultingMohamed Cherkaoui
 
Etude de cadrage clef de la réussite d'un upgrade oracle people soft busine...
Etude de cadrage clef de la réussite d'un upgrade oracle people soft   busine...Etude de cadrage clef de la réussite d'un upgrade oracle people soft   busine...
Etude de cadrage clef de la réussite d'un upgrade oracle people soft busine...Business At Work
 
Migration gmao de openerp 6.1 vers odoo 8
Migration gmao de openerp 6.1 vers odoo 8Migration gmao de openerp 6.1 vers odoo 8
Migration gmao de openerp 6.1 vers odoo 8HORIYASOFT
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMGrégory Ott
 

Ähnlich wie rapport (20)

Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
Etude business transformation2015_sopragroup_01_bt
Etude business transformation2015_sopragroup_01_btEtude business transformation2015_sopragroup_01_bt
Etude business transformation2015_sopragroup_01_bt
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilah
 
Work placement bachelor's degree computer science_2009
Work placement bachelor's degree computer science_2009Work placement bachelor's degree computer science_2009
Work placement bachelor's degree computer science_2009
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
2014 04 07 must mémoire transition vers le cloud du business model des edite...
2014 04 07 must mémoire  transition vers le cloud du business model des edite...2014 04 07 must mémoire  transition vers le cloud du business model des edite...
2014 04 07 must mémoire transition vers le cloud du business model des edite...
 
Rapport Splunk.pdf
Rapport Splunk.pdfRapport Splunk.pdf
Rapport Splunk.pdf
 
Rapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftRapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI Microsoft
 
Optimisation des processus métier
Optimisation des processus métierOptimisation des processus métier
Optimisation des processus métier
 
Application de planification de production
Application de planification de productionApplication de planification de production
Application de planification de production
 
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectifThese hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
These hec -_ecole_des_mines_sur_le_tableau_de_bord_prospectif
 
Guide LMS Comment choisir sa plateforme ? Edition 2019
Guide LMS Comment choisir sa plateforme  ? Edition 2019Guide LMS Comment choisir sa plateforme  ? Edition 2019
Guide LMS Comment choisir sa plateforme ? Edition 2019
 
Modèle d'analyse et de benchmarking des couts informatiques
Modèle d'analyse et de benchmarking des couts informatiquesModèle d'analyse et de benchmarking des couts informatiques
Modèle d'analyse et de benchmarking des couts informatiques
 
Retours d’expérience sur la conduite de projets BI sur les technologies...
Retours d’expérience sur la conduite de projets BI sur les technologies...Retours d’expérience sur la conduite de projets BI sur les technologies...
Retours d’expérience sur la conduite de projets BI sur les technologies...
 
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
 
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-ConsultingRapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
 
Etude de cadrage clef de la réussite d'un upgrade oracle people soft busine...
Etude de cadrage clef de la réussite d'un upgrade oracle people soft   busine...Etude de cadrage clef de la réussite d'un upgrade oracle people soft   busine...
Etude de cadrage clef de la réussite d'un upgrade oracle people soft busine...
 
Migration gmao de openerp 6.1 vers odoo 8
Migration gmao de openerp 6.1 vers odoo 8Migration gmao de openerp 6.1 vers odoo 8
Migration gmao de openerp 6.1 vers odoo 8
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALM
 
Adoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALMAdoption incrémentale des tests dans VS ALM
Adoption incrémentale des tests dans VS ALM
 

rapport

  • 1. Rapport de Stage de 5ème année présenté par Mamadou SECK Filière MAM Promotion 21 Année 2014-2015 Intégration de l’analyse de la variance multivariée dans la solution XLSTAT Tuteur de l’entreprise : Arnaud BELLETOILE Tuteur de l’école : Thierry CLOPEAU Août 2015 Polytech Lyon - UNIVERSITE CLAUDE BERNARD LYON 1 Domaine Scientifique de la Doua - 15 Boulevard Latarjet 69622 VILLEURBANNE CEDEX Tél. (33) 04.72.43.12.24 - Fax. (33) 04.72.43.12.25 http://polytech.univ-lyon1.fr
  • 2. Remerciements Tout d’abord, j’exprime ma profonde gratitude à Monsieur Arnaud BELLETOILE pour m’avoir e cacement encadré durant ce stage, ainsi qu’à Thierry FAHMY sans qui il aurait été plus di cile de faire ce stage chez Addinsoft. Bien sûr, je les remercie également pour leurs nombreux conseils. Ils m’ont permis d’organiser mon travail d’un point de vue professionnel. J”adresse aussi mes remerciements aux autres collègues pour la bonne ambiance et les conseils utiles qu’ils ont prodigués avec générosité. Cela a été un réel plaisir de travailler dans une telle équipe. Note ˚ Ce rapport a été rédigé en LATEX˙“La connais- sance s’acquiert par l’expérience, tout le reste n’est que de l’information” - Albert Ein- stein ˚ i
  • 3. Sommaire Introduction 1 1 Addinsoft 2 1.1 Structure de l’entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Position économique et stratégique . . . . . . . . . . . . . . . . . . . . . 3 2 Analyse de la Variance Multivariée 5 2.1 Le modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Estimation et somme des carrés et produits croisés . . . . . . . . . . . . 7 2.3 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.1 Caractéristiques des tests . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.2 SSCP dans une MANOVA . . . . . . . . . . . . . . . . . . . . . . 10 2.3.3 Wilks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.4 Test de la trace de Hotelling Lawley . . . . . . . . . . . . . . . . . 12 2.3.5 Test de la trace de Pillai . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.6 Test de la plus grande racine de Roy . . . . . . . . . . . . . . . . 12 2.3.7 Somme des carrés de type I, II et III . . . . . . . . . . . . . . . . 13 3 Implémentation et intégration du code 15 3.1 Revue de l’existant dans la concurrence . . . . . . . . . . . . . . . . . . . 15 3.2 C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Interfaçage VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.1 Schéma d’exécution du code . . . . . . . . . . . . . . . . . . . . . 19 3.4 Comparaison XLSTAT et logiciels concurrents . . . . . . . . . . . . . . . 21 4 Impressions personnelles 22 Conclusion 23 ii
  • 4. Liste des tableaux 1.1 Compte de résultat des 3 dernières années . . . . . . . . . . . . . . . . . 4 1.2 Evolution du nombre de clients, de solutions statistiques et de l’e ectif chez Addinsoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Table d’analyse de la variance multivariée . . . . . . . . . . . . . . . . . 11 2.2 Formules de calcul des matrices SSCP pour un modèle à 3 facteurs . . . 14 3.1 Options proposées par XLSTAT et ses concurrents . . . . . . . . . . . . . 21 iii
  • 5. Introduction Étudiant en troisième année du cycle d’ingénieur à Polytech Lyon en Mathématiques Appliquées et Modélisation (MAM), j’ai été amené à réaliser un stage d’assistant ingénieur d’une vingtaine de semaines pour acquérir une nouvelle expérience professionnelle et valider mon diplôme. Je l’ai e ectué au sein de Addinsoft du 27 avril 2015 au 25 septembre 2015. Cela a été pour moi une opportunité de travailler dans le développement d’un logiciel. Le but étant non pas le profit mais l’expérience, cela crée une réelle motivation. C’est dans ce cadre que j’ai mis en pratique mes connaissances acquises ces dernières années et également appris à m’adapter pour optimiser et non plus appliquer pour réaliser. Cahier des charges Le thème du stage correspond à une implémentation de l’analyse de la variance multi- variée, solution statistique fréquemment utilisée par les professionnels. Il consiste en premier lieu à une recherche bibliographique sur le modèle linéaire général, plus particulièrement la MANOVA pour comprendre la méthode et avoir de premières idées quant au raisonnement mathématique et à l’implémentation de cette méthode. En second lieu, choisir une bonne méthode d’implémentation aussi bien en C++ qu’en VBA pour construire un code optimisé et bien conditionné, qui se chargerait de faire une analyse rapide tout en produisant des résultats justes. Conditions requises L’implémentation de la MANOVA nécessite une bonne connaissance de la méthode à développer, des résultats produits par les concurrents sur le marché et de leurs spéci- ficités et finalement choisir le meilleur benchmark . Le choix du meilleur benchmark se faisant à partir d’un certain nombre de critères, il est indispensable de faire une étude préalable du fonctionnement du code de chaque concur- rent, pour déterminer lequel d’eux constituera le meilleur benchmark. Cela m’a permis de me familiariser avec le langage C++, mais également de mieux com- prendre les logiciels R, Excel et la programmation Excel VBA. Après avoir présenté Addinsoft et l’environnement du stage, nous nous intéresserons à mon activité de stagiaire ainsi qu’aux travaux réalisés et, enfin nous ferons le bilan de ce stage, avant de conclure. 1
  • 6. 1 Addinsoft Addinsoft est l’entreprise éditrice du logiciel XLSTAT, une solution logicielle adossée à Microsoft Excel et spécialisée dans les statistiques et l’analyse de données. Fondée en 2000 par son dirigeant actuel, M. Thierry Fahmy, l’entreprise a su s’imposer au fil des ans comme l’une des solutions qui compte sur son cœur de métier. Pour cela, elle a su proposer une approche originale combinant des méthodes d’analyses pointues directement issues du milieu académique, une interface conviviale et intuitive destinée à rendre ces méthodes accessibles à un large éventail d’utilisateurs et enfin un support aux utilisa- teurs, humain et réactif, centré sur l’échange et la satisfaction du client. 1.1 Structure de l’entreprise Jusqu’à tout récemment, l’entreprise Addinsoft a conservé une taille et une organisation de très petite entreprise avec un e ectif salarié ne dépassant jamais 4 ou 5 personnes. Cependant, une phase importante de développement a été amorcée durant l’année 2014 avec une vague de recrutements, portant l’e ectif à 11 personnes et une formalisation des rôles de chacun dans une structure davantage segmentée. Cette nouvelle structure opérationnelle couvre 4 pôles d’activités et de métiers qui sont : • le pôle développement statistique • le pôle SEO (Search Engine Optimization) • le pôle infrastructures/informatique • le pôle comptabilité/gestion Les missions de chacun de ces pôles sont détaillées dans l’organigramme ci dessous. 2
  • 7. Pour ma part, j’ai évolué au sein du pôle développement statistique, composé de trois développeurs en statistiques. De part la taille humaine de la structure, j’ai pu intéragir avec les membres des di érents pôles, ce qui m’a facilité la tâche pour remplir les missions qui m’étaient confiées. 1.2 Position économique et stratégique Si la jeunesse de ses e ectifs et son positionnement high-tech font immanquablement penser à une start-up, l’entreprise Addinsoft est positionnée sur un segment de marché établi et mûr depuis les années 70, ce qui la démarque nettement d’une start-up classique. En e et, les acteurs principaux du domaine du logiciel de statistiques, tels que SAS ou SPSS (IBM), ont vu le jour en 1966 et 1968, respectivement. Ils ont, par la suite, acquis une position d’acteur dominant dès les années 2000. C’est donc au sein d’un domaine fortement concurrentiel, comptant des acteurs his- toriques d’envergure, qu’Addinsoft est parvenue à conquérir des parts de marchés pour de- venir la suite logicielle d’analyse de données pour Excel la plus utilisée au monde. Ce suc- cès s’explique en partie par un positionnement stratégique axé sur la facilité d’utilisation apportée par Excel et un excellent rapport qualité/prix. Comme le montrent les comptes de résultat regroupés dans le tableau 1.1 et 1.2, l’entreprise 3
  • 8. s’est construite au fil des ans une solide santé économique. Cette dernière lui permet d’envisager sereinement la phase de développement qu’elle a entamée en 2014 et dont l’objectif principal est de réaliser une montée en gamme importante. Cet objectif am- bitieux se traduit d’ores et déjà par le lancement de plusieurs projets en parallèle actuelle- ment en cours de réalisation : • refonte de la vitrine web et de l’interface client; • renforcement de la présence sur les réseaux sociaux; • développement d’une solution cloud; • l’implémentation d’algorithmes sur GPUs; • veille accrue sur les dernières tendances dans le domaine des statistiques et de l’analyse des données. 2014 2013 2012 Variation Chi res d’a aires (euros) 1 629 800 1 572 600 1 355 200 20,04% Production (euros) 1 629 800 1 572 600 1 355 200 20,04% Valeur ajoutée (euros) 990 900 470 900 455 800 113,74% EBE (euros) 324 700 233 100 299 900 17,03% Résultat d’exploitation (euros) 149 800 195 000 260 100 -48,21% RCAI (euros) 165 600 223 600 259 100 -39,64% Résultat Net(euros) 218 300 151 500 163 500 36,75% Tableau 1.1: Compte de résultat des 3 dernières années (EBE : Excédent brut d’exploitation, RCAI : Résultat Courant Avant Impôt.) 2014 2013 2012 Nombre de clients 4 000 3 500 3 000 Universitaire 25% 26% 28% Entreprises 38% 41% 42% Individuels 37% 33% 30% E ectif 11 5 3 Nombre de solutions statistiques 15 13 11 Tableau 1.2: Evolution du nombre de clients, de solutions statistiques et de l’e ectif chez Addinsoft Tous les jours, plusieurs centaines de personnes téléchargent XLSTAT qui compte maintenant plus de 30000 utilisateurs. Les utilisateurs de XLSTAT se répartissent dans plus de 100 pays, de Hong-Kong au Pérou, de la Norvège à l’Afrique du Sud. Une augmentation de 36,75% sur le résultat net entre 2012 et 2014 témoigne de la bonne santé économique de Addinsoft. 4
  • 9. 2 Analyse de la Variance Multivariée L’Analyse de la Variance (ANOVA) est un modèle particulier du modèle linéaire général utilisé quand une variable quantitative est expliquée par une ou plusieurs variables qualita- tives, appelés facteurs. Les modèles d’analyse de la variance sont très utilisés dans plusieurs domaines allant des biostatistiques à l’économie. Les tests associés à ces mo- dèles robustes sont généralement puissants. L’objectif des modèles d’ANOVA est de déterminer les e ets des variables qualitatives sur la variable quantitative et, éventuellement, de tester l’égalité des moyennes entre les di érents niveaux de facteurs. Dans plusieurs situations, il est plus intéressant de tester simultanément les e ets des facteurs sur non pas une mais plusieurs variables réponses. Cette étude multivariée est appelée MANOVA (pour l’anglais Multivariate Analysis Of Variance). L’analyse de la variance multivariée est donc une extension de l’ANOVA dans laquelle les e ets des facteurs sont évalués sur une combinaison de plusieurs variables réponses. L’avantage de l’utilisation d’une MANOVA au lieu de plusieurs ANOVA simultanées réside dans le fait qu’elle prend en compte la corrélation entre les variables réponses et permet ainsi une meilleure utilisation des informations provenant des données. Ainsi, la MANOVA teste la présence de di érences significatives parmi les combi- naisons de niveaux de facteurs sur plusieurs variables réponses. Avec une MANOVA, on est donc capable de tester conjointement toutes les hypothèses que testent une ANOVA et on a plus de chances d’observer les di érences entre les niveaux de facteurs. Par exemple, deux facteurs peuvent n’avoir d’e ets sur di érentes variables réponse que si celles-ci sont prises en compte ensemble et non pas séparément. De plus, faire plusieurs ANOVA au lieu d’une MANOVA augmente l’erreur de type I c’est à dire la probabilité de rejeter à tort l’hypothèse H0. Par exemple, pour 6 variables réponses et un niveau de confiance fixé à 5%, l’erreur de type I est de 30% pour plusieurs ANOVA et 5% pour une MANOVA. Enfin, plusieurs ANOVA séparées ne prennent pas en compte la covariation entre variables réponses tandis que la MANOVA n’est pas seulement sensible aux di érences de moyenne entre niveaux de facteurs mais également à la covariance entre variables ex- plicatives. Quand ces variables sont toutes étudiées ensemble, il y a plus de chances de détecter une possible corrélation entre certaines variables. Ce n’est pas le cas avec une ANOVA qui ne prend en compte qu’une seule variable réponse. Les modèles d’ANOVA et de MANOVA peuvent être utilisés sous certaines condi- 5
  • 10. tions et leur complexité croît avec le nombre de facteurs inclus dans le modèle. Pour les variables dépendantes, les données forment un échantillon aléatoire de vecteurs dans une population normale multivariée. Dans cette population, les matrices de variance / covariance de toutes les cellules sont les mêmes. L’analyse de la variance supporte les écarts à la normalité, bien que les données doivent être symétriques. Dans ce rapport, nous nous e orcerons de montrer comment le modèle est a ecté quand des hypothèses ne sont pas respectées et de présenter les di érentes méthodes util- isées pour palier aux di érents problèmes. Des données équilibrées (plan équilibré) sont des données où le nombre d’observations est identique pour toutes combinaisons de niveaux de facteurs. Dans le cas contraire, on parle de données déséquilibrées ou plan déséquilibré. Nous introduirons la MANOVA et toutes ses propriétés selon qu’on soit dans un plan équilibré ou un plan déséquilibré. Ensuite, nous justifierons les choix d’implémentation de la méthode avant de terminer sur la description de l’implémentation en tant que telle. 2.1 Le modèle Pour les modèles standard d’ANOVA et de MANOVA, on suppose que les échantillons sont indépendants, suivent une loi normale et que les matrices de covariance sont égales pour chaque facteur et chaque combinaison de niveaux de facteurs (homogénéité de la covariance). Il a été prouvé que ces modèles restent robustes pour des données équilibrées même si l’hypothèse d’égalité des matrices de covariance n’est pas parfaitement respectée (Timm, 2002). Cependant, ce n’est pas le cas pour des données non équilibrées, nous verrons comment corriger ce problème dans la deuxième partie du rapport. Nous prendrons comme exemple illustratif une MANOVA à deux facteurs avec inter- action. Soit deux facteurs A et B avec respectivement a et b niveaux. yijk : p ◊ 1 est un vecteur avec p mesures pour la kème observation du ième niveau du facteur A et du jème niveau du facteur B : yijk = µ + –i + —j + –—ij + ‘ijk (2.1) avec i = 1, · · · , a , j = 1, · · · , b, k = 1, · · · , n –i , —j représentent les e ets principaux des facteurs A et B et –—ij l’e et d’interaction entre A et B. ‘ijk iid ≥ Np(0, ) ce qui implique E(yijk) = µ + –i + —j + –—ij et ‡(yijk) = ‡(‘ijk) = La forme matricielle du modèle est alors : 6
  • 11. Y (n◊m) = X (n◊p) B (p◊m) + E (n◊m) (2.2) où Y est une matrice d’observations multivariées, X est une matrice de variables explicatives, B est une matrice de paramètres à estimer et E est une matrice contenant des erreurs ou du bruit. 2.2 Estimation et somme des carrés et produits croisés Comme pour les modèles d’ANOVA univariés, certains e ets seront inestimables dûs à une sur-paramétrisation du modèle. Des contraintes doivent donc être imposées sur les paramètres –i , —j et –—ij. Rappelons qu’on est toujours dans le modèle à deux facteurs avec interactions. On ex- prime ces contraintes de la manière suivante : aÿ i=1 –i = 0 bÿ j=1 —j = 0 aÿ i=1 –—ij = 0 ’j aÿ j=1 –—ij = 0 ’i (2.3) Avec les contraintes ci-dessus, les estimateurs du modèle avec interactions sont : ˆµ = y... ˆ–i = yi.. ≠ y... ˆ—j = y.j. ≠ y... ˆ–—ij = yij. ≠ yi.. ≠ y.j. + y... (2.4) où 7
  • 12. y... = aÿ i=1 bÿ j=1 nÿ k=1 yijk yi.. = bÿ j=1 nij ÿ k=1 (bnij)≠1 yijk y.j. = aÿ i=1 nij ÿ k=1 (anij)≠1 yijk yij. = nij ÿ k=1 n≠1 ij yijk (2.5) Dans un modèle multivarié, les sommes des carrés dues aux e ets dans le modèle et les sommes des carrés d’erreur sont représentées sous forme matricielle plutôt que sous forme d’échelle comme dans l’analyse univariée. Ces matrices sont appelées matrices SSCP (sommes des carrés et produits croisés). Elles sont toutes carrées et symétriques. Ainsi, matriciellement, on obtient l’estimateur du maximum de vraisemblance de B par : ˆB = (XÕ X)≠1XÕ Y (2.6) La somme totale des carrés et produits croisés notée SSCPT peut être décomposée en somme des carrés issus de la régression SSCPReg et en somme des carrés résiduels SSCPE. SSCPT (m◊m) = Y Õ Y ≠ ny yÕ = 1 Y ≠ Y 2Õ 1 Y ≠ Y 2 SSCPT = ˆEÕ ˆE + 1 ˆY Õ ˆY ≠ ny yÕ 2 SSCPT = SSCPE + SSCPReg (2.7) y est un vecteur de taille (m ◊ 1) contenant les moyennes par colonne de la matrice des observations. ˆY = X ˆB est la matrices des valeurs ajustées des observations. ˆE = Y ≠ ˆY est la matrice des résidus ou matrice des erreurs d’ajustement. La somme des carrés et produits croisés de la régression peut à son tour être décom- posée en somme de somme de carrés et produits croisés issus de chaque facteur et de chaque interaction, SSCPA, SSCPB et SSCPAB respectivement. Dans notre exemple de la MANOVA à deux facteurs cette décomposition donne : SSCPReg = SSCPA + SSCPB + SSCPAB (2.8) Ces matrices seront utilisées ensuite pour réaliser l’ensemble des test statistiques qui sont présentés dans la section suivante. 8
  • 13. 2.3 Tests Pour tester tous les e ets du modèle simultanément, les tests de Fisher standards pour les e ets principaux et les e ets d’interaction doivent être généralisés. Les résultats de ces tests multivariés sont tous basés sur la relation entre la matrice d’erreur E et la matrice H, c’est à dire sur le calcul des valeurs propres de la matrice E≠1 H. H symbolise l’hypothèse testée dans le modèle. Dans notre exemple de MANOVA à deux facteurs, HA, HB et HAB sont respectivement les matrices SSCP associées aux hypothèses de nullité d’e ets principaux des facteurs A, B et de l’e et d’interaction entre les facteurs A et B. H = HA,HB ou HAB suivant l’hypothèse testée. L’hypothèse générale pour une MANOVA à deux facteurs peut s’écrire sous la forme de la série d’hypothèses suivante : H0A : –1 = –2 = · · · = –a = 0 H0B : —1 = —2 = · · · = —b = 0 H0AB : –—11 = · · · = –—1b = · · · = –—a1 = · · · = –—ab = 0 (2.9) Les quatre tests multivariés les plus utilisés sont : • le test de Wilks • le test de la trace de Hotelling-Lawley • le test de la trace de Pillai • le test de la plus grande racine de Roy. 2.3.1 Caractéristiques des tests Rappelons qu’un test est robuste s’il reste valable alors que les hypothèses d’application ne sont pas toutes réunies. Cela peut être une taille d’échantillon un peu faible ou une loi de probabilité (loi normale pour les tests paramétriques) qui n’est pas vérifiée. Rappelons aussi que la puissance d’un test statistique ou encore le complément du risque de deuxième espèce est la probabilité de rejeter l’hypothèse nulle sachant qu’elle est incorrecte. Autrement dit, la puissance exprime la probabilité de détecter une di érence lorsqu’elle existe réellement. Le test de Wilks est le plus utilisé, il reste interprétable aussi bien pour des données équilibrés que pour des données déséquilibrées. Compte tenu de l’expression de la statistique de test de la trace de Hotelling-Lawley que nous expliciterons, cette expression est considérée comme la généralisation multidi- mensionnelle la plus naturelle du test de Fisher. Il est utile dans le cas où toutes les 9
  • 14. variables quantitatives ont toutes exactement deux niveaux. Le test de Pillai n’est e cace que dans le cas où on a égalité des échantillons (plan équilibré). Dans ce cas, il est robuste. On notera enfin dans le cas du test de la plus grande racine de Roy, la loi de Fisher est un minorant pour la loi de la statistique de test, ce qui signifie que la p-valeur calculée pour ce test est toujours plus petite que celle des autres tests. Le test de Roy est un test puissant mais pas robuste. Pour cette raison, il est déconseillé. 2.3.2 SSCP dans une MANOVA Restons dans l’exemple de la MANOVA avec les facteurs A et B avec respectivement a et b niveaux. Pour chaque niveau d’interaction ij, on réalise nij observations indépendantes de chaque variable quantitative à expliquer Y(nij Ø 1), notées yij,i = 1, · · · a, j = 1, · · · b, on pose enfin n = qa i=1 qb j=1 nij : n est le nombre total d’observations réalisées dans l’expérience. Si nij = n0 ,i = 1, · · · a, j = 1, · · · b, on dit que le plan est équilibré; sinon, on parle de plan déséquilibré. Dans un plan équilibré, n0 s’appelle le nombre de répétitions. Selon la nature des données (équilibrées ou déséquilibrées), les matrices SSCP ne se calculent pas de la même manière. Cependant le tableau 2.1 d’analyse de la variance multivariée suivant reste inchangé. Les matrices SSCP du modèle s’expriment de la manière suivante : SSCPA = nb aÿ i=1 (yi.. ≠ y...) (yi.. ≠ y...)Õ SSCPB = na bÿ j=1 1 y.j. ≠ y... 2 1 y.j. ≠ y... 2Õ SSCPAB = n aÿ i=1 bÿ j=1 1 yij. ≠ yi.. ≠ y.j. + y... 2 1 yij. ≠ yi.. ≠ y.j. + y... 2Õ SSCPE = aÿ i=1 bÿ j=1 nÿ k=1 1 yijk ≠ yij. 2 1 yijk ≠ yij. 2Õ SSCPT = aÿ i=1 bÿ j=1 nÿ k=1 1 yijk ≠ y... 2 1 yijk ≠ y... 2Õ (2.10) Les expressions des moyennes sont données à l’équation 2.5. 10
  • 15. Source matrices SSCP Degrés de liberté Facteur A SSCPA a ≠ 1 Facteur B SSCPB b ≠ 1 Interaction AB SSCPAB (a ≠ 1)(b ≠ 1) Erreur SSCPE ab(n ≠ 1) Total SSCPT abn ≠ 1 Tableau 2.1: Table d’analyse de la variance multivariée 2.3.3 Wilks Pour i = 1, · · · m, soit ⁄i, les valeurs propres de la matrice E≠1 H. Pour les quatre tests qui suivront, on utilisera ces valeurs propres. Le test de rapport de vraisemblance plus connu sous le nom de test de Wilks (Wilks-1932) est égal à : = mŸ i=1 1 1 + ⁄i = |E| |E + H| (2.11) Cette valeur peut être interprétée comme le pourcentage de variabilité non expliquée par l’e et étudié. Si E est petit par rapport à H, sera proche de 0 sinon sera proche de 1. L’hypothèse nulle est rejetée quand est petit. Quand l’hypothèse nulle est vraie, la statistique de test T suit la loi de Fisher suivante : T = 1 ≠ 1/“ 1/“ ”“ ≠ c dfnum ≥ F(dfnum,”“≠c) (2.12) avec dffactor = nombre de niveaux du facteur ≠ 1 dfnum = p ◊ dffactor ” = (n ≠ (dffactor + 1)) ≠ dffactor ≠ p + 1 2 “ = Y ___] ___[ ˆ ı ı Ù p2 df2 factor ≠ 4 p2 + df2 factor ≠ 5 p2 + df2 factor ≠ 5 > 0 1 p2 + df2 factor ≠ 5 Æ 0 c = dfnum 2 ≠ 1 11
  • 16. 2.3.4 Test de la trace de Hotelling Lawley Le test statistique THL = mÿ i=1 ⁄i = Tr(E≠1 H) (2.13) est souvent octroyé à Hotelling (1938) et Lawley (1947) qui ont travaillé sur ce test. Plus H est grand comparé à E, plus la trace est grande. Dans ce cas, on rejette l’hypothèse nulle pour des grandes valeurs de THL. La statistique de test 1 c THL ≥ F(a,b) (2.14) avec : a = pdfH ; b = 4 + a + 2 B ≠ 1 B = (dfE + dfH ≠ D ≠ 1)(dfE ≠ 1) (dfE ≠ p ≠ 3)(dfE ≠ p) c = a(b ≠ 2) b(dfE ≠ p ≠ 1) 2.3.5 Test de la trace de Pillai Pillai (1955) a développé le test suivant : TP = mÿ i=1 ⁄i 1 ≠ ⁄i = Tr 1 (E + H)≠1 H 2 (2.15) communément appelé test de la Trace de Pillai. Comme le test de la trace de Hotelling- Lawley, l’hypothèse nulle est rejetée pour de grandes valeurs de TP . 2.3.6 Test de la plus grande racine de Roy La statistique de ce dernier test est ⁄max, la plus grande valeur propre de E≠1 H. ⁄max = max 1ÆiÆm ⁄i (2.16) On trouve diverses approximations qui permettent de mettre en oeuvre ce test. Celle qui est la plus couramment utilisée est la suivante : S = ⁄max(dfH + dfE ≠ r) r ≥ F(r,dfH +dfE≠r) (2.17) où r = max(p, dfH) 12
  • 17. 2.3.7 Somme des carrés de type I, II et III Dans le cas de données équilibrées, le type de somme de carrés choisi n’influe pas sur les résultats de la régression. Cependant pour des données non équilibrées, le choix du type devient important. Type I : Cette méthode est également appelée décomposition hiérarchique de la somme des carrés. Chaque terme est ajusté uniquement pour le terme qui le précède dans le modèle. La somme des carrés de type I est généralement utilisée pour : • Une analyse de la variance dans laquelle tout e et prinicipal est spécifié devant les e ets d’intéraction de premier ordre, et chaque e et de premier ordre spécifié avant ceux de second ordre, et ainsi de suite; • Un modèle de régression polynomial dans lequel les termes d’ordre inférieur sont spécifiés avant ceux d’ordre supérieur; • Un modèle par imbrication pur dans lequel le premier e et spécifié est imbriqué dans le second et le second spécifié dans le troisième, etc. Type II : Cette méthode calcule les sommes des carrés d’un e et dans le modèle ajusté pour tous les autres e ets “appropriés” . Un e et approprié est un e et qui correspond à tous les e ets qui ne contiennent pas l’e et à étudier. La méthode des sommes des carrés de type II sert généralement pour : • Une analyse de la variance équilibrée; • Tout modèle qui contient un e et principal uniquement; • Tout modèle de régression; • Un modèle par emboîtement pur. Type III : Cette méthode calcule les sommes des carrés d’un e et dans le modèle comme les sommes des carrés ajustée pour tout autre e et qui ne le contient pas et orthogonal à chaque e et qui le contient. Les sommes de carrés de type III présentent l’avantage essentiel de ne pas varier avec les fréquences de cellule. Ce type de somme des carrés est donc souvent considéré comme utile pour les modèles déséquilibrés auxquels aucune cellule ne manque. La méthode des sommes des carrés de type III sert généralement pour : • Tous les modèles énumérés dans les types I et type II; • Tous les modèles qui ne contiennent pas de cellules vides (données manquantes). 13
  • 18. Exemple Considérons un modèle à 3 facteurs avec interactions, les matrices de somme des carrés et produits croisés seront calculés comme indiqué dans le tableau 2.2. On notera que : SSCP(x|y, z, u) = SSCP(x, y, z, u) ≠ SSCP(y, z, u) (2.18) SSCP(x|y, z, u) est la matrice SSCP des e ets de x sachant que les e ets de y, z et u sont déjà pris en compte dans le modèle. SSCP(x, y, z, u) est la matrice SSCP du modèle dans lequels les e ets de x, y, z et u sont pris en compte. E ets Type I Type II Type III A A A|B, C, BC A|B,AB,C,AC,BC,ABC B B|A B|A,C,AC B|A,AB,C,AC,BC,ABC A ◊ B AB|B,A A,B,C,AC,BC AB|A,B,C,AC,BC,ABC C C|A,B,AB as Type I C|A,B,AB,AC,BC,ABC A ◊ C AC|A,B,AB,C AC|A,B,AB,C,BC AC|A,B,AB,C,BC,ABC B ◊ C BC|A,B,AB,C,AC as Type I BC|A,B,AB,C,AC,ABC A ◊ B ◊ C ABC|A,B,AB,C,AC,BC as Type I as Type I Tableau 2.2: Formules de calcul des matrices SSCP pour un modèle à 3 facteurs 14
  • 19. 3 Implémentation et intégration du code Une fois la recherche bibliographique faite et la méthode comprise, l’implémentation et l’intégration sont les parties les plus importantes. Plusieurs critères sont pris en compte pour l’implémentation et l’interfaçage dont les principaux sont : • la lisibilité du code; • la rapidité d’exécution du code; • la simplicité de l’interface et son ergonomie. 3.1 Revue de l’existant dans la concurrence On a vu dans les parties précédentes que la base de la MANOVA repose sur le calcul des matrices des sommes des carrés et produits croisés utilisées pour réaliser les tests de Wilks, Hotelling-Lawley, Pillai et Roy. Pour ce faire, il y a au moins trois approches, communément appelés somme des carrés de type I, II et III. Cette notation semble avoir été introduite par SAS mais est très répandue maintenant. La question du choix du type de somme de carrés et produits croisés ne se pose pas pour des données équilibrées. Cependant, pour des données déséquilibrées, ce choix est souvent sujet à controverses. Il est essentiel de savoir quelles informations sont les plus pertinentes dans le jeu de données à étudier pour faire le meilleur choix du type de somme des carrés. Par défaut, R utilise le type I pour le calcul des matrices SSCP. De part sa nature séquentielle, ce type de calcul donnera, sur des données non équilibrées, des résultats di érents selon l’ordre d’ajout des e ets principaux dans le modèle. En pratique, cette approche teste donc la di érence entre les moyennes pondérées et les résultats dépendent de la taille des échantillons de chaque niveau de facteur. Dans MinitabR• , seul le type II est utilisé pour le calcul des matrices SSCP. Dans ce cas, l’accent est mis sur les e ets principaux, aucune interaction, même signficative n’est prise en compte. En d’autres termes, il faut d’abord tester les interactions entre les di érents facteurs et, seulement s’ils ne sont pas significatifs, poursuivre l’analyse avec les e ets principaux. En termes de calcul et d’implémentation, le type II est équivalent à plusieurs type I avec di érents ordres d’ajouts de facteurs. Le type par défaut utilisé dans SASR• et SPSSR• est le type III. Cette approche est puissante quand les interactions sont significatives, cependant les e ets principaux ne 15
  • 20. sont plus interprétables. En l’absence d’interactions significatives, le type II devient plus puissant. Le type II n’est puissant que dans un modèle sans interaction significative. Le type III n’est puissant que dans un modèle où les interactions sont significatives. Pour ces raisons, nous avons choisi d’implémenter la MANOVA de XLSTAT avec des matrices de somme de carrés et produits carrés de type I. L’utilisateur aura le choix d’ajouter les facteurs dans l’ordre qu’il souhaite. 3.2 C++ Pseudocode MANOVA Soit Y (n ◊ m) la matrice des observations et B(n ◊ p) la matrice des facteurs. On a n observations et p facteurs. nlevels(1 ◊ p + pinter + 1) contient le nombre de niveaux de chaque facteur et de chaque interaction. Algorithm 1 MANOVA à p facteurs implémentée avec des SSCP de type I pdesign = 1 pinter = 2p ≠ p ≠ 1 for i = 1 to p do pdesign = pdesign ◊ nlevels(i) end for X(n ◊ pdesign) X = BuildDesignMatrix(B) Faire la décomposition QR avec pivot de X X = Q R Calculer la matrice des e ets Effects = QT Y EndPoint(1) = 1, rank(1) = 1 for i = 2 to p + pinter + 1 do EndPoint(i) = EndPoint(i ≠ 1) + nlevels(i ≠ 1) Copier dans Xcopy les valeurs de X de la colonne 1 à la colonne EndPoint(i) rank(i) = RANK(Xcopy) if rank(i)! = rank(i ≠ 1) then Copier dans Effectscopy les valeurs de Effects de la ligne EndPoint(i ≠ 1) + 1 à la ligne EndPoint(i) SSCP(i ≠ 1) = (Effectscopy)T Effectscopy end if end for Run Tests (Wilks, Hotelling, Pillai, Roy) L’algorithme 1 présente l’implémentation d’une MANOVA à p facteurs avec des ma- 16
  • 21. trices SSCP de type I. Les parties les plus importantes de cet algorithme seront détaillées à travers un exemple. Exemple Soit Y (10 ◊ m) une matrice avec 10 observations et m variables dépendantes, —(10 ◊ 2) la matrice des variables explicatives représentée ci-après : — = Q c c c c c c c c c c c c c c c c c c a A1 B2 A1 B2 A1 B1 A1 B1 A2 B1 A2 B1 A2 B3 A2 B3 A1 B3 A1 B3 R d d d d d d d d d d d d d d d d d d b La première partie consiste à construire la matrice de design X. La première colonne de — correspond au facteur A qui a deux niveaux : A1 et A2. La deuxième colonne de — correspond au facteur B qui a trois niveaux : B1, B2 et B3. On a ici l’exemple d’une MANOVA à deux facteurs. La première colonne de la matrice de design correspond toujours au vecteur unitaire. Les autres colonnes sont construites avec la contrainte a1 = 0. Autrement dit, le premier niveau de chaque facteur n’est pas pris en compte. On ne retouvera alors dans la matrice design que les e ets des niveaux A2, B2, B3 et les e ets des interactions A2 ◊ B2 et A2 ◊ B3. On obtient la matrice suivante : X = Q c c c c c c c c c c c c c c c c c c c c c c c c a A B A ◊ B A2 B2 B3 A2 ◊ B3 A2 ◊ B3 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 R d d d d d d d d d d d d d d d d d d d d d d d d b 17
  • 22. On fait ensuite une décomposition QR de la matrice X. X (10◊6) = Q (10◊6) . R (6◊6) où Q est une matrice orthogonale (QT Q = I10, la matrice identité avec 10 lignes et 10 colonnes) et R une matrice triangulaire supérieure. La matrice des e ets contenant les e ets des facteurs A et B et de l’interaction A◊B est obtenue de la matrice suivante : E ets (6◊m) = QT (6◊10) . Y (10◊m) Les 6 lignes de la matrice E ets correspondent respectivement aux e ets des 6 colonnes de la matrice de design X. Par exemple, pour calculer la matrice SSCP correspondant à l’e et du facteur B, on sélectionne les lignes 3 et 4 de la matrice E ets que l’on copie dans la matrice E etsB(2◊ m) et fait ensuite le calcul suivant : SSCPB (m◊m) = E etsBT (m◊2) .E etsB (2◊m) Avec le même raisonnement, on obtient toutes les autres matrices de somme de carrés et produits carrés. Une fois que toutes les matrices SSCP sont calculées, les tests statistiques sont faits comme décrits dans la partie précédente. 3.3 Interfaçage VBA D’après l’ouvrage GUI Bloppers de Je Johnson, il y a neuf principes fondamentaux à respecter pour créer une meilleure expérience utilisateur et faciliter la réalisation d’une interface graphique. Ces principes sont : • Se concentrer sur l’utilisateur et ses tâches et non sur la technologie; • Considérer la fonction en premier, la présentation ensuite; • Se conformer à la vision de la tâche par l’utilisateur; • Gérer l’accès et la visibilité des fonctions; • Ne pas distraire les utilisateurs de leur tâche; • Faciliter l’apprentissage; • Fournir de l’information; • Concevoir pour la réactivité; • Essayer avec l’utilisateur et corriger ensuite. 18
  • 23. Dans le cas de la MANOVA, l’utilisateur aura essentiellement besoin des matrices SSCP et des résultats des di érents tests. Comme il peut y avoir des données manquantes dans un jeu d’observations , l’utilisateur a la possibilité de gérer ces données manquantes. Il a aussi la possibilité d’attribuer des poids à des observations. L’interface suivante sera utilisée dans la solution XLSTAT . Il y a 4 onglets principaux : • L’onglet Général où l’utilisateur sélectionne la matrice des données et celle des facteurs. Il pourra éventuellement sélectionner la colonne correspondant aux poids si ceux-ci sont définis. • L’onglet Options où l’utilisateur choisit les résultats des tests qu’il souhaite obtenir en sortie, le niveau de confiance des tests et le niveau d’interaction maximal qui l’intéresse. • L’onget Missing Values où l’utilisateur peut choisir si une observation doit être supprimée si une des données de cette observation est manquante. Il peut aussi choisir de ne pas autoriser de données manquantes dans son jeu de données auquel cas, une boîte de dialogue l’avertira si une donnée manquante est détectée. • L’onglet Outputs où l’utilisateur peut choisir d’a cher les statistiques descriptives de son jeu de données et les matrices SSCP. 3.3.1 Schéma d’exécution du code L’exécution du code VBA/C++ se fait en suivante les étapes ci-dessous : • L’utilisateur sélectionne ses données et explore toutes les options qui s’o rent à lui 19
  • 24. Figure 3.1: Schéma d’exécution du code • Le code VBA se charge de la conversion des données qualitatives en données quan- titatives, vérifient les données et si tout a été bien respecté, la fonction passerelle entre le code VBA et C++ est appelée. Autrement, une boîte de dialogue signale à l’utilisateur un problème avec sa sélection. Des variables sont aussi créés au sein de la fonction VBA pour contenir les résultats des tests et les matrices SSCP. Ces variables sont en argument de la fonction lien VBA/C++. • La fonction lien vérifie la nature des arguments d’entrée et leur taille et passe ensuite à l’éxécution de la fonction C++. • Les résultats de la fonction C++ sont copiés dans les variables gardées en mémoire • On utilise ces variables mémoire pour a cher les résultats attendus par l’utilisateur dans une nouvelle feuille Excel Toutes ces étapes sont schématisées ci-après : 20
  • 25. 3.4 Comparaison XLSTAT et logiciels concurrents XLSTAT R IBM SPSS Type I 3 3 3 Type II 7 7 3 Type III 7 7 3 Wilks 3 3 3 Hotelling 3 3 3 Pillai 3 3 3 Roy 3 3 3 Pondération 3 7 3 Interface 3 7 3 Licence GNU Public 7 3 7 Plateformes Windows - Mac Windows - Mac -Linux Windows-Mac Tableau 3.1: Options proposées par XLSTAT et ses concurrents Comme le montre le tableau 3.1 SPSS a l’avantage de proposer tous les types de cal- culs de somme des carrés et produits croisés à ses utilisateurs. R propose une solution assez complète à l’image de XLSTAT à la seule di érence qu’il requiert de ses utilisateurs, des compétences en programmation. XLSTAT o re donc une MANOVA similaire à celle des leaders du marchés, en termes de précision de calculs et de qualité. Temps de calcul : Le test suivant a été réalisé avec une matrice de données de 205 lignes et 4 colonnes. De plus, on a 3 facteurs avec respectivement 22, 2 et 2 niveaux d’où une matrice X de taille 205 ◊ 88. Le temps d’exécution entre la validation de la part de l’utilisateur de sa sélection des données et l’a chage complète des résultats est d’environ 10.75 secondes avec XLSTAT. Ce temps d’exécution est de l’ordre de la seconde avec les logiciels R et SPSS. On voit alors que les concurrents sont nettement meilleurs en termes de temps d’exécution. Ce déficit devrait être comblé avec le développement en cours d’une classe de matrices creuses. En e et, pour des jeux de données de grande taille, la matrice de design X est généralement une matrice creuse. 21
  • 26. 4 Impressions personnelles Malgré un sujet conceptuellement assez simple, la compréhension des bases théoriques de la MANOVA et surtout la manière dont elle doit e cacement être programmée ont pris beaucoup de temps. De plus, l’absence de documentation sur l’implémentation de ces méthodes statistiques et le non-libre accès au code source des logiciels concurrents nécessitaient une recherche poussée. En e et, dans un marché où la plupart des logiciels statistiques sont commercialisés, il est parfois di cile d’avoir accès aux informations concernant les méthodes d’implémenta- tion de ces méthodes statistiques. Plus précisément j’ai commencé mon implémentation plus de deux semaines après mon arrivée. J’ai essayé beaucoup de méthodes d’implémentation en rencontrant beau- coup de problèmes. En e et, la manière d’implémenter di ère souvent de la présentation théorique de la méthode. J’ai fait également beaucoup de recherches sur la manière dont la MANOVA était implémentée chez les concurrents, plus particulièrement la manière de R. Ces recherches m’ont pris du temps avant que j’organise mes recherches d’une autre manière à savoir cibler l’existant au détriment de la théorie. Cependant, en suivant les bons conseils et sans partir sur de mauvaises pistes, nous avons finalement obtenu des résultats satisfaisants. J’ai donc beaucoup appris durant ce stage, tant au niveau professionnel que personnel. D’un point de vue personnel, je vais définitivement me tourner vers la programmation mathématique. Ayant passé presque six mois sur la programmation logicielle, avec un bon encadrement, j’ai énormément progressé dans le développement C++ et VBA. Professionnellement, j’ai découvert le domaine de la conception logicielle et de la recherche. Tout cela s’inscrit dans un univers passionnant. De par ce que j’ai appris et réalisé durant ce stage, c’est avec un réel enthousiasme que je recommencerai volontiers un tel projet. Merci à toute l’équipe Addinsoft ! 22
  • 27. Conclusion Le bilan de ce stage s’est avéré très positif. Les objectifs ont été atteints et ce fut une très bonne expérience pratique pour moi. Dorénavant, l’analyse de la variance multivariée est disponible sur XLSTAT. Tous les programmes étant implementés sous une forme standard qu’utilise toute l’équipe de développement statistique Addinsoft, cela augmente les chances que le code puisse être amélioré pour une meilleure expérience utilisateur. Pour ce qui est des performances, il s’agit surtout d’utiliser la classe de matrices creuses pour accélerer les calculs. On a pu voir au cours de notre implémentation qu’il n’est souvent pas judicieux de faire une implémentation directe de la théorie. Dans la continuité du projet, il pourrait être avisé de laisser à l’utilisateur le choix du type de matrice de sommes de carrés et produits croisés, ce qui implique leur implémen- tation en amont. 23
  • 28. Références bibliographiques [1] James E. Gentle, Wolfgang Karl H., Yuichi Mori Handbook of computational statistics, Edition 2 Springer [2] Alan Taylor Multivariate Analyses with Manova and GLM Department of psychology Macquarie University 2002-2011. [3] Master thesis - Patrik Zetterberg E ects of unbalancedness and heteroscedasticity on two way MANOVA Department of statistics Stockholm University 2013. [4] John Fox, Michael Friendly, Sanford Weisberg Hypothesis for multivariate linear models using car package The R Journal ISSN 2073-4859. [5] Je Johnson GUI Bloppers [10] Analyse de la variance multivariée - MANOVA http://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/ st-m-modmixt5-manova.pdf Wikistat [6] R [7] MinitabR• [8] SASR• [9] SPSSR• 24
  • 29. Addinsoft 35 Place Gambetta Bordeaux France http://www.xlstat.com/ Mamadou SECK Polytech Lyon MAM - Promotion 21 Année 2014-2015 Résumé Intégration de l’analyse de la variance multivariée dans la solution XLSTAT Dans cette étude, nous présentons l’implémentation de l’analyse de la variance multivariée dans le logiciel XLSTAT. Après avoir présenté les bases théoriques d’une telle méthode et les di érentes possibilités de mises en oeuvre, nous nous pencherons sur l’implémentation du code source en C++, ensuite sur l’interface homme-machine réalisée en VBA avant de nous intéresser finalement à l’expérience utilisateur. Ceci passe par une recherche bibliographique, l’utilisation de logiciels concurrents pour compren- dre leur jauger la qualité de leur o re, les options proposées ainsi que la façon dont leur solution est implémentée. Mots-clés : MANOVA, SSCP, Statistiques, XLSTAT Abstract Integration of the multivariate analysis of variance in XLSTAT solution This present thesis describes the implementation of the MANOVA method within the XLSTAT statistical solution. The theoretical basis of this method will first be detailed. We will then explore the various possi- bilities of implementation of this method and present the several approaches taken by competing solutions. Finally, we will describe our implementation together with the GUI (Graphical User Interface). Thorough bibliography and the use of numerous tools, we are involved to achieve an exhaustive review of the competition and develop an e cient solution. Keywords : MANOVA, SSCP, Statistiques, XLSTAT