Résumé

Ce projet reprend le thème et variables du projet 1 classification.

Le projet ACP consiste à analyser les départements français en fonction des différents indicateurs socio-économiques. La méthode d’analyse utilisée est l’ACP (Analyse en Composante Principales).

L’ACP est une méthode d’analyse de données qui consiste à décorréler les variables initiales afin de créer de nouvelles variables. Cette méthode permet de réduire le nombre de variables et d’enlever les informations redondantes

Les nouvelles variables sont appelées « composantes principales » ou axes principaux.

Source : Wikipédia

L’analyse concerne les départements français de 2016, sauf La Mayotte, La Guyane et La Guadeloupe, donc nous comptons au total 98 départements. Les indicateurs socio-économiques sont indiqués dans Les variables utilisées.

Partie I.

Préparation des données

#Importation
X = read.csv(file="~/Data Mining/donnees_ACP.csv",header = T,sep=",",dec=".")
rownames(X) = X[,1]
X = X[ ,-1]
attach(X)

#Vérification importation
sum(X) 
## [1] 6583302
dim(X)
## [1] 98 11


Ici, nous avons le fichier lors de l’importation.

Tx_mortalite_infantile Tx_pauvrete_moins_30ans Tx_pauvrete_60_74ans Mediane_niveau_vie X1er_decile_niveau_vie X9e_decile_niveau_vie part_prestations_sociales_dans_revenus_dispo salaire_net_horaire_moyen salaire_net_horaire_moyen_femme part_eleve_premier_degre Tx_entreprises_CTHR
Ain 3.2 15.5 7.4 22272 12207 42482 3.9 13.68 12.03 10.3 26.85
Aisne 3.4 30.6 10.6 18818 10176 31799 7.6 12.62 11.39 8.5 30.03
Allier 2.8 26.0 9.3 19476 10826 32497 6.2 12.22 11.03 9.4 32.63
Alpes-de-Haute-Provence 3.4 24.8 10.9 19719 10562 34291 5.6 12.81 11.37 5.5 30.35
Hautes-Alpes 1.3 21.1 9.0 19949 11148 33850 5.0 12.04 11.05 8.7 27.65
Alpes-Maritimes 4.1 21.7 12.3 21246 10541 40110 4.6 14.33 12.74 10.9 26.98
Ardèche 2.4 21.9 9.1 19878 11105 33045 5.5 12.73 11.23 25.6 31.22
Ardennes 3.6 32.5 12.2 18772 10080 31758 7.5 12.72 11.29 8.3 31.89
Ariège 4.6 29.3 12.1 18934 10079 31908 6.7 12.20 10.92 9.2 27.19
Aube 3.2 27.9 9.7 19614 10685 34170 6.6 12.56 11.27 9.5 29.27
Aude 2.4 32.9 13.3 18339 9661 31804 7.7 12.06 11.05 8.1 32.60
Aveyron 2.5 20.5 9.2 19875 11365 33125 4.9 12.14 11.02 24.9 28.82
Bouches-du-Rhône 3.1 26.5 12.8 20524 9916 38096 6.5 14.52 12.70 11.5 28.77
Calvados 2.2 21.6 7.2 20556 11647 34910 5.4 12.92 11.63 14.5 29.90
Cantal 4.0 18.2 9.5 19574 11510 32356 4.9 11.47 10.62 12.1 33.72
Charente 3.9 24.9 9.4 19816 10934 33452 5.9 12.62 11.43 9.2 30.10
Charente-Maritime 2.9 22.1 8.0 20270 11416 35227 5.1 12.49 11.29 7.0 30.05
Cher 4.1 24.8 9.2 19932 10969 33183 5.9 12.65 11.34 7.4 30.00
Corrèze 3.9 21.5 8.6 20082 11498 33534 4.7 12.40 11.21 8.4 29.87
Côte-d’Or 3.5 19.7 7.0 21394 11920 36649 4.6 13.55 12.20 10.1 29.50
Côtes-d’Armor 5.2 19.6 7.1 20279 11808 33556 5.1 12.43 11.20 30.6 29.61
Creuse 3.5 24.6 12.3 18587 10199 31083 5.8 11.58 10.88 2.8 29.08
Dordogne 3.6 25.5 10.9 19280 10545 32513 5.4 11.99 11.03 6.8 31.78
Doubs 4.7 20.2 7.7 21662 11760 39643 5.2 12.92 11.41 9.1 28.78
Drôme 2.7 21.1 9.7 20103 10939 34843 5.8 13.36 11.59 13.7 28.74
Eure 4.3 21.0 7.6 20783 11488 34157 5.7 13.73 12.29 7.6 29.39
Eure-et-Loir 3.3 18.0 7.9 21133 11720 34777 5.0 13.79 12.37 10.1 29.11
Finistère 3.1 19.2 6.3 20701 12203 34205 5.0 12.70 11.39 37.2 27.90
Corse-du-Sud 3.2 21.5 14.7 20367 10247 37184 5.0 12.69 11.58 5.9 32.28
Haute-Corse 5.4 28.7 18.0 18803 9494 34724 6.4 12.54 11.34 3.2 31.27
Gard 3.2 29.2 14.2 19157 9846 33967 7.2 13.24 11.66 11.5 29.36
Haute-Garonne 3.3 22.9 8.4 22223 11463 39539 5.4 15.49 13.30 9.5 24.04
Gers 1.8 22.0 10.8 19877 10966 33891 5.1 12.71 11.37 12.8 27.91
Gironde 3.7 22.4 7.9 21361 11529 37533 5.2 14.08 12.45 9.3 27.17
Hérault 2.6 30.4 13.1 19575 9897 35793 6.8 13.39 11.99 11.9 27.99
Ille-et-Vilaine 3.7 20.8 6.0 21184 12254 35630 5.3 13.51 11.98 36.9 26.03
Indre 3.0 25.6 9.2 19386 11118 31429 5.7 12.02 11.04 7.2 29.29
Indre-et-Loire 3.6 23.2 7.6 20842 11549 35776 5.3 13.73 12.09 10.7 26.48
Isère 2.5 19.4 7.1 21884 11938 37354 4.9 14.80 12.85 9.6 25.77
Jura 3.6 17.5 7.4 20831 11928 35634 4.8 12.64 11.14 11.8 29.55
Landes 2.8 19.5 7.3 20444 11854 33870 4.7 12.38 11.14 7.5 28.80
Loir-et-Cher 2.7 20.3 7.2 20525 11594 34000 5.0 13.03 11.67 10.5 29.53
Loire 4.1 24.1 8.6 19898 11011 33391 6.3 12.99 11.42 22.1 28.60
Haute-Loire 3.9 17.3 8.1 19828 11778 32107 5.6 12.04 10.90 33.0 29.65
Loire-Atlantique 2.6 17.4 6.0 21548 12418 36373 5.2 13.98 12.20 33.4 24.90
Loiret 3.7 20.9 8.1 21081 11388 35696 5.3 13.84 12.43 8.7 29.31
Lot 2.4 21.6 9.8 19928 11000 33925 4.9 12.31 11.22 9.4 30.28
Lot-et-Garonne 2.1 24.8 12.0 19079 10496 32591 6.2 12.08 11.02 10.3 30.17
Lozère 2.6 18.5 10.4 19570 11130 32248 5.3 11.42 10.74 34.6 33.51
Maine-et-Loire 2.7 19.5 6.6 20123 11940 33045 5.9 12.62 11.28 38.8 25.39
Manche 2.7 18.8 7.7 20003 11721 32900 5.5 12.68 11.19 20.2 31.81
Marne 3.2 26.4 7.8 20780 11060 37413 5.6 13.61 12.20 11.9 28.98
Haute-Marne 3.3 24.8 9.6 19342 10936 31435 6.3 12.17 11.03 5.6 32.30
Mayenne 3.1 16.7 7.0 19874 11945 31676 5.3 12.25 11.09 33.7 26.96
Meurthe-et-Moselle 3.6 26.4 8.6 20697 11008 35880 5.7 13.37 11.93 7.0 28.17
Meuse 3.4 26.0 9.9 19636 10843 32122 5.9 12.32 10.99 7.6 30.36
Morbihan 2.6 18.9 6.5 20607 12039 34343 5.0 12.59 11.30 49.5 27.93
Moselle 3.6 23.6 9.1 20753 10992 37208 5.2 13.17 11.36 4.8 29.75
Nièvre 4.1 26.7 9.7 19542 10678 32068 6.0 12.27 11.16 6.4 31.62
Nord 3.4 30.1 11.7 19203 10160 34349 8.1 13.71 12.18 21.7 30.31
Oise 3.8 20.2 8.4 21210 11445 36004 5.6 14.52 12.85 6.6 30.15
Orne 2.8 24.9 9.3 19265 10649 31364 6.0 12.00 10.95 21.1 29.32
Pas-de-Calais 3.2 32.4 10.8 18370 10227 31236 8.4 12.59 11.21 13.2 32.14
Puy-de-Dôme 3.5 23.0 8.3 21006 11484 36031 5.0 13.65 12.15 12.5 28.60
Pyrénées-Atlantiques 2.3 21.0 7.7 20978 11783 36850 4.9 13.49 11.80 24.3 25.91
Hautes-Pyrénées 2.2 26.5 9.6 19673 10991 32506 5.8 12.14 10.86 13.5 29.80
Pyrénées-Orientales 2.9 33.3 13.1 18608 9772 32886 7.7 12.11 11.15 9.4 31.11
Bas-Rhin 4.0 21.1 7.8 21772 11382 38053 4.9 13.88 12.20 5.3 27.90
Haut-Rhin 3.8 21.2 7.9 22283 11407 42947 4.5 13.43 11.60 7.3 30.73
Rhône 3.4 20.6 8.8 22025 11179 40999 5.3 15.44 13.55 17.5 26.08
Haute-Saône 3.6 21.3 8.9 19747 11314 31789 5.7 12.28 11.09 6.1 31.17
Saône-et-Loire 3.2 19.9 8.3 19973 11558 33253 5.4 12.75 11.23 8.1 30.68
Sarthe 2.6 22.5 7.3 20169 11388 32597 5.8 12.90 11.54 15.6 28.72
Savoie 3.2 15.3 6.3 22108 12458 37646 4.1 13.87 12.07 10.1 25.96
Haute-Savoie 2.8 12.3 7.0 25440 12841 55577 2.6 13.81 12.12 13.7 25.61
Paris 3.8 16.8 15.4 26808 10145 64389 2.8 22.64 19.46 24.1 22.61
Seine-Maritime 3.9 24.6 8.8 20324 11033 34790 6.6 13.87 12.12 9.7 30.45
Seine-et-Marne 3.9 17.0 7.7 22579 11849 37871 4.9 15.31 13.69 4.8 29.91
Yvelines 3.6 15.0 6.9 25824 12638 49207 3.3 20.28 16.90 10.4 24.69
Deux-Sèvres 2.8 20.6 7.8 19898 11743 32874 5.5 12.88 12.15 19.3 27.32
Somme 3.8 29.4 9.6 19415 10523 33260 6.9 12.83 11.46 14.6 30.94
Tarn 3.6 26.0 9.8 19593 10835 33277 6.0 12.71 11.42 15.8 26.47
Tarn-et-Garonne 3.2 25.3 12.4 19236 10455 32353 6.7 12.58 11.27 11.6 29.10
Var 3.0 23.5 11.0 20764 10672 37083 5.1 13.17 11.73 7.1 28.54
Vaucluse 3.5 26.7 15.5 19204 9868 34356 6.7 13.08 11.58 11.1 30.19
Vendée 2.7 12.9 5.6 20390 12627 32421 4.7 12.05 10.85 50.5 27.89
Vienne 3.3 25.7 8.2 20077 11154 33737 5.8 12.73 11.49 12.0 26.59
Haute-Vienne 4.8 28.7 8.9 20136 10797 33996 5.9 12.84 11.79 5.8 27.48
Vosges 4.0 26.5 9.0 19383 10787 32039 6.1 12.37 11.03 8.0 31.49
Yonne 3.9 22.8 8.7 19975 11011 33096 5.9 12.62 11.38 8.2 30.46
Territoire de Belfort 5.3 24.0 8.4 20931 11076 37002 5.9 14.23 11.99 10.2 29.17
Essonne 4.3 18.5 7.9 23127 11389 40693 4.6 16.47 14.76 5.6 29.13
Hauts-de-Seine 3.3 15.2 11.2 26571 11514 56767 3.0 21.95 19.22 12.0 23.02
Seine-Saint-Denis 4.3 30.8 22.6 16996 8464 32670 9.6 13.55 13.07 5.6 37.03
Val-de-Marne 4.0 22.1 12.3 21958 10214 42882 5.0 16.68 15.37 7.5 29.57
Val-d’Oise 4.6 20.2 11.8 21259 10334 38082 5.7 15.51 14.27 5.8 32.52
Martinique 9.0 49.0 23.3 17057 8300 36240 11.4 13.65 12.81 10.3 33.94
La Réunion 6.7 52.5 31.7 14733 7693 35035 15.9 12.78 12.16 8.2 33.60


