Git Product home page Git Product logo

data's Introduction

Sondages: count2022 count2017 popularity
Rejoignez-nous: Discord

Ce dépôt compile les données utilisées par les modèles et les infographies de Pollsposition, et plus:

Contribuer

Les contributions sont toujours les bienvenues !

Présidentielles 2022

Le plus important en ce moment, c'est de rentrer les nombreux sondages des présidentielles 2022. Pour contribuer:

  1. Lire les spécifications pour les présidentielles. Ne pas hésitez à commenter dans l'issue relative aux spécifications si quelque chose n'est pas clair ou s'il y a un problème.
  2. Créez une nouvelle branche localement, de manière à pouvoir ouvrir une Pull Request (PR): git branch -b my-branch-name
  3. Rentrez les sondages comme indiqué à l'étape 0
  4. Faites tourner les scripts de validation, pour vous assurer que les données ne contiennent pas d'erreur:
pip install -r requirements.txt
pre-commit run --all
  1. Une fois la validation faite, commitez vos changements avant de pusher:
git add file-name.json
git commit -m "My changes summary"
git push

NB: Si c'est la première fois que vous pushez sur cette branche, vous devrez le signaler au remote repo: git push --set-upstream origin my-branch-name. Les prochaines fois que vous pusherez sur cette branche, un simple git push suffira.

  1. Ouvrez une PR sur ce repo.

Voici une version vidéo de toutes ces étapes, qui devrait accélérer votre capacité à contribuer.

Reste

Hormis les sondages des présidentielles 2022, voici ce dont nous avons particulièrement besoin en ce moment:

  • Report des électeurs de 2017 au premier tour 2022
  • Sondages publiés moins d'un mois avant les présidentielles 2017 (liste)
  • Sondages publiés moins d'un mois avant les européennes 2019 (liste)
  • Sondages publiés moins d'un mois avant les régionales 2021

Les étapes sont les mêmes que pour les présidentielles 2022, avec l'addition des étapes suivantes:

  1. Ouvrez une issue pour signaler que vous ajoutez un jeu de données. Soyez précis dans la description du jeu de données ajouté;
  2. Mieux, ouvrez une draft Pull Request dès que possible. Convertissez-la en Pull Request normale dès que le jeu de données est prêt à être ajouté;
  3. Merci d'ajouter le lien vers la source de données dans la Pull Request pour faciliter la relecture.

De même, pensez bien à exécuter les scripts de validation.

Nous contacter

Vous pouvez nous contacter sur Twitter.

data's People

Contributors

alexandorra avatar dlmrr avatar rlouf avatar tayeb93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

data's Issues

Problèmes sondages 2022

  • 20210830_harris : inversion du report des votes au 2nd tour pr MLP et EM.

  • 20210927_harris: nom de Valérie Pécresse remplacé par Xavier Bertrand dans l'hypothèse Pécresse.

  • 20210923_odoxa: hypothèse Valérie Bertrand au lieu de Valérie Pécresse.

  • 20210913_elabe: la certitude dans l'hypothèse Valérie Pécresse est de 45 pas 44; les chiffres du report au 2nd tour sont les mêmes avec et sans Éric Zemmour dans l'hypothèse Xavier Bertrand; erreur d'un pt de % dans les intentions exprimées.

  • 20210822_ipsos: mauvais chiffres pr le nbr de personnes ne se prononçant pas (nspp) pr Wauquiez et Barnier.

  • 20210705_harris: la certitude au 2nd tour est de 84% pas 65%.

  • 20210607_harris: la sûreté du choix est de 66% pour Baroin et Bertrand.

  • 20210517_harris: la certitude des non exprimés au 2nd tour est de 72%.

nouvelles données législatives

Voilà un dataset qui contient toutes les données des législatives depuis 1958 présentes sur data gouv, nettoyées et standardisées.

Avant 1993, ce sont les données de Sciences Po et celles du ministère après.

Les données sont par départements/circonscriptions/communes/bureaux de vote. En comparant ces différentes niveaux vous verrez qu'il y a parfois des différences dans les datasets, soit parce qu'il manque les données de l'outre-mer/français de l'étranger soit parce qu'il y a des erreurs, par exemple des départements ou des communes absentes.

