1- introduction

Selon Juritravail.com, La discrimination à l’embauche comprend les différences de traitement des candidats au cours du processus de recrutement. Il s’agit donc d’exclure des gens du processus en fonction de critères discriminatoires. Comme l’indique le Code du travail, aucune personne ne peut être écartée d’une procédure de recrutement, de nomination, d’accès à un stage ou à une période de formation en raison de son origine, son sexe, ses moeurs, son orientation sexuelle, etc.. Notre objectif est d’étudier la discrimination à l’embauche en évaluant le taux de chomage des femmes et des hommes. Nous voulons relever toutes les informations possibles et prédire l’évolution de ce taux en 2030. Pour répondre à notre objectif, nous étudions deux jeux de données. Le premier represente la déclaration préalable à l’embauche de 2000 à 2020 obtenu sur le site de “data.gouv.fr” (voir bibliographie) dont les variables sont: -année -trimestre -dernier jour de contrat: en format(annee-jour-mois) q -la nature du contrat -dpae_brut : qui represente le nombre de déclaration à l’embauche brut -dpae_csv :qui represente le nombre de déclaration à l’embauche exporté en cvs

Le deuxieme jeu de données est obtenu sur le site de l’Institut National de Statistiques et d’Economies (INSEE), (voir bibliographie). Ces données representent le taux de chomage selon le sexe et l’age de 1975 à 2021. Elles montrent pour chaque trimestre des différentes années, le taux de chomage des hommes, des femmes et deux ensembles pour trois classes d’ages. Il s’agit des classes suivantes: 15-24 ans , 25-49 ans et les plus de 50 ans. Il faut ajouter que ce dernier jeux de données contient aussi cinq autres informations que nous n’avons pas considérées dans notre étude. Ce sont: -le taux de chômage au sens du Bureau International du Travail (BIT) ; données corrigées des variations saisonnières, en moyenne trimestrielle. -Lecture : au 3e trimestre 2021, le taux de chômage au sens du BIT est de 8,1 %.
-nd : donnée non disponible.
-Taux de chômage de longue durée
-Champ : France hors Mayotte, personnes de 15 ans ou plus vivant en logement ordinaire. -Source : Insee, enquêtes emploi annuelles jusqu’en 2002 ; enquête Emploi en continu à partir de 2003.

library(readr)
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v dplyr   1.0.7
## v tibble  3.1.4     v stringr 1.4.0
## v tidyr   1.1.4     v forcats 0.5.1
## v purrr   0.3.4
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(readxl)
library(openxlsx)
library(ggplot2)
library(highcharter)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(reshape2)
## Warning: le package 'reshape2' a été compilé avec la version R 4.1.2
## 
## Attachement du package : 'reshape2'
## L'objet suivant est masqué depuis 'package:tidyr':
## 
##     smiths
library(gdata)
## Warning: le package 'gdata' a été compilé avec la version R 4.1.2
## gdata: Unable to locate valid perl interpreter
## gdata: 
## gdata: read.xls() will be unable to read Excel XLS and XLSX files
## gdata: unless the 'perl=' argument is used to specify the location of a
## gdata: valid perl intrpreter.
## gdata: 
## gdata: (To avoid display of this message in the future, please ensure
## gdata: perl is installed and available on the executable search path.)
## gdata: Unable to load perl libaries needed by read.xls()
## gdata: to support 'XLX' (Excel 97-2004) files.
## 
## gdata: Unable to load perl libaries needed by read.xls()
## gdata: to support 'XLSX' (Excel 2007+) files.
## 
## gdata: Run the function 'installXLSXsupport()'
## gdata: to automatically download and install the perl
## gdata: libaries needed to support Excel XLS and XLSX formats.
## 
## Attachement du package : 'gdata'
## Les objets suivants sont masqués depuis 'package:dplyr':
## 
##     combine, first, last
## L'objet suivant est masqué depuis 'package:purrr':
## 
##     keep
## L'objet suivant est masqué depuis 'package:stats':
## 
##     nobs
## L'objet suivant est masqué depuis 'package:utils':
## 
##     object.size
## L'objet suivant est masqué depuis 'package:base':
## 
##     startsWith
library(ggplot2)

Chargement des packages necessaire pour série chronologique

