Le redressement des pondérations d’un échantillon

add\bullet Introduction:

Afin de saisir le principe général du redressement des pondérations il faut se placer dans la théorie des sondages. L’idée d’un plan de sondage est de déterminer la stratégie optimale visant à sélectionner une sous-population E de taille n selon certains critères et qui sera représentative de la la population d’étude de taille N. La raison d’une telle stratégie étant simple et évidente: diminuer le coût d’enquête et plus particulièrement celui du déploiement humain. De plus, il a été prouvé qu’une enquête par sondage pouvait s’avérer plus performante qu’un recensement (qui vise à enquêter toute la population d’étude) et pouvant apporter un taux de non-réponse important et sur lequel le sondeur perd indirectement tout contrôle.

Ainsi, une fois l’enquête terminée, une unité statistique de la base de sondage  devient la voix d’un certain nombre d’unités statistiques non sondées et de profils similaires et se voit attribuer un poids de sondage. Le redressement des pondérations vise donc à réajuster ces poids de sondage initiaux et liés au plan de sondage et, selon des critères définis au préalable, assurer la reproductibilité de la structure de la population d’étude sur la sous-population tirée.

Il convient de toujours parler de « redressement des pondérations » et non simplement de « redressement ». En effet, dans le domaine de la statistique et de la probabilité, le redressement peut également évoquer celui de la non-réponse et qui représente une gamme d’outils à part entière.

Le grand principe des méthodes de redressement des pondérations est assez logique. Il s’agit de partir des totaux (appelés marges) observés sur l’échantillon tiré et de trouver les pondérations visant à assurer l’égalité avec les marges de la population d’étude. Une telle approche soulève forcément un semblant de paradoxe: à quoi sert-il de faire un sondage si j’ai déjà l’information que je veux mesurer? La réponse permet de justifier l’aspect indirecte et fondamental du redressement des pondérations. En fait, il s’agit de déterminer une série de variables de calage (appelées également variables auxiliaires dans le jargon des plans de sondage) sur lesquelles nous pouvons avoir accès à l’information facilement pour la population d’étude et qui est également corrélées à la thématique de l’étude. Par exemple, dans plusieurs études sociales, le sondeur utilise souvent comme variables de calage: le sexe, le niveau de diplôme et les tranches d’âge depuis les résultats du recensement de la population fournis par l’INSEE. Ces variables sont souvent considérées comme les plus neutres et les plus liées aux différentes thématiques sociales.

Les différentes principales méthodes de redressement des pondérations sont:

– la post-stratification simple: lorsque nous avons une ou plusieurs variable(s) auxiliaire(s) qualitative(s),

– l’estimation par le quotient: lorsque nous avons une variable auxiliaire quantitative,

– l’estimation par la régression: lorsque nous avons plusieurs variables auxiliaires quantitatives;

– le calage sur marge, soit la généralisation des trois méthodes ci-dessus. 

\bullet Les méthodes classiques:

Nous commencerons par évoquer les deux principales méthodes connues: la post-stratification et l’estimation par la régression (dont la méthode d’estimation par quotient est un cas particulier).

1) La post-stratification

De toutes les méthodes utilisées pour redresser les pondérations, celle par post-stratification est la plus célèbre. L’algorithme (qui porte le nom de Raking Ratio), consiste simplement à déterminer les pondérations qui permettent de retrouver les marges attendues à partir de celles observées sur l’échantillon. Il reste assez trivial à comprendre et à mettre en oeuvre. Pour cela, il faut considérer le tableau croisé dynamique issu des variables qualitatives observées sur l’échantillon et la table des marges attendues: M.

L’algorithme consiste en un ajustement itératif des différentes marges, les unes après les autres, associées aux différentes modalités k_p des différentes p \in [1, P] variables auxiliaires utilisées. Ainsi, nous avons à l’étape t_p le réajustement suivant pour la marge de la modalité k_p de la variable X ^p sachant que nous avons fixés les p-1 autres variables:

\forall k_p \in [1, K_p], n_{X ^1 = k_1, \cdots, X ^p = k_p, \cdots, X ^P = k_P} ^t = n_{X ^1 = k_1, \cdots, X ^p = k_p, \cdots, X ^P = k_P} ^{t _ 1} \times \frac{M_{X ^p = k_p}}{n_{X ^p = k_p}}

Une fois l’ajustement effectué pour t_p, si les marges recalculées ne sont pas égales à celles attendues (M) nous poursuivons pour t_{p+1}. Si p + 1 > P alors nous reprenons le processus pour la première variable a temps t + 1 et noté (t + 1)_1L’algorithme tourne jusqu’à ce que les marges attendues soit retrouvées.

Les pondérations W redressées sont alors affectées en fonction du croisement de modalités, auxquels appartient l’observation que nous voulons pondérer, et des effectifs n ^t en l’état au moment de l’arrêt de l’algorithme. Nous avons donc:

W_{i; X ^1 = k_1, \cdots, X ^P = k_P} = \frac{1}{n} \cdot \frac{n_{X ^1 = k_1, \cdots, X ^P = k_P} ^t}{n_{X ^1 = k_1, \cdots, X ^P = k_P}}

2) L’Estimation par la régression

