# Recalage de l'enquête Revenus fiscaux et clonage des ménages : les deux prérequis à l'utilisation du modèle de micro-simulation Myriade

Catherine Bac, François Legendre, Jean-Paul Lorgnet, Céline Marc, Florence Thibault

<figure><img src="image_1.png" /></figure>

To cite this version:

Catherine Bac, François Legendre, Jean-Paul Lorgnet, Céline Marc, Florence Thibault. Recalage de l'enquête Revenus fiscaux et clonage des ménages : les deux prérequis à l'utilisation du modèle de micro-simulation Myriade. Courrier des Statistiques, 2008, 123, pp.45-52. hal-05449621

HAL Id: hal-05449621

https://insee.hal.science/hal-05449621v1

Submitted on 9 Jan 2026

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Recalage de l'enquête Revenus fiscaux et clonage des ménages : les deux prérequis à l'utilisation du modèle de micro-simulation Myriade

<figure><img src="image_3.png" /></figure>

Catherine Bac<fnref n="1" />, François Legendre<fnref n="2" />, Jean-Paul Lorgnet<fnref n="3" />, Céline Marc<fnref n="4" />
et Florence Thibault<fnref n="5" />

Les données de l'enquête Revenus fiscaux, réalisée chaque année par l'Insee et la direction générale des impôts, sont utilisées pour constituer la population de base du modèle de micro-simulation Myriade. Ces données, étant disponibles assez tardivement, doivent au préalable subir deux opérations successives, un recalage et un clonage. Ce sont ces deux opérations qui sont présentées dans cet article. D'une part, les dernières données disponibles de l'enquête Revenus fiscaux sont recalées afin d'être « vieillies », de manière à être représentatives de la première année de micro-simulation choisie ; d'autre part, les ménages de l'enquête sont « clonés » pour que l'on puisse disposer d'un échantillon équipé-déré, condition nécessaire à l'utilisation de Myriade.

Les auteurs remercient tout particulièrement Alain Jacquot, à la Caisse nationale des allocations familiales, pour avoir contribué, au début des années 2000, à ce que des ressources soient dégagées pour développer le modèle de micro-simulation Myriade. Alain Jacquot et Magda Tomasini ont bien voulu relire ce texte ; les auteurs sont seuls responsables des erreurs qui pourraient subsister.

Dans le but d'accroître son expertise, notamment dans l'étude des conséquences redistributives des politiques familiales, la Caisse nationale des allocations familiales (Cnaf) a voulu se doter d'un modèle de micro-simulation (encadré page suivante).

Ce modèle, appelé Myriade, a été développé par les auteurs de cet article, une équipe constituée de François Legendre et, successivement, Jean-Paul Lorgnet, Catherine Bac, Céline Marc et Florence Thibault.

Parallèlement, dans le champ de l'évaluation des politiques fiscales et sociales, l'Insee et la direction de la recherche, des études, de l'évaluation et des statistiques (Drees, ministère chargé de la santé) ont, de leur côté, développé un autre modèle de micro-simulation baptisé INES<fnref n="6" />.

Le point de départ du modèle Myriade est l'enquête *Revenus fiscaux*, qui

n'est d'ailleurs pas à proprement parler une enquête : celle-ci résulte en effet de l'appariement des observations de l'enquête *Emploi* et de déclarations fiscales. Cette « enquête » présente de nombreux avantages, mais aussi, quelques inconvénients.

Côté avantages, elle enrichit l'enquête *Emploi* de l'Insee en la complétant par des données qui proviennent des déclarations à l'impôt sur le revenu. Les deux sources sont remarquablement complémentaires : l'enquête *Emploi* apporte de l'information sur la situation vis à vis de l'emploi, alors que la déclaration fiscale livre essentiellement une information sur les revenus, notamment les rémunérations. Enfin, l'enquête *Revenus fiscaux* est annuelle et porte sur un très grand nombre d'individus.

Côté inconvénients, le champ de cette enquête est celui de la France métropolitaine (et non celui de la

France entière), et surtout, elle n'est disponible que tardivement. Pour palier ce second inconvénient, il est nécessaire de caler les données de l'enquête Revenus fiscaux sur une autre source, plus à jour. Or, celle qui

<footnote n="1">1. Caisse nationale d'assurance vieillesse, adresse électronique : catherine.bac@cnav.fr ; auparavant Caisse nationale des allocations familiales.</footnote>

<footnote n="2">2. Centre d'études de l'emploi, adresse électronique : francois.legendre@mail.enpc.fr ; auparavant Érudite, Univ. Paris-XII, et Caisse nationale des allocations familiales.</footnote>

<footnote n="3">3. Insee ; adresse électronique : jean-paul.lorgnet@insee.fr ; auparavant Caisse nationale des allocations familiales.</footnote>

<footnote n="4">4. Caisse nationale des allocations familiales et (Univ Paris-I et CNRS), adresse électronique : celine.marc@cnaf.fr.</footnote>

<footnote n="5">5. Caisse nationale des allocations familiales et CEPN (Univ. Paris-XIII et CNRS) ; adresse électronique : florence.thibault@cnaf.fr.</footnote>

<footnote n="6">6. Pour en savoir plus, voir le dossier d'Économie et Statistique (Blanchet, 1998), le Dossier solidarité et santé n° 3 (DREES, 2003) ou encore le numéro spécial d'Économie et Prévision intitulé « L'expérience française en matière de micro-simulation » (Legendre et al., 2004). Le modèle Myriade est présenté quant à lui dans Legendre et al. (2001).</footnote>
## Encadré – Les modèles de micro-simulation : qu'est-ce que c'est, à quoi ça sert