Voilà la fonction que j'ai utilisée pour nettoyer les données du ministère. Marche aussi pour tous les autres types d'élections a priori.

En espérant que ça vous aide un peu!

Données popularité

Un petit guide des données que l'on utilise pour mesure la popularité du président Emmanuel Macron.

Ifop

L'étude qui nous intéresse chez Ifop est le Tableau de bord de la vie politique.

  • "Approuvez-vous ou n’approuvez-vous pas l’action d’Emmanuel Macron comme président de la République ?"
  • Choix binaire approuve / n'approuve pas

Elabe

Il y a deux types d'étude chez Elabe. D'abord Les Français et Emmanuel Macron:

  • "De manière générale, comment jugez-vous l’action d’Emmanuel Macron en tant que Président de la République ?"
  • "Elle est satisfaisante" / "Il est encore trop tôt pour se prononcer" / "Elle est décevante"

Puis L'Observatoire politique

  • "Faites-vous confiance ou pas confiance au Président de la République, Emmanuel MACRON, pour affronter efficacement les principaux problèmes qui se posent au pays ?"
  • "Tout à fait confiance" / "Plutôt confiance" / "Pas vraiment confiance" / "Pas confiance du tout" / "Sans opinion"

La première étude pourrait être prise en compte en introduisant un nouveau house effect différent pour cette question. Cependant nous n'avons pas de recul historique suffisant sur cette question (contrairement à l'autre) pour pouvoir l'inclure.

Harris

Odoxa

On s'intéresse au Baromètre politique

  • "Diriez vous qu’Emmanuel Macron est un bon président de la République ?"
  • "Oui" / "Non"

BVA

Kantar

Baromètre politique

  • "Faites-vous tout à fait confiance, plutôt confiance, plutôt pas confiance ou pas du tout confiance à Emmanuel Macron pour résoudre les problèmes qui se posent en France actuellement ?"
  • "Tout à fait confiance" / "Plutôt confiance" / "Pas vraiment confiance" / "Pas confiance du tout" / "Sans opinion"

Ipsos

On s'intéresse au Baromètre politique

  • "Quel jugement portez-vous sur l'action d’Emmanuel Macron en tant que président de la République ?"
  • "Très favorable" / "Plutôt favorable" / "Plutôt défavorable" / "Très défavorable" / "Sans opinion"

Ajouter les résultats des élections passées

Les données fournies par le ministère de l'intérieur ne le sont pas dans un format exploitable (une aberration!); nous les avons récupérées sous façon brutes et il faudrait les mettre à disposition toutes sous le même format.

Présidentielles

💡 la nuance politique ne devrait pas être encodée dans les fichiers bruts pour que l'on puisse éventuellement proposer plusieurs classification.

  • Ajouter la liste des candidats, partis

Échelon national

  • 1965
  • 1969
  • 1974
  • 1981
  • 1988
  • 1995
  • 2002
  • 2007
  • 2012
  • 2017

Départemental

  • 1995
  • 2002
  • 2007
  • 2012
  • 2017

Communal

  • 1995
  • 2002
  • 2007
  • 2012
  • 2017

Européennes

  • 1994
  • 1999
  • 2004
  • 2009
  • 2014
  • 2019

Législatives

  • 1993
  • 1997
  • 2002
  • 2007
  • 2012
  • 2017

Régionales

⚠️ La définition des régions a changé en cours de route !

  • 1998
  • 2004
  • 2010
  • 2015
  • 2020

Départementales

  • 1992
  • 1994
  • 1998
  • 2001
  • 2004
  • 2008
  • 2011
  • 2015
  • 2020

Sondages présidentielles 2017

On ne prend que les sondages diffusés après la publication de la liste officielle. La liste n'est peut-être pas exchaustive?

Premier tour

  1. Opinionway sort un nouveau sondage tous les quelques jours, mais avec des échantillons qui se chevauchent. On fait en sorte qu'il n'y a pas d'intersection entre les échantillon en prenant des sondages suffisamment éloignés; Il est d'ailleurs possible qu'ont soit trop aggressif en n'en prenant qu'un par semaine;
  2. Idem avec l'Ifop et son rolling

