Académique Documents
Professionnel Documents
Culture Documents
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 1 | 23
En général, le modèle spécifié par l’économiste est défini comme étant une maquette de la réalité ou
d’un phénomène sous forme d’équations dont les variables sont des grandeurs économiques.
A ce sujet, Lester C. Thurow note ceci : « Les équations décrivent à quoi ressemblerait le monde réel s’il
ressemblait à la théorie».
Il convient de noter également que le terme d’erreur 𝜺𝒕 [bruit, perturbation ou aléa] dénote de la
différence entre l’économiste et l’économètre. Il synthétise l’influence sur 𝑪𝒕 [variable expliquée] de
toutes les autres variables oubliées et des erreurs éventuelles de spécification de la forme fonctionnelle
dans le modèle spécifié par l’économiste. De plus, sa présence dans le modèle rend les paramètres 𝜶𝟎 et
𝜶𝟏 inconnus, on ne sait plus les calculer, il faut donc les estimer.
Dans les méthodes décrites ci-dessous, il y a presque toujours une variable privilégiée, en général appelée
variable à expliquer, ou variable réponse, et notée Y (il s’agit d’une variable aléatoire). Le but est alors de
construire un modèle permettant d’expliquer “au mieux” cette variable Y en fonction de variables
explicatives observées sur le même échantillon.
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 2 | 23
À la fois le plus simple, le plus ancien et le plus connu des modèles statistiques, il englobe
essentiellement :
✓ la régression linéaire simple et multiple,
✓ l’analyse de variance
✓ et l’analyse de covariance.
Dans ce modèle, les variables explicatives (régresseurs ou facteurs) ne sont pas aléatoires (elles sont à
effets fixes). Pour pouvoir être exploité pleinement, ce modèle nécessite l’hypothèse de normalité des
erreurs, donc de la variable à expliquer (hypothèse gaussienne).
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 4 | 23
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 5 | 23
Quel que soit le modèle, ou le type de modèles, envisagé face à un jeu de données, quel que soit le
problème qu’il s’agit de traiter, une modélisation statistique ne peut sérieusement s’envisager que sur
des données “propres”, c’est à dire pré-traitées, afin de les débarrasser, autant que faire se peut, de tout
ce qui peut nuire à la modélisation : codes erronés, données manquantes, données aberrantes, variables
inutiles, variables redondantes... C’est cet ensemble de pré-traitements que nous décrivons dans ce
paragraphe. On notera que cette phase est parfois appelée datamanagement, autrement dit “gestion
des données”.
b. Analyse univariée
Cette phase, souvent fastidieuse, consiste à étudier chaque variable l’une après l’autre, afin d’en
connaître les principales caractéristiques et d’en repérer, le cas échéant, certaines anomalies.
Pour les variables quantitatives, on pourra faire un histogramme ou un diagramme en boîte et déterminer
des caractéristiques telles que le minimum, le maximum, la moyenne, l’écart-type, la médiane et les
quartiles. Cela peut conduire à supprimer une variable (si elle présente très peu de variabilité), à la
transformer (par exemple, en prenant son logarithme si elle est à valeurs positives et très dissymétrique),
ou encore à repérer des valeurs très particulières (que l’on devra, éventuellement, corriger ou éliminer).
Pour les variables qualitatives, on pourra faire un diagramme en colonnes des modalités et déterminer
les effectifs et les fréquences de ces dernières. Cela pourra encore conduire à supprimer une variable (si
tous les individus, ou presque, présentent la même modalité), ou à en regrouper des modalités “proches”
(si certains effectifs sont trop faibles).
Ces analyses univariées permettent également de prendre connaissance des données et de fournir
certaines indications pour la phase ultérieure de modélisation. Toutefois, il faut noter que ces analyses
peuvent être inenvisageables avec des données “fortement multidimensionnelles”, c’est-à-dire
comportant des centaines, voire des milliers, de variables ; on rencontre aujourd’hui de telles données
dans certains contextes particuliers.
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 6 | 23
c. Analyses bivariées
Ces analyses ont pour but d’étudier d’éventuelles liaisons existant entre couples de variables. Il peut
s’agir de deux variables explicatives, dont on soupçonne qu’elles sont fortement corrélées, dans le but
d’éliminer l’une des deux. Il peut aussi s’agir d’étudier les liens entre la variable à expliquer et chaque
variable explicative (de façon systématique), pour avoir une première idée des variables explicatives
susceptibles de jouer un rôle important lors de la modélisation. Enfin, ces analyses peuvent aussi
permettre de repérer des points aberrants (ou extrêmes) qui n’ont pas pu l’être avec les analyses
univariées.
Rappelons que, pour étudier la liaison entre deux variables quantitatives, on dispose, comme graphique,
du nuage de points (ou diagramme de dispersion) et, comme indicateur de liaison, du coefficient de
corrélation linéaire. Dans le cas d’une variable quantitative et d’une variable qualitative, on dispose du
diagramme en boîtes parallèles et du rapport de corrélation. Enfin, dans le cas de deux variables
qualitatives, on utilise en général un diagramme en colonnes de profils (profils-lignes ou profils-colonnes
selon ce que l’on souhaite mettre en évidence) et des indicateurs de liaison liés au khi-deux (coefficients
de Tschuprow ou de Cramer).
Il est d’autant plus important d’envisager, dans ces analyses préliminaires, de réaliser une analyse des
correspondances multiples (A.C.M.) entre variables qualitatives. Celle-ci permettra, le cas échéant, de
confirmer une liaison forte entre certains couples de variables et, si nécessaire, d’en éliminer quelques-
unes. L’A.C.M. permet également de regrouper certaines modalités d’une même variable lorsque celles-
ci apparaissent proches dans l’ensemble des résultats et, par suite, de simplifier les données. Enfin, le
tableau de Burt, fourni avec les résultats de l’A.C.M., permet de repérer des occurrences très faibles pour
certains croisements de modalités et d’envisager encore d’autres regroupements.
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 7 | 23
f. Bilan
Une fois réalisées toutes les étapes préliminaires décrites ci-dessus, on dispose de données “mises au
propre”, simplifiées, et dont on commence à connaître certaines caractéristiques. On peut, à partir de ce
moment-là, envisager leur modélisation.
Les modèles susceptibles d’être adaptés aux données considérées, parmi tous ceux décrits dans le
paragraphe précédent, sont nécessairement limités à ce stade-là. Ils sont fonction de la nature des
données ainsi que des questions posées par l’utilisateur, autrement dit de ses objectifs.
Insistons ici sur le fait que des données sont toujours recueillies (produites) par un utilisateur (biologiste,
informaticien, gestionnaire...) dans un but bien précis. La modélisation statistique doit avoir pour objectif
premier de répondre aux questions que s’est posé cet utilisateur lorsqu’il a décidé de recueillir les
données. Une collaboration entre utilisateur et statisticien est donc, à ce niveau-là, absolument
indispensable.
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 8 | 23
1. Estimer les valeurs des coefficients (𝛽0 ; 𝛽1 ; 𝛽2 ; … ; 𝛽𝑝 ) à partir d’un échantillon de données
(estimateur des moindres carrés ordinaires).
3. Mesurer le pouvoir explicatif du modèle dans sa globalité (tableau d’analyse de variance, coefficient
de détermination).
5. Tester l’apport marginal de chaque variable explicative dans l’explication de Y (test de significativité
de chaque coefficient).
6. Tester l’apport d’un groupe de variables explicatives dans l’explication de Y (test de significativité
simultanée d’un groupe de coefficient).
8. Interpréter les résultats en mettant en avant notamment l’impact des exogènes sur l’endogène
(interprétation des coefficients, analyse structurelle).
9. Tester à postériori la validité du modèle c-à-d sa conformité avec les hypothèses de départ.
10. Si le modèle est satisfaisant, il peut servir à des fins explicatives ou prospectives sinon reprendre
toutes les étapes précédentes avec une nouvelle spécification de modèle.
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 9 | 23
DEFINITION DE LA METHODE
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 10 | 23
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 11 | 23
setwd("D:/jeudonnee")
salaire<-read.table("salaire.csv",header=TRUE,sep=";",check.names=FALSE)
str(salaire)
'data.frame': 25 obs. of 2 variables:
$ salaire: int 500000 430000 245000 340000 250000 375000 190000 360000 250000 255000 ...
$ sexe : Factor w/ 2 levels "femme","homme": 2 2 1 2 1 2 1 1 2 1 ...
summary(salaire)
salaire sexe
Min. :180000 femme:13
1st Qu.:250000 homme:12
Median :321000
Mean :319400
3rd Qu.:375000
Max. :524000
boxplot(salaire$salaire~salaire$sexe)
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 12 | 23
# 2eme étape : estimer les statistiques de base (mean, quantile, sd) par ss pop
# +--------------------------------------------------------------------------+#
tapply(salaire$salaire,salaire$sexe,mean,na.rm=TRUE)
femme homme
287307.7 354166.7
tapply(salaire$salaire,salaire$sexe,sd,na.rm=TRUE)
femme homme
76912.7 104833.9
tapply(salaire$salaire,salaire$sexe,quantile,na.rm=TRUE)
$femme
0% 25% 50% 75% 100%
180000 245000 308000 350000 428000
$homme
0% 25% 50% 75% 100%
189000 269500 357500 413500 524000
aov<-lm(salaire$salaire~salaire$sexe)
anova(aov)
Analysis of Variance Table
Response: salaire$salaire
Df Sum Sq Mean Sq F value Pr(>F)
salaire$sexe 1 2.7894e+10 2.7894e+10 3.3435 0.08047 .
Residuals 23 1.9188e+11 8.3425e+09
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# Conclusion : la p-value > 0.05 donc on ne peut rejeter 𝐻0 , les deux moyennes
ne sont pas significativement différentes au seuil de 5%. Les deux variables ne
sont pas liées (le salaire n’est pas lié au sexe, c-à-d, le salaire des hommes
n’est pas significativement différent du salaire des femmes)
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 13 | 23
mod<-lm(salaire$salaire~salaire$sexe)
mod$coefficients
(Intercept) salaire$sexehomme
287307.69 66858.97
confint(mod)
2.5 % 97.5 %
(Intercept) 299622.6 408710.689
salaire$sexe -142497.9 8779.975
summary(mod)
Call:
lm(formula = salaire$salaire ~ salaire$sexe)
Residuals:
Min 1Q Median 3Q Max
-165167 -78167 20692 62692 169833
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 287308 25333 11.341 6.76e-11 ***
salaire$sexehomme 66859 36564 1.829 0.0805 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
INTERPRETATION
tapply(salaire$salaire,salaire$sexe,mean,na.rm=TRUE)
femme homme
287307.7 354166.7
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 14 | 23
# ETAPES
# 1ere étape : comparer graphiquement les sous population
# 2eme étape : estimer les statistiques de base (mean, quantile, sd) par ss pop
# 3eme étape : tester la normalité des données dans chaque sous population
# 4eme étape : tester l’égalité des variances
# 5eme étape : tester la significativité du facteur: tester l’égalité des moyennes
# 6eme étape : Analyser les résidus
# 7eme étape : Interpréter les coefficients
# 2eme étape : estimer les statistiques de base (mean, quantile, sd) par ss pop
# +--------------------------------------------------------------------------+#
tapply(smp$age,smp$prof,mean,na.rm=TRUE)
tapply(smp$age,smp$prof,sd,na.rm=TRUE)
tapply(smp$age,smp$prof,quantile,na.rm=TRUE)
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 15 | 23
# 3eme étape : tester la normalité des données dans chaque sous population
# +----------------------------------------------------+#
library(car)
library(RVAideMemoire)
byf.qqnorm(smp$age~smp$prof)
library(RVAideMemoire)
byf.shapiro(smp$age~smp$prof)
Shapiro-Wilk normality tests
W p-value
agriculteur 0.7957 0.053706 .
artisan 0.9873 0.533292
autre 0.7614 1.078e-05 ***
cadre 0.9843 0.960188
employ? 0.9652 0.001595 **
ouvrier 0.9613 8.048e-06 ***
prof.interm?diaire 0.9701 0.161941
sans emploi 0.8791 2.593e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 16 | 23
bartlett.test(smp$age~smp$prof)
Bartlett test of homogeneity of variances
data: smp$age by smp$prof
Bartlett's K-squared = 20.048, df = 7, p-value = 0.005466
# Conclusion : la p-value < 0.05 donc on rejette 𝐻0 , Au moins une variance est
significativement différentes des autres.
kruskal.test(smp$age~smp$prof).
Kruskal-Wallis rank sum test
Call:
PermTest.lm(obj = reg.aov, B = 100)
Call:
PermTest.lm(obj = reg.aov, B = 1000)
# Conclusion : la p-value < 0.05 donc on rejette 𝐻0 , Au moins une des moyenne
est significativement différente des autres. Il y a donc bien l’existence d’un
effet de la profession sur l’âge.
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 17 | 23
library(RVAideMemoire)
pairwise.perm.t.test(smp$age,smp$prof)
Pairwise comparisons using permutational t tests
data: smp$age and smp$prof
999 permutations
agriculteur artisan autre cadre employe ouvrier prof.interm?diaire
artisan 0.5062 - - - - - -
autre 0.1621 0.0056 - - - - -
cadre 0.8460 0.1219 0.0056 - - - -
employ? 0.1244 0.0056 0.2268 0.0056 - - -
ouvrier 0.0420 0.0056 0.3589 0.0056 0.3652 - -
prof.interm?diaire 0.3780 0.3853 0.0305 0.0680 0.0646 0.0056 -
sans emploi 0.1155 0.0056 0.8193 0.0056 0.1083 0.3387 0.0056
P value adjustment method: fdr
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 18 | 23
library(lattice)
res.aov<-rstudent(reg.aov)
xyplot(res.aov~I(1:799)|smp$prof)
res.aov<-rstudent(reg.aov)
sum(as.numeric(abs(res.aov)<=2))/nrow(smp)*100
[1] 94.36796
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 19 | 23
# REMARQUE : Dans cette écriture, nous avons I+1 paramètres à estimer dont
seulement I sont identifiables. Il faut donc imposer une contrainte linéaire.
Différentes contraintes existent, les plus usuels sont :
➢ Un des 𝛼𝑖 est fixée a zéro, ce qui revient à fixer la modalité 𝑖 comme
modalité de référence (Par défaut R utilise cette contrainte en fixant 𝜶𝟏 = 𝟎,
ce qui revient à prendre comme référence le 1ere modalité "label" par ordre
alphabétique).
➢ La somme des 𝛼𝑖 est nulle (∑ 𝛼𝑖 = 0) ce qui revient à prendre la moyenne comme
référence.
# Précisons maintenant comment la profession influe sur l’âge des détenus. Pour
cela, nous analyserons les coefficients à l’aide du test de Student
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 20 | 23
reg.aov<-lm(smp$age~smp$prof)
summary(reg.aov)
Call:
lm(formula = smp$age ~ smp$prof)
Residuals:
Min 1Q Median 3Q Max
-25.111 -10.396 -1.896 7.289 47.104
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 48.833 5.231 9.336 <2e-16 ***
smp$profartisan -3.722 5.402 -0.689 0.4910
smp$profautre -13.898 5.714 -2.432 0.0152 *
smp$profcadre 1.250 5.848 0.214 0.8308
smp$profemploye -10.122 5.345 -1.894 0.0586 .
smp$profouvrier -11.437 5.299 -2.158 0.0312 *
smp$profprof.intermediaire -5.575 5.494 -1.015 0.3106
smp$profsans emploie -12.937 5.301 -2.441 0.0149 *
---
Signif. Codes : 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
➢ Si cette P-value < 0.05, on rejette 𝐻0 (c.-à-d. que les professions concernées
sont significativement différentes de la profession agriculteur : autre,
ouvriers, sans-emploi)
➢ Si cette P-value > 0.05, on ne peut rejeter 𝐻0. (c.-à-d. que les professions
concernées ne sont pas significativement différentes de la profession
agriculteur : artisan, cadre, profession intermédiaire, et dans une moindre
mesure employé)
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 21 | 23
# 2) Si on veut choisir une autre modalité comme référence par exemple smp$cadre
(4eme modalite)
table(smp$prof)
agriculteur artisan autre cadre employ? ouvrier prof.interm?diaire sans emploi
6 90 31 24 135 227 58 222
summary(lm(age~C(prof,base=4),data=smp))
Call:
lm(formula = age ~ C(prof, base = 4), data = smp)
Residuals:
Min 1Q Median 3Q Max
-25.111 -10.396 -1.896 7.289 47.104
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 50.083 2.615 19.150 < 2e-16 ***
C(prof, base = 4)1 -1.250 5.848 -0.214 0.8308
C(prof, base = 4)2 -4.972 2.943 -1.689 0.0916 .
C(prof, base = 4)3 -15.148 3.483 -4.348 1.55e-05 ***
C(prof, base = 4)5 -11.372 2.838 -4.007 6.74e-05 ***
C(prof, base = 4)6 -12.687 2.750 -4.613 4.63e-06 ***
C(prof, base = 4)7 -6.825 3.110 -2.195 0.0285 *
C(prof, base = 4)8 -14.187 2.753 -5.153 3.24e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 3) Si on veut choisir une autre modalité comme référence par exemple cadre
smp$prof<-relevel(smp$prof,ref="cadre")
reg.aov<-lm(smp$age~smp$prof)
summary(reg.aov)
Call:
lm(formula = smp$age ~ smp$prof)
Residuals:
Min 1Q Median 3Q Max
-25.111 -10.396 -1.896 7.289 47.104
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 50.083 2.615 19.150 < 2e-16 ***
smp$profagriculteur -1.250 5.848 -0.214 0.8308
smp$profartisan -4.972 2.943 -1.689 0.0916 .
smp$profautre -15.148 3.483 -4.348 1.55e-05 ***
smp$profemploy? -11.372 2.838 -4.007 6.74e-05 ***
smp$profouvrier -12.687 2.750 -4.613 4.63e-06 ***
smp$profprof.interm?diaire -6.825 3.110 -2.195 0.0285 *
smp$profsans emploi -14.187 2.753 -5.153 3.24e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
summary(lm(age~C(prof,sum),data=smp))
Call:
lm(formula = age ~ C(prof, sum), data = smp)
Residuals:
Min 1Q Median 3Q Max
-25.111 -10.396 -1.896 7.289 47.104
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 41.7782 0.8554 48.843 < 2e-16 ***
C(prof, sum)1 7.0551 4.6098 1.530 0.126307
C(prof, sum)2 3.3329 1.4490 2.300 0.021701 *
C(prof, sum)3 -6.8427 2.1686 -3.155 0.001664 **
C(prof, sum)4 8.3051 2.4210 3.430 0.000634 ***
C(prof, sum)5 -3.0671 1.2820 -2.392 0.016973 *
C(prof, sum)6 -4.3818 1.1287 -3.882 0.000112 ***
C(prof, sum)7 1.4804 1.6895 0.876 0.381162
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# REMARQUE : Dans toutes ces analyses, nous voyons que les valeurs des estimateurs
changent suivant la contrainte. Par contre, le test global donne en dernière
ligne des listings et qui correspond au résultat du tableau d’analyse de la
variance reste le même :
F-statistic: 9.726 on 7 and 785 DF, p-value: 1.197e-11
Premier Institut privé de Formation aux métiers de l’ingénierie statistique et de la Data Science en Afrique francophone P a g e 23 | 23