Les modèles de micro-simulation, comme leur nom l'indique, simulent la réalité dans un domaine donné, généralement très complexe, afin de mieux comprendre cette réalité et ce, en travaillant à un niveau micro, c'est-à-dire individuel (par opposition, concernant ce dernier point, aux méthodes de projections agrégées, appelées aussi projections par composantes).

Concrètement, un modèle de micro-simulation est généralement un programme informatique que l'on applique à des données statistiques.

Dans le champ de l'évaluation des politiques fiscales et sociales, les modèles de micro-simulation peuvent être classés en fonction de leur cinématique (statique ou dynamique) et du degré de prise en compte des comportements individuels.

Les modèles les plus simples sont statiques, au sens où ils ne spécifient pas les réponses des individus aux variations de leur environnement. Autrement dit, ce sont des modèles « comptables » : ils s'attachent d'abord à retracer l'enchêvè- trement du système socio-fiscal en France et permettent de rendre compte, au premier ordre, des mesures de politiques fiscales ou sociales. Ce sont, en quel- que sorte, des « photographies ».

Le modèle Destinie, développé à l'Insee pour étudier l'avenir de nos systèmes de retraite, est quant à lui un modèle dynamique – où les événements démogra- phiques sont donc retracés –, qui fait une certaine place à la modélisation des comportements individuels – par exemple, en matière de départ à la retraite. Les modèles de micro-simulation dynamiques sont donc, pour reprendre la même analogie que précédemment, des « films ».

est la plus rapidement disponible est l'enquête *Emploi*.

L'année de base du modèle Myriade, notée *B*, sera donc celle de la dernière enquête *Emploi* disponible. Le point de départ reste cependant la dernière enquête *Revenus fiscaux* disponible. Un décalage, noté *H*, subsiste entre ces deux enquêtes :

Enquête
Revenus fiscaux
Année B - H

<figure><img src="image_4.png" /></figure>

Population de
base du modèle
Myriade
Année B

Nous recalons l'enquête *Revenus fiscaux* de l'année *B* - *H*, en utilisant notamment l'information apportée par l'enquête *Emploi* de l'année *B*, pour construire la population de base du modèle. Ceci constitue notre activité de recalage.

En outre, pour pouvoir utiliser le modèle Myriade, nous devons disposer d'une représentation des ménages équipondérée. L'enquête *Revenus fiscaux*, de son côté, est déjà pondérée. Un ménage peut peser 200 – dans ce cas, il représente 200 ménages métropolitains – ; un autre peser 400 – il représente alors deux fois plus de ménages que le précédent.

Dans le futur, il est prévu de développer une version dynamique du modèle de micro-simulation : cette version dynamique fonctionnera elle aussi à condition de travailler sur des données équipondérées. Autrement dit, il sera beaucoup plus simple de simuler les principaux événements de vie des individus – mise en couple, naissance, décès, etc… – si la représentation est à taux constant. Sans quoi, si par exemple M. Dupont, qui pèse 400, se met en couple avec Mlle Durand, qui pèse 200, quelle pondération attribuer au ménage ainsi constitué ?

Nous dupliquons donc les ménages, dans des proportions variables en fonction de leur pondération, pour obtenir une représentation équipondérée. Cela constitue ce que nous appelons notre activité de clonage.

Recalage et clonage constituent ainsi les deux premières étapes de la chaîne de traitement qui permet d'obtenir la population de base du modèle Myriade.

D'une part, nous redressons l'enquête *Revenus fiscaux* en utilisant des marges qui ne se rapportent pas à la même année : nous ne redressons

donc pas pour contrôler des fluctuations d'échantillonnage, mais pour rendre compte de l'évolution de la conjoncture dans le temps. D'autre part, le clonage apparaît comme une méthode particulièrement efficace pour se débarrasser de la pondération. Enfin, la duplication se fait à un taux faible (chaque ménage est cloné en moyenne 2,5 fois, et non des dizaines ou des centaines de fois comme on aurait pu le craindre) : elle est donc peu coûteuse d'un point de vue informatique. Même si ce dernier résultat ne présente aucune généralité (on peut imaginer d'autres cas où le taux de duplication serait beaucoup plus élevé), il n'en mérite pas moins d'être rapporté.

Remarque : dans tout ce qui suit, nous rapporterons des résultats relatifs à une chaîne de traitement un peu ancienne, celle qui s'appuie sur les enquêtes *Revenus fiscaux* de 2000 et *Emploi* de 2002. C'est en effet pour cette chaîne que nous disposons de résultats les plus détaillés ; ce faisant, nous éluderons volontairement, par souci de simplification, les différentes évolutions qui résultent du passage à l'enquête *Emploi* « en continu » à partir de 2003.

## Le recalage de l'enquête *Revenus fiscaux*

Il nous faut donc faire « vieillir » l'enquête *Revenus fiscaux* la plus récente, celle de l'année *B* - *H*. Ce vieillissement rend compte tout à la fois d'une dérive structurelle (comme les évolutions démographiques, dont l'évolution est lente) et d'un mouvement conjoncturel (comme l'accroissement des salaires, phénomène n'ayant pas le même genre d'inertie). Nous disposons de l'enquête *Emploi* de l'année *B*, notre année de base. Nous disposons aussi, pour l'année *B*, de données globales qui vont nous permettre de caler les chiffres issus des déclarations fiscales à l'impôt sur le revenu. La direction générale des impôts diffuse en effet une information très agrégée, sous la forme, pour chaque champ de la déclaration, de la « somme des éléments déclarés par l'ensemble des déclarants ».
Par ailleurs, il faut savoir qu'il existe déjà un processus de recalage de l'enquête *Revenus fiscaux* : les producteurs de l'enquête calent cette dernière afin de pallier l'attrition qui résulte de l'appariement de l'enquête *Emploi* avec le fichier des déclarants à l'impôt sur le revenu<fnref n="7" />.