Les variables utilisées

  1. Taux de mortalité infantile
  2. Taux de pauvreté - moins de 30 ans
  3. Taux de pauvreté - 60 ans à 74 ans
  4. Médiane du niveau de vie
  5. 1er décile du niveau de vie
  6. 9e décile du niveau de vie
  7. Part de prestations sociales dans le revenu disponible
  8. Salaire net horaire moyen
  9. Salaire net horaire moyen des femmes
  10. Part des élèves du privé parmi les élèves du premier degré
  11. Pourcentage d’entreprises dans le commerce, transports, hébergement, restauration
#Noms colonnes
colnames(X)
##  [1] "Tx_mortalite_infantile"                      
##  [2] "Tx_pauvrete_moins_30ans"                     
##  [3] "Tx_pauvrete_60_74ans"                        
##  [4] "Mediane_niveau_vie"                          
##  [5] "X1er_decile_niveau_vie"                      
##  [6] "X9e_decile_niveau_vie"                       
##  [7] "part_prestations_sociales_dans_revenus_dispo"
##  [8] "salaire_net_horaire_moyen"                   
##  [9] "salaire_net_horaire_moyen_femme"             
## [10] "part_eleve_premier_degre"                    
## [11] "Tx_entreprises_CTHR"


Analyse

Graphique des contributions