Second tour

Méthodologie des instituts

J'ouvre une issue car j'ai l'impression de ne pas comprendre certaines méthodologies. Or il est important de les classifier correctement pour notre modèle.

Pour l'instant, sur les sondages Elabe, il est indiqué que la base est l'ensemble des gens dont la probabilité d'aller voter est comprise entre 8 et 10. Or:

  1. On trouve des taux de nspp comparables à ceux des sondages d'Harris interactive sur la base des inscrits
  2. Il est fait vaguement référence dans les notices à la commission des sondages au fait que cette distrinction ne serait faite que pour faire le redressement

C'est important!

Ajouter information sur l'abstention

Commençons par recenser les questions qui concernent l'abstention dans les sondages disponibles et voir si l'on peut normaliser tout ça.

Ifop

Voir cette notice par exemple.

Base: Inscrits sur les listes électorales
Q : Vous personnellement, envisagez-vous d'aller voter à l’élection présidentielle qui aura lieu en 2022 ?
A: Oui | Non

Base: Aux personnes inscrites sur les listes électorales envisageant d’allervoter à la prochaine élection présidentielle
Q: Et diriez-vous que... ?
A: C’est tout à fait certain | C’est pratiquement certain | Il y a de grandes chances | Ce n’est pas certain

Harris interactive

Voir cette notice par exemple.

BAse: Inscrits sur les listes électorales
Q: Si le premier tour de l’élection présidentielle avait lieu dimanche prochain, seriez-vous tout à fait certain(e), plutôt certain(e), plutôt pas certain(e) ou pas du tout certain(e) d'aller voter
A: tout à fait certain(e) | plutôt certain(e), | plutôt pas certain(e) | pas du tout certain(e) d'aller voter

Elabe

BAse: Inscrits sur les listes électorales
Q: Sur une échelle allant de « 0 » à « 10 », quelle est la probabilité que vous alliez voter à l’élection présidentielle qui aura lieu en avril 2022 ? Sachant que 0 signifie que vous êtes tout à fait certain de ne pas aller voter et 10 que vous êtes tout à fait certain d’aller voter. Les notes intermédiaires vous permettent de nuancer votre intention.
A: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

Ipsos

Base: Inscrits sur les listes électorales
Q: Le premier tour de l’élection présidentielle aura lieu le 10 avril 2022. Pouvez-vous donner une note de 0 à 10 sur votre intention d’aller voter lors du premier tour de l’élection présidentielle ? 0 signifiant que vous êtes vraiment tout à fait certain de ne pas aller voter et 10 que vous êtes vraiment tout à fait certain d'aller voter.

Stockage des données

Les données historiques commencent à prendre beaucoup de place, avec plusieurs fichiers qui dépassent les 50 Mo, et ce n'est plus vraiment tenable sur le repo. Il faut donc réfléchir à une stratégie alternative de stockage des données.

Une solution envisageable est de stocker les fichiers dans un espace type Object Storage sur OVH et de construire une librairie qui permet de télécharger des données facilement. Ce qui se fait beaucoup e.g. pour les jeux de données en deep learning.

Ajouter sûreté du vote

La sûreté du vote est (devrait) être un paramètre essentiel du modèle. C'est en partie ce qui a évité au modèle de 538 de se casser la figure avec trop de confiance en 2016.

Réorganiser le repo

Il y a pas mal de données d'ancien projets et le repo est maintenant dififcilement lisible.

Présidentielles - format de données

Ce document décrit le format de données utilisé pour enregistrer les résulats des élections présidentielles ainsi que les sondages qui les concernent.

Résultats d'élections

Le format de données ne devrait pas être sujet à controverse. Le fichier est, au niveau 0 de la hiérarchie, une map qui lie une année à la structure suivante:

"premier_tour" : {
    "source": str  # lien vers la source de la donnée
    "inscrits": int,
    "votants": int,
    "exprimes": int,
    "resultats": Dict[str, int]
},
"second_tour": {}  # idem premier_tour
  • Comment prendre en compte les différents échelons auxquel les résultats sont donnés?

Sondages d'intentions de vote

