INSTALLATION

#install.packages("GGally")
#install.packages("foreign")
#install.packages("ggplot2")
#install.packages("ggmosaic")
library(foreign)
library(ggplot2)
BaseEmploi=read.dta("BaseEmploi_VF.dta")
head(BaseEmploi)

le nombre de variable null

sum(is.na(BaseEmploi))
## [1] 4

Vu qu’on a que 4 variale nulles, on peut directement les supprimées

BaseEmploiClean = na.omit(BaseEmploi)

1: Donner la nature des différentes variables du tableau 1

str(BaseEmploi)
## 'data.frame':    1000 obs. of  12 variables:
##  $ Sexe         : Factor w/ 2 levels "Masculin","F\xe9minin": 1 1 1 1 2 2 2 2 1 2 ...
##  $ Age          : Factor w/ 100 levels "0","1","2","3",..: 29 35 31 17 28 19 21 22 19 17 ...
##  $ Region       : Factor w/ 14 levels "DAKAR","ZIGUINCHOR",..: 5 6 5 2 3 4 10 1 6 3 ...
##  $ Emploi_du_mom: num  0 1 1 0 0 0 0 0 0 0 ...
##  $ Milieu       : Factor w/ 2 levels "urbain","rural": 2 1 2 2 1 2 2 2 1 1 ...
##  $ NivInstru    : Factor w/ 4 levels "Aucun","Primaire",..: 1 1 1 3 3 1 1 1 3 2 ...
##  $ StatEmploi   : Factor w/ 7 levels "SalaPubli","SalaPrivé",..: 7 2 5 7 7 7 7 7 7 7 ...
##  $ AgeCM        : num  61 50 81 45 50 34 58 72 57 48 ...
##  $ SexCM        : Factor w/ 2 levels "Homme","Femme": 1 2 1 2 2 1 1 1 1 2 ...
##  $ InstruiCM    : Factor w/ 4 levels "Aucun","Primaire",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ StatEmploiCM : Factor w/ 7 levels "SalaPubli","SalaPrivé",..: 7 4 7 2 7 7 7 5 4 4 ...
##  $ Tailmng      : Factor w/ 3 levels "Petit","Moyen",..: 3 2 3 3 2 1 2 3 3 1 ...
##  - attr(*, "datalabel")= chr ""
##  - attr(*, "time.stamp")= chr "16 Oct 2021 19:12"
##  - attr(*, "formats")= chr  "%8.0g" "%8.0g" "%11.0g" "%9.0g" ...
##  - attr(*, "types")= int  251 251 251 254 251 254 254 254 254 254 ...
##  - attr(*, "val.labels")= chr  "B3" "B4" "reg" "" ...
##  - attr(*, "var.labels")= chr  "B3. Sexe" "B4. Age (indiquer les ann\xe9es r\xe9volues)" "region" "Emploi_du_mom" ...
##  - attr(*, "expansion.fields")=List of 5
##   ..$ : chr  "Region" "destring" "Characters removed were:"
##   ..$ : chr  "_dta" "_lang_list" "default"
##   ..$ : chr  "_dta" "_lang_c" "default"
##   ..$ : chr  "Milieu" "destring" "Characters removed were:"
##   ..$ : chr  "Milieu" "destring_cmd" "destring milieu, replace"
##  - attr(*, "version")= int 12
##  - attr(*, "label.table")=List of 8
##   ..$ emp : Named int  1 2 3 4 5 6 7
##   .. ..- attr(*, "names")= chr  "SalaPubli" "SalaPrivé" "Employeurs" "IndeNonAgri" ...
##   ..$ tail: Named int  1 2 3
##   .. ..- attr(*, "names")= chr  "Petit" "Moyen" "Grand"
##   ..$ Niv : Named int  0 1 2 3
##   .. ..- attr(*, "names")= chr  "Aucun" "Primaire" "Secondaire" "Superieur"
##   ..$ sex : Named int  1 2
##   .. ..- attr(*, "names")= chr  "Homme" "Femme"
##   ..$ mil : Named int  1 2
##   .. ..- attr(*, "names")= chr  "urbain" "rural"
##   ..$ B3  : Named int  1 2
##   .. ..- attr(*, "names")= chr  "Masculin" "F\xe9minin"
##   ..$ B4  : Named int  0 1 2 3 4 5 6 7 8 9 ...
##   .. ..- attr(*, "names")= chr  "0" "1" "2" "3" ...
##   ..$ reg : Named int  1 2 3 4 5 6 7 8 9 10 ...
##   .. ..- attr(*, "names")= chr  "DAKAR" "ZIGUINCHOR" "DIOURBEL" "SAINT-LOUIS" ...