library (urca)
## Warning: le package 'urca' a été compilé avec la version R 4.1.2
library(TSA)
## Warning: le package 'TSA' a été compilé avec la version R 4.1.2
## 
## Attachement du package : 'TSA'
## L'objet suivant est masqué depuis 'package:readr':
## 
##     spec
## Les objets suivants sont masqués depuis 'package:stats':
## 
##     acf, arima
## L'objet suivant est masqué depuis 'package:utils':
## 
##     tar
library(lmtest)
## Warning: le package 'lmtest' a été compilé avec la version R 4.1.2
## Le chargement a nécessité le package : zoo
## 
## Attachement du package : 'zoo'
## Les objets suivants sont masqués depuis 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## Attachement du package : 'lmtest'
## L'objet suivant est masqué depuis 'package:highcharter':
## 
##     unemployment
library(FinTS)
## Warning: le package 'FinTS' a été compilé avec la version R 4.1.2
library(tidyverse)
library(tseries)
## Warning: le package 'tseries' a été compilé avec la version R 4.1.2
library(lubridate)
## 
## Attachement du package : 'lubridate'
## Les objets suivants sont masqués depuis 'package:base':
## 
##     date, intersect, setdiff, union
library(dplyr)
library(caschrono)
## Warning: le package 'caschrono' a été compilé avec la version R 4.1.2
library(forecast)
## Warning: le package 'forecast' a été compilé avec la version R 4.1.2
## Registered S3 methods overwritten by 'forecast':
##   method       from
##   fitted.Arima TSA 
##   plot.Arima   TSA
## 
## Attachement du package : 'forecast'
## L'objet suivant est masqué depuis 'package:FinTS':
## 
##     Acf
library(fpp3)
## Warning: le package 'fpp3' a été compilé avec la version R 4.1.2
## -- Attaching packages -------------------------------------------- fpp3 0.4.0 --
## v tsibble     1.1.1     v feasts      0.2.2
## v tsibbledata 0.4.0     v fable       0.3.1
## Warning: le package 'tsibble' a été compilé avec la version R 4.1.2
## Warning: le package 'tsibbledata' a été compilé avec la version R 4.1.2
## Warning: le package 'feasts' a été compilé avec la version R 4.1.2
## Warning: le package 'fabletools' a été compilé avec la version R 4.1.2
## Warning: le package 'fable' a été compilé avec la version R 4.1.2
## -- Conflicts ------------------------------------------------- fpp3_conflicts --
## x fable::ARIMA()         masks FinTS::ARIMA()
## x gdata::combine()       masks dplyr::combine()
## x lubridate::date()      masks base::date()
## x dplyr::filter()        masks stats::filter()
## x gdata::first()         masks dplyr::first()
## x fabletools::forecast() masks forecast::forecast()
## x tsibble::index()       masks zoo::index()
## x tsibble::intersect()   masks base::intersect()
## x tsibble::interval()    masks lubridate::interval()
## x gdata::keep()          masks purrr::keep()
## x dplyr::lag()           masks stats::lag()
## x gdata::last()          masks dplyr::last()
## x urca::plot()           masks graphics::plot(), base::plot()
## x tsibble::setdiff()     masks base::setdiff()
## x urca::summary()        masks base::summary()
## x tsibble::union()       masks base::union()

Nous commençons par charger nos données

dpae<-read.csv2("dpae-mensuelles-france-entiere.csv" )
chomage<-read_xlsx("econ-gen-taux-cho-trim-2.xlsx")
## New names:
## * `` -> ...2
## * `` -> ...3
## * `` -> ...4
## * `` -> ...5
## * `` -> ...6
## * ...

2-Premières visualisations

#2.1 Visualisation de l’évolution des déclarations à l’embauche(dpae brut)

Nous regardons d’abord l’évolution des déclarations à l’embauche(dpae brut) tous sexes confondus de 2000 à 2021. Pour cela nous créons d’abord un tableau qui va regrouper le nombre de dpae par semestre pour chaque année.

str(dpae)
## 'data.frame':    528 obs. of  7 variables:
##  $ annee               : int  2000 2000 2000 2000 2000 2000 2000 2001 2001 2001 ...
##  $ trimestre           : int  1 2 2 2 3 3 3 1 2 3 ...
##  $ dernier_jour_du_mois: chr  "2000-01-31" "2000-04-30" "2000-05-31" "2000-06-30" ...
##  $ duree_de_contrat    : chr  "Contrat de plus d'un mois" "Contrat de plus d'un mois" "Contrat de plus d'un mois" "Contrat de plus d'un mois" ...
##  $ nature_de_contrat   : chr  "CDI" "CDI" "CDI" "CDD de plus d'un mois" ...
##  $ dpae_brut           : int  279268 274885 256365 406762 243585 195682 361637 247718 290274 189167 ...
##  $ dpae_cvs            : int  226444 283265 284189 314223 282650 289669 265284 309515 290107 303758 ...
dpae$annee<-as.numeric(dpae$annee)
dpae$trimestre<-as.numeric(dpae$trimestre)
dpae$dpae_brut<-as.numeric(dpae$dpae_brut)
dpae_sem<-dpae %>% group_by(annee,trimestre) %>% summarise(dpae_sum=sum(dpae_brut))
## `summarise()` has grouped output by 'annee'. You can override using the `.groups` argument.
dpae_sem$trim  <- cut(as.numeric(dpae_sem$trimestre),
                                 breaks=c(0,1,2,3,4))