#Calcul des contributions
X=as.matrix(X)

if (sum(ls()=="L")==0) L=2
n=nrow(X)
p=ncol(X)

X=scale(X)*sqrt(n/(n-1))

V=cor(X)
d=eigen(V,symmetric=T)
cp=X%*% d$vectors
colnames(cp)=paste("cp",1:p,sep="")

contributions=d$values

#   -- Graphique des contributions --
par(mfrow=c(1,1))
g=barplot(contributions,main="Figure 1.1 - Graphique des contributions",
names.arg=round(contributions,2),col=rainbow(p),cex.names = 0.8)
text(g,contributions,paste(round(100*contributions/p),"%"),pos=3,cex=0.8,xpd=NA)

Chaque barre dans le graphique de contributions représente une composante principale (C.P.).Le pourcentage égale à la part d’information contenu dans la composante principale.

Nous avons 11 variables initiales, qui ont été centrées-réduites. Leur variance respective égale donc à 1 et chaque variable contient 1/11ème de l’information.

Pour l’analyse, seules les composantes dont la variance excède 1 sont retenues.

Dans notre graphique, la première (C.P.1) et la deuxième (C.P.2) contiennent ensemble 77% (49% + 28%) de l’information initiale.

La C.P.1 et C.P.2 sont à elles seules suffisantes pour décrire les autres composantes du fichier. Ces variables relativement plus informatives sont nommées “super-variables”.

Pour résumé, les 2 premières composantes principales conservent 49% + 28% = 77% de l’information initiale. Elles sont plus informatives que les variables initiales et constituent donc des super-variables des départements français. Nous étudierons donc ces deux premières composantes principales.


Graphe des composantes principales

#   Graphe des composantes principales (Vue de l'ACP)
#       Representation simultanee

#Chargement bibliothèque plotly
library(plotly)

#Définir les paramètres
f <- list(family = "Bookman, serif", size = 16, color = "#7f7f7f")

t <- list(family = "Bookman, serif", size = 14, color = "#7f7f7f")

x <- list(title = paste("Axe 1   -   ",round(100*contributions[1]/p,2)," %",sep=""),
  titlefont = f)

y <- list(title = paste("Axe 2   -   ",round(100*contributions[2]/p,2)," %",sep=""),
  titlefont = f)

#Définir couleurs des points
couleurs_dept <- c(rownames(X))

#Graphe
graph <- plot_ly(x=~cp[,1],y=~cp[,2], hoverinfo = "text", type = 'scatter',
    mode = 'markers', name = rownames(X), text = rownames(X), color = couleurs_dept)
graph <- graph %>% layout(xaxis = x, yaxis = y, title="Figure 1.2 - Graphe des composantes principales", font=t )
graph


Tableau des corrélations - variables & composantes principales

#Corrélations entre variables initiales et cp
cor_var_init_cp= d$vectors %*% diag(sqrt(d$values))
rownames(cor_var_init_cp)=colnames(X)
colnames(cor_var_init_cp)=paste("cp",1:p,sep="")
write.table(round(cor_var_init_cp,2),"cor_var_init_cp.txt",row.names=T,col.names=T,sep=" ",quote=F)
tbl_corr <- (round(cor_var_init_cp,2))
#En rouge les var significativement corrélées
dc <- tbl_corr
for (i in 1:11){
        dc[ ,i] = cell_spec(dc[,i], "html", color = ifelse(abs(as.numeric(dc[,i])) >= 0.7 , "red", dc[,i]))
}
#La table des corrélations - var initiales et cp
Z = kable(dc, "html", escape = F, caption="Tableau 1.1") %>%
        kable_styling(bootstrap_options = "striped", full_width = T, latex_options="scale_down", fixed_thead = T)