conversion de la variable age en numérique et la variable Emploi_du_mom en facteur pour pouvoir effectuer les calcules suivantes

BaseEmploiClean$Age = as.numeric(BaseEmploiClean$Age)
BaseEmploiClean$Emploi_du_mom =as.factor(BaseEmploiClean$Emploi_du_mom)

2: Calculer l’âge moyen des jeunes selon le sexe, le niveau d’instruction et la région

aggregate(BaseEmploiClean$Age, list(BaseEmploiClean$Sexe,BaseEmploiClean$NivInstru,BaseEmploiClean$Region), FUN=mean)

3: Calculer l’âge médian des jeunes selon le sexe, le niveau d’instruction et la région

aggregate(BaseEmploiClean$Age,list(BaseEmploiClean$Sexe,BaseEmploiClean$NivInstru,BaseEmploiClean$Region), FUN=median)

4: Analyser la répartition des jeunes selon le sexe, la région et le niveau d’instruction

library(ggmosaic)
levels(BaseEmploiClean$NivInstru) <- c("Auc","Pri", "Snd","Sup")
levels(BaseEmploiClean$Sexe) <- c("M", "F")
ggplot(data = BaseEmploiClean) +
  geom_mosaic(aes(x = product(Region, NivInstru), fill =Sexe )) +
  xlab("") + ylab("") +
  theme(legend.position = "top") 

ggplot(BaseEmploiClean) +
  aes(x = BaseEmploiClean$Region) +
  geom_bar(fill ="green") +
  ggtitle("La répartition des jeunes selon la Region ") +
  xlab("Region") +
  ylab("Effectifs")

ggplot(BaseEmploiClean) +
  aes(x = BaseEmploiClean$Sexe) +
  geom_bar(fill ="green", colour = "black") +
  ggtitle("La répartition des jeunes selon le sexe") +
  xlab("sexe") +
  ylab("Effectifs")

ggplot(BaseEmploiClean) +
  aes(x = BaseEmploiClean$NivInstru) +
  geom_bar(fill ="green", colour = "black") +
  ggtitle("La répartition des jeunes selon le niveau d'instruction") +
  xlab("le niveau d'instruction") +
  ylab("Effectifs")

5: Analyser la répartition des jeunes selon le statut dans l’emploi et sexe

ggplot(BaseEmploiClean) +
  aes(x = BaseEmploiClean$StatEmploi,fill = BaseEmploiClean$Sexe) +
  geom_bar(position ='fill') +
  ggtitle("La répartition des jeunes selon le statut dans l’emploi et sexe")+
  xlab("le statut dans l’emploi") +
  ylab("Effectifs")

6 Analyser la répartition des jeunes selon le statut dans l’emploi et le niveau d’instruction

ggplot(BaseEmploiClean) +
  aes(x = BaseEmploiClean$StatEmploi,fill = BaseEmploiClean$NivInstru) +
  geom_bar(position ='fill') +
  ggtitle("La répartition des jeunes selon le statut dans l’emploi et le niveau d’instruction")+
  xlab("le statut dans l’emploi") +
  ylab("Effectifs")

7: Analyser la répartition des jeunes selon le statut dans l’emploi et le niveau d’instruction du chef de ménage

ggplot(BaseEmploiClean) +
  aes(x = BaseEmploiClean$StatEmploi,fill = BaseEmploiClean$InstruiCM) +
  geom_bar(position ='fill') +
  ggtitle("La répartition des jeunes selon le statut dans l’emploi et le niveau d’instruction du chef de ménage") +
  xlab("le statut dans l’emploi") +
  ylab("Effectifs")