levels(dpae_sem$trim)  <- paste0("T",1:4)
dpae_sem$AT<-paste(dpae_sem$annee,dpae_sem$trim)
dpae_sem
## # A tibble: 88 x 5
## # Groups:   annee [22]
##    annee trimestre dpae_sum trim  AT     
##    <dbl>     <dbl>    <dbl> <fct> <chr>  
##  1  2000         1  1514504 T1    2000 T1
##  2  2000         2  1760118 T2    2000 T2
##  3  2000         3  2067302 T3    2000 T3
##  4  2000         4  1725632 T4    2000 T4
##  5  2001         1  1673965 T1    2001 T1
##  6  2001         2  1749609 T2    2001 T2
##  7  2001         3  2059630 T3    2001 T3
##  8  2001         4  1650963 T4    2001 T4
##  9  2002         1  1560354 T1    2002 T1
## 10  2002         2  1656862 T2    2002 T2
## # ... with 78 more rows

Maintenant, passons à la visualisation afin d’avoir un premier aperçu de nos données

hc <- hchart(object = dpae_sem, type = "line", mapping = hcaes(x = AT, y = dpae_sum))
hc_title(hc, text="Evolution du nombre déclaration à l'embauche  brut tous sexes confondus de 2000 à 2021")

Ce graphe, nous montre qu’il y a un pic élévé d’employabilité le troisieme trimestre de chaque année. Au deuxième trimestre de l’année 2020, suite à la crise de la covid-19, il y a eu une baisse importante de la déclaration à l’embauche atteignant 1 million.

Nous nous proposons maintenant de visualiser le taux de chomage pour les deux sexes femmes et hommes. Nous allons transformer notre tableau et modifier les noms des variables.

15-24 ans : jeunesF(si femmes ou H si hommes, E pour l’ensemble des deux) 25-49 ans: jeunes_actifsF 50 ans ou plus: adultesF

t_chomage<-t(chomage)
t_chomage<-t_chomage[,-c(1,2)]
t_chomage<-as.data.frame(t_chomage)

t_chomage1<-rename.vars(as.data.frame(t_chomage),from="V1",to="year")
## 
## Changing in as.data.frame(t_chomage)          
## From: V1  
## To:   year
t_chomage2<-rename.vars(as.data.frame(t_chomage1),from="V2",to="Femmes")
## 
## Changing in as.data.frame(t_chomage1)            
## From: V2    
## To:   Femmes
t_chomage3<-rename.vars(as.data.frame(t_chomage2),from="V3",to="jeunesF")
## 
## Changing in as.data.frame(t_chomage2)             
## From: V3     
## To:   jeunesF
t_chomage4<-rename.vars(as.data.frame(t_chomage3),from="V4",to="jeunes_actifsF")
## 
## Changing in as.data.frame(t_chomage3)                    
## From: V4            
## To:   jeunes_actifsF
t_chomage5<-rename.vars(as.data.frame(t_chomage4),from="V5",to="adultesF")
## 
## Changing in as.data.frame(t_chomage4)              
## From: V5      
## To:   adultesF
t_chomage6<-rename.vars(as.data.frame(t_chomage5),from="V6",to="Hommes")
## 
## Changing in as.data.frame(t_chomage5)            
## From: V6    
## To:   Hommes
t_chomage7<-rename.vars(as.data.frame(t_chomage6),from="V7",to="jeunesH")
## 
## Changing in as.data.frame(t_chomage6)             
## From: V7     
## To:   jeunesH
t_chomage8<-rename.vars(as.data.frame(t_chomage7),from="V8",to="jeunes_actifsH")
## 
## Changing in as.data.frame(t_chomage7)                    
## From: V8            
## To:   jeunes_actifsH
t_chomage9<-rename.vars(as.data.frame(t_chomage8),from="V9",to="adultesH")
## 
## Changing in as.data.frame(t_chomage8)              
## From: V9      
## To:   adultesH
t_chomage10<-rename.vars(as.data.frame(t_chomage9),from="V10",to="Ensemble")
## 
## Changing in as.data.frame(t_chomage9)              
## From: V10     
## To:   Ensemble
t_chomage11<-rename.vars(as.data.frame(t_chomage10),from="V11",to="jeunesE")
## 
## Changing in as.data.frame(t_chomage10)             
## From: V11    
## To:   jeunesE
t_chomage12<-rename.vars(as.data.frame(t_chomage11),from="V12",to="jeunes_actifsE")
## 
## Changing in as.data.frame(t_chomage11)                    
## From: V12           
## To:   jeunes_actifsE
t_chomage13<-rename.vars(as.data.frame(t_chomage12),from="V13",to="adultesE")
## 
## Changing in as.data.frame(t_chomage12)              
## From: V13     
## To:   adultesE
t_chomage14<-rename.vars(as.data.frame(t_chomage13),from="V14",to="taux de chomage de longue durée")
## 
## Changing in as.data.frame(t_chomage13)                                     
## From: V14                            
## To:   taux de chomage de longue durée
t_chomage15<-rename.vars(as.data.frame(t_chomage14),from="V15",to="nd")
## 
## Changing in as.data.frame(t_chomage14)         
## From: V15
## To:   nd
t_chomage15<-t_chomage15[-1,]
#t_chomage15

