\vspace{-0.5cm} L'estimation de variance est une opération qui gagne en importance dans le \strong{processus de production d'une enquête}:
\pause \strong{Remarque} Cette présentation porte sur une composante parmi d'autres de l'imprécision associée à un processus d'enquête.
\pause Cette contribution présente:
\large \tableofcontents[sectionstyle=show/show, subsectionstyle=hide/hide/hide]
\pause \strong{Plan de sondage}
\pause \bigskip \strong{Méthodes d'estimation}
\pause \bigskip \strong{Estimateurs}
\pause Poulpe (\strong{P}rogramme \strong{O}ptimal et \strong{U}niversel pour la \strong{L}ivraison de la \strong{P}récision des \strong{E}nquêtes) est une macro SAS de calcul de précision présentée lors des 6$^\text{ème}$ JMS (1998):
\pause \bigskip La présente contribution \strong{s'appuie sur les travaux associés à Poulpe} avec quelques différences notables:
### \large Nouvelle proposition (1): procéder en deux étapes
Difficultés de l'estimation de variance en pratique:
\pause \bigskip \strong{Proposition organisationnelle}: bien distinguer \strong{deux étapes}
\pause \strong{Méthodologue}: analyse méthodologique, mobilisation de l'information auxiliaire, construction d'un \strong{programme d'estimation de variance} raisonnablement exact;
\pause \strong{Responsable d'enquête, chargé(e) d'étude}: utilisation du programme d'estimation dans le cadre d'études ou pour répondre à des obligations réglementaires.
\strong{Conséquence} : les programmes d'estimation de variance doivent donc
\bigskip \pause \strong{Proposition technique}: package R \strong{G}ustave: a \strong{U}ser-oriented \strong{S}tatistical \strong{T}oolkit for \strong{A}nalytical \strong{V}ariance \strong{E}stimation
\pause \strong{Faciliter} la mise en \oe uvre du calcul de précision par tout un chacun...
\pause ...en fournissant au ou à la méthodologue des \strong{outils dédiés}.
Utilisé pour l'estimation de variance des enquêtes ménages périodiques: Enquête emploi en continu (EEC), dispositif Statistique sur les revenus et les conditions de vie (SRCV), Cadre de vie et sécurité (CVS), Loyers et charges.
\pause \bigskip \strong{Exemple} Enquête emploi en continu
\small \pause \bigskip {\itshape \strong{Nota bene} Les estimateurs ponctuels figurant sur les diapositives suivantes ne coïncident en général pas avec la diffusion officielle (champs de calcul différents, pas de désaisonnalisation, etc.).}
Le package gustave permet de produire, pour chaque millésime d'une enquête (chaque trimestre pour l'EEC) un \strong{fichier de données R} qui contient :
- \vspace{-0.2cm} \pause les micro-données de l'enquête (table `z` pour l'EEC); - \pause les programmes d'estimation de variance spécifiques à l'enquête (fonction `precisionEec()` pour l'EEC); - \pause toute l'information auxiliaire nécessaire. \pause Pour mettre en \oe uvre l'estimation de variance, \strong{il suffit de charger ce fichier} (par exemple pour le T2 2014): \footnotesize ```r load("precisionEec142.RData") ``` \normalsize \pause \small \bigskip \vspace{-0.4cm} \strong{Remarque} Ces fichiers de calcul de précision sont susceptibles de contenir des \strong{informations auxiliaires réidentifiantes}. ```r load("gustave_jms_exemple.RData") options(width = 60) # Note : les calculs sont effectués sur un serveur sécurisé, # seuls les résultats sont réutilisés ici pour la présentation ``` ### \large Code : Précision du taux de chômage au T2 2014 \pause \strong{Nombre total de chômeurs} (`acteu %in% 2`) \pause \footnotesize ```r precisionEec(z, total(acteu %in% 2)) ``` \vspace{-0.5cm} ```r eec1 ``` \pause \bigskip \normalsize \strong{Taux de chômage} \pause \footnotesize ```r precisionEec(z, ratio(acteu %in% 2, acteu %in% c(1, 2))) ``` \vspace{-0.5cm} ```r eec2 ``` ### \large Code : Précision du taux de chômage au T2 2014 \strong{Taux de chômage des 50 ans et plus} \pause \footnotesize \vspace{-0.2cm} ```r precisionEec(z, ratio(acteu %in% 2, acteu %in% c(1, 2)), where = age >= 50 ) ``` \vspace{-0.5cm} ```r eec3[, 2:5] ``` \pause \normalsize \strong{Taux de chômage par région} \pause \footnotesize \vspace{-0.2cm} ```r precisionEec(z, ratio(acteu %in% 2, acteu %in% c(1, 2)), by = reg ) ``` \vspace{-0.5cm} ```r eec4[1:3, 2:6] ``` # Principe de fonctionnement du *package* gustave ### \og Emballer \fg{} (*wrap*) la complexité L'objectif du *package* gustave est de \strong{préserver l'utilisateur final de la complexité} du processus d'estimation de la variance.
\pause \strong{Idée centrale} \og Emballer \fg{} la fonction d'estimation de variance complexe dans une autre fonction (appelée \og \textit{wrapper} \fg{}) plus simple d'utilisation:
\pause \strong{fonction d'estimation de la variance}: fonction spécifique à chaque enquête développée par le ou la méthodologue; \pause $\rightarrow$ \strong{complexité méthodologique}
\pause \strong{\textit{wrapper} d'estimation de variance}: fonction générique qui prend en charge des opérations systématiques (linéarisations, domaines), appelle la fonction de variance et affiche les résultats. \pause $\rightarrow$ \strong{complexité informatique}
### Apports du package gustave
La production d'un programme d'estimation de variance avec le package gustave suppose en général \strong{trois étapes pour le ou la méthodologue}:
$\rightarrow$ gustave propose des \strong{fonctions optimisées} qui mettent en \oe uvre les estimateurs de variance standard.
$\rightarrow$ gustave \strong{simplifie la production} de wrappers de variance faciles à utiliser et intégrant toute l'information auxiliaire nécessaire.
$\rightarrow$ gustave permet l'\strong{interaction} entre wrappers de variance et fonctions de linéarisation.
### Diffusion et perspectives
Version 0.3.0 en ligne sur le CRAN
\bigskip Code source accessible sur github.com : https://github.com/martinchevalier/gustave
\bigskip Maintenance assurée par la division Sondages de l'Insee
\bigskip \pause Fonctionnalités en développement:
création d'une fonction \og prête-à-estimer \fg{} pour les cas les plus simples (SAS stratifié, repondération dans des GRH, calage) similaire à la macro SAS %everest;
# Estimation de variance dans les enquêtes de l'Insee {.unnumbered}
### En guise de conclusion
Le Département des méthodes statistiques a mis en place une organisation pour \strong{industrialiser l'estimation de variance}:
- processus systématisé et documenté; - programmes simples d'utilisation et faciles à diffuser; - fichiers d'estimation de variance résilients. \bigskip \pause Le développement du *package* gustave constitue un \strong{investissement important}: - présenté en *workshop* européen; - utilisé pour vérifier le respect des objectifs de précision prévus par le réglement IESS; - qui inscrit avec d'autres les travaux du DMS et de l'Insee dans l'univers du logiciel libre. ### \ \begin{center} \large \strong{Merci de votre attention!} \normalsize \bigskip \bigskip Martin Chevalier \\ martin.chevalier@insee.fr \\\url{https://github.com/martinchevalier/gustave} \end{center} <!-- # Fonctionnement du package gustave: exemple {.unnumbered} --> <!-- ### Enquête TIC (données simulées) --> <!-- \strong{Données d'exemple du \textit{package}} : données fictives inspirées de l'enquête Technologies de l'information et de la communication (TIC) --> <!-- \pause \bigskip Méthodologie (de l'exemple fictif): -->
<!-- # Calage --> <!-- y <- rescal(y, x = x) --> <!-- # Non-réponse --> <!-- y <- add0(y, rownames = ict_sample$firm_id) --> <!-- var_nr <- var_pois(y, pik = ict_sample$response_prob_est, w = ict_sample$w_sample) --> <!-- # Echantillonnage --> <!-- y <- y / ict_sample$response_prob_est --> <!-- var_sampling <- var_srs(y, pik = 1 / ict_sample$w_sample, strata = ict_sample$division) --> <!-- var_sampling + var_nr --> <!-- } --> <!-- # With x the calibration variables matrix --> <!-- library(gustave) --> <!-- x <- as.matrix(ict_survey[ --> <!-- order(ict_survey$firm_id), --> <!-- c(paste0("N_", 58:63), paste0("turnover_", 58:63)) --> <!-- ]) --> <!-- # Premier lancement pour virer la Note de Matrix --> <!-- big_data <- as.matrix(ict_survey$big_data) --> <!-- rownames(big_data) <- ict_survey$firm_id --> <!-- varianceTic(big_data) --> <!-- ``` --> <!-- \pause \vspace{0.2cm} --> <!-- ```r --> <!-- # Test de varianceTic() sur la variable big_data --> <!-- big_data <- as.matrix(ict_survey$big_data) --> <!-- rownames(big_data) <- ict_survey$firm_id --> <!-- varianceTic(big_data) --> <!-- ``` --> <!-- ### Etape 2 : Définir le wrapper de variance --> <!-- \footnotesize --> <!-- ```r --> <!-- # Définition du wrapper de variance --> <!-- precisionTic <- define_variance_wrapper( --> <!-- variance_function = varianceTic, --> <!-- reference_id = ict_survey$firm_id, --> <!-- default = list(id = "firm_id", weight = "w_calib"), --> <!-- objects_to_include = c("x", "ict_sample") --> <!-- ) --> <!-- ``` --> <!-- \pause --> <!-- ```r --> <!-- # Test du wrapper de variance --> <!-- precisionTic(ict_survey, total(big_data)) --> <!-- ``` --> <!-- ### Etape 3 : Définir des linéarisations *ad hoc* --> <!-- Par défaut le *package* gustave incorpore les linéarisations les plus classiques (celles proposées dans Poulpe). --> <!-- \pause Il est néanmoins possible de définir des linéarisations supplémentaires: --> <!-- \footnotesize \pause --> <!-- ```r --> <!-- arpr <- define_linearization_wrapper( --> <!-- linearization_function = function(y, weight, percentage = 60, order_quant = 50L){ --> <!-- require(vardpoor) --> <!-- r <- linarpr(Y = y, weight = weight, percentage = percentage, order_quant = order_quant) --> <!-- return(list(lin = list(r$lin$lin_arpr), metadata = list(est = r$val$arpr))) --> <!-- }, --> <!-- arg_type = list(data = "y", weight = "weight", param = c("percentage", "order_quant")) --> <!-- ) --> <!-- ``` --> <!-- \pause \normalsize \strong{Remarque} Comme pour l'estimation de variance, on distingue la *fonction* de linéarisation (méthodologique) du *wrapper* de linéarisation (interaction avec le *wrapper* de variance). -->
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.