Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Présidentielles - format de données #35

Open
1 task
rlouf opened this issue Sep 11, 2021 · 0 comments
Open
1 task

Présidentielles - format de données #35

rlouf opened this issue Sep 11, 2021 · 0 comments
Labels
documentation Improvements or additions to documentation sondage

Comments

@rlouf
Copy link
Contributor

rlouf commented Sep 11, 2021

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.

@rlouf rlouf added enhancement New feature or request sondage documentation Improvements or additions to documentation labels Sep 11, 2021
@rlouf rlouf pinned this issue Sep 12, 2021
@rlouf rlouf changed the title Format de données Format de données pour les présidentielles Sep 12, 2021
@rlouf rlouf changed the title Format de données pour les présidentielles Format sondages présidentielles Sep 13, 2021
@rlouf rlouf changed the title Format sondages présidentielles Format présidentielles Sep 13, 2021
@rlouf rlouf changed the title Format présidentielles Format pour les présidentielles Sep 13, 2021
@rlouf rlouf changed the title Format pour les présidentielles Présidentielles - format de données Sep 13, 2021
@rlouf rlouf mentioned this issue Sep 17, 2021
@rlouf rlouf removed the enhancement New feature or request label Oct 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation sondage
Projects
None yet
Development

No branches or pull requests

1 participant