2.1Comparaison taux de chomage femme et homme de 15 à 24 ans de 1975 à 2020

visualisation du taux de chomage des femmes et hommes de 1975 à 2020 pour les 15 à 24 ans.

hc2 <- highchart() %>% 
       hc_xAxis(categories =  t_chomage15$year) %>% 
       hc_add_series(name="taux de chomage femmes", data = as.numeric(t_chomage15$jeunesF)) %>% 
       hc_add_series(name="taux de chomage hommes", data = as.numeric(t_chomage15$jeunesH))

hc_title(hc2, text="taux de chomage hommes et femmes de 15à24ans de 1975 à2021" )

De façon générale, le taux de chomage chez les femmes de moins de 25 ans reste plus élévé que celui des hommes. En effet, alors que le graphe précédent montrant l’évolution de la déclaration à l’embauche a montré que 2012 à 2019 il y avait une bonnes croissance du niveau d’employabilité, nous remaquons que le taux de chomage des hommes ne dépasse pas les 25.5%,tandis que celui des femmes dépasse meme les 30%. O, voit une réelle discrimination à l’embauche. Nous proposons maintenant de comparer le taux de chomage entre les femmes et les hommes de 25 à 49 ans.

2.2Comparaison taux de chomage femme et homme de 25 à 49 ans de 1975 à 2020

hc3 <- highchart() %>% 
       hc_xAxis(categories =  t_chomage15$year) %>% 
       hc_add_series(name="taux de chomage femmes", data = as.numeric(t_chomage15$jeunes_actifsF)) %>% 
       hc_add_series(name="taux de chomage hommes", data = as.numeric(t_chomage15$jeunes_actifsH)) 

hc_title(hc3, text="taux de chomage hommes et femmes de 25à49ans de 1975 à2020" )

nous remarquons que de 1975 à 2010, les femmes de 25à 49 ans avaient un taux de chomage supérieur à celui des hommes de la meme tranche d’age. Mais à partir de 2011, le taux de chomage des hommes de 25à 49 ans monte jusqu’à 10.2% tandis que celui des femmes 9.1 en 2015 avant de se confondre tous les deux à partir de 2016. Peut etre que celà est du à l’article du Ministère des Droits des Femmes sur femmes.gouv.fr(voir bibliographie) portant sur l’emploi des femmes. Nous nous proposons de visualiser l’évolution du taux de chomage entre les femmes et homme deplus de 50 ans de 1975 à 2021.

2.3Comparaison taux de chomage femme et homme de 25 à 49 ans de 1975 à 2021

hc4 <- highchart() %>% 
       hc_xAxis(categories =  t_chomage15$year) %>% 
       hc_add_series(name="taux de chomage femmes", data = as.numeric(t_chomage15$adultesF)) %>% 
       hc_add_series(name="taux de chomage hommes", data = as.numeric(t_chomage15$adultesH)) 

hc_title(hc4, text="taux de chomage hommes et femmes de plus de 50 ans de 1975 à2021" )

nous remarquons que de 1975 à 2010, les femmes de plus de 50 ans avaient un taux de chomage supérieur à celui des hommes de la meme tranche d’age. Mais à partir de 2013, le taux de chomage des hommes de plus de 50 ans monte jusqu’à 7.6% tandis que celui des femmes 6.6 en 2015 avant de se confondre tous les deux à partir de 2019.

3-Prédiction KNN

Dans la suite, nous voulons faire la prédiction. Nous choisissons la classe d’age 25-49 ans car cette proportion repésente la période active d’un individu. Nous voulons maintenant faire une prédiction du taux de chomage des femmes. Pour cela, nous allons créer la variable réponse Y. On prédit 0 si le taux de chomage de la femme est plus grand que celui de l’homme et 1 sinon.