L’estimation par quotient (également appelé estimateur par ratio) est un cas particulier de l’estimation par la régression qui est adaptée au cas des variables quantitatives.

L’idée est de partir du principe que pour \mathbf{X} matrice de variables auxiliaires observée, \mathbf{Y} variables d’intérêt attendues et \mathbf{U} résidus  dont la somme donne 0 (et qui par convention, sont des valeurs proches de 0), nous avons l’équation suivante qui relie \mathbf{X} à \mathbf{Y}:

\forall i \in E; \mathbf{Y}_i = a + b \cdot \mathbf{X}_i + \mathbf{U}_i

Il existe une infinité de couples (a, b) solutions du système ci-dessus. Par exemple, si nous nous retrouvons dans le cas de l’estimateur par quotient pour une variable auxiliaire, alors le couple solution peut être (0, \frac{\overline{Y}}{\overline{X}}). Une méthode plus générale, celle des moindres carrés, donne la formule type suivante pour déterminer un couple solution:

\hat{\hat{b}} = \frac{\sum_{i = 1} ^n (\mathbf{X}_i - \overline{\mathbf{x}}) \cdot (\mathbf{Y}_i - \overline{\mathbf{y}})}{\sum_{i = 1} ^n (\mathbf{X}_i - \overline{\mathbf{x}}) ^2}

\hat{\hat{a}} = \overline{\mathbf{y}} - \hat{\hat{b}} \cdot \overline{\mathbf{x}}

Par conséquent, les poids de redressement W sont de la forme,

W_i = \frac{1}{n} + (\overline{\mathbf{X}} - \overline{\mathbf{x}}) \cdot \frac{\mathbf{X}_i - \overline{\mathbf{x}}}{\sum_{i \in E} (\mathbf{X}_i - \overline{\mathbf{x}}) ^2}

, qui peuvent être négatifs étant donné la forme de W_i. Cette situation reste tout de même rare et sans réelle logique si nous nous limitons au principe de la pondération. Néanmoins, au sens statistique, la conservation de pondérations négatives trouve toute son importance dans le gain de variance que peut amener la méthode d’estimation par la régression. 

\bullet Le CALage sur MARges:

Le calage sur marge est une généralisation de l’ensemble des méthodes de redressement des pondérations. Nous lui dédions sa propre partie.

Le problème:

Utiliser le calage sur marge revient à trouver une solution au problème suivant:

Soit notre échantillon E de taille n obtenu suite à une méthode de sondage quelconque (ce qui constitue une hypothèse d’utilisation essentiel tout de même) depuis notre population d’étude de taille N. Nous disposons alors des pondérations initiales p_i, \forall i \in E et du tableau des marges (ou pour être plus concret: celui des totaux)  attendues M et correspondant aux variables auxiliaires choisies et sur lesquelles caler notre échantillon. Nous cherchons donc à redresser nos pondérations initiales p = (p_1, \cdots, p_n) vers de nouvelles pondérations W = (W_1, \cdots, W_n) tel que la structure de la population d’étude soit retrouvée à partir de la pondération par W de E.

La contrainte à respecter est alors que les  | W_i - p_i |, \forall i soient les plus proches possibles de 0 étant donné que les p_i ont été déterminées selon un plan de sondage garantissant des estimateurs sans biais.

La procédure:

Nous partons donc du système d’équations, dépendant des poids initiaux p, suivant:

\begin{cases} \sum_{i \in E} p_i \cdot X_i ^1 \neq \sum_{i = 1} ^N X_i ^1 \\ \vdots \\ \sum_{i \in E} p_i \cdot X_i ^P \neq \sum_{i = 1} ^N X_i ^P \end{cases}

, et cherchons à déterminer le vecteur des W tel que,

\begin{cases} \sum_{i \in E} W_i \cdot X_i ^1 = \sum_{i = 1} ^N X_i ^1 \\ \vdots \\ \sum_{i \in E} W_i \cdot X_i ^P = \sum_{i = 1} ^N X_i ^P \end{cases}

Pour cela, nous commençons par introduire une distance D(.,.) reliant les pondérations initiales p_i aux pondérations finales W_i, ce qui nous mène au problème d’optimisation suivant:

– minimiser \sum_{i \in E} D(W_i, p_i),

– sous contrainte que \forall p \in [1,P], \sum_{i \in E} W_i \cdot X_i ^p = \sum_{i = 1} ^N X_i ^p.

Ce problème se résout en deux temps:

1) Fixer une fonction F(.), reliée à D, et ayant quelques bonnes propriétés mathématiques. Nous résolvons alors l’équation suivante en déterminant le vecteur des multiplicateurs de Lagrange \lambda = (\lambda_1, \cdots, \lambda_P) et solution du système:

\begin{cases} \sum_{i \in E} p_i \cdot F(X_i ^1 \cdot \lambda_1) \cdot X_i ^1 = \sum_{i = 1} ^N X_i ^1 \\ \vdots \\ \sum_{i \in E} p_i \cdot F(X_i ^P \cdot \lambda_P) \cdot X_i ^P = \sum_{i = 1} ^N X_i ^P \end{cases}

