French population from 1975 to 2013

Universit´e de Caen Basse-Normandie
1
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
Evolution de la d´
emographie des r´
egions fran¸caises entre 1975 et 2013
Sommaire
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.1
Description . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Source des donn´ees . . . . . . . . . . . . . . . . . .
Pr´
eparation des donn´
ees . . . . . . . . . . . . . . .
Pyramide des ages 1975/2013 . . . . . . . . . . . .
Evolution . . . . . . . . . . . . . . . . . . . . . . . .
Indices de liaisons . . . . . . . . . . . . . . . . . . .
Analyse factorielles des correspondances simples
Analyse . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. . .
. . .
. .
. .
. .
. .
. .
. .
1
1
1
1
3
4
5
7
9
Description
1.1.1
Objectifs
– On va automatiser l’importation de donn´ees complexes produites par l’INSEE dans SAS en utilisant la macro-programmation. On utilisera :
– des macros variables
– des macros fonctions, on d´efinira des valeurs par d´efaut des arguments de ces fonctions, on
testera ces fonctions.
– On r´ealise un d´ebut d’´etude de l’´evolution d´emographique des r´egions fran¸caises entre 1975 et
2013.
1.1.2
Source des donn´
ees
Nous utiliserons des donn´ees d´etaill´ees issues du site de l’ INSEE concernant une estimation de la population fran¸caise
par r´egion, sexe et par classe d’age de 5 ans entre les ann´ees 1975 et 2013. Il est not´e que les estimations 2012 et 2013 ne
sont pas encore d´efinitives : `
a cause de la nouvelle m´ethodologie de recensement. Elles deviendront d´efinitives en 2015 : la
population de l’ann´ee N est estim´ee `
a partir de sondages durant les ann´ees N-2,N-1,N,N+1,N+2.
Le fichier de donn´ees brutes et la table SAS du fichier import´e sont disponibles en suivant les liens :
INSEE http://www.insee.fr/fr/ppp/bases-de-donnees/donnees-detaillees/estim-pop/estim-pop-reg-sexe-aq-1975-2013.xls
Data http://www.math.unicaen.fr/~kauffman/data/estim-pop-reg-sexe-aq-1975-2013.xls
Data http://www.math.unicaen.fr/~kauffman/data/estim-pop-reg-sexe-aq-1975-2013.sas7bdat
1.2
Pr´
eparation des donn´
ees
Dans cette partie, nous allons automatiser la lecture des donn´ees qui se trouvent sur des onglets nomm´es 1975,..., 2013.
1. Cr´eer un r´epertoire de travail avec un sous r´epertoire LIB qui contiendra les tables SAS. T´el´echarger le fichier de donn´ees
dans votre r´epertoire de travail. Ouvrez SAS et d´eclarer votre librairie par d´efaut.
options user="C:\Users\kauffmann\francois\SAS\lib";
2. Dans cette question on va lire les donn´ees de l’onglet 2013 et de la zone qui va de A5 `a U27.
(a) Faire ex´ecuter le code suivant :
proc import
out= user.X2013
datafile="nom du fichier"
DBMS=xls REPLACE;
getnames=yes;
range="2013$A5:U27";
run;
(b) En utilisant les macros variables suivantes, param´etriser l’appel `a la proc´edure IMPORT
%let
%let
%put
%put
SHEET=2013;
FILE=C:\Users\kauffmann\francois\SAS\population-region-annee-age\estim-pop-reg-sexe-aq-1975-201
&SHEET;
&FILE;
http://www.math.unicaen.fr/~kauffman/cours
1
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
(c) D´efinir alors une macro fonction en copiant le code de la question pr´ec´edente `a l’int´erieure.
%MACRO IMPORTK(SHEET=2013,FILE=&FILE);
%MEND;
(d) Pour tester cette macro-fonction, on peut faire ´ex´ecuter le code Le code affich´e mis `a part les saut de lignes, devrait
identique `
a la premi`ere question.
%put "&IMPORTK(SHEET=2013,FILE=&FILE)";
(e) Ajouter au code de la macro fonction le code suivant :
data X&SHEET;
set X&SHEET;
annee=&SHEET;
rename A=REGION;
run;
proc sort data=X&SHEET;BY REGION ANNEE;RUN;
proc transpose
data=X&SHEET
out=X&SHEET(drop=_NAME_ where=( AGE NE '' ))
LABEL=AGE;
by REGION ANNEE;
VAR _NUMERIC_ ;
run;
(f) Tester votre macro-fonction, une table USER.X2012 devrait ˆetr´e cr´ee.
%IMPORTK(SHEET=2012);
3. Dans cette question, on va construire une boucle de fa¸con `a appeler la macro-fonction pour toutes les ann´ees disponibles.
(a) Cr´eer la macro-fonciton %LIRE, et testez la.
%MACRO LIRE;
%DO I=1975 %TO 2013;
%put "ANNEE=&i";
/* ligne myst`
ere */
%END;
%MEND;
%LIRE;
(b) Ajoutez la commande de fa¸con `
a appeler %IMPORTK `a l’int´erieur de la boucle.
(c) Lire alors tous les onglets. Il devait y avoit dans la librairieUSER les tables X1973,...,X2013. classe d’age et ann´ee.
4. Dans cette question, on veut empiler toutes les tables Xxxxx
(a) Que font les instructions suivantes :
data tmp;
set
X1975 X1976 X1977
;
run;
(b) Construire une macro nomm´ee ADD qui va emplirer toutes tables Xxxxx.
%MACRO ADD;
data Y;
SET
X1975 X1976 X1977
;
RUN;
%MEND;
On remplacera
X1975 X1976 X1977
par
http://www.math.unicaen.fr/~kauffman/cours
2
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
%DO I=1975 %TO 2013;
X&I
%END;
(c) Tester votre macro-fonction %ADD
5. Dans cette question on finalise la table r´esultat :
data Z(RENAME=(AGEN=AGE) DROP=TMP);
set Y;
rename COL1=POP AGE=TMP;
attrib COL1 LABEL="Population";
attrib REGION LABEL="R´
egion";
attrib AGEN LABEL="Classe d'age";
attrib annee LABEL="Ann´
ee";
agen=input(age,2.0);
run;
Et on efface les table inutiles
%MACRO DELETEK;
proc datasets library=user;
delete
%DO I=1975 %TO 2013;
X&I
%END;
;
run;
%MEND;
%DELETEK;
1.3
Pyramide des ages 1975/2013
1. Ouvir la nouvelle donn´ee : la table Z.sas7bdat cr´ee `a la question pr´ec´edente.
2. Triez la table REGION ANNEE puis par AGE d´ecroissant. La table r´esultat devra s’appeler ZT.
3. Cr´eez un nouveau programme qui fait une pyramide des ages par ann´ee et r´egion.
proc sgpanel data=WORK.ZT;
title "Pyramide des ages";
/* titre */
panelBY REGION ANNEE /COLUMNS=2;
/* paneau par r´
egion et ann´
ee */
hbar AGE/RESPONSE=POP;
/* barres horizontales */
COLAXIS DISCRETEORDER=DATA;
/* attention `
a l'ordre axe y */
WHERE (ANNEE=1975 OR ANNEE=2013) AND (REGION="Alsace" OR REGION=
"Basse-Normandie" OR REGION="Midi-Pyr´
en´
ees" OR REGION="Auvergne");
RUN;
http://www.math.unicaen.fr/~kauffman/cours
3
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
Figure 1 – Comparaison des pyramides des ages entre 1975 et 2023 et Alsace et Auvergne
Figure 2 – Comparaison des pyramides des ages entre 1975 et 2023 et Midi-Pyr´en´ees et Basse-Normandie
4. Commentez
1.4
Evolution
Dans cette partie on veut illustrer l’´evolution de la population des moins de 5 ans et des 30-35 ans. Commentez.
proc sgpanel data=WORK.ZT;
title "Evolution population en fonction du temps";
http://www.math.unicaen.fr/~kauffman/cours
4
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
panelBY AGE REGION;
SERIES X=ANNEE Y=POP;
COLAXIS DISCRETEORDER=DATA;
WHERE (AGE=0 OR AGE=30) AND (REGION="Pays de la Loire" OR REGION=
"Basse-Normandie" OR REGION="Auvergne" OR REGION="Midi-Pyr´
en´
ees");
RUN;
Figure 3 – Evolution de la population des moins de 5 ans
Figure 4 – Evolution de la population des 30-35 ans
1.5
Indices de liaisons
Dans cette partie on calcule la matrice de liaison entre les r´egions et les ann´ees
1. Faire une analyse d’une table `
a partir de la table ZC.
Donn´
ees Choisir les variables REGION, ANNEE comme variables de la table et POP comme variable comptant le nombre
d’occurence et ACTIF comme variable de groupement.
Tables Choisir REGION comme variable en ligne et ANNEE comme variable en colonne ?
http://www.math.unicaen.fr/~kauffman/cours
5
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
Statistiques d’une cellule Choisir les options de calcul : pourcentage de la ligne et de la colonne et de la cellule,
puis inclure les pourcentages dans la table.
R´
esultats Dans l’option R´
esultats des statistiques de cellules choisir la table REGION par ANNEE. Et d´efinir
le nom de la table de sortie TABLE.
La premi`ere ligne de la table TABLE sera
ACTIF
0-25 ans
REGION
Alsace
ANNEE
1975
COUNT
641433
PERCENT
0.083
PCT ROW
2.80
PCT COL
3.03
Table 1 – Premi`ere ligne de TABLE
.
2. A l’aide d’une requete sur la table r´esultat TABLE de l’analyse de table calculez les trois variables suivantes :
FREQ MARG REGION Ou la fr´equence marginale des r´egions. On utilisera la formule
F REQ M ARG REGION =
P ERCEN T
100fi,j
=
= fi,.
f
P CT ROW
100 fi,j
i,.
FREQ MARG ANNEE ou la fr´equence marginale des classes d’age. On utilisera la formule
F REQ M ARG AN N EE =
P ERCEN T
100fi,j
=
= f.,j
f
P CT COL
100 fi,j
.,j
I Ou indice de liaison, on utilisera
Ii,j =
fi,j
P ERCEN T /100
−1=
−1
F REQ M ARG REGION ∗ F REQ M ARG AN N EE
fi,. f.,j
La table de sortie sera nomm´ee LIAISON.
3. Faire un trac´e des profils de liaisons des r´egions Basse-Normandie, Haute-Normandie et Midi-Pyr´enn´ees. Commentez
mes r´esultats.
proc sgpanel data=worK.LIAISON;
title "Indices de Liaisons";
panelby REGION;
VBAR ANNEE/RESPONSE=I;
WHERE REGION="Basse-Normandie" OR REGION="Haute-Normandie" OR REGION=
"Midi-Pyr´
en´
ees";
http://www.math.unicaen.fr/~kauffman/cours
6
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
Figure 5 – Profil des liaisons de la Basse-Normandie, Haute-Normandie et Midi-Pyr´enn´ees
1.6
Analyse factorielles des correspondances simples
Dans cette partie on r´ealise des analyses factorielles des correspondances simples entre les variables r´egion et d’une part
ann´ee et d’autre part l’age.
1. A l’aide d’une requˆete sur la table ZT, cr´eez une nouvelle variable nomm´ee ACTIF recodant l’age en 3 classes : les 0-25
ans, les 25-60 ans, les 60ans et plus.
2. A l’aide d’une requˆete sur la table r´esultat de la question pr´ec´edente, calulez les populations agr´egr´ees par modalite de
ACTIF, REGION,ANNEE. La table de sortie s’appelera ZC. On copiera les 3 variables dans la zone d´efinissant les variables
de groupes en enlevant l’option automatique.
3. R´ealiser une une analyse des correspondance simples REGION par ANNEE pour les 0-25 ans `a l’aide du code suivant :
proc corresp data=work.ZC(where=(ACTIF="0-25 ans")) outc=work.biplot outf=freq
dim=2 print=PERCENT DEVIATION PLOTS=ALL;
tables REGION,ANNEE;
weight POP;
RUN;
4. Tracez les vecteurs propres en fonction de l’ann´ee.
proc sgplot data=work.biplot1(where=(VDIM1 NE .));
SERIES X=MODALITE Y=VDIM1;
SERIES X=MODALITE Y=VDIM2;
RUN;
http://www.math.unicaen.fr/~kauffman/cours
7
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
Figure 6 – Deux premiers vecteurs propres des 0-25 ans
5. R´ealiser un biplot sur le premier plan principal `a l’aide du code suivant
data work.biplot1(keep=dim1 dim2 Vdim1 Vdim2 modalite);
set work.biplot(where=(dim1 ^= .));
Vdim1=dim1;
Vdim2=dim2;
if _TYPE_= 'OBS' then do;
Vdim1=.;
Vdim2=.;
end;
else do;
dim1=.;
dim2=.;
end;
rename _NAME_=modalite;
run;
proc sgplot data=work.biplot1;
title "Biplot isom´
etrique ligne";
scatter x=dim1 y=dim2 /datalabel=modalite;
vector x=Vdim1 y=Vdim2/datalabel=modalite;
run;
http://www.math.unicaen.fr/~kauffman/cours
8
[email protected]
Universit´e de Caen Basse-Normandie
4 f´evrier 2014
D´epartement de Math´ematiques et M´ecanique
Figure 7 – Biplot isom´etrique r´egion des 0-25 ans
6. Faire les autres analyses
1.7
Analyse
R´ealiser un commentaire sur ces donn´ees d´emographiques.
http://www.math.unicaen.fr/~kauffman/cours
9
[email protected]