Z
Tableau 1.1
cp1 cp2 cp3 cp4 cp5 cp6 cp7 cp8 cp9 cp10 cp11
Tx_mortalite_infantile 0.39 -0.56 0.06 0.72 -0.09 0.05 0.07 0.02 -0.01 0 0
Tx_pauvrete_moins_30ans 0.87 -0.34 0.1 -0.08 -0.25 -0.06 -0.15 0.15 0.08 0.01 0
Tx_pauvrete_60_74ans 0.68 -0.63 0.14 -0.17 0.12 0.21 0.08 -0.15 0.06 0.03 0.01
Mediane_niveau_vie -0.94 -0.29 -0.1 0.06 0.02 0.04 -0.09 0.04 -0.02 0.04 0.05
X1er_decile_niveau_vie -0.79 0.51 0 0.25 -0.04 -0.07 -0.14 -0.16 0.08 0 -0.01
X9e_decile_niveau_vie -0.67 -0.67 0.02 -0.04 0.06 0.26 -0.19 0.02 -0.02 -0.03 -0.03
part_prestations_sociales_dans_revenus_dispo 0.89 -0.25 0.25 -0.02 -0.09 -0.15 -0.16 -0.14 -0.07 0 0.01
salaire_net_horaire_moyen -0.61 -0.76 0.06 -0.06 0.05 -0.2 0.02 0 0 0.05 -0.04
salaire_net_horaire_moyen_femme -0.54 -0.8 0.07 -0.06 0.11 -0.21 0.07 -0.02 0.03 -0.06 0.02
part_eleve_premier_degre -0.26 0.37 0.86 0.05 0.2 0.02 0 0.07 0 0 0
Tx_entreprises_CTHR 0.77 0.07 -0.27 0.13 0.54 -0.07 -0.11 0.04 0.01 0 0


Selon le tableau 1.1, les variables Tx_pauvrete_moins_30ans, part_prestations_sociales_dans_revenus_dispo, Tx_entreprises_CTHR sont significativement corrélées (positivement) à la C.P. 1, alors que les variables X1er_decile_niveau_vie, Mediane_niveau_vie sont significativement corrélées mais négativement à la C.P. 1.

Quand la C.P. 1 augmente, Tx_pauvrete_moins_30ans, part_prestations_sociales_dans_revenus_dispo, Tx_entreprises_CTHR augmentent aussi et X1er_decile_niveau_vie, Mediane_niveau_vie diminuent et l’inverse se produit lorsque C.P. 1 prend une valeur faible.

Sont considérées significatives les variables qui, dans le tableau de corrélation, sont supérieures ou égales à 0.7 et les variables inférieurs ou égales à -0.7.


Expliquer les super variables


Expliquer la 1ère composante principale

Le schéma ci-dessous résume le lien entre les variables significatives et la C.P. 1.


Relativement aux autres C.P., la C.P. 1 est plus informative et indique que : La principale cause de variabilité de la situation socio-économique des départements français est dû aux départements qui ont un fort taux de pauvreté chez les moins de 30 ans, une grande part de prestation sociale dans le revenu disponible et un taux élevé d’entreprises dans le commerce, transports, hébergement, restauration et un 1er décile de niveau de vie et une médiane du niveau de vie faible contre les départements dont ces indicateurs socio-économiques montrent le contraire.

Dans la figure 1.2 , nous avons la CP.1. représentée par l’axe 1 et la CP.2 représentée par l’axe 2.

A droite nous avons la Réunion, la Martinique et la Seine-Saint-Denis qui ont une C.P. 1 avec une valeur forte, et à gauche les départements qui ont une C.P. 1 faible, parmi il y a Paris, Hauts-de-Seine, Yvelines, Haute-Savoie.

Ce graphe montre que ceux qui habitent Paris, Yvelines et Hauts-de-Seine ont un meilleur niveau de vie (au 1er décile et la médiane) et un taux de pauvreté chez les moins de 30 ans faible. Ceci explique le besoin moindre de prestations sociales. À l’opposé, nous avons La Martinique et La Réunion, où les habitants vivent dans des conditions moins favorables, surtout avec la pauvreté parmi les moins de 30 ans. Nous voyons aussi que ces départements se distinguent dû à un fort taux d’entreprises dans le commerce, transports, hébergement, restauration.


Expliquer la 2ème composante principale

Ici, nous avons le lien entre les variables et la C.P. 2.


Seules les variables salaire_net_horaire_moyen et salaire_net_horaire_moyen_femme sont significativement corrélées (négativement) à la C.P. 2.

La deuxième cause principale de variabilité de la situation socio-économique des départements est l’opposition entre les départements où les habitants et aussi les femmes individuellement, ont un salaire net horaire élevé et les départements où les habitants et les femmes ont un salaire net horaire faible.

En haut de l’axe 2 (figure 1.2), nous avons La Vendée et en bas nous avons le Val-de-Marne, le Val-d’Oise et l’Essonne.

Nous pouvons conclure que les salarié(e)s qui se distinguent sont ceux de la Vendée touchent un salaire net horaire inférieure à la moyenne et ceux du Val-de-Marne, du Val-d’Oise et de l’Essonne qui ont un salaire net horaire plus élevé.

Par référence à l’axe 1, la Réunion et la Martinique s’opposent à Paris, Hauts-de-Seine, Yvelines, Haute-Savoie, mais si nous comparons ces départements à l’axe 2, nous trouvons qu’ils sont tous beaucoup plus en dessous de l’axe 2, donc le salaire net horaire moyen des habitant(e)s est plus important.

Nous avons vu précédemment que les Réunionnais et les Martiniquais vivaient dans des situations les plus modestes, mais là nous pouvons conclure que cette précarité n’a pas de lien avec le salaire perçu par les hommes et femmes habitants ces départements.


