Estimation reports présidentielles 2017¶
Tableau de reports entre les 2 tours (estimation)¶
vote1t |
abs2t |
blc2t |
nul2t |
macron2t |
lepen2t |
delta2 |
---|---|---|---|---|---|---|
abs1t |
8832102 |
73224 |
73839 |
1192645 |
401721 |
4924 |
blc1t |
7097 |
316489 |
22330 |
204942 |
108798 |
342 |
nul1t |
3154 |
16879 |
58347 |
113858 |
96946 |
152 |
DUPONTAIGNAN |
18932 |
311314 |
78055 |
611274 |
674514 |
911 |
LEPEN |
189928 |
168938 |
98728 |
59063 |
7158737 |
3097 |
MACRON |
241140 |
56697 |
57173 |
8218992 |
78533 |
3812 |
HAMON |
48847 |
115717 |
40571 |
2060785 |
24193 |
1174 |
ARTHAUD |
2076 |
24606 |
37354 |
79873 |
88375 |
100 |
POUTOU |
4317 |
95040 |
62063 |
168403 |
64474 |
208 |
CHEMINADE |
717 |
13034 |
6604 |
31478 |
13718 |
35 |
LASSALLE |
4693 |
103622 |
65430 |
137521 |
123808 |
226 |
MELENCHON |
1764595 |
946730 |
275791 |
3689297 |
379752 |
3786 |
ASSELINEAU |
116230 |
29307 |
3657 |
99345 |
83837 |
170 |
FILLON |
862889 |
749210 |
184101 |
4073033 |
1339924 |
3839 |
delta1 |
4648 |
693 |
181 |
2618 |
1145 |
5 |
delta1 et delta2 correspondent à un ajustement entre les inscrits des deux tours pour s’assurer que le total à chaque tour est bien rigoureusement égal.
L’algorithme utilisé fait que les totaux en ligne et en colonne correpondent exactement aux résultats définitifs publiés. Cela ne doit toutefois pas faire illusion sur la précision obtenue.
Taux de report du premier vers le second tour¶
A partir du premier tableau, on peut calculer comment se sont répartis les votants du premier tour au second.
vote1t |
abs2t |
blc2t |
nul2t |
macron2t |
lepen2t |
---|---|---|---|---|---|
abs1t |
83.53 |
0.69 |
0.7 |
11.28 |
3.8 |
blc1t |
1.08 |
47.98 |
3.39 |
31.07 |
16.49 |
nul1t |
1.09 |
5.84 |
20.18 |
39.37 |
33.52 |
DUPONTAIGNAN |
1.12 |
18.38 |
4.61 |
36.08 |
39.82 |
LEPEN |
2.47 |
2.2 |
1.29 |
0.77 |
93.27 |
MACRON |
2.79 |
0.66 |
0.66 |
94.99 |
0.91 |
HAMON |
2.13 |
5.05 |
1.77 |
89.99 |
1.06 |
ARTHAUD |
0.89 |
10.59 |
16.08 |
34.39 |
38.05 |
POUTOU |
1.09 |
24.1 |
15.74 |
42.71 |
16.35 |
CHEMINADE |
1.09 |
19.88 |
10.07 |
48.02 |
20.93 |
LASSALLE |
1.08 |
23.82 |
15.04 |
31.61 |
28.46 |
MELENCHON |
25.01 |
13.42 |
3.91 |
52.28 |
5.38 |
ASSELINEAU |
34.97 |
8.82 |
1.1 |
29.89 |
25.22 |
FILLON |
11.97 |
10.39 |
2.55 |
56.5 |
18.59 |
Exemple de lecture : 56,50% des électeurs de Fillon au premier tour ont voté Macron au second tour.
Taux de provenance du second tour¶
Réciproquement, on peut calculer d’où viennent les voix du second tour en proportion.
vote1t |
abs2t |
blc2t |
nul2t |
macron2t |
lepen2t |
---|---|---|---|---|---|
abs1t |
72.98 |
2.42 |
6.94 |
5.75 |
3.78 |
blc1t |
0.06 |
10.47 |
2.1 |
0.99 |
1.02 |
nul1t |
0.03 |
0.56 |
5.48 |
0.55 |
0.91 |
DUPONTAIGNAN |
0.16 |
10.3 |
7.33 |
2.95 |
6.34 |
LEPEN |
1.57 |
5.59 |
9.28 |
0.28 |
67.29 |
MACRON |
1.99 |
1.88 |
5.37 |
39.62 |
0.74 |
HAMON |
0.4 |
3.83 |
3.81 |
9.93 |
0.23 |
ARTHAUD |
0.02 |
0.81 |
3.51 |
0.39 |
0.83 |
POUTOU |
0.04 |
3.15 |
5.83 |
0.81 |
0.61 |
CHEMINADE |
0.01 |
0.43 |
0.62 |
0.15 |
0.13 |
LASSALLE |
0.04 |
3.43 |
6.15 |
0.66 |
1.16 |
MELENCHON |
14.58 |
31.33 |
25.91 |
17.79 |
3.57 |
ASSELINEAU |
0.96 |
0.97 |
0.34 |
0.48 |
0.79 |
FILLON |
7.13 |
24.8 |
17.3 |
19.64 |
12.6 |
Exemple de lecture : 7,13% des absentionnistes du second tour ont voté Fillon au premier tour.
Estimation des reports entre les 2 tours¶
La mise à disposition des données par bureau de vote ( 1er tour et 2ème tour) fournit une masse d’informations importantes.
Le problème d’estimer des reports entre élections quand on ne dispose que des totaux de chaque tour est un problème étudié depuis longtemps sans que des réponses complétement satisfaisantes aient été trouvées. On peut lire à ce sujet l”article suivant qui fait le tour de différentes méthodes.
Méthode¶
Les tableaux ci-dessus sont obtenus à partir des résultats par bureau de vote.
Dans un premier temps, on utilise la procédure ei.reg du package eiPack sous R qui est une méthode classique proposéie par Goodman en 1959. Inconvénient de la méthode : les coefficients obtenus n’ont aucune raison d’être dans l’intervalle [0,1], ce qui est impératif pour un taux de report. On va corriger cela dans la suite.
On remplace les coefficients < 0.01, y compris les négatifs, par la valeur 0.01 : cela revient à considérer que les taux de report négatifs ne peuvent pas exister et sont traduit par un très faible taux. Par contre, à ce stade, on laisse les coefficients > 1.
On effectue une procédure IPF (Iterative Proportional Fitting) qui revient à caler sur marges imposées (les résultats réels du second tour) une matrice de transfert (imparfaite), celle obtenue en appliquant les coefficients corrigés issus de la régression aux effectifs du premier tour. Cette procédure garantit que les les coefficents soient tous entre 0 et 1.
Programme R¶
fread("pres2017_bv.csv") -> elec
ei.reg(cbind(abs2t, blc2t, nul2t, macron2t, lepen2t, delta2) ~
cbind(abs1t,blc1t,nul1t,DUPONTAIGNAN,LEPEN,MACRON,
HAMON,ARTHAUD,POUTOU,CHEMINADE,
LASSALLE,MELENCHON,ASSELINEAU,FILLON, delta1),
data=elec) -> regr
regr$coefficients -> coef
coef[coef<0.01]=0.01
sapply(elec[,c(3:16, 22)], sum) -> m1t
sapply(elec[,c(17:21, 23)], sum) -> m2t
val <- coef * m1t
Ipfp(val, list(1,2), list(m1t, m2t)) -> mat
round(mat$x.hat) -> estim
round(prop.table(estim, 1) * 100, 2)
round(prop.table(estim, 2) * 100, 2)