—————————————————————————————————————-

Partie II : Analyse Multidimensionnelle et classification

1. Faire une petite note de rappel des différentes méthodes d’analyse multidimensionnelle vues en classe.

Definition

l’analyse multidimensionnel permet détudier plusieurs variables simultanément en donnant une description globale sur les variables et les individus

Objectifs

Représenter les données de grande dimension

Visualiser les données

Rechercher des liens entre les variables

Caractériser des group

différentes méthodes d’analyse multidimensionnelle

ACP: Analyse en composant principale

Il s’agit d’étudier un tableau d’individus x variables où toutes les variables sont quantitatives.

Il s’agit d’une technique de représentation des données qui décrit les similitudes/différences entre les individus et les liaisons entre les variables .

elle permet d’obtenir une représentation des individus en fonction de leurs proximités et une représentation des variables en fonction de leurs corrélations.

AFC: Analyse factoruelle des correspondances

Permet de visualiser des données qualitatives

L’AFC est une généralisation de l’ACP adaptée au traitement de données qualitatives.

Il se présente sous la forme d’un tableau de contingence ou d’un tableau formé d’individus décrits par des caractères qualitatifs.

Etude des éventuelles relations existant entre les modalités de deux variables qualitatives.

Les deux variables doivent être dépendantes.