Tableau des corrélations des variables

#table des corrélations
library(knitr)
V2 = round(V,2)
kable(V2, caption="Tableau 1.2") %>%
  kable_styling(bootstrap_options = "striped", full_width = F, latex_options="scale_down", fixed_thead = T)  %>% scroll_box(width = "100%")
Tableau 1.2
Tx_mortalite_infantile Tx_pauvrete_moins_30ans Tx_pauvrete_60_74ans Mediane_niveau_vie X1er_decile_niveau_vie X9e_decile_niveau_vie part_prestations_sociales_dans_revenus_dispo salaire_net_horaire_moyen salaire_net_horaire_moyen_femme part_eleve_premier_degre Tx_entreprises_CTHR
Tx_mortalite_infantile 1.00 0.48 0.50 -0.18 -0.43 0.08 0.47 0.13 0.18 -0.24 0.28
Tx_pauvrete_moins_30ans 0.48 1.00 0.76 -0.72 -0.86 -0.34 0.91 -0.26 -0.20 -0.32 0.50
Tx_pauvrete_60_74ans 0.50 0.76 1.00 -0.49 -0.90 0.01 0.77 0.04 0.13 -0.29 0.46
Mediane_niveau_vie -0.18 -0.72 -0.49 1.00 0.61 0.84 -0.79 0.77 0.71 0.07 -0.69
X1er_decile_niveau_vie -0.43 -0.86 -0.90 0.61 1.00 0.17 -0.78 0.09 0.00 0.39 -0.54
X9e_decile_niveau_vie 0.08 -0.34 0.01 0.84 0.17 1.00 -0.43 0.86 0.84 -0.04 -0.54
part_prestations_sociales_dans_revenus_dispo 0.47 0.91 0.77 -0.79 -0.78 -0.43 1.00 -0.32 -0.25 -0.14 0.56
salaire_net_horaire_moyen 0.13 -0.26 0.04 0.77 0.09 0.86 -0.32 1.00 0.98 -0.07 -0.51
salaire_net_horaire_moyen_femme 0.18 -0.20 0.13 0.71 0.00 0.84 -0.25 0.98 1.00 -0.08 -0.43
part_eleve_premier_degre -0.24 -0.32 -0.29 0.07 0.39 -0.04 -0.14 -0.07 -0.08 1.00 -0.29
Tx_entreprises_CTHR 0.28 0.50 0.46 -0.69 -0.54 -0.54 0.56 -0.51 -0.43 -0.29 1.00


Partie II

Analyse en composantes principales sans les outliers.

Ici, nous reprenons toutes les étapes exécutées précedemment mais sans les départements suivants:

Préparation des données

#Importation du fichier
Y = read.csv(file="~/Data Mining/donnees_ACP_sansoutliers.csv",header = T,sep=",",dec=".")

#Attacher le fichier
attach(Y)

#Nommer les lignes
rownames(Y) = Y[,1]
Y = Y[ ,-1]

#Vérification du fichier
sum(Y) 
## [1] 6179706
dim(Y) #93 dépt (98-5 donc ok)
## [1] 93 11
#Mettre le fichier dans une table
library(knitr)
library(kableExtra)
kable(Y) %>%
  kable_styling(bootstrap_options = "striped", full_width = F, latex_options="scale_down", fixed_thead = T)  %>% scroll_box(width = "100%",height = "400px")