2) Une fois le vecteur de nombres réels \lambda déterminés, nous pouvons calculer:

\forall i \in E: W_i = p_i \cdot F(\mathbf{X}_i \cdot \lambda)

Notons qu’il n’existe pas vraiment de critère pour le choix de la distance D et de la fonction lien F puisque les méthodes restent équivalentes. Généralement, nous choisissons la méthode pour laquelle nous obtenons:

– le plus de poids finaux W proches des poids initiaux p

– le moins de poids finaux W < 0,

– une dispersion des poids finaux var(W) \rightarrow 0.

Les différentes fonctions de lien F

F(.) est donc assimilable au coefficient multiplicateur des poids d’origine p permettant le redressement en W. Les différentes formes qui relient F à D sont:

– La méthode Linéaire: D(W_i, p_i) = \frac{(W_i - p_i) ^2}{p_i} et F(X) = 1 + X.

Nous retrouvons là le cas particulier de l’estimation par régression. La méthode linéaire présente l’avantage d’être très simple pour la résolution du système, contrairement aux autres méthodes qui opèrent par approximation. A noter qu’il s’agit de la seule méthode pouvant générer des pondérations redressées négatives.

– La méthode du Raking Ratio: D(W_i, p_i) = W_i \cdot Log (\frac{W_i}{p_i}) + p_i - W_i et F(X) = e ^X.

Nous retrouvons là le cas particulier de la post-stratification par algorithme du Raking Ratio. La méthode génère des pondérations exclusivement positives mais ne permet pas de contrôler plus optimalement la dispersion des W que la méthode linéaire.

– La méthode linéaire tronquée pour le couple de bornes (B_{inf}, B_{sup}) \in R ^+ fixé au préalable: D(W_i, p_i) est égale à la méthode linéaire si B_{inf} \leq \frac{W_i}{p_i} \leq B_{sup}, sinon +\infty.

Et F(X) est égale à la méthode linéaire si B_{inf} - 1 \leq X \leq B_{sup} - 1, à B_{inf} si X < B_{inf} - 1, B_{sup} si X > B_{sup} - 1.

– La méthode logistique pour le couple de bornes (B_{inf}, B_{sup}) \in R ^+ fixé au préalable: D(W_i,p_i) = (W_i - B_{inf} \cdot p_i) \cdot log(\frac{\frac{W_i}{p_i} - B_{inf}}{1 - B_{inf}}) + (B_{sup} \cdot p_i - W_i) \cdot log(\frac{B_{sup} - \frac{W_i}{p_i}}{B_{sup} - 1}) si B_{inf} \leq \frac{W_i}{p_i} \leq B_{sup}, sinon +\infty.

Et F(X) = \frac{B_{inf} \cdot (B_{sup} - 1) + B_{sup} \cdot (1 - B_{inf}) e ^{c \cdot X}}{B_{sup} - 1 + (1 - B_{inf}) \cdot e ^{c \cdot X}} avec c = \frac{B_{sup} - B_{inf}}{(1 - B_{inf}) \cdot (B_{sup} - 1)}.

A noter que la définition de la méthode logistique en fait également une méthode tronquée. Ces dernières ont pour avantage de pouvoir fixer les bornes (B_{inf}, B_{sup}) qui limitent la dispersion des pondérations W et empêchent ainsi des pondérations trop petites ou trop grandes.

\bullet Présentation et convergence pour F et D:

Nous proposons ici de rentrer plus en détail dans les quatre différentes approches du calage sur marges. Chaque approche a ses qualités et ses défauts, ce qui est la raison principale de l’absence de réel critère de sélection.

Soit,

\mathbf{X} la matrice composée de vecteurs de variables continues et/ou qualitatives. En présence de variables qualitatives il faudra considérer dans \mathbf{X} le tableau disjonctif complet issu de ces variables,

p = (p_1, \cdots, p_n) le vecteur des poids initiaux associés aux différentes unités statistiques de l’échantillon E, soit ceux calculés suite au plan de sondage,

M le vecteur contenant les marges de la population d’étude. Dans le cadre de variables qualitatives de calage, il s’agira des effectifs pour les différentes modalités par variable qualitative. Dans le cadre de variable quantitative, il s’agira de leur somme respective.

W = (W_1, \cdots, W_n) le vecteur des poids redressés finaux.

Comme nous l’avons vu, l’objectif du calage sur marges est de déterminer les multiplicateurs de Lagrange \lambda et solution du système:

\begin{cases} \sum_{i \in E} p_i \cdot F(X_i ^1 \cdot \lambda_1) \cdot X_i ^1 = \sum_{i = 1} ^N X_i ^1 \\ \vdots \\ \sum_{i \in E} p_i \cdot F(X_i ^P \cdot \lambda_P) \cdot X_i ^P = \sum_{i = 1} ^N X_i ^P \end{cases}

, chaque méthode dispose de son propre algorithme afin d’y parvenir.

1) Pour la méthode linéaire:

Soit,

\lambda = [(\mathbf{X} \cdot p) ^t \cdot \mathbf{X}] ^{-1} \cdot [\mathbf{M} - p ^t \cdot \mathbf{X}]

, par conséquent le vecteur des poids finaux est:

W = 1 + (\mathbf{X} \cdot \lambda)

Comme nous l’avions précisé, la méthode linéaire est simple. Les poids peuvent en effet être négatifs car \lambda dépend du terme \mathbf{M} - p ^t \cdot \mathbf{X} qui peut être négatif si la marge attendue est inférieur à celle observée. Ce résultat est assez logique puisque l’idée du redressement des pondérations est de gonfler ces dernières pour faire tendre les totaux vers une valeur plus grande (N >>>> n). Dans le cas où la valeur attendue est plus petite que la valeur observée il reste assez logique que le modèle va intégrer des termes négatifs afin d’équilibrer l’équation linéaire.

Concernant les éventuels problèmes de convergence, l’algorithme se base sur l’estimation des paramètres d’un modèle linéaire, elle est donc assurée quelque soit la situation.

2) La méthode du Raking Ratio:

La méthode du Raking Ratio est un algorithme itératif de résolution de \lambda.

La phase d’initialisation consiste à mettre \lambda, W = 0, fixer le nombre d’itérations maximale maxI et définir la tolérance \epsilon qui servira à déterminer si les marges recalculées sont suffisamment proches des marges attendues pour arrêter l’algorithme et décider s’il y a eu convergence.

Donc, à l’itération t \leq maxI, nous avons tout d’abord la procédure de vérification visant à comparer les marges recalculées avec les pondérations W ^{t - 1} et les marges attendues de M. Si elles ne sont pas toutes égales à \epsilon prés nous déployons la procédure ci-dessous pour l’étape en cours:

\begin{cases} \mbox{a - Calculer: } \lambda ^t = \lambda ^{t - 1} - [(\mathbf{X} \cdot W ^{t - 1})' \cdot \mathbf{X}] ^{-1} \cdot (\mathbf{X}' \cdot W ^{t - 1} - M) \\ \mbox{b - Calculer: } W ^t = p \cdot e ^{\mathbf{X} \cdot \lambda ^t} \end{cases}

L’algorithme Raking Ratio génère des poids exclusivement positif étant donné le passage à l’exponentielle pour la détermination de W.

