Note sur les corrélations

Avertissement

Corrélation n’est pas causalité. Ce dashboard montre des associations descriptives au niveau communal. Aucun lien causal n’est établi.

Le constat

80 indicateurs croisables × 34 875 communes = 3 160 paires possibles, soit autant de coefficients de corrélation calculés. La page Explorer affiche ces paires sous trois angles :

  • Une heatmap de tous les indicateurs, triée par thématique (vue d’ensemble).
  • Un top 25 inter-thématiques ordonné par |ρ| (vue ranking).
  • Un scatter interactif avec courbe LOESS et ρ live (vue zoom).

La page Bivariée affiche les paires pré-calculées dans une palette choroplèthe 3 × 3 terciles (Stevens 2015) — 9 classes par paire, 3 160 combinaisons disponibles.

Granularité par source

Les 26 sources n’ont pas la même maille native :

Sujet Maille native Couverture Date
Élections législatives Commune (~35 000) Quasi-totale ; parts de vote = 1er tour (% exprimés, RN = RN + UXD + EXD) 2024 T1 (vainqueur : T2)
Municipales 2026 Commune ≥ 1 000 hab. (~3 300) Scrutin liste uniquement 2026 T1+T2
DVF immobilier Commune (~35 000) Variable selon N transactions 2021-2024
Atmo qualité air Station (~700) → commune Inégale, urbaine 30 j glissants
SSMSI sécurité Commune (11 000 à 31 000 selon indicateur ; total : ~700) Secret stat : 1 à 4 faits non diffusés 2025
BAAC accidents Commune (~35 000) Toutes ; 0 = aucun accident 2024
DGFiP finances Commune (~35 000) Quasi-totale 2024
APL DREES santé Commune (~35 000) Quasi-totale 2023
Espérance de vie INSEE Département (101), recopié sur les communes Aplat départemental 2025
FiLoSoFi revenus Commune (~30 000) Secret stat 2021
INSEE populations Commune (~35 000) Quasi-totale 2017-2021
INSEE grille densité Commune (~35 000) Quasi-totale 2024
DARES DEFM chômage Commune (~34 900) Quasi complète 2024-T4
RARE/CITEPA carbone Commune (~34 800) Quasi-totale 2018 (EXIOBASE)
INSEE MOBPRO mobilité Commune (~34 800) Quasi-totale RP 2022
ORE énergie résidentielle Commune (~34 800) ; gaz ~9 300 Cellules masquées (secret) 2024
CAF RSA et aides au logement Commune (~10 000 affichées) Population ≥ 1 000 2024-12
DPE (part F/G) Commune (~22 400) ≥ 30 diagnostics, non représentatif depuis 07/2021
FiLoSoFi 2023 Commune (~30 800 ; pauvreté ~5 200) Secret stat 2023 (non comparable à 2021)
Agence Bio agriculture Commune (~23 000) Communes avec bio uniquement 2024

Conséquence pratique. Une corrélation entre deux variables de couvertures différentes (par ex. air × DVF) est calculée sur leur intersection — moins de communes, distribution potentiellement biaisée vers les zones urbaines mieux couvertes par les stations Atmo.

Biais écologique

Une corrélation entre deux variables au niveau commune ne dit rien sur leur corrélation au niveau individuel. Exemple classique :

Si les communes où le vote RN est élevé ont aussi des prix au m² faibles, on ne peut pas en déduire que les électeurs RN paient leur logement moins cher individuellement. Le lien commune ≠ le lien individu.

C’est l’ecological fallacy (Robinson, 1950). Tout l’onglet Explorer et toutes les cartes bivariées sont soumis à cette limite.

Confondant urbain/rural

La densité urbaine est corrélée à presque toutes les variables d’intérêt :

  • Vote : les communes denses votent plus à gauche / au centre ; les communes rurales votent davantage RN.
  • Prix immobilier : croissant avec la densité (Spearman ~0,6).
  • Pollution : NO₂ surtout, croissant avec la densité (trafic).
  • Désert médical : APL souvent meilleur en zone dense (mais densité + pénurie urbaine spécifique : Paris a un APL faible malgré sa centralité).
  • Empreinte carbone : surprenamment faible en zone dense (transport public, appartements moins énergivores). Confondant inversé.
  • Mobilité voiture : croissante avec la ruralité, miroir du précédent.
  • Abstention : variable selon les scrutins, souvent plus forte en périurbain.