Tx_mortalite_infantile Tx_pauvrete_moins_30ans Tx_pauvrete_60_74ans Mediane_niveau_vie X1er_decile_niveau_vie X9e_decile_niveau_vie part_prestations_sociales_dans_revenus_dispo salaire_net_horaire_moyen salaire_net_horaire_moyen_femme part_eleve_premier_degre Tx_entreprises_CTHR
Ain 3.2 15.5 7.4 22272 12207 42482 3.9 13.68 12.03 10.3 26.85
Aisne 3.4 30.6 10.6 18818 10176 31799 7.6 12.62 11.39 8.5 30.03
Allier 2.8 26.0 9.3 19476 10826 32497 6.2 12.22 11.03 9.4 32.63
Alpes-de-Haute-Provence 3.4 24.8 10.9 19719 10562 34291 5.6 12.81 11.37 5.5 30.35
Hautes-Alpes 1.3 21.1 9.0 19949 11148 33850 5.0 12.04 11.05 8.7 27.65
Alpes-Maritimes 4.1 21.7 12.3 21246 10541 40110 4.6 14.33 12.74 10.9 26.98
Ardèche 2.4 21.9 9.1 19878 11105 33045 5.5 12.73 11.23 25.6 31.22
Ardennes 3.6 32.5 12.2 18772 10080 31758 7.5 12.72 11.29 8.3 31.89
Ariège 4.6 29.3 12.1 18934 10079 31908 6.7 12.20 10.92 9.2 27.19
Aube 3.2 27.9 9.7 19614 10685 34170 6.6 12.56 11.27 9.5 29.27
Aude 2.4 32.9 13.3 18339 9661 31804 7.7 12.06 11.05 8.1 32.60
Aveyron 2.5 20.5 9.2 19875 11365 33125 4.9 12.14 11.02 24.9 28.82
Bouches-du-Rhône 3.1 26.5 12.8 20524 9916 38096 6.5 14.52 12.70 11.5 28.77
Calvados 2.2 21.6 7.2 20556 11647 34910 5.4 12.92 11.63 14.5 29.90
Cantal 4.0 18.2 9.5 19574 11510 32356 4.9 11.47 10.62 12.1 33.72
Charente 3.9 24.9 9.4 19816 10934 33452 5.9 12.62 11.43 9.2 30.10
Charente-Maritime 2.9 22.1 8.0 20270 11416 35227 5.1 12.49 11.29 7.0 30.05
Cher 4.1 24.8 9.2 19932 10969 33183 5.9 12.65 11.34 7.4 30.00
Corrèze 3.9 21.5 8.6 20082 11498 33534 4.7 12.40 11.21 8.4 29.87
Côte-d’Or 3.5 19.7 7.0 21394 11920 36649 4.6 13.55 12.20 10.1 29.50
Côtes-d’Armor 5.2 19.6 7.1 20279 11808 33556 5.1 12.43 11.20 30.6 29.61
Creuse 3.5 24.6 12.3 18587 10199 31083 5.8 11.58 10.88 2.8 29.08
Dordogne 3.6 25.5 10.9 19280 10545 32513 5.4 11.99 11.03 6.8 31.78
Doubs 4.7 20.2 7.7 21662 11760 39643 5.2 12.92 11.41 9.1 28.78
Drôme 2.7 21.1 9.7 20103 10939 34843 5.8 13.36 11.59 13.7 28.74
Eure 4.3 21.0 7.6 20783 11488 34157 5.7 13.73 12.29 7.6 29.39
Eure-et-Loir 3.3 18.0 7.9 21133 11720 34777 5.0 13.79 12.37 10.1 29.11
Finistère 3.1 19.2 6.3 20701 12203 34205 5.0 12.70 11.39 37.2 27.90
Corse-du-Sud 3.2 21.5 14.7 20367 10247 37184 5.0 12.69 11.58 5.9 32.28
Haute-Corse 5.4 28.7 18.0 18803 9494 34724 6.4 12.54 11.34 3.2 31.27
Gard 3.2 29.2 14.2 19157 9846 33967 7.2 13.24 11.66 11.5 29.36
Haute-Garonne 3.3 22.9 8.4 22223 11463 39539 5.4 15.49 13.30 9.5 24.04
Gers 1.8 22.0 10.8 19877 10966 33891 5.1 12.71 11.37 12.8 27.91
Gironde 3.7 22.4 7.9 21361 11529 37533 5.2 14.08 12.45 9.3 27.17
Hérault 2.6 30.4 13.1 19575 9897 35793 6.8 13.39 11.99 11.9 27.99
Ille-et-Vilaine 3.7 20.8 6.0 21184 12254 35630 5.3 13.51 11.98 36.9 26.03
Indre 3.0 25.6 9.2 19386 11118 31429 5.7 12.02 11.04 7.2 29.29
Indre-et-Loire 3.6 23.2 7.6 20842 11549 35776 5.3 13.73 12.09 10.7 26.48
Isère 2.5 19.4 7.1 21884 11938 37354 4.9 14.80 12.85 9.6 25.77
Jura 3.6 17.5 7.4 20831 11928 35634 4.8 12.64 11.14 11.8 29.55
Landes 2.8 19.5 7.3 20444 11854 33870 4.7 12.38 11.14 7.5 28.80
Loir-et-Cher 2.7 20.3 7.2 20525 11594 34000 5.0 13.03 11.67 10.5 29.53
Loire 4.1 24.1 8.6 19898 11011 33391 6.3 12.99 11.42 22.1 28.60
Haute-Loire 3.9 17.3 8.1 19828 11778 32107 5.6 12.04 10.90 33.0 29.65
Loire-Atlantique 2.6 17.4 6.0 21548 12418 36373 5.2 13.98 12.20 33.4 24.90
Loiret 3.7 20.9 8.1 21081 11388 35696 5.3 13.84 12.43 8.7 29.31
Lot 2.4 21.6 9.8 19928 11000 33925 4.9 12.31 11.22 9.4 30.28
Lot-et-Garonne 2.1 24.8 12.0 19079 10496 32591 6.2 12.08 11.02 10.3 30.17
Lozère 2.6 18.5 10.4 19570 11130 32248 5.3 11.42 10.74 34.6 33.51
Maine-et-Loire 2.7 19.5 6.6 20123 11940 33045 5.9 12.62 11.28 38.8 25.39
Manche 2.7 18.8 7.7 20003 11721 32900 5.5 12.68 11.19 20.2 31.81
Marne 3.2 26.4 7.8 20780 11060 37413 5.6 13.61 12.20 11.9 28.98
Haute-Marne 3.3 24.8 9.6 19342 10936 31435 6.3 12.17 11.03 5.6 32.30
Mayenne 3.1 16.7 7.0 19874 11945 31676 5.3 12.25 11.09 33.7 26.96
Meurthe-et-Moselle 3.6 26.4 8.6 20697 11008 35880 5.7 13.37 11.93 7.0 28.17
Meuse 3.4 26.0 9.9 19636 10843 32122 5.9 12.32 10.99 7.6 30.36
Morbihan 2.6 18.9 6.5 20607 12039 34343 5.0 12.59 11.30 49.5 27.93
Moselle 3.6 23.6 9.1 20753 10992 37208 5.2 13.17 11.36 4.8 29.75
Nièvre 4.1 26.7 9.7 19542 10678 32068 6.0 12.27 11.16 6.4 31.62
Nord 3.4 30.1 11.7 19203 10160 34349 8.1 13.71 12.18 21.7 30.31
Oise 3.8 20.2 8.4 21210 11445 36004 5.6 14.52 12.85 6.6 30.15
Orne 2.8 24.9 9.3 19265 10649 31364 6.0 12.00 10.95 21.1 29.32
Pas-de-Calais 3.2 32.4 10.8 18370 10227 31236 8.4 12.59 11.21 13.2 32.14
Puy-de-Dôme 3.5 23.0 8.3 21006 11484 36031 5.0 13.65 12.15 12.5 28.60
Pyrénées-Atlantiques 2.3 21.0 7.7 20978 11783 36850 4.9 13.49 11.80 24.3 25.91
Hautes-Pyrénées 2.2 26.5 9.6 19673 10991 32506 5.8 12.14 10.86 13.5 29.80
Pyrénées-Orientales 2.9 33.3 13.1 18608 9772 32886 7.7 12.11 11.15 9.4 31.11
Bas-Rhin 4.0 21.1 7.8 21772 11382 38053 4.9 13.88 12.20 5.3 27.90
Haut-Rhin 3.8 21.2 7.9 22283 11407 42947 4.5 13.43 11.60 7.3 30.73
Rhône 3.4 20.6 8.8 22025 11179 40999 5.3 15.44 13.55 17.5 26.08
Haute-Saône 3.6 21.3 8.9 19747 11314 31789 5.7 12.28 11.09 6.1 31.17
Saône-et-Loire 3.2 19.9 8.3 19973 11558 33253 5.4 12.75 11.23 8.1 30.68
Sarthe 2.6 22.5 7.3 20169 11388 32597 5.8 12.90 11.54 15.6 28.72
Savoie 3.2 15.3 6.3 22108 12458 37646 4.1 13.87 12.07 10.1 25.96
Haute-Savoie 2.8 12.3 7.0 25440 12841 55577 2.6 13.81 12.12 13.7 25.61
Seine-Maritime 3.9 24.6 8.8 20324 11033 34790 6.6 13.87 12.12 9.7 30.45
Seine-et-Marne 3.9 17.0 7.7 22579 11849 37871 4.9 15.31 13.69 4.8 29.91
Deux-Sèvres 2.8 20.6 7.8 19898 11743 32874 5.5 12.88 12.15 19.3 27.32
Somme 3.8 29.4 9.6 19415 10523 33260 6.9 12.83 11.46 14.6 30.94
Tarn 3.6 26.0 9.8 19593 10835 33277 6.0 12.71 11.42 15.8 26.47
Tarn-et-Garonne 3.2 25.3 12.4 19236 10455 32353 6.7 12.58 11.27 11.6 29.10
Var 3.0 23.5 11.0 20764 10672 37083 5.1 13.17 11.73 7.1 28.54
Vaucluse 3.5 26.7 15.5 19204 9868 34356 6.7 13.08 11.58 11.1 30.19
Vendée 2.7 12.9 5.6 20390 12627 32421 4.7 12.05 10.85 50.5 27.89
Vienne 3.3 25.7 8.2 20077 11154 33737 5.8 12.73 11.49 12.0 26.59
Haute-Vienne 4.8 28.7 8.9 20136 10797 33996 5.9 12.84 11.79 5.8 27.48
Vosges 4.0 26.5 9.0 19383 10787 32039 6.1 12.37 11.03 8.0 31.49
Yonne 3.9 22.8 8.7 19975 11011 33096 5.9 12.62 11.38 8.2 30.46
Territoire de Belfort 5.3 24.0 8.4 20931 11076 37002 5.9 14.23 11.99 10.2 29.17
Essonne 4.3 18.5 7.9 23127 11389 40693 4.6 16.47 14.76 5.6 29.13
Seine-Saint-Denis 4.3 30.8 22.6 16996 8464 32670 9.6 13.55 13.07 5.6 37.03
Val-de-Marne 4.0 22.1 12.3 21958 10214 42882 5.0 16.68 15.37 7.5 29.57
Val-d’Oise 4.6 20.2 11.8 21259 10334 38082 5.7 15.51 14.27 5.8 32.52


