[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)

Edited by Sasha LANIECE