L’algorithme diverge si \nexists t tel que | max(\frac{\mathbf{X} ' \cdot W ^t - \mathbf{M}}{\mathbf{M}}) | < \epsilon. Il suffit donc qu’une seule marge recalculée soit trop éloignée de celle attendue. Or, il s’agit là probablement du principal défaut de cet algorithme, l’application de la fonction exponentielle aura tendance à faire exploser un peu trop rapidement le vecteur W l’empêchant de converger.

3) La méthode linéaire tronquée:

La méthode linéaire tronquée est un algorithme itératif de résolution de \lambda.

La phase d’initialisation consiste à fixer les bornes B_{inf}, B_{sup} de l’intervalle de variation de W, puis à initialiser \lambda, W avec la procédure de la méthode linéaire de base. Enfin, nous fixons maxI le nombre d’itérations permettant de déterminer la convergence ou non de l’algorithme.

A noter qu’aussi bien pendant la phase d’initialisation que les autres étapes t, l’algorithme filtre les poids n’étant pas dans l’intervalle [B_{inf}, B_{sup}]. Ainsi, avant chaque déploiement de nouvelle étape, l’algorithme recherche les poids W ^t (égal à p s’il s’agit de la première itération) \notin [B_{inf}, B_{sup}] et les fixes aux bornes. Ainsi,

– si \exists i \in E, W_i ^t \mbox{ou } p_i < B_{inf} \Rightarrow W_i ^t \mbox{ou } p_i = B_{inf}

– si \exists i \in E, W_i ^t \mbox{ou } p_i > B_{sup} \Rightarrow W_i ^t \mbox{ou } p_i = B_{sup}

Donc, à l’itération t \leq maxI, nous avons tout d’abord la procédure de sélection des poids, seules ceux non réajustés en fonction des bornes sont conservés pour les calculs (la restriction sera indiquée par un astérisque). Puis la procédure de vérification visant à comparer les marges recalculées avec les pondérations W ^{t - 1} et les marges attendues M. Si elles ne sont pas toutes égales à \epsilon prés nous déployons la procédure ci-dessous pour l’étape en cours:

\begin{cases} \mbox{a - Calculer: } \lambda ^t = (\mathbf{X *} ' \cdot p * \cdot \mathbf{X *}) ^{-1} \cdot (p * \cdot \mathbf{X *} - M + W * ^{t - 1} \cdot p * \cdot \mathbf{X *}) \\ \mbox{b - Calculer: } W * ^t = 1 + \mathbf{X *} \cdot \lambda ^t \end{cases}

Les pondérations varient donc dans l’intervalle [B_{inf}, B_{sup}] puisque l’algorithme réajuste aux bornes les pondérations p puis W. Par conséquent la méthode, bien que linéaire à la base, ne génère plus de valeurs négatives.

Concernant la convergence, il est évident que le choix des bornes vont avoir une importance particulière puisque l’algorithme ne traite que les poids qui ne seront pas réajusté et donc qui appartiennent à [B_{inf}, B_{sup}]. Outre ce détail, la convergence de l’algorithme devrait être assurée étant donné qu’il se base sur la régression linéaire qui ne souffre pas de complication pour estimer les paramètres.

4) La méthode logistique

La méthode logistique est un algorithme itératif de résolution de \lambda.

La phase d’initialisation consiste à fixer les bornes B_{inf}, B_{sup} de l’intervalle de variation de W, puis à initialiser:

\begin{cases} c = \frac{B_{inf} - B_{sup}}{(1 - B_{inf}) \cdot (B_{sup} - 1)} \\ W=\frac{B_{inf} \cdot (B_{sup} - 1) + B_{sup} \cdot (1 - B_{inf})}{B_{sup} - B_{inf}} \\ \lambda = 0 \end{cases}

Enfin, nous fixons maxI le nombre d’itérations permettant de déterminer la convergence ou non de l’algorithme.

A noter lors de chaque nouvelle étape t, l’algorithme filtre les poids n’étant pas dans l’intervalle [B_{inf}, B_{sup}]. Avant chaque déploiement de nouvelle étape, l’algorithme recherche les poids W ^t \notin [B_{inf}, B_{sup}] et les fixes aux bornes, ainsi,

– si \exists i \in E, W_i ^t < B_{inf} \Rightarrow W_i ^t = B_{inf}

– si \exists i \in E, W_i ^t > B_{sup} \Rightarrow W_i ^t = B_{sup}

De plus, la méthode logistique modifie la table des marges M en lui soustrayant les totaux pondérés des observations retirées de \mathbf{X},

M * = M - (W * ^{t - 1} \cdot p *)' \cdot \mathbf{X *}

Donc, à l’itération t \leq maxI, nous avons tout d’abord la procédure de sélection des poids, seules ceux non réajustés en fonction des bornes sont conservés pour les calculs (la restriction sera indiquée par un astérisque). Puis la procédure de vérification visant à comparer les marges recalculées avec les pondérations W ^{t - 1} et les marges attendues M *. Si elles ne sont pas toutes égales à \epsilon prés nous déployons la procédure ci-dessous pour l’étape en cours:

\begin{cases} \mbox{a - Calculer: } \lambda ^t = \lambda ^{t - 1} - [(\mathbf{X *} \cdot p * \cdot W * ^{t - 1})' \cdot \mathbf{X *}] ^{-1} \cdot (\mathbf{X *} ' \cdot p * \cdot W * ^{t - 1} - M * + p * ^t \cdot \mathbf{X *}) \\ \mbox{b - Calculer: } U ^t = e ^{c \cdot \mathbf{X *} \cdot \lambda ^t} \\ \mbox{c - Calculer: } W ^t = \frac{B_{inf} \cdot (B_{sup} - 1) + B_{sup} \cdot (1 - B_{inf}) \cdot U ^t }{B_{sup} - 1 + (1 + B_{inf}) \cdot U ^t} \end{cases}

A l’instar de la méthode du Raking Ratio, l’intervention de l’exponentielle va permettre d’assurer la positivité des coefficients.

Concernant la convergence, ce qui fait la force de la méthode logistique va également être sa faiblesse. La fonction exponentielle augmente les chances de rapidement faire exploser les pondérations W, néanmoins les bornes [B_{inf}, B_{sup}] présentent l’avantage de fournir un intervalle permettant de diminuer les chances d’être dans cette situation.

\bullet Exemple:

Soit l’échantillon suivant E:

add

, obtenu suite à un sondage mené sur une sous-population de taille n = 15 et tirée aléatoirement selon une méthode quelconque depuis une population d’étude de taille N = 230. E se décrit donc au travers des variables X^1 qualitative et X ^2 quantitative et de la colonne p = pond qui présente les différents poids de sondage.

Le travail bibliographique mené sur la population d’étude nous permet d’avoir sous la main la table des marges réelles suivantes M:

add

Nous avons donc,

\mathbf{X} = \begin{pmatrix} 1 & 0 & 150 \\ 1 & 0 & 360 \\ 1 & 0 & 250 \\ 0 & 1 & 300 \\ 1 & 0 & 320 \\ 0 & 1 & 350 \\ 1 & 0 & 160 \\ 0 & 1 & 220 \\ 1 & 0 & 210 \\ 0 & 1 & 160 \\ 1 & 0 & 270 \\ 0 & 1 & 250 \\ 1 & 0 & 210 \\ 1 & 0 & 180 \\ 1 & 0 & 160 \end{pmatrix}

et, 

\mathbf{M} = \begin{pmatrix} 140 & 90 & 47000 \end{pmatrix}

p = (10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20)

1) Redressement des pondérations par la méthode linéaire:

Pour l’application de la méthode linéaire il faut, dans un premier temps, calculer:

\lambda = [(\mathbf{X} \times p)' \times \mathbf{X}] ^{-1} \times (\mathbf{M} - p' \times \mathbf{X})

= \begin{pmatrix} 150 & 0 & 33000 \\ 0 & 80 & 19100 \\ 33000 & 19100 & 12663000 \end{pmatrix} ^{-1} \times \begin{pmatrix} - 10 \\ 10 \\ -5100 \end{pmatrix}

= \begin{pmatrix} 1.313431213 \\ 1.622719858 \\ -0.06273172 \end{pmatrix}