Analyse

Graphique des contributions

#Calcul des contributions
X=as.matrix(Y)

if (sum(ls()=="L")==0) L=2
n=nrow(X)
p=ncol(X)

X=scale(X)*sqrt(n/(n-1))

V=cor(X)
d=eigen(V,symmetric=T)
cp=X%*% d$vectors
colnames(cp)=paste("cp",1:p,sep="")

contributions=d$values

#   -- Graphique des contributions --
par(mfrow=c(1,1))
g=barplot(contributions,main="Figure 2.1 - Graphique des contributions",
names.arg=round(contributions,2),col=rainbow(p),cex.names = 0.8)
text(g,contributions,paste(round(100*contributions/p),"%"),pos=3,cex=0.8,xpd=NA)

Le nombre de C.P. informatives égale à 2. Notre analyse portera toujours sur deux axes.


Graphe des composantes principales

#   Graphe des composantes principales (Vue de l'ACP)
#       Representation simultanee

#Chargement bibliothèque plotly
library(plotly)

#Définir les paramètres
f <- list(family = "Bookman, serif", size = 16, color = "#7f7f7f")

t <- list(family = "Bookman, serif", size = 14, color = "#7f7f7f")

x <- list(title = paste("Axe 1   -   ",round(100*contributions[1]/p,2)," %",sep=""),
  titlefont = f)

y <- list(title = paste("Axe 2   -   ",round(100*contributions[2]/p,2)," %",sep=""),
  titlefont = f)

#Définir couleurs des points
couleurs_dept <- c(rownames(X))

#Graphe
graph <- plot_ly(x=~cp[,1],y=~cp[,2], hoverinfo = "text", type = 'scatter',
    mode = 'markers', name = rownames(X), text = rownames(X), color = couleurs_dept)
graph <- graph %>% layout(xaxis = x, yaxis = y, title="Figure 1.2 - Graphe des composantes principales", font=t )
graph


Tableau des corrélations - variables & composantes principales

#corrélations entre variables initiales et cp
cor_var_init_cp= d$vectors %*% diag(sqrt(d$values))
rownames(cor_var_init_cp)=colnames(X)
colnames(cor_var_init_cp)=paste("cp",1:p,sep="")
write.table(round(cor_var_init_cp,2),"cor_var_init_cp2.txt",row.names=T,col.names=T,sep=" ",quote=F)
tbl_corr <- (round(cor_var_init_cp,2))
#En rouge les var significativement corrélées
dc <- tbl_corr
for (i in 1:11){
        dc[ ,i] = cell_spec(dc[,i], "html", color = ifelse(abs(as.numeric(dc[,i])) >= 0.7 , "red", dc[,i]))
}
#La table des corrélations - variables initiales et cp
Z = kable(dc, "html", escape = F, caption="Tableau 2.1") %>%
        kable_styling(bootstrap_options = "striped", full_width = T, latex_options="scale_down", fixed_thead = T)