Toute corrélation brute entre ces variables capture en grande partie ce confondant. La stratification par taille de commune (5 strates pop INSEE) permet d’observer les liens intra-strate et de dégonfler ce confondant.

Stratification

5 strates issues de la strate de taille INSEE (recensement) :

  1. Très petite (< 500 hab.)
  2. Rurale (500 - 2 000)
  3. Bourg / périurbain (2 000 - 10 000)
  4. Ville moyenne (10 000 - 50 000)
  5. Grande ville (≥ 50 000)

Les corrélations sont pré-calculées par paire de variables × strate (script 05_merge_and_explore.R). Le scatter de l’Explorer expose un selector de strate.

Une variable continue alternative est aussi disponible : densite_rang (1 = rural non périurbain → 6 = grand centre urbain, INSEE typologie 6 niveaux). Elle apparaît dans la heatmap et la Bivariée mais ne sert pas (encore) de variable de stratification dans l’Explorer.

Métriques

  • Spearman (défaut) — coefficient de rang. Capture les relations monotones, robuste aux outliers. Adapté aux distributions à queues lourdes (prix m², délinquance ‰, surface bio).
  • Pearson (alternative) — coefficient linéaire. Plus interprétable mais sensible aux valeurs extrêmes.

Les coefficients sont calculés par paire × méthode × strate, pré-calculés en amont du dashboard et sauvegardés dans data/processed/explorer/correlations.parquet (15 912 lignes).

Top corrélations — filtrage des tautologies

Le top 25 affiché à droite de la heatmap exclut les paires intra-thématique. Sans filtre, le top serait saturé par des tautologies :

  • del_total_pour_mille × del_vols_pers (ρ = 0,98) — la délinquance totale inclut les vols.
  • fin_charges × fin_recettes (ρ = 0,99) — un budget équilibré.
  • ctx_log_inscrits × ctx_log_pop (ρ = 0,99) — inscrits ≈ pop adulte.
  • revenu_median × revenu_d9 (ρ = 0,95) — la médiane et le D9 bougent ensemble.

Ces 4 paires apporteraient zéro information sur les liens réels entre sujets. Les filtrer fait remonter les corrélations inter-thématiques intéressantes : densité × vote, revenu × abstention, APL × population, CO₂ × revenu.

Lecture du bivariate choropleth

La carte bivariée encode deux variables sur une palette 3 × 3 (Stevens, 2015) :

  • Axe horizontal — tercile de la variable X
  • Axe vertical — tercile de la variable Y
  • 9 classes au total, chaque commune appartient à une cellule

Les coins de la palette donnent les associations extrêmes ; le centre rassemble les communes “moyennes” sur les deux variables. La légende sert aussi de filtre : cliquer une cellule met en évidence les communes correspondantes.

16 paires pré-calculées côté R (scripts/05_merge_and_explore.R) — par ex. elec_pct_rn × dvf_prix_app, carb_hab_total × revenu_median, mob_pct_voiture × densite_rang, bio_surface_ha × elec_pct_nfp. Toutes les 3 160 paires possibles sont calculables côté JS si l’utilisateur change les selectors X/Y de la page Bivariée.

Profil radar — comparaison commune vs distribution

La page Profil commune encode une commune sur 8 dimensions normalisées en rang centile national (0 = bas, 100 = haut). Lecture :

  • Polygone “rond et grand” (~50 sur tous les axes ou plus) = commune proche de la médiane FR sur tout.
  • Polygone “écrasé en bas” sur revenu + APL + recettes = commune rurale paupérisée.
  • Polygone “asymétrique” (haut sur revenus, prix, APL, faible sur CO₂ + voiture) = grande ville aisée bien équipée.

Le radar ne dit pas si une commune est “bonne” ou “mauvaise” — il dit où elle se situe dans la distribution. Un score 100 sur “Délinquance” signifie “plus forte délinquance que 99% des communes”, pas “plus dangereuse”.

Limites supplémentaires

  • Snapshot temporel décalé. Les croisements impliquent une comparaison dernière observation contre dernière observation. Sources les plus anciennes : carbone EXIOBASE 2018 et FiLoSoFi 2021.
  • Couverture air très inégale géographiquement (urbain surdoté, rural sous-couvert).
  • Petites communes : les médianes DVF avec N < 5 sont grisées ; les pourcentages électoraux restent calculables mais bruités ; FiLoSoFi applique le secret statistique.
  • Pas de variable de temps dans les corrélations. Une corrélation entre vote 2024 et revenu 2021 n’est pas erronée mais sa causalité est compliquée par les 3 ans entre les deux observations.