t_chomage15$Y<-rep(0,187)
t_chomage15$Y[t_chomage15$jeunes_actifsF>t_chomage15$jeunes_actifsH]<-0
t_chomage15$Y[t_chomage15$jeunes_actifsF<t_chomage15$jeunes_actifsH]<-1

Nous découpons notre jeu de données. 30% pour les données d’apprentissage et 70% pour les données test

data<-t_chomage15
data<-data[,-c(2,3,5,6,7,9,10,11,12,13,1415)]
data<-data[,-c(4,5,6,7,8,9)]
data$Y<-t_chomage15$Y

X<-data[,2:3]
Y<-data[,4]

Nous faisons maintenant la prédicition avec la méthode knn pour k=15 voisins

# découpage apprentissage/test répété B fois
B <- 30 # nombre de découpages
err_test <- rep(NA,B) # vecteur pour stocker les B erreurs tests
for (b in 1:B)
{
tr <- sample(1:nrow(X), 70)
Xtrain <- X[tr,]
Ytrain <- Y[tr]
Xtest <- X[-tr,]
Ytest <- Y[-tr]
pred_test <- class::knn(Xtrain, Xtest, Ytrain, k=15)

err_test[b] <- sum(pred_test!=Ytest)/length(Ytest)
}
print("la table de contingence est")
## [1] "la table de contingence est"
table(pred_test,Ytest)
##          Ytest
## pred_test  0  1
##         0 81  5
##         1  2 29
print("l'erreur de prediction moyenne est")
## [1] "l'erreur de prediction moyenne est"
mean(err_test) # erreur test moyenne
## [1] 0.1051282
boxplot(err_test)

Il y a 76 points prédits dans la classe 1 qui sont véritablement dans la classe 0. On s’est trompé sur 11 points qui ont été affecté à la classe 1 alors qu’ils sont dans la classe 0. En d’autres termes, On prédit plus de femmes au chomage que d’hommes. l’erreur de prediction est de 0.11 soit 11%. Cette méthode ne nous permet pas de prédire dans le temps comment évoluera le taux moyen de chomage chezles femmes. Nous utiliserons la prédiction ARIMA.

4-Prédicition ARIMA du taux de chomage chez les femmes

Nous effectuons maintenant, la prédiction par la méthode ARIMA des taux de chomage des femmes afin de connaitre l’évolution dans le futur. Mais avant cela, nous effectuons encore quelques modifications sur nos données.

Nous recuperons les années indépendamment des trimestres

data$annee<-str_extract(data$year, "\\d{4}")

data$annee<-as.numeric(data$annee)

#4.1-Nous faisons la moyenne annuelle des taux de chomage des femmes et hommes de 25-49 ans

 data2<-data %>% group_by(annee) %>% summarise(moy_femme=mean(as.numeric(jeunes_actifsF)))
homme<-data %>% group_by(annee) %>% summarise(moy_homme=mean(as.numeric(jeunes_actifsH)))
data2$moy_homme<-homme$moy_homme

4.2-visualisons le taux moyen de chomage des femmes de 25 à 49 ans de 1975 à 2021

hc5 <- highchart() %>% 
       hc_xAxis(categories =  data2$annee) %>% 
       hc_add_series(name="taux moyen de chomage femmes", data = as.numeric(ts(data2$moy_femme)))

hc_title(hc5, text=" taux moyen de chomage femmes de 25 à 49 ans de 1975 à2021" )

4.3- différenciation de la série

Nous enlevons la tendance

hc6 <- highchart() %>% 
       hc_xAxis(categories =  data2$annee) %>% 
       hc_add_series(name="taux moyen de chomage femmes", data = as.numeric(diff(ts(data2$moy_femme))))

hc_title(hc6, text="SANS LA TENDANCE moyenne de du taux de chomage femmes de 25 à 49 ans de 1975 à2021" )

4.4 Saisonnalité, Autocorrélation et Ergodicité de la série

x=ts(as.numeric(data2$moy_femme),start=data$annee[1],frequency =2.3 )
decomp.x=decompose(x,type="multiplicative")
decomp.x$figure
## [1] 0.998154 1.001846
plot(decomp.x)

#ts(as.numeric(data2$moy_femme),start=data$annee[1])

La décomposotion tendance, saisonalité, nous montre qu’il n’y a pas de tendance mais une saisonnalité. Nous vérifions cela par le test de MANN-KENDALL TREND

library(Kendall)
## Warning: le package 'Kendall' a été compilé avec la version R 4.1.2
MannKendall(x)
## tau = 0.24, 2-sided pvalue =0.017963