Le but est de représenter graphiquement (géométriquement) les similitudes entre les différentes modalités d’une même variable (deux analyses : profils-lignes etprofils-colonnes.

ACM: Analyse des correspondances multiples

ACM est une généralisation de l’AFC L’Analyse des Correspondances Multiples (ACM) permet l’analyse d’un tableau individus x variables lorsque les variables sont qualitatives.

Elle consiste à effectuer une analyse des correspondances du tableau disjonctif complet, obtenu en remplaçant dans le tableau d’origine chaque variable qualitative l’ensemble des variables indicatrices des différentes modalités de cette variable.

—————————————————————————————————————-

2. Faire la synthèse des informations contenues dans la base de données à partir d’une méthode d’analyse multidimensionnelle (choix à justifier)

Pour mieux interpréter notre base de donnée, nous choississons ACM (Analyse des correspondances multiples)

Justification

Parce que La base étudiée ici est composée de variables qualitatives dont la dimension est supérieur à 2

## Loading required package: FactoMineR
## Loading required package: shiny
## Loading required package: FactoInvestigate

Voici notre premiére résultat de notre étude

la qualité de représention des variables sur les axes

on constate que le niveau d’instruction est mieux représenté sur l’axe 1 suivi du milieu(urbain,rural) sur l’axe 2, Statut dans l’emploi est bien représenté suivi de Emploi_du_mom

res.MCA<-MCA(BaseEmploiClean,quanti.sup=c(2,8),graph=FALSE)
plot.MCA(res.MCA,invisible= 'ind',label =c('var'))
## Warning: ggrepel: 19 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

plot.MCA(res.MCA, choix='var')

la représention des individus

Les individus se sont répartis en deux groupes du long de l’axe 2

plot.MCA(res.MCA,invisible= 'var',label =c('ind'))

Pour mieux interpréter ce résultat, on va paramétrer notre model afin de voir quels sont les individus qui sont en haut et en bas suivant l’axe 2 et de droit à gauche suivant l’axe 1

Affichons que les modalités qui contribus de plus suivant les deux axes

plot.MCA(res.MCA,invisible= 'ind',select= 'contrib 336',selectMod= 'cos2 0.2',cex=0.75,cex.main=0.75,cex.axis=0.75,label =c('var'))

Le résultat nous permet de conclure que de gauche à droite suivant l’axe 1 se trouvent les personnes dont le niveau d’instruction est aucun et d’autre de niveau d’instruction secondaire ou supérieur.

On constate que les personnes habitants dans le milieu rural ont plus de niveau d’instruction aucun que celles habitants en zone urbain qui sont plus proches du secondaire

Sur l’axe 2 opposent des personnes qui ont de l’emploi et des personne sans emploi

La régien de Sédhiou a plus de chomage parcontre Diourbel est une région ou il y a moins de chomage

Variale quantitative supplémentaire

On voit que l’axe 2 représente bien la variable age, par concequent les plus agés ont souvent des emplois par rapport au moins agés

plot.MCA(res.MCA, choix='quanti.sup',title="Supplementary quantitatives variables")

3. Faire une petite note de rappel des différentes méthodes de classification vues en classe.

Regression logistique

La régression logistique est un modèle statistique permettant d’étudier les relations entre un ensemble de variables qualitatives Xi et une variable qualitative Y. Il s’agit d’un modèle linéaire généralisé utilisant une fonction logistique comme fonction de lien.

Arbre de décision

l’arbre de décision permet de représenter un ensemble de choix sous la forme graphique d’un arbre. C’est une des méthodes d’apprentissage supervisé les plus populaires pour les problèmes de classification de données.

Concrètement, un arbre de décision modélise une hiérarchie de tests pour prédire un résultat. Il existe deux principaux types d’arbre de décision :

Les arbres de régression (Regression Tree) permettent de prédire une quantité réelle, une valeur numérique (par exemple, le prix d’une maison ou la durée de séjour d’un patient dans un hôpital) ; Les arbres de classification (Classification Tree) permettent de prédire à quelle classe la variable de sortie appartient (cela permet par exemple de répartir une population d’individus, comme le cas de notre dataset, on peut predire des personnes employées et nom employées).

4. A partir d’une méthode de classification (choix à justifier), faire le regroupement des jeunes en plusieurs classes homogènes. Pour faire la classification des jeunes, nous utiliserons l’arbre de décision

Justification

Un arbre de décision est un modèle très simple. Etant donnée plusieurs caractéristiques, la décision se commence par un de ces caractéristiques; si ce n’ai pas suffisant, on utilise une autre, ainsi de suite. Il est largement connu et utilisé dans de nombreuses entreprises pour faciliter le processus de prise de décision et l’analyse des risques. C’est aussi un algorithme qui est facile à interpreter.

Dans notre cas, on peut utiliser l’arbre de décision binaire pour separer les jeunes employés et non employés

Nous avoms deux classes Emploi_du_mom: Oui ou Non c’est à dire si la personne est employés ou non

Résultat avec Factoshiny

res.PCA<-PCA(BaseEmploiClean,ncp=Inf, scale.unit=FALSE,quali.sup=c(1,3,4,5,6,7,9,10,11,12),graph=FALSE)
res.HCPC<-HCPC(res.PCA,nb.clust=2,consol=FALSE,graph=FALSE)
plot.HCPC(res.HCPC,choice='map',draw.tree=FALSE,title='Factor map')

—————————————————————————————————————-

Partie III : Analyse des déterminants de l’accès à l’emploi des jeunes au Sénégal (5)

1. Faire une petite revue de littérature sur les déterminants de l’accès à emploi des jeunes

D’aprés l’analyse de correspondance multiple, on constate que des variables age, sexe et région sont des critères déterminant sur l’employabilité des jeunes

Pour mieux illustrer cela, on va faire une analyse descriptive par rapport à la critère d’employabilité

On voit clairement que les hommes sommes sont doublement employés par rapport au femmes

Certaine région on un taux trés faible sur l’employabilité de leurs jeunes comme le cas de Sédhiou. Par contre les région comme Diourbel, Dakar ont plus de jeunes en emploi

On constate aussi que l’age aussi fait partir des facteurs déterminants sur l’employabilité des jeunes. Car la moitié des jeunes entre 28 et 35 sont des employés par rapport au jeunes comprises entre 15 et 27 qui ont un taux trés faible en employabilités

2. Faire une petite présentation d’un model logit

La régression logistique est l’un des algorithmes d’apprentissage automatique les plus couramment utilisés pour les problèmes de classification binaire, lesquels ont deux valeurs par classe, comprenant des prédictions telles que “employé ou non employé”, “oui ou non” .

Le but de la régression logistique est d’estimer les probabilités des événements et de déterminer une relation entre les caractéristiques et les probabilités de résultats particuliers.

Par exemple, on peut prédire si un étudiant réussira ou échouera à un examen lorsque le nombre d’heures consacrées à l’étude est fourni en tant que caractéristique et que les variables de la réponse ont deux valeurs : réussite et échec.

Dans notre cas, on peut prédire si un individu donné a un emploi ou non

la regression linéaire se base sur la théorie des probabilités en modélisant directement la probabilité en posteriorie

3. A partir d’un modèle logit, analyser les déterminants de l’emploi des jeunes (utiliser la variable Emploi_du_mom comme variable dépendante)

mymodel <- glm(BaseEmploiClean$Emploi_du_mom ~BaseEmploiClean$Sexe+BaseEmploiClean$Age+BaseEmploiClean$Milieu+BaseEmploiClean$NivInstru+BaseEmploiClean$AgeCM+BaseEmploiClean$Region, data = BaseEmploiClean, family = 'binomial')
summary(mymodel)
## 
## Call:
## glm(formula = BaseEmploiClean$Emploi_du_mom ~ BaseEmploiClean$Sexe + 
##     BaseEmploiClean$Age + BaseEmploiClean$Milieu + BaseEmploiClean$NivInstru + 
##     BaseEmploiClean$AgeCM + BaseEmploiClean$Region, family = "binomial", 
##     data = BaseEmploiClean)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1144  -0.6764  -0.4131   0.5517   2.4870  
## 
## Coefficients:
##                                    Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                       -3.517010   0.656103  -5.360 8.30e-08 ***
## BaseEmploiClean$SexeF             -1.265260   0.194927  -6.491 8.53e-11 ***
## BaseEmploiClean$Age                0.151587   0.015914   9.525  < 2e-16 ***
## BaseEmploiClean$Milieurural       -0.436939   0.182544  -2.394 0.016683 *  
## BaseEmploiClean$NivInstruPri      -0.247706   0.266153  -0.931 0.352014    
## BaseEmploiClean$NivInstruSnd      -0.855944   0.217526  -3.935 8.32e-05 ***
## BaseEmploiClean$NivInstruSup      -1.173452   0.464110  -2.528 0.011459 *  
## BaseEmploiClean$AgeCM              0.007903   0.008811   0.897 0.369747    
## BaseEmploiClean$RegionZIGUINCHOR  -0.230809   0.401428  -0.575 0.565312    
## BaseEmploiClean$RegionDIOURBEL    -0.307770   0.418050  -0.736 0.461606    
## BaseEmploiClean$RegionSAINT-LOUIS -0.643324   0.361461  -1.780 0.075110 .  
## BaseEmploiClean$RegionTAMBACOUNDA -0.863637   0.392906  -2.198 0.027944 *  
## BaseEmploiClean$RegionKAOLACK     -0.490841   0.352449  -1.393 0.163724    
## BaseEmploiClean$RegionTHIES       -0.049342   0.366488  -0.135 0.892901    
## BaseEmploiClean$RegionLOUGA       -0.054410   0.378263  -0.144 0.885626    
## BaseEmploiClean$RegionFATICK      -0.686872   0.399021  -1.721 0.085180 .  
## BaseEmploiClean$RegionKOLDA       -1.513492   0.437164  -3.462 0.000536 ***
## BaseEmploiClean$RegionMATAM       -2.313130   0.574418  -4.027 5.65e-05 ***
## BaseEmploiClean$RegionKAFFRINE    -0.842447   0.412729  -2.041 0.041234 *  
## BaseEmploiClean$RegionKEDOUGOU     0.076731   0.489240   0.157 0.875373    
## BaseEmploiClean$RegionSEDHIOU     -3.442420   1.068260  -3.222 0.001271 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1149.7  on 998  degrees of freedom
## Residual deviance:  873.6  on 978  degrees of freedom
## AIC: 915.6
## 
## Number of Fisher Scoring iterations: 6

D’aprés le résultat du model logistique, on confirme directement que l’age et le sexe sont des meilleurs facteur déterminant sur l’employabilité des jeunes avec un p-value < 0.001

On voit aussi quelque modalités sur le niveau d’instruction(secondaire) et région(Sedhiou,matam) qui sont des facteur déterminant