Concrètement, ce recalage procède d'un « calage sur marges », méthode d'attribution, à chaque observation de l'enquête, d'une nouvelle pondération qui, d'une part, permet de satisfaire un certain nombre de contraintes agrégées (ces contraintes sont appelées « marges ») et, d'autre part, n'est « pas trop éloignée » de l'ancienne pondération. Cette méthode, fréquemment utilisée, est notamment disponible sous le système Sas sous la forme d'une macro nommée « calmar », développée à l'Insee (Sautory, 1991 et 1992). Ce « calage sur marges » est présenté plus précisément dans la deuxième partie de l'annexe de cet article. Aussi reprenons-nous en grande partie, dans la chaîne de traitement de Myriade, la procédure de calage de l'enquête *Revenus fiscaux*. Les aspects informatiques du traitement sont eux aussi développés dans l'annexe (première partie).

Le tableau 1 illustre bien le recalage dans Myriade. Les lignes de ce tableau constituent un extrait des lignes du « vrai » tableau que nous produisons afin de contrôler le recalage. Ce dernier comporte les 77 contraintes de calage initiales. La première ligne du tableau 1 a trait à la « Région 1 ». Il s'agit de l'une des modalités d'une ventilation qui dis-

tingue huit grandes régions et qui a donc pour but de contrôler la répartition géographique des ménages du modèle. La « Région 1 » est l'île-de-France ; spontanément, on a donc 11 285 132 ménages dans l'enquête *Revenus fiscaux* alors qu'il nous en faudrait 11 340 760. La divergence entre ces deux chiffres provient des seules évolutions démographiques entre 2000 et 2002. En effet, l'enquête *Revenus fiscaux* est notamment calée sur cette même marge (la région Île-de-France).

La deuxième ligne du tableau 1 est relative à la modalité « Famille ayant deux enfants ». La valeur cible (égale à 3 013 000) est obtenue à partir des données de gestion dont la Cnaf dispose. Il importe que le modèle Myriade soit « bien calé » sur ce type de grandeurs puisqu'il lui faut simuler précisément les différentes prestations familiales. La troisième ligne de ce même tableau porte sur une modalité « Femmes actives 15-24 ans » de la ventilation qui croise le sexe, l'activité en trois postes et l'âge en trois grandes tranches. La valeur cible est cette fois-ci calculée à partir de la dernière enquête *Emploi* disponible<fnref n="8" />. La valeur observée est 783 247 alors que la valeur cible est 962 020. Deux sources expliquent la divergence entre ces deux chiffres : d'une part, l'existence de fluctuations d'échantillonnage, puisque l'enquête *Revenus fiscaux* n'est pas calée sur cette marge ; d'autre part, les évolutions conjoncturelles entre 2000 et 2002, puisque l'emploi a continué de croître en France en 2001 et 2002.

Enfin, la dernière ligne, libellée « Salaires », illustre la manière dont les chiffres relatifs aux masses obte-nues auprès de la direction générale des impôts sont mobilisés. Le chif-fre de 468 310 360 064 (il s'agit d'un montant en euros) correspond à la masse agrégée, en 2002, d'un poste de la déclaration fiscale, intitulé « Vos salaires, droits d'auteur, avantages en nature et indemnités journalières ». Ce chiffre est utilisé une première fois, dans la chaîne de traitement, pour dilater, dans une même proportion, tous les salaires individuels. Le recalage, en revanche, ne peut pas avoir pour objet de retracer cette élévation générale des niveaux de vie, puisque son objectif est de prendre en compte des évolutions qui diffèrent d'un individu à l'autre. Le chiffre initial est, de la sorte, exactement égal au montant cible. Pour autant, ces montants sont retenus comme marge afin que cette contrainte reste respectée dans le processus de recalage. C'est ainsi que le chiffre est utilisé une seconde fois.

En résumé, nous utilisons trois sources d'information pour faire « vieillir », par une procédure de « calage sur marges », l'enquête *Revenus fiscaux*. En premier lieu, nous recourons aux données de l'enquête *Emploi* la plus récente, essentiellement pour rendre compte de l'évolution de la conjoncture. En deuxième lieu, nous mobilisons des données administratives – de gestion – de la Cnaf pour améliorer la représentativité de la population de base du modèle Myriade. En dernier lieu, nous utilisons des chiffres agrégés de la direction générale des impôts pour caler le modèle en niveau, sur des grandeurs nominales.

Ce recalage induit bien évidemment une déformation de la distribution de la pondération de l'échantillon. Le graphique 1 (page suivante) permet d'apprécier l'ampleur de l'accroissement de la dispersion de cette distribution. Nous avons pris, pour le ratio $q_i$ (où $q_i$ est la nouvelle pondération $p_i$)

<table><caption>Tableau 1 : extraits de l'état de contrôle du recalage/clonage du modèle Myriade</caption><thead><tr><th>Variable</th><th>Marges Enquête RF</th><th>Marges Année de base</th><th>Écart (en %)</th><th>Marges après clonage</th><th>Écart (en %)</th></tr></thead><tbody><tr><td>Région 1 *</td><td>11 285 132</td><td>11 340 760</td><td>-0,5</td><td>11 344 608</td><td>0,0</td></tr><tr><td>Famille 2 enfants †</td><td>3 078 774</td><td>3 013 000</td><td>2,2</td><td>3 013 232</td><td>0,0</td></tr><tr><td>F. actives 15-24 ans *</td><td>783 247</td><td>962 020</td><td>-18,6</td><td>963 520</td><td>0,2</td></tr><tr><td>Salaires ‡</td><td>468 310 360 064</td><td>468 310 360 064</td><td>0,0</td><td>468 524 695 552</td><td>0,0</td></tr></tbody></table>