La pvalue est inférieure à 0.05, nous rejetons l’hypothese nulle et nous pouvons conlcure qu’il y a une saisonalité . Nous nous proposons maintenant d’étudier la staationarité de la série. Pour cela, nous faison un test de DICKEY FULLER.

4.5.stationnarité de la série

y<-ts(as.numeric(data2$moy_femme),start=data$annee[1])
library(tseries)
adf.test(y, alternative = "stationary")
## 
##  Augmented Dickey-Fuller Test
## 
## data:  y
## Dickey-Fuller = -1.9884, Lag order = 3, p-value = 0.5786
## alternative hypothesis: stationary

Le test de Dickey Fuller a une p-value qui vaut 0.57 donc supérieure à 0.05. Ce qui veut dire qu’iln’y a pas de stationarité de la série. Nous pouvons donc différencier.

4.6 stationnarité de la série différenciée

library(tseries)
adf.test(diff(y), alternative = "stationary",k=0)
## Warning in adf.test(diff(y), alternative = "stationary", k = 0): p-value smaller
## than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff(y)
## Dickey-Fuller = -4.5046, Lag order = 0, p-value = 0.01
## alternative hypothesis: stationary

La série est stationnaire. Nous confirmons ce resultat par le test de Box pierce.

*confirmation du test de dickey fuller par le test de Box pierce

Box.test(diff(y),type="Box-Pierce" )
## 
##  Box-Pierce test
## 
## data:  diff(y)
## X-squared = 8.9562, df = 1, p-value = 0.002765

4.7 Estimation des fonctions d’autocorrélation et d’auto-corréaltion partielle

On estime alors la fonction d’autocorrélation et la fonction d’autocorrélation partielle pour pouvoir estimer les paramètre d’une eventuelle ARMA.

y<-ts(as.numeric(data2$moy_femme),start=data$annee[1])

layout(matrix(1:2,nrow = 1,ncol = 2))
acf(diff(y))
pacf(diff(y))

Nous cherchons maintenat les paramètre p et q pour le processus ARIMA, en sachant que p,d et q minimisent l’AIC

4.8 eacf pour la détermination des paramétres p,d et q

EACF=eacf(diff(y))
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x o o o o o o o o o o  o  o  o 
## 1 o o o o o o o o o o o  o  o  o 
## 2 x o o o o o o o o o o  o  o  o 
## 3 x o o o o o o o o o o  o  o  o 
## 4 o x o o o o o o o o o  o  o  o 
## 5 x o x o o o o o o o o  o  o  o 
## 6 o o o o o o o o o o o  o  o  o 
## 7 o x o o o o o o o o o  o  o  o
EACF$eac
##            [,1]      [,2]         [,3]         [,4]        [,5]          [,6]
## [1,]  0.4412494 0.1344427 -0.004597158 -0.001703531  0.13137131  0.1738228728
## [2,]  0.1789402 0.1855663 -0.124646179  0.014423155  0.08173280  0.1271786718
## [3,] -0.4703115 0.1933717  0.047251770  0.028606202  0.06490058 -0.0074590243
## [4,]  0.4681286 0.2901929  0.021257877 -0.085205484  0.06983839 -0.0018945076
## [5,] -0.2199337 0.3704959  0.242520284 -0.138885350 -0.06406459 -0.0005430879
## [6,] -0.3889018 0.3015265  0.401665801 -0.284440382 -0.05902263 -0.0035984301
## [7,]  0.3140537 0.2420467  0.185556775 -0.210887932  0.15296056 -0.0289407794
## [8,] -0.2126475 0.4287322  0.283712034 -0.018790337 -0.03614860 -0.1694132905
##             [,7]        [,8]         [,9]        [,10]        [,11]       [,12]
## [1,]  0.09659671 -0.07134169 -0.066256380 -0.014217146  0.097660952  0.17165517
## [2,]  0.10118974 -0.17694153 -0.080719942 -0.014775968  0.046245460  0.15131373
## [3,]  0.09472422 -0.09662315  0.069520340 -0.007184444  0.061425014 -0.02695833
## [4,]  0.08079611  0.02878910  0.091442506 -0.014513524  0.024909832 -0.01259730
## [5,]  0.04697620 -0.02753115  0.088363046 -0.034791692  0.018538277 -0.06605395
## [6,]  0.01724380 -0.06931292  0.071201834  0.012353924 -0.009722547 -0.03415910
## [7,] -0.01741588  0.02074665  0.068548657  0.050723901 -0.054720380 -0.16353726
## [8,]  0.02141820  0.06103934  0.009972929  0.015792026 -0.043561757 -0.10866612
##            [,13]      [,14]
## [1,] -0.03216181 -0.2871517
## [2,] -0.01247848 -0.2930568
## [3,] -0.03093182 -0.2509469
## [4,] -0.07738485 -0.1736332
## [5,] -0.10273360 -0.1529914
## [6,] -0.11216426 -0.1653806
## [7,] -0.12911159 -0.1751147
## [8,] -0.11058022 -0.2140193