Z
Tableau 2.1
cp1 cp2 cp3 cp4 cp5 cp6 cp7 cp8 cp9 cp10 cp11
Tx_mortalite_infantile -0.07 -0.51 0.58 0.59 0.17 0.16 -0.03 0 0 0 0
Tx_pauvrete_moins_30ans -0.84 -0.27 -0.21 0 0.34 -0.01 0.22 -0.14 0.04 0.05 0
Tx_pauvrete_60_74ans -0.74 -0.46 -0.1 -0.15 -0.22 0.33 -0.2 0.06 0.02 0.07 -0.01
Mediane_niveau_vie 0.94 -0.28 0.06 -0.09 0.02 0.04 0.13 -0.01 -0.04 0.03 -0.08
X1er_decile_niveau_vie 0.85 0.46 0.13 0.09 0.02 -0.13 0.06 0.11 0.07 0.08 0.02
X9e_decile_niveau_vie 0.7 -0.52 -0.01 -0.24 -0.03 0.34 0.24 0.04 0.03 -0.03 0.04
part_prestations_sociales_dans_revenus_dispo -0.86 -0.18 -0.28 0.25 0.03 -0.1 0.18 0.2 -0.01 -0.02 -0.02
salaire_net_horaire_moyen 0.52 -0.77 -0.24 0.14 -0.07 -0.18 -0.01 0 -0.09 0.05 0.04
salaire_net_horaire_moyen_femme 0.43 -0.8 -0.23 0.14 -0.19 -0.2 -0.1 -0.05 0.1 -0.03 -0.02
part_eleve_premier_degre 0.26 0.61 -0.38 0.49 -0.32 0.24 0.08 -0.07 0 0.01 0
Tx_entreprises_CTHR -0.67 -0.1 0.44 -0.08 -0.53 -0.17 0.2 -0.04 0 0.01 0


Le tableau 2.1 révèle que les variables Mediane_niveau_vie, X1er_decile_niveau_vie, X9e_decile_niveau_vie sont significativement (positivement) corrélées à la C.P. 1 alors que les variables Tx_pauvrete_moins_30ans, Tx_pauvrete_60_74ans, part_prestations_sociales_dans_revenus_dispo sont significativement (négativement) corrélées à cette composante principale.


Expliquer les super variables


Expliquer la 1ère composante principale


Le schéma montre que la cause majeure de variabilité, est celle des départements qui ont un niveau de vie générale supérieur (1er décile, médiane et 9e décile du niveau de vie), un taux de pauvreté faible parmi les individus de moins de 30 ans et ceux de 60 et 74 ans ainsi qu’une part faible de prestations sociales dans le revenu et qui sont en opposition avec les départements qui ont un niveau de vie bas (1er décile, médiane et 9e décile du niveau de vie), un fort taux de pauvreté (chez les individus de moins de 30 ans et ceux de 60 et 74 ans), et une grande part de prestations sociales dans le revenu.


Expliquer la 2ème composante principale


Le schéma de la C.P. 2 et les variables liées est la même que l’analyse avec tous les départements qui concerne le salaire net horaire.

Dans la figure 2.2, nous avons en bas de l’axe 2 le Val-de-Marne, le Val-d’Oise et l’Essonne et en haut de l’axe nous avons la Vendée.

À l’extrême droite de l’axe 1, nous trouvons la Haute-Savoie et à l’opposé nous avons la Seine-Saint-Denis.

Nous pouvons donc conclure que les salariés de la Haute-Savoie, hommes comme femmes sont mieux payés par heure. Les habitants de la Seine-Saint-Denis, eux, ont un taux élevé de pauvreté parmi les jeunes (moins de 30 ans) et les personnes âgées (entre 60 à 74 ans), ce qui explique le faible niveau de vie et par conséquent la part importante de prestations sociales dans le revenu disponible.


Tableau des corrélations des variables

#table des corrélations
library(knitr)
V3 = round(V,2)
kable(V3, caption="Tableau 2.2") %>%
  kable_styling(bootstrap_options = "striped", full_width = F, latex_options="scale_down", fixed_thead = T)  %>% scroll_box(width = "100%",height = "400px")
Tableau 2.2
Tx_mortalite_infantile Tx_pauvrete_moins_30ans Tx_pauvrete_60_74ans Mediane_niveau_vie X1er_decile_niveau_vie X9e_decile_niveau_vie part_prestations_sociales_dans_revenus_dispo salaire_net_horaire_moyen salaire_net_horaire_moyen_femme part_eleve_premier_degre Tx_entreprises_CTHR
Tx_mortalite_infantile 1.00 0.13 0.16 0.06 -0.18 0.11 0.12 0.26 0.27 -0.28 0.18
Tx_pauvrete_moins_30ans 0.13 1.00 0.64 -0.69 -0.85 -0.41 0.85 -0.21 -0.17 -0.38 0.37
Tx_pauvrete_60_74ans 0.16 0.64 1.00 -0.58 -0.91 -0.17 0.65 -0.07 0.04 -0.38 0.53
Mediane_niveau_vie 0.06 -0.69 -0.58 1.00 0.67 0.86 -0.78 0.67 0.57 0.02 -0.55
X1er_decile_niveau_vie -0.18 -0.85 -0.91 0.67 1.00 0.30 -0.78 0.09 0.00 0.45 -0.54
X9e_decile_niveau_vie 0.11 -0.41 -0.17 0.86 0.30 1.00 -0.55 0.67 0.60 -0.14 -0.39
part_prestations_sociales_dans_revenus_dispo 0.12 0.85 0.65 -0.78 -0.78 -0.55 1.00 -0.20 -0.14 -0.14 0.48
salaire_net_horaire_moyen 0.26 -0.21 -0.07 0.67 0.09 0.67 -0.20 1.00 0.96 -0.19 -0.32
salaire_net_horaire_moyen_femme 0.27 -0.17 0.04 0.57 0.00 0.60 -0.14 0.96 1.00 -0.21 -0.20
part_eleve_premier_degre -0.28 -0.38 -0.38 0.02 0.45 -0.14 -0.14 -0.19 -0.21 1.00 -0.30
Tx_entreprises_CTHR 0.18 0.37 0.53 -0.55 -0.54 -0.39 0.48 -0.32 -0.20 -0.30 1.00