## Demande
"Merci de créer un modèle supervisé qui explique l'intention de vote et
produit 15 slides pptx" (voir prompt/Brief.txt). Déposée via le
formulaire /admin du site.

## Incident de dépôt (résolu)
Le fichier de données initialement déposé (in/ecpp_pu_pert_sav.sav)
était le jeu de données NHES ECPP (garde d'enfants), sans rapport avec
le brief (aucune variable de vote/élection). Signalé à l'utilisateur,
qui a confirmé réutiliser le fichier ANES 2020 déjà archivé depuis la
précédente étude "Election USA 2020" (Surveys (save)/) — remplacé dans
R2 et localement avant traitement.

## État : analyse réalisée (réutilise la méthode de l'étude archivée
"Election USA 2020", données identiques)

### Données
in/anes_timeseries_2020_spss_20220210.sav — ANES 2020 Time Series
Study (American National Election Studies), 8 280 répondants, 1 771
variables. Fichier avec libellés de valeurs embarqués — pas
d'inférence nécessaire.

### Cible : "intention de vote présidentiel"
Parmi les répondants qui déclarent une intention de vote nette
(V201032 = Oui) et nomment un candidat (V201033 dans {1..5}), recodé en
3 classes : Joe Biden (3 759), Donald Trump (3 016), Autre candidat
(274 — Jorgensen, Hawkins, autre). 1 231 répondants exclus (pas
d'intention de vote, ne se prononcent pas, ou item déjà voté par
anticipation où la question ne s'applique pas) — décision de périmètre
: le modèle explique le choix parmi les électeurs probables qui ont une
intention arrêtée, pas la probabilité de voter elle-même.

### Variables explicatives retenues
Profil politique et démographique — jamais d'autres variables de vote
(choix 2016/2012, thermomètres de sympathie envers les candidats) qui
fuiteraient trivialement la cible : identification partisane (7pt),
positionnement idéologique libéral-conservateur (7pt), âge, sexe,
origine ethnique, éducation, revenu du foyer, statut marital,
religion, région.

### Méthode
- Régression logistique multinomiale (modèle explicatif principal) +
  random forest (modèle de contrôle), tous deux pondérés par le poids
  d'enquête pré-électoral V200010a.
- Split 75/25 stratifié, graine fixe (42). Valeurs de non-réponse
  (refus/ne sait pas, codes négatifs et 99) traitées comme catégorie
  "Non réponse" explicite pour les variables catégorielles, imputées à
  la médiane pour l'âge.

### Résultats
- Accuracy pondérée : régression logistique 87.6 %, random forest
  87.7 %, contre 53.3 % pour la classe majoritaire seule — signal
  explicatif très fort.
- Variables dominantes : identification partisane (53 % de
  l'importance random forest) et positionnement idéologique (27 %) —
  à eux deux, ~80 % du pouvoir explicatif. Confirme le résultat
  classique de science politique ("modèle de Michigan") : le parti et
  l'idéologie expliquent l'essentiel du choix de vote, bien avant la
  démographie (origine ethnique 7 %, religion 3 %, âge 2 %, éducation
  2 %, région 2 %, revenu 2 %, statut marital 1 %, sexe <1 %).
- Bien prédit : Joe Biden (F1=0.91), Donald Trump (F1=0.89). Mal
  prédit : "Autre candidat" (F1=0.16, 274 cas — vote pour un tiers
  parti difficile à expliquer par le profil politique/démographique
  seul).

### Livrables produits
- code/model_vote_intention.py, settings/settings.json,
  settings/template.pptx (réutilisé)
- out/resultats.xlsx (classeur, une feuille, 6 tableaux empilés)
- log/run_log.txt

## Reste ouvert
- Classe "Autre candidat" trop petite/hétérogène pour être bien
  prédite — un modèle binaire Biden/Trump uniquement serait plus
  robuste si l'objectif est la seule prédiction (pas l'explication du
  vote tiers-parti).