4.9 determination automatique du meilleur modele

reg<-auto.arima(y)
summary(reg)
## Series: y 
## ARIMA(0,2,2) 
## 
## Coefficients:
##           ma1      ma2
##       -0.5266  -0.3258
## s.e.   0.1346   0.1308
## 
## sigma^2 = 0.2045:  log likelihood = -27.7
## AIC=61.39   AICc=61.98   BIC=66.81
## 
## Training set error measures:
##                       ME      RMSE       MAE        MPE     MAPE      MASE
## Training set -0.06377102 0.4324952 0.3192925 -0.7217583 3.918711 0.8084838
##                      ACF1
## Training set -0.006317431

Le modèle retenu est ARIMA(0,2,2) avec un RSME de 0.43 . Ensuite, on va essayer de simuler nos données à l’aide de ce procéssus ARIMA(0,2,2),

Nous faisons finalement la prévision avec le preocessus ARIMA(0,2,2)

prevision1=forecast(reg,h=10,level=0.95)

autoplot(prevision1)+labs(x = "annee", y = "jeunes_actifsF")

Ce graphe nous montre que le taux moyen de chomage chez les femmes va chuter de 7.5% en 2022 et atteindra 6.25 % en 2030. Nous faisons maintenant la prévision pour le taux moyen de chomage chez les hommes afin de comparer avec celui des femmes.

5-prediction pour le taux de chomage des hommes

5.1visualisation du calcul annuel du taux de chomage des hommes

y1<-ts(data2$moy_homme,start=data$annee[1])
hc8 <- highchart() %>% 
       hc_xAxis(categories =  data2$annee) %>% 
       hc_add_series(name="taux moyen de chomage hommes", data = as.numeric(y1))

hc_title(hc8, text=" taux moyen de chomage homme de 25 à 49 ans de 1975 à2021" )

Enlever la tendance

hc9 <- highchart() %>% 
       hc_xAxis(categories =  data2$annee) %>% 
       hc_add_series(name="taux moyen de chomage femmes", data = as.numeric(diff(y1)))

hc_title(hc9, text="SANS LA TENDANCE moyennde du taux de chomage homme de 25 à 49 ans de 1975 à2021" )
y1<-ts(as.numeric(data2$moy_homme),start=data$annee[1])

layout(matrix(1:2,nrow = 1,ncol = 2))
acf(diff(y1))
pacf(diff(y1))

stationnarité de la série

library(tseries)
adf.test(y1, alternative = "stationary")
## 
##  Augmented Dickey-Fuller Test
## 
## data:  y1
## Dickey-Fuller = -2.2685, Lag order = 3, p-value = 0.467
## alternative hypothesis: stationary

La série n’est pas stationnaire. Nous la différencions. # stationnarité de la série différenciée

library(tseries)
adf.test(diff(y1), alternative = "stationary",k=0)
## Warning in adf.test(diff(y1), alternative = "stationary", k = 0): p-value
## smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  diff(y1)
## Dickey-Fuller = -4.7874, Lag order = 0, p-value = 0.01
## alternative hypothesis: stationary

La série différencié est stationnaire car la pvalue du test de Dickey fuller est bien inférieure à 0.05.

confirmation du test de dickey fuller

Nous utilisons le test de Box pierce pour nous confirmer notre remarque.

Box.test(y1,type="Box-Pierce" )
## 
##  Box-Pierce test
## 
## data:  y1
## X-squared = 39.365, df = 1, p-value = 3.515e-10

eacf pour la détermination des paramétres p et q

