[Pipeline] CALMAR - Ajouter les marges de distribution (Quantiles)
Pour diminuer les degrés de liberté de notre Calibration sur Marges, on doit ajouter des marges.
Une première étape est de forcer l'algorithme à respecter les distributions des variables.
Ainsi on ajoute des *marges de distributions: ce sont de nouvelles colonnes de notre base qui indiquent, pour chaque variable clef (salaire_de_base, chomage, retraite, ...) dans quel QUANTILE d'elle-même se trouve notre foyer.
Ainsi on aura par exemple (pour des quantiles de 5) :
idfoy | salaire | dec_salaire1 | dec_salaire2 | dec_salaire3 | dec_salaire4 | dec_salaire5 |
---|---|---|---|---|---|---|
12 | 120 | 0 | 1 | 0 | 0 | 0 |
21 | 100_000 | 0 | 0 | 0 | 0 | 1 |
58 | 60_000 | 0 | 0 | 0 | 1 | 0 |
ATTENTION ! On choisi exprès de faire des variables booléeennes et pas des numéros (on aurait pu envisager une colonne dec_salaire
avec des valeurs de [1,2,3,4,5]).
En effet, le risque avec des numéros est le suivant: vu qu'on calibre sur des sommes, pour l'algorithme, avoir 2 individus de [dec_salaire
==1, dec_salaire
==1] reviendrait au même qu'avoir [dec_salaire
==2, dec_salaire
==0], or ce n'est pas du tout la même réalité économique.
Une autre solution serait de le faire avec des strings (['Dec1', 'Dec2',...]), mais pour le moment le code (LexImpact) ne permet pas encore de calibrer des catégories avec du texte (une version qui calibre les variables catégorielles existe dans survey-manager
et est à mettre à jour).
NB: Si on fait cela avec des COPULES, ce sont des marges de distributions croisées (cf détails de cette issue: https://git.leximpact.dev/leximpact/leximpact-prepare-data/-/issues/98)