<footnote n="7">7. Le recalage de cette enquête est décrit dans la documentation qui accompagne cette dernière – voir par exemple Goutard et al. pour l'enquête de 2003.</footnote>

<footnote n="8">8. En 2003-2004, quand nous utilisons ces données.</footnote>

<footnote>* En nombre d'individus. † En nombre de familles. ‡ En € courants.</footnote>

<footnote>Source : Calculs des auteurs à partir des enquêtes *Revenus fiscaux* de 2000 et *Emploi* de 2002</footnote>
<figure><img src="image_5.png" /><figcaption>Graphique 1 : distribution des pondérations de l'enquête Revenus fiscaux (bâton plein) et du modèle Myriade après recalage (bâton évidé) (pondérations exprimées en %)</figcaption></figure>

Source : calculs des auteurs à partir des enquêtes Revenus fiscaux de 2000 et Emploi de 2002.
Lecture : la fréquence des poids compris entre 100 et 200 s'établit à 7,6 % dans l'enquête Revenus fiscaux contre 8,6 % dans le modèle Myriade après calage.

du ménage i et $p_i$ sa pondération initiale), un plancher égal à 0,5 et un plan fond égal à 2. Les pénalités ont ainsi une forme relative (au sens où le nouveau poids ne peut pas être inférieur à la moitié, ni supérieur au double de l'ancien poids) et, en conséquence, la déformation apparaît plus marquée dans la partie supérieure de la distribution que dans la partie inférieure. L'obtention de cette nouvelle pondération ne constitue cependant qu'une étape intermédiaire ; en effet, cette dernière va nous servir à cloner les ménages de l'enquête.

## Le « clonage » des ménages

Nous voulions disposer d'un échantillon équipondéré afin de pouvoir facilement développer un modèle de micro-simulation dynamique. Nous n'avions pas mesuré, initialement, le gain qu'il y a à travailler avec une représentation dont la pondération est constante : il est, par exemple, sensiblement plus facile de calculer une médiane dans ce dernier cas de figure.

Pour disposer d'une telle représentation équipondérée, nous « clonons » les ménages. Pour chaque ménage de l'enquête, en fonction de sa pondération, nous le dupliquons un certain nombre de fois, à l'identique, dans le fichier de données. Soit $q_i$ la pondération du ménage i et $n_i$ son nombre de duplication. Ce dernier nombre est calculé comme suit,

$$n_i = f \times N \times \frac{q_i}{\sum q_i} - 1$$

où f est le « coefficient multiplicateur moyen » et N le nombre de ménages initialement présents dans l'échantillon. Dans cette expression, $n_i$ est un entier naturel ; il convient d'arrondir l'expression à droite du signe égal et de la borner, éventuellement, inférieurement.

Le « coefficient multiplicateur moyen », f, est l'unique paramètre du clonage. S'il est égal à 3, par exemple, cela signifie que nous sommes prêts à tripler le nombre de ménages pour passer d'une représentation à taux variable à une représentation à taux constant. On voit, en particulier, que si $q_i$ est égal à la pondération

moyenne, c'est-à-dire si $q_i$ est égal à

$$\frac{\sum q_i}{N}$$, alors $n_i$ est exactement égal à f-1. Le paramètre f fait bien sûr l'objet d'une détermination empirique.

D'un côté, il faut prendre toute la mesure de la formidable augmentation de la capacité de traitement des ordinateurs. Parlons chiffres. Dans le modèle Myriade, la représentation d'un individu occupe de l'ordre de 400 octets. Pour assurer une plus grande efficacité à la micro-simulation, la représentation de la totalité de la population doit pouvoir tenir dans la mémoire centrale de l'ordinateur. Supposons maintenant que la taille de cette dernière, pour sa partie réservée à la représentation de la population, soit égale à 256 mega octets. C'est alors de l'ordre de 640 000 individus qu'il est possible de représenter au maximum. L'enquête Revenus fiscaux de 2000, de son côté, avait trait à près de 160 000 individus. Selon le même calcul, le paramètre f pourrait ainsi être égal au maximum à 4.

De l'autre côté, il n'est pas utile de dupliquer à l'excès l'échantillon initial. Ce clonage permet seulement d'obtenir une représentation à taux

<figure><img src="image_6.png" /><figcaption>Graphique 2 : Erreur relative absolue moyenne – ERAM – en fonction du « coefficient multiplicateur moyen » (en %)</figcaption></figure>

Source : calculs des auteurs à partir des enquêtes Revenus fiscaux de 2000 et Emploi de 2002.
Lecture du graphique : Quand le « coefficient multiplicateur moyen » est égal à 1,25, l'erreur relative absolue moyenne est égale à 2,57 %.
constant. Il n'apporte pas une information particulière et obère, en revanche, les temps de traitement. Il y a ainsi un arbitrage à opérer. Accroître la valeur du paramètre *f* améliore a priori le caractère représentatif de la représentation à taux constant ; en revanche, diminuer sa valeur réduit les temps d'exécution d'une micro-simulation.

Cet arbitrage représentativité – efficacité est représenté dans le graphique 2. Encore nous faut-il définir un critère pour mesurer la (non-)représentativité. Les marges de recalage – notées $m_j$ avec $j = 1,..., K$ – sont exactement satisfaites avec la nouvelle pondération. En revanche, avec le clonage, il n'y a plus de raison que ces marges soient exactement vérifiées. Notons $\hat{m}_j$ la marge $j$ obtenue avec le « coefficient multiplicateur moyen » $f$. Le critère que nous retenons est l'erreur relative absolue moyenne (ERAM) définie comme suit :

$$ERAM = \frac{\sum |\hat{m}_j^f - m_j| / m_j}{K}$$

La courbe du graphique 2, où cette ERAM est portée en fonction du « coefficient multiplicateur moyen » $f$, représenterait donc cet arbitrage. Nous avons préféré l'ERAM à l'erreur quadratique moyenne parce que les différentes marges ne sont pas commensurables : les unités de l'une, par exemple, sont des euros ; celle de l'autre, un nombre d'individus (cf. le tableau 1).

Dans le cas particulier de nos données, l'ERAM est une fonction, dans un premier temps, très fortement décroissante du « coefficient multiplicateur moyen » $f$. On observe toutefois un palier pour une valeur de ce coefficient comprise entre 2,25 et 2,75. Ensuite, l'ERAM apparaît comme légèrement décroissante en fonction de $f$. Le tableau 1, établi pour une valeur de $f$ égale à 2, montre bien les différentes étapes du recalage / clonage. Le premier écart relatif sur les marges (cf. la troisième colonne du tableau 1) est annulé au moyen du recalage ; par contre, le clonage réintroduit un écart résiduel

(voir la dernière colonne du même tableau).

Il semble ainsi assez séduisant de « cloner » de la sorte les ménages pour obtenir une représentation à taux constant. Dans le cas particulier qui est le nôtre, il suffit de multiplier le nombre de ménages par deux pour disposer d'un échantillon dont la représentativité n'est guère dégradée par rapport à l'original. Ce résultat ne présente aucun caractère général ; il a cependant constitué pour nous une agréable surprise (parce qu'il est plus simple de multiplier la taille d'un fichier par deux que par dix ou par cent).

## Conclusion

L'enquête Revenus fiscaux constitue un formidable point de départ

pour développer un modèle de micro-simulation dans le champ de l'évaluation des politiques sociales.

Il reste à consentir un travail non négligeable pour adapter l'enquête à cette utilisation. Celle-ci doit être recalée si l'on veut pouvoir retracer une situation récente. Pour les besoins d'un modèle de micro-simulation dynamique, on peut aussi vouloir disposer d'un échantillon équipondéré. Les ménages de l'enquête peuvent alors être clonés.

Le recalage de l'enquête et le clonage de ses ménages, dans Myriade, ont été développés en langage C++ de sorte à disposer d'une chaîne de traitement fortement intégrée. La Cnaf dispose ainsi d'un outil dont le coût de maintenance, même s'il est élevé, reste raisonnable. ■

## Références bibliographiques

[1] Anderson (E.), Bai (Z.), Bischof (C.), Blackford (S.), Demmel (J.), Dongarra (J.), Du Croz (J.), Greenbaum (A.), Hammarling (S.), McKenney (A.) et Sorensen (D.). – LAPACK – Linear Algebra PACKage. – Rapport technique, http://www.netlib.org/lapack, 1999.

[2] Blanchet (D.). – La microsimulation appliquée à l'analyse des politiques sociales. Économie et Statistique, n° 315, 1998, pp. 29-34.

[3] David (M-G.), Lhommeau (B.) et Starzec (C.). – Le modèle de microsimulation lnes (INsee - Etudes Sociales) : description et exemples d'utilisation. – Document de travail DSDS n° F9902, Insee, 1999.

[4] Direction de la recherche, des études, de l'évaluation et des statistiques. – La microsimulation des politiques de transferts sociaux et fiscaux à la DREES : objectifs, outils et principales études et évaluations. – Dossiers solidarité et santé n° 3, Paris, 2003.

[5] Division Redistribution et Politiques Sociales. – Le modèle de microsimulation dynamique Destinie. – Document de travail DESE n° G9913, Insee, 1999.

[6] Goutard (L.), Guillemin (O.), Le Verre (R.) et Maillochon (A.). – Enquête Revenus fiscaux 2003. – Miméo, Insee, 2006.

[7] Goux (D.). – Une histoire de l'Enquête Emploi. Économie et Statistique, n° 362, 2003, pp. 41-57.

[8] Legendre (F.). – Micro-simulation et évaluation des politiques économiques et sociales : un panorama des développements récents en France. Revue d'Économie Politique (repris dans Problèmes économiques, numéro 2879 du 6 juillet 2005), vol. 114, n° 1, 2004, pp. 17-53.

[9] Legendre (F.), Lorgnet (J-P.) et Thibault (F.). – Myriade : le modèle de micro-simulation de la Cnaf. Un outil d'évaluation des politiques sociales. Recherches et Prévisions, n° 66, 2001, pp. 33-50.

[10] Legendre (F.), Lorgnet (J-P.) et Thibault (F.). – Présentation générale. Économie et Prévision, numéro spécial « L'expérience française en matière de micro-simulation », n° 160-161, 2004, pp. I-XV.

[11] Mitton (L.), Sutherland (H.) et Weeks (M.). – Introduction. In : Microsimulation Modelling for Policy Analysis, éd. par Mitton, Sutherland et Weeks. Cambridge University Press, pp. 1-11. – Cambridge, 2000.

[12] Sautory (O.). – Redressements d'échantillons d'enquêtes auprès des ménages par calage sur marges. – Document de travail n° F9103, Insee, 1991.

[13] Sautory (O.). – La macro Calmar. Redressement d'un échantillon par calage sur marges. – Document de travail n° F9310, Insee, 1993.
# ANNEXE : le développement informatique et statistique du recalage

## La programmation informatique du recalage

Nous nous sommes donnés la peine de développer, en C++, la chaîne de traitement qui réalise notamment le recalage de l'échantillon. Les traitements numériques, en informatique, ne sont pas nécessairement à la portée du premier venu : il s'avère difficile d'utiliser l'algorithme le plus robuste vis-à-vis des erreurs d'arrondis et d'exploiter au mieux l'architecture de la machine utilisée. Dans ce champ, il est encore plus pertinent de ne pas « réinventer la roue » et d'utiliser une bibliothèque fiable et reconnue. En revanche, il n'est pas très compliqué d'incorporer, dans une chaîne de traitement, de tels développements.

Plus précisément, nous avons programmé la méthode « logistique » qui permet de contrôler la proportion dans laquelle la valeur d'un poids est altérée par rapport à son ancienne valeur. En utilisant des notations reprises dans la seconde partie de cette annexe, on impose les deux contraintes suivantes :

$$a < \frac{q_i}{p_i} < b$$

où $p_i$ est la pondération initiale, $q_i$ la nouvelle pondération, a le ratio plancher et b le ratio plafond. Nous avons pris, de manière un peu conservatrice, $a = 0,5$ et $b = 2$, ce qui signifie que le nouveau poids ne peut pas être inférieur à la moitié du poids initial ; respectivement, supérieur au double.

Nous avons ainsi mobilisé la bibliothèque LAPack, dans sa version traduite en langage C. La programmation de l'algorithme de Newton n'a pas constitué une très grande difficulté. Il nous a fallu, en revanche, gérer les redondances qui s'introduisent quand les contraintes de recalage ne sont pas linéairement indépendantes – voir la seconde partie de l'annexe. Nous avons, spontanément, 77 contraintes ; nous n'en avons que 68 qui sont indépendantes. Par ailleurs, le nombre de ménages est un peu inférieur à 70 000. Le recalage est donc exigeant en termes de traitement numérique. L'algorithme est itératif : il réclame à plusieurs reprises le calcul, puis l'inversion, d'une matrice de taille 68×68 constituée à partir de près de 70 000 observations.

La mise en œuvre s'avère très satisfaisante. En retenant un critère d'arrêt contraignant (la plus grande, en valeur absolue, des variations relatives des poids inférieure à 1 %), quatre itérations seulement s'avèrent nécessaires pour obtenir la solution. Le critère d'arrêt décroît radicalement au cours des itérations : 37 %, 17 %, 1 % et pour finir, 0,005 %. Le temps d'exécution reste raisonnable : de l'ordre de 70 secondes en utilisant un microprocesseur Intel de type Pentium M à 1,6 Ghz.

## Caler un échantillon sur des marges exogènes

Vouloir caler une enquête sur un certain nombre de grandes exogènes, en altérant avec tact et mesure la pondération des données qui en sont issues, est un problème auquel le statisticien est fréquemment confronté.

Ce problème est tout d'abord présenté ci-après ; une possible résolution est exposée dans un deuxième point ; enfin, la mise en œuvre effective de cette solution est rapidement détaillée. On trouvera dans Sautory (1991) un traitement plus général ou beaucoup plus précis sur certains points et des références complémentaires.

### Le problème

On dispose d'un échantillon de taille $N$ pour lequel les observations sont repérées par l'indice $i$. Cet échantillon est pondéré ; le poids de l'observation $i$ est noté $p_i$. On recherche une nouvelle pondération $q_i$, « pas trop éloignée de la pondération initiale », de sorte qu'un jeu de contraintes linéaires, avec cette nouvelle pondération, soit exactement vérifié sur cet échantillon. Ces contraintes, en nombre $K$, prennent la forme suivante :

$$ \begin{array}{l} q_1x_{11} + q_2x_{21} + \dots + q_Nx_{N1} = m_1 \\ \vdots \\ q_1x_{1K} + q_2x_{2K} + \dots + q_Nx_{NK} = m_K \end{array} $$

Les $x_{ij}$ peuvent correspondre à une variable indicatrice qui prend la valeur 1 pour dire que l'individu statistique $i$ possède une caractéristique particulière. Dans ce cas, $m_j$ est le nombre agréé d'individus statistiques ayant cette caractéristique que l'on veut exactement obtenir. Par exemple, si l'individu statistique est un ménage (comme dans l'enquête *Revenus fiscaux*), la caractéristique serait une taille particulière du ménage. Les $x_{ij}$ peuvent aussi servir à caler une grandeur continue ; dans ce cas, la marge est la masse agréée de cette quantité continue.

En retenant des notations vectorielles, les contraintes s'expriment :

$$ \sum_{i=1}^{N} q_i x_i = \bar{m} \qquad (1) $$

Nous soulignons les vecteurs pour rendre les formules plus expressives. Ici, $x_i$ est le vecteur colonne de taille $K \times 1$ qui rassemble les $x_{ij}$ pour l'individu $i$ ; de même, $\bar{m}$ est le vecteur de taille $K \times 1$ des marges.

Maintenant, il faut se donner un critère pour rendre compte de l'idée « pas trop éloignée de la pondération
initiale ». La formulation générale suivante est habituellement retenue :

$$
\min_{q_1, \dots, q_N} \sum_{i=1}^{N} p_i f \left( \frac{q_i}{p_i} \right) \quad (2)
$$

où il est exigé que $f(\cdot)$ soit positive, globalement convexe et
minimale en 1 (quand $q_i = p_i$). Formellement, on a $f(u) \ge 0$
$\forall u, f''(u) \ge 0 \forall u$ et $f'(1) = 0$. De plus, pour simplifier les
calculs, on peut normaliser la fonction en prenant $f(1) = 0$
et $f''(1) = 1$.

Un critère de moindres carrés va correspondre à la fonction $f(u) = (u-1)^2/2$. Ce critère a cependant l'inconvénient de ne pas permettre un contrôle très précis de la valeur des nouveaux poids – on peut par exemple obtenir de nouveaux poids qui seraient négatifs, ce qui est particulièrement fâcheux. Aussi la fonction suivante, appelée « logistique » en raison de sa forme, est-elle souvent utilisée :

$$
f(u) = \frac{1}{c} \left( (u-a)\ln\left(\frac{u-a}{1-a}\right) + (b-u)\ln\left(\frac{b-u}{b-1}\right) \right)
$$

avec $c = (b-a)/(1-a)/(b-1)$. La fonction n'est définie que
pour $a < u < b$ ; en effet, ces deux bornes délimitent la
valeur que peut prendre $u$, c'est-à-dire le rapport $q_i/p_i$. En
prenant, par exemple, $a > 0$, on est assuré de ne pas avoir
de nouveaux poids négatifs.

La résolution du problème

Le problème est donc un problème d'optimisation sous contraintes, soluble en recourant à des multiplicateurs de Lagrange. Ces multiplicateurs sont notés $v_j$, $j = 1,...,K$ – il y a autant de multiplicateurs que de contraintes. Les conditions du premier ordre sont :

$$
f'\left(\frac{q_i}{p_i}\right) - v_1 x_{i1} - \dots - v_K x_{iK} = f'\left(\frac{q_i}{p_i}\right) - \underline{v} x_i = 0 \quad \forall i = 1, \dots, N
$$

où $\underline{v}$ est le vecteur de $K \times 1$ de terme $v_j$. Les nouveaux poids s'expriment alors comme suit.

$$
q_i = p_i f^{i-1}(\underline{v}'x_i) \quad \forall i = 1, \dots, N \quad (3)
$$

où $f^{-1}(\cdot)$ est l'inverse de la fonction $f'(\cdot)$ dont l'existence est assurée par les hypothèses retenues.

C'est en reportant dans les contraintes de calage que l'on
peut résoudre en $\underline{v}$ :

$$
\sum_{i=1}^{N} p_i f^{i-1}(\underline{v}' \underline{x}_i) \underline{x}_i = \underline{m} \quad (4)
$$

Dans le cas du critère des moindres carrés, la fonction $f^{-1}(\cdot)$ est de la forme $f^{-1}(u) = 1 + u$. Le problème devient alors linéaire ; en effet, l'expression (4) s'écrit maintenant :

$$
\sum_{i=1}^{N} p_i (1 + \underline{v}' \underline{x}_i) \underline{x}_i = \sum_{i=1}^{N} p_i \underline{x}_i + \sum_{i=1}^{N} p_i \underline{x}_i' \underline{v} = m
$$

$$
\text{soit } \left( \sum_{i=1}^{N} p_i \underline{x}_i \underline{x}_i' \right) \underline{v} = \underline{m} - \underline{\tilde{m}}
$$

en notant $\sum_i p_i x_i = \tilde{m}$ (les valeurs des marges avec la
pondération initiale). On en retire l'expression explicite
de $\underline{v}$ :

$$
\underline{v} = \left( \sum_{i=1}^{N} p_i \underline{x}_i \underline{x}_i' \right)^{-1} (\underline{m} - \underline{\tilde{m}})
$$

Les nouveaux poids qui résultent du critère des moindres
carrés, notés $\hat{q}_i$, s'expriment alors :

$$
\begin{align*}
\hat{q}_i &= p_i (1 + \underline{v}' \underline{x}_i) = p_i + p_i \underline{v}' \underline{x}_i = p_i + p_i \underline{x}_i' \underline{v} = \\
&= p_i + p_i \underline{x}_i' \left( \sum_{j=1}^{N} p_j \underline{x}_j \underline{x}_j' \right)^{-1} (\underline{m} - \underline{\tilde{m}}) \quad \forall i = 1, \dots, N
\end{align*}
$$

En revanche, dans le cas de la fonction dite « logistique », il est nécessaire de résoudre numériquement en $\underline{v}$ l'équation (4). Cette dernière peut se réécrire sous la forme suivante :

$$
\sum_{i=1}^{N} p_i [f^{i-1}(\underline{v}' \underline{x}_i) - 1] \underline{x}_i = m - \underline{\tilde{m}}
$$

où, comme dans le cas précédent, $\tilde{m}$ s'interprète comme
les valeurs des marges avec la pondération initiale. La
résolution numérique peut être réalisée à l'aide de l'algo-
rithme de Newton. Si l'on cherche à résoudre l'équation
$f(x) = \bar{f}$ en $x$, en linéarisant la fonction $f(\cdot)$ au voisinage
de $x_0$, on obtient :

$$
f(x) = \bar{f} \approx f(x_0) + (x - x_0) f'(x_0) \text{ soit } x \approx x_0 - \frac{f(x_0) - \bar{f}}{f'(x_0)}
$$

On en déduit l'algorithme itératif suivant, dit de Newton,
dont le point fixe constitue une solution :

$$
x_j = x_{j-1} - \frac{f(x_{j-1}) - \bar{f}}{f'(x_{j-1})}
$$

où l'indice inférieur $j$ repère le numéro d'itération.

En mettant en œuvre cet algorithme, une itération de ce
dernier s'écrit, dans le cas de notre problème :

$$
\underline{v}_j = \underline{v}_{j-1} - H_{j-1}^{-1} [\underline{g}_{j-1} - (\underline{m} - \underline{\tilde{m}})]
$$

où $H_{j-1}$ et $g_{j-1}$ sont respectivement la matrice des dérivées premières et le vecteur solution, de taille $K \times K$ et $K \times 1$, évalués pour la valeur $v_{j-1}$ de $\underline{v}$. Ces deux grandeurs sont égales, respectivement, à :

$$
H_{j-1} = \sum_{i=1}^{N} p_i f^{i-1}(\underline{v}'_j \underline{x}_i) \underline{x}_i \underline{x}_i' \text{ et } g_{j-1} = \sum_{i=1}^{N} p_i [f^{i-1}(\underline{v}'_j \underline{x}_i) - 1] \underline{x}_i
$$
où $f^{r-1'}(u)$ est la dérivée de la fonction $f^{r-1'}(u)$ par rapport à son argument. On obtient, après quelques manipulations algé-briques un peu fastidieuses, les expressions suivantes :

$$f^{r-1}(u) = \frac{a(b-1) + b(1-a)\exp(cu)}{b-1+(1-a)\exp(cu)} \text{ et}$$

$$f^{r-1}(u) = \frac{(b-a)^2 \exp(cu)}{[b-1+(1-a)\exp(cu)]^2}$$

En prenant $v_0 = 0$, on obtient, du fait des normalisations retenues (on a notamment $f^{r-1}(0) = 1$ et $f^{r-1'}(0) = 1$) :

$$g_0 = 0 \text{ et } H_0 = \sum_{i=1}^{N} p_i \underline{x}_i \dot{x}_i$$

Aussi, $\underline{v}_1$ est-il égal à :

$$\underline{v}_1 = \underline{0} - H_0^{-1} [\underline{g}_0 - (\underline{m} - \tilde{m})] = \left( \sum_{i=1}^{N} p_i \underline{x}_i \dot{x}_i \right)^{-1} (\underline{m} - \tilde{m})$$

On peut alors, au milieu de la première itération, calculer la pondération qui résulterait du critère des moindres carrés :

$$\hat{q}_i = p_i + p_i \underline{x}_i' \left( \sum_{i=1}^{N} p_i \underline{x}_i \dot{x}_i \right)^{-1} (\underline{m} - \tilde{m}) = p_i + p_i \underline{x}_i' \underline{v}_1 \quad \forall i = 1, \dots, N$$

Il est ainsi possible d'utiliser la fonction dite « logistique » et de calculer, au milieu de la première itération, la nouvelle pondération qui résulterait du critère des moindres carrés. On en déduit notamment le nombre de poids qui ne vérifient pas les contraintes imposées par la forme « logistique ».

Les nouvelles marges peuvent ne pas être obtenues dans le cas de la fonction dite « logistique » : en effet, il n'existe pas toujours une nouvelle pondération comprise entre les deux bornes pour laquelle les marges seraient satisfaites. Pour autant, quand le nombre d'individus est élevé, il est facile d'obtenir numériquement la solution en quelques itérations. Cette facilité est un peu trompeuse et il faut s'assurer, dans un premier temps, de la pertinence des marges que l'on cherche à imposer.

## La mise en œuvre de la solution

Nous aurions pu utiliser l'excellente macro Sas « calmar » déjà citée plus haut. Nous voulions toutefois disposer d'une chaîne de traitement complètement intégrée. Par ailleurs, la programmation de l'algorithme avec la fonction dite « logistique » ne nous semblait pas soulever de difficultés insurmontables. Nous avons donc développé une solution nous-même, en langage C++, à l'instar du reste du modèle Myriade.

Les traitements numériques constituent cependant, en informatique, un domaine difficile où le débutant peut facilement rencontrer de grandes déconvenues. Notamment, il n'est pas toujours facile de contrôler, dans les calculs complexes, la propagation des erreurs d'arrondis. En outre, il y a souvent un gain notable à travailler avec des algorithmes spécialisés en lien avec l'architecture de la machine utilisée. Pour ce qui nous concerne, la principale difficulté consiste à inverser, à chaque itération $j$ de l'algorithme de Newton, la matrice $H_j$ suivante :

$$H_j = \sum_{i=1}^{N} p_i \frac{(b-a)^2 \exp(c \underline{v}_j \dot{x}_i)}{[b-1+(1-a)\exp(c \underline{v}_j \dot{x}_i)]^2} \underline{x}_i \dot{x}_i$$

Cette matrice est symétrique et a priori définie positive. Nous avons cherché sur internet une bibliothèque du domaine public, particulièrement réputée, LAPack (pour Linear Algebra Package, voir Anderson et al., 1999). Nous avons même pu récupérer une version prête à l'emploi, c'est-à-dire compilée pour notre machine et notre système d'exploitation.

La bibliothèque LAPack est développée en Fortran en faisant appel aux primitives Blas (Basic Linear Algebra Subprograms), primitives spécialement optimisées en fonction, notamment, du matériel utilisé. Nous faisons appel à la version de la bibliothèque traduite en langage C, version qu'il est alors possible d'utiliser depuis le langage C++. Nous avons recours principalement au sous-programme DPOTRF qui calcule la décomposition de Choleski d'une matrice symétrique définie positive.

La principale difficulté d'ordre pratique que nous avons rencontrée a trait à la gestion des redondances que l'on introduit très naturellement en spécifiant les différentes contraintes de calage. Par exemple, on cherche à caler le modèle sur une ventilation qui croise le sexe, l'activité (en trois postes : actif occupé, chômeur et inactif) et l'âge (en trois grandes tranches : 15-24 ans, 25-49 ans et 50-64 ans). D'un autre côté, on veut être calé sur une pyramide des âges quinquennaux par sexe. Certaines de ces contraintes sont redondantes : par exemple, le nombre de femmes âgées de 15 à 24 ans peut se déduire soit à partir de la première ventilation soit à partir de la pyramide des âges quinquennaux. Ces liens doivent être défaits, sans quoi la matrice $H_j$ ne serait pas inversible. Dans Myriade, nous avons a priori 77 marges exogènes ; nous n'avons cependant que 68 contraintes linéairement indépendantes.

Nous avions ainsi à inverser une matrice symétrique définie positive de taille 68×68, taille relativement élevée qui justifie le recours à la bibliothèque LAPack. Dans le domaine des traitements numériques, la qualité du logiciel ne fait vraiment la différence que lorsque la taille du problème est conséquente.