EACF=eacf(diff(y1))
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x o o o o o o o o o o  o  o  o 
## 1 o o o o o o o o o o o  o  o  o 
## 2 x o o o o o o o o o o  o  o  o 
## 3 o o x o o o o o o o o  o  o  o 
## 4 o o x o o o o o o o o  o  o  o 
## 5 o o x o o o o o o o o  o  o  o 
## 6 o o x o o x o o o o o  o  o  o 
## 7 x o o o o o o o o o o  o  o  o
EACF$eac
##             [,1]        [,2]         [,3]        [,4]         [,5]        [,6]
## [1,]  0.34283267  0.06036924  0.045232615 -0.17222427 -0.176968907 -0.06111799
## [2,]  0.18118761 -0.21318249 -0.006067491 -0.17573979 -0.113845811  0.07103995
## [3,]  0.49681512  0.01112169  0.076591972 -0.16861323 -0.139966371  0.10358342
## [4,]  0.24474984 -0.18884350  0.440166122 -0.29193856 -0.140569150 -0.03339745
## [5,] -0.14348806 -0.01690281 -0.436709737 -0.11877736  0.090561041  0.07183909
## [6,] -0.20218338 -0.02539328 -0.376932115 -0.28405709  0.001485912  0.18457398
## [7,] -0.05057036 -0.18009664 -0.381167066  0.07486452 -0.094430097  0.36194004
## [8,] -0.44952655  0.18831257  0.318872737 -0.22720870 -0.051133402  0.07293448
##             [,7]        [,8]         [,9]      [,10]       [,11]       [,12]
## [1,] -0.13801780 -0.12790871 -0.004858662 0.11698832  0.07534958  0.03756112
## [2,] -0.06565902 -0.10395202  0.013630535 0.10648174  0.01138752  0.04544182
## [3,] -0.11878003 -0.00724303 -0.036207979 0.09220354 -0.06737357  0.07947248
## [4,] -0.12345907 -0.01066000  0.019575922 0.08248604 -0.07531570  0.09891779
## [5,] -0.13392725 -0.11864767 -0.058988666 0.05081503 -0.10064240  0.01980893
## [6,] -0.13632499 -0.11260813  0.043394320 0.20548987 -0.21144474 -0.02862249
## [7,] -0.15346751 -0.04446835  0.017101512 0.20308630 -0.21300868  0.02048415
## [8,] -0.09046520 -0.08141209 -0.024052844 0.05264588 -0.01696149 -0.01463297
##            [,13]       [,14]
## [1,] -0.02502099 -0.30937891
## [2,] -0.04556406 -0.31203171
## [3,] -0.04878447 -0.24438988
## [4,] -0.03052741 -0.21364011
## [5,] -0.04014930 -0.15518938
## [6,] -0.06382325 -0.10243195
## [7,] -0.03610818 -0.09084863
## [8,] -0.07711236 -0.10523540

determination automatique du meilleur modele

reg<-auto.arima(y1)
summary(reg)
## Series: y1 
## ARIMA(0,1,1) 
## 
## Coefficients:
##          ma1
##       0.4053
## s.e.  0.1438
## 
## sigma^2 = 0.3149:  log likelihood = -38.28
## AIC=80.56   AICc=80.84   BIC=84.22
## 
## Training set error measures:
##                      ME      RMSE       MAE      MPE    MAPE      MASE
## Training set 0.07584684 0.5490926 0.3947251 1.685341 6.25504 0.8284724
##                     ACF1
## Training set -0.01470535

Nous retiendrons le modèle ARIMA(0,1,1) pour faire la prédiction

prevision3=forecast(reg,h=10,level=0.95)

autoplot(prevision3)+labs(x = "annee", y = "jeunes_actifsH")

Ce graphe nous montre que le taux moyen de chomage chez les hommes atteindra envrions 7 % en 2022 et sera constant jusqu’en 2030.

Conclusion

Notre travail nous a permis d’étudier l’évolution du taux de chomage chez les femmes et les hommes. Nous avons pu voir qu’il existait une discrimination à l’embauche étant donné qu’il y avait plus de femmes au chomage que les hommes pour les différentes classes d’age. De plus, la prédiction nous revelé qu’en 2030, le taux de chomage chez les hommes sera légerement plus élévé que celui des femmes. 7% pour les hommes contre 6.25% pour les femmmes. Nous espérons que cette étude pourra créer une prise de conscience et permettra aux entreprises de respecter le code du travail(art.L.1132-1) contre la discrimination à l’embauche.

Pour aller plus loin dans notre étude, nous pourrions évaluer d’autres variables comme par exemple le salaire des femmes et celui des hommes, comparer le nombre de missions données aux femmes et celui des hommes ou meme encore évaluer le temps que met un homme pour évoluer dans l’entreprise.

bibliographie

-données sur la déclaration à l’embauche https://www.data.gouv.fr/fr/datasets/declarations-prealables-a-lembauche-mensuelles-de-plus-dun-mois-france-entiere/

-données sur le taux de chomage https://www.insee.fr/fr/statistiques/2532173#tableau-figure1

-l’article du Ministère des Droits des Femmes sur la discrimination sexuelle à l’embauche https://femmes.gouv.fr/wp-content/uploads/2013/12/20131209-rapport-emploi-femmes-Severine-Lemiere.pdf