Les multiplicateurs de Lagrange \lambda étant déterminés, il nous reste plus qu’à redresser les p en W grâce à \lambda. Par conséquent,

W = 1 + \mathbf{X} \times \lambda = 1 + \begin{pmatrix} 0.37245586 \\ -0.944910772 \\ \vdots \\ 0.18426022 \\ 0.30972366 \end{pmatrix} = \begin{pmatrix} 1.37245539 \\ 0.05508923 \\ 0.74513817 \\ 0.74076820 \\ 0.30601612 \\ 0.42710960 \\ 1.30972366 \\ 1.24262198 \\ 0.99606506 \\ 1.61901231 \\ 0.61967472 \\ 1.05442681 \\ 0.99606506 \\ 1.18426022 \\ 1.30972366 \end{pmatrix}

2) La méthode Raking Ratio

Nous initialisons \lambda ^0 = (0, \cdots, 0), W ^0 = p et fixons maxI à un nombre quelconque pour cet exemple. Lançons la procédure itérative.

Pour l’itération N°1, nous avons donc:

\lambda ^1 = \lambda ^0 - [(\mathbf{X} \cdot W ^{t - 1})' \cdot \mathbf{X}] ^{-1} \cdot (\mathbf{X}' \cdot W ^{t - 1} - \mathbf{M})

= \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix} - \begin{pmatrix} 150 & 0 & 33000 \\ 0 & 80 & 19100 \\ 33000 & 19100 & 12663000 \end{pmatrix} ^{-1} \times \begin{pmatrix} 10 \\ -10 \\ 5100 \end{pmatrix}

= \begin{pmatrix} 1.313431213 \\ 1.622719858 \\ -0.006273172 \end{pmatrix}

Et donc,

W ^1 = p \times e ^{\mathbf{X} \times \lambda ^1} = \begin{pmatrix} 10 \\ 10 \\ \vdots \\ 20 \\ 20 \end{pmatrix} \times \begin{pmatrix} 1.4512937 \\ 0.3887143 \\ \vdots \\ 1.2023287 \\ 1.3630484 \end{pmatrix} = \begin{pmatrix} 14.512937 \\ 3.887143 \\ \vdots \\ 24.046573 \\ 27.260968 \end{pmatrix}

L’itération N° 1 est achevée, nous regardons si les marges recalculées grâce à W ^{1} s’approche de celles de \mathbf{M},

\mathbf{X} ' \times W ^1 - \mathbf{M} = \begin{pmatrix} 9.59985 >>>> 0 \\ 7.10767 >>>> 0 \\ 4161.32358 >>>> 0 \end{pmatrix}

Pour cette première itération la distance entre les marges recalculées et les marges attendues restent considérables. Par conséquent, nous poursuivons la procédure itérative jusqu’à ce nous ayons convergé vers les marges attendues.

Pour l’itération N° 2 nous obtenons la différence entre marges recalculées avec W ^2 et marges attendues M suivante,

\mathbf{X} ' \times W ^2 - M = \begin{pmatrix} 0.4819199 > 0 \\ 0.3975174 > 0 \\ 245.1318572 >>>> 0 \end{pmatrix}

Pour l’itération N° 3 nous obtenons la différence entre marges recalculées avec W ^3 et marges attendues M suivante,

\mathbf{X} ' \times W ^3 - M = \begin{pmatrix} 0.002740598 > 0 \\ 0.002427357 > 0 \\ 1.501063415 > 0 \end{pmatrix}

Pour l’itération N° 4 nous obtenons la différence entre marges recalculées avec W ^4 et marges attendues M suivante,

\mathbf{X} ' \times W ^4 - M = \begin{pmatrix} 0.000000171574 \approx 0 \\ 0.0000001062141 \approx 0 \\ 0.00006496802 \approx 0 \end{pmatrix}

L’algorithme a donc convergé en quatre itérations, nous obtenons donc:

W = W ^4 = \begin{pmatrix} 14.366193 \\ 3.031181 \\ 6.848029 \\ 6.499062 \\ 4.076827 \\ 4.487068 \\ 13.340253 \\ 23.512650 \\ 18.420695 \\ 36.674757 \\ 11.809740 \\ 18.826463 \\ 18.420695 \\ 23.005880 \\ 26.680507 \end{pmatrix}

3) La méthode linéraire tronquée

Pour la phase d’initialisation nous fixons B_{inf} = 0.3, B_{sup} = 1.8 pour la variation des W. Nous reprenons ensuite les pondérations calculées par la méthode linéaire de base et initialisons,

W ^1= (1.37245539, \cdots, 1.30972366)

Enfin, nous fixons maxI à un nombre quelconque pour cet exemple. Lançons la procédure itérative.

Nous démarrons l’itération N° 1. L’étape préliminaire de chaque itération demande de prendre W et de borner ses valeurs en fonction de B_{inf}, B_{sup}. Par conséquent nous remarquons que seul: W_2 = 0.05508923 est hors des bornes, nous fixons donc W_2 = B_{inf} = 0.3. Pour la suite de l’application, nous poserons W*, \mathbf{X} *, p*, respectivement, le vecteur des poids redressés, la matrice de données et les pondérations initiales privés de l’observation N° 2.