On remplit d'abord pour chaque sondage quelques informations de base:

  • nom court AAAAMMJJ_<nom de l'institut>
  • nom de l'institut institut
  • date de debut de l'enquete date_debut
  • date de fin de l'enquete date_fin
  • date a laquelle on rentre les resultats du sondage
  • source utilisée pour remplir les donées (lien vers la notice habituellement) source
  • la méthode utilisée pour réaliser le sondage methode
  • nombre de personnes interrogees interroges

Puis les résultats

  • Les intentions pour le premier tour premier_tour
  • Les intentions pour le second tour second_tour
  • Les reports premier tour/second tour reports
  • L'estimation de la participation participation

La participation

[A COMPLETER]

Les instituts estiment et communiquent la participation de deux manière différentes:

  • Un chiffre brut
  • Un histogramme qui donne la % de gens qui pensent aller voter avec une certitude de 10, 9,... 1.

Intentions pour le premier et le second tour

Echantillon, base, etc

Interrogés

Toutes les notices donnent le nombre d'interrogés qui sont inscrits sur les liste électorales. Pas besoin de donner le nombre de personnes interrogées car cela n'apporte aucune information. Ici, interroges voudra dire interrogé et inscrit sur les listes électorales.

Base

La plupart du temps les résultats ne sont pas communiqués sur la base des inscrits mais sur un ensemble plus restreint. On a recensé les bases suivantes:

  • Inscrits, que l'on notera I
  • Inscrits sûrs de voter, que l'on notera SV
  • Inscrits sûrs de voter et sûrs de leur choix, que l'on notera SVC

Parmi les gens interrogés tout le monde n'exprime pas d'opinion. On note le nombre de personnes qui expriment une opinion intentions_exprimees. On note le pourcentage de personnes ne s'étant pas prononcées nspp.

Gérer plusieurs hypothèses

Options pour les résultats avec plusieurs hypothèses. Il est pratique de donner un nom à chaque hypothèse pour pouvoir les retrouver plus facilement par la suite. Les résultats correspond à une hypothèse ont donc la structure suivante:

premier_tour: {
    "machin": {
        hypothese: "Machin candidat du centre-centre-centre droit",
        base: str,
        nspp: float
        intentions_exprimees: int
        intentions: Dict[str, float]
    }
}

Mais ce format a des difficultés dès lors qu'il n'y a plus qu'un scénario testé. Il vaut donc peut-être mieux utiliser une liste à la place. Lorsqu'il n'y a qu'un scénario, le champ hypothese est null:

premier_tour: [
    {
        hypothese: null,
        base: str,
        nspp: float
        intentions_exprimees: int
        intentions: Dict[str, float]
    }
]

La sûreté du vote

Il est primordial de noter la sûreté du vote car c'est un facteur important dans l'incertitude du modèle. Il y a plusieurs cas de figure:

  1. La sûreté est donnée pour chaque candidat;
  2. La sûreté moyenne est donnée;
  3. La sûreté n'est donnée que pour certains candidats.

On suivra le format suivant:

certitude: {
    ensemble: Optional[float],
    detail: Optional[Dict[str, float]]
}

Lorsque la certitude est donnée pour chaque candidat, detail est un dictionnaire candidat -> certitude. Si un candidat est absent il n'apparaît pas dans le dictionnaire. Si une certitude globale est donnée, elle va dans le champ ensemble. Si rien n'est donné, les deux champs sont null.

Reports du premier au second tour

Les reports de voix du premier au second tour sont une information importante pour le modèle. Pour éviter de répéter les noms des candidats on donnera à ce champ la structure suivante:

{
    "hypothese": Optional[str]
    "candidats_premier_tour": List[str]
    "candidats_second_tour": List[str]
    "reports": List[List[float]]
}

`

Les candidats

Il peut être utile de recenser tous les candidats et certaines informations à leur sujet (parti, nuance politiques). Pour éviter de multiples répétitions les informations sont enregistrées séparémment des sondages, à la fin du fichier:

{
    sondages: {}
    candidats: {}
}

Accessoirement, cela évite d'avoir à rentrer le nom des candidats en dur dans le script de validation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.