Nous avons alors,

\lambda ^1 = (\mathbf{X *} ' \cdot p * \cdot \mathbf{X *}) ^{-1} \cdot (p * \cdot \mathbf{X *} - M + W * ^{t - 1} \cdot p * \cdot \mathbf{X *})

= \begin{pmatrix} 140 & 0 & 29400 \\ 0 & 80 & 19100 \\ 29400 & 19100 11367000 \end{pmatrix} ^{-1} \times \begin{pmatrix} -3 \\ 10 \\ -2580 \end{pmatrix}

= \begin{pmatrix} 1.417836686 \\ 1.761307525 \\ -0.006853644 \end{pmatrix}

Nous pouvons désormais calculer les nouvelles pondérations,

W * ^1 = 1 + \mathbf{X *} \times \lambda ^1 = 1 + \begin{pmatrix} 0.38979007 \\ -0.29557433 \\ \vdots \\ 0.18418075 \\ 0.32125363 \end{pmatrix} = \begin{pmatrix} 1.3897901 \\ 0.7044257 \\ \vdots \\ 1.1841808 \\ 1.3212536 \end{pmatrix}

Enfin,

W ^1 = (W_1 * ^1, W_2 ^1 = B_{inf}, W_3 * ^1, \cdots, W_15 * ^1) = (1.3897901, 0.3, 0.7044257, 0.7052143, 0.2246706, \cdots, 1.3212536)

Nous constatons que W_5 ^1 = 0.2246706 < B_{inf}, par conséquent nous allons recourir à une nouvelle itération qui visera à borner W_5 ^1 tout en cherchant l’égalité des marges observées et attendues.

Pour l’itération N° 2, nous avons donc deux pondérations qui sont hors des bornes B_{inf}, B_{sup} donc nous ne traitons que les observations N° 1, 3, 4, 6, 7, \cdots, 15. Les observations N° 2, 6 étant fixées à B_{inf}. Nous obtenons

W ^2 = (1.393467 ,0.3, 0.6900262, 0.6943387, 0.3, \cdots, 1.3228347)

, dont tous les poids sont bien dans l’intervalle [B_{inf}, B_{sup}]. Enfin, pour savoir si nous devons procéder à une nouvelle itération, nous vérifions si les marges recalculées à partir de W ^2 sont suffisamment proches de celles attendues dans M,

\mathbf{X} ^t \times W ^2 - M = \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} - \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}

Par conséquent, l’algorithme a bien convergé en deux itérations et sous contrainte de respecter l’intervalle fixé pour les pondérations possibles de W. Nous avons donc,

W = W ^2 = \begin{pmatrix} 1.3931467 \\ 0.3 \\ 0.6900262 \\ 0.6943387 \\ 0.3 \\ 0.3427784 \\ 1.3228347 \\ 1.2568351 \\ 0.9712744 \\ 1.6787074 \\ 0.5494021 \\ 1.0458989 \\ 0.9712744 \\ 1.1822106 \\ 1.3228347 \end{pmatrix}

4) La méthode logistique

Pour la phase d’initialisation nous fixons B_{inf} = 0.3, B_{sup} = 1.8 pour la variation des W. Ensuite, nous fixons maxI à un nombre quelconque pour cet exemple. Nous devons également calculer,

\begin{cases} c = \frac{0.3 - 1.8}{(1 - 0.3) \cdot (1.8 - 1)} = 2.678571 \\ W ^0 = \frac{0.3 \cdot (1.8 - 1) + 1.8 \cdot (1 - 0.3)}{1.8 - 0.3} = 1 \\ \lambda = 0 \end{cases}

Enfin, nous vérifions si les poids W intialisés ne suffisent pas à la convergence de l’algorithme,

\mathbf{X} ' \times W ^0 - \mathbf{M} = \begin{pmatrix} 150 \\ 80 \\ 52100 \end{pmatrix} - \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} = \begin{pmatrix} 10 >>>> 0 \\ -10 <<<< 0 \\ 5100 >>>> 0 \end{pmatrix}

Ce n’est pas le cas, nous lançons la procédure itérative.

Nous démarrons l’itération N° 1. L’étape préliminaire de chaque itération demande de prendre W et de borner ses valeurs en fonction de B_{inf}, B_{sup}. Pour cette itération, les poids W valent tous égaux à 1 et sont donc inclus dans l’intervalle. La table des marges M est modifiée dans le cas où au moins un poids W n’appartient pas à l’intervalle fixé. Ce qui n’est pas le cas ici, par conséquent,

M * = M

Et \mathbf{X *} = \mathbf{X}, W * = W et p * = p pour la même raison.

Nous pouvons donc calculer,

\lambda ^1 = \lambda ^0 - [(\mathbf{X *} \cdot p * \cdot W * ^0)' \cdot \mathbf{X *}] ^{-1} \cdot (\mathbf{X *} ' \cdot p * \cdot W * ^0 - M * + p * \cdot \mathbf{X *})

= \begin{pmatrix} 0 \\ 0 \\ \end{pmatrix} - \begin{pmatrix} 150 & 0 & 33000 \\ 0 & 80 & 19100 \\ 3300 & 19100 & 12663000 \end{pmatrix} ^{-1} \times \begin{pmatrix} 10 \\ -10 \\ 5100 \end{pmatrix}

= \begin{pmatrix} 2.7612571 \\ 3.42642009 \\ -0.01330438 \end{pmatrix}

Nous pouvons ainsi déterminer,

U ^1 = e ^{c \times \mathbf{X *} \times \lambda ^1} = e ^{2.678571 \times \begin{pmatrix} 0.76560211 \\ -2.02831713 \\ \vdots \\ 0.36647079 \\ 0.63255834 \end{pmatrix}} = \begin{pmatrix} 7.77349559 \\ 0.00437000 \\ \vdots \\ 2.66877134 \\ 5.44312147 \end{pmatrix}

Et,

W ^1 = \frac{0.3 \times (1.8 - 1) + 1.8 \times (1 - 0.3) \times \begin{pmatrix} 7.77349559 \\ 0.00437000 \\ \vdots \\ 2.66877134 \\ 5.44312147 \end{pmatrix}}{(1.8 - 1 + (1 - 0.3) \times \begin{pmatrix} 7.77349559 \\ 0.0043700 \\ \vdots \\ 2.66877134 \\ 5.44312147 \end{pmatrix}} = \begin{pmatrix} 1.3552801 \\ 0.3976475 \\ \vdots \\ 1.1835689 \\ 1.3009790 \end{pmatrix}

Nous constatons que l’ensemble des poids W ^1 sont dans l’intervalle [B_{inf}, B_{sup}]. Il nous reste à vérifier si les marges recalculées à partir de W ^1 sont suffisamment proches de celle attendues M. Nous avons,

\mathbf{X} ' \times W ^1 - M = \begin{pmatrix} 145.67357 \\ 89.45847 \\ 49117.01517 \end{pmatrix} - \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} = \begin{pmatrix} 5.6735740 >>>> 0 \\ -0.5415341 < 0 \\ 2117.0151703 >>>> 0 \end{pmatrix}

Etant donné la trop grande différence entre les deux marges, nous poursuivons l’algorithme itératif jusqu’à ce que les deux conditions soient remplies.

Nous obtenons donc:

– Pour l’itération N°2, W ^2 = (1.3959632, 0.3438108 \cdots, 1.1816716, 1.3296580), nous avons zéro poids hors de l’intervalle [0.3, 1.8] et la différence entre marges recalculées à partir de W ^2 et marges attendues M donne,

\mathbf{X} ' \times W ^2 - M = \begin{pmatrix} 140.38621 \\ 87.94418 \\ 46971.57196 \end{pmatrix} - \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} = \begin{pmatrix} 0.3862149 > 0 \\ -2.0558175 <<<< 0 \\ -28.4280384 <<<< 0 \end{pmatrix}

– Pour l’itération N°3, W ^3 = (1.4160877, 0.3338588 \cdots, 1.1895082, 1.3467227), nous avons zéro poids hors de l’intervalle [0.3, 1.8] et la différence entre marges recalculées à partir de W ^3 et marges attendues M donne,

\mathbf{X} ' \times W ^3 - M = \begin{pmatrix} 139.8655 \\ 88.5988 \\ 46823.8668 \end{pmatrix} - \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} = \begin{pmatrix} -0.1345485 < 0 \\ -1.4012000 < 0 \\ -176.1332391 < 0 \end{pmatrix}

\vdots

– Pour l’itération N°22, W ^{22} = (1.4398983, 0.3263306, \cdots, 1.2026114, 1.3682038), nous avons zéro poids hors de l’intervalle [0.3, 1.8] et la différence entre marges recalculées à partir de W ^{22} et marges attendues M donne,

\mathbf{X} ' \times W ^{22} - M = \begin{pmatrix} 139.99999 \\ 89.99994 \\ 46999.99046 \end{pmatrix} - \begin{pmatrix} 140 \\ 90 \\ 47000 \end{pmatrix} = \begin{pmatrix} -0.000009395427 \approx 0 \\ -0.00006018689 \approx 0 \\ -0.000953811 \approx 0 \end{pmatrix}

Par conséquent, l’algorithme converge au bout de 22 itérations et les poids redressés sont,

W = W ^{22} = \begin{pmatrix} 1.4398983 \\ 0.3263306 \\ 0.61798952 \\ 0.6268710 \\ 0.3685640 \\ 0.4126877 \\ 1.3682038 \\ 1.3004038 \\ 0.9285075 \\ 1.6467703 \\ 0.5116785 \\ 1.03330436 \\ 0.9285075 \\ 1.2026114 \\ 1.3682038 \end{pmatrix}

\bullet Application informatique:

– sous SAS: http://www.insee.fr/fr/methodes/default.asp?page=outils/calmar/accueil_calmar.htm

– sous R: http://maths.cnam.fr/IMG/txt/Exemple_calage_avec_R_cle4611bd.txt

\bullet Bibliographie:

– Les techniques de sondages de Pascal Ardilly

– Probabilité, analyse des données et statistique de Gilbert Saporta

– La macro CALMAR. Redressement d’un échantillon par calage sur Marges d’ Olivier Sautory