INE

Texto grande

Texto Pequeño

Blanco y Negro

Eliminar Todos

Evalúenos
¿La experiencia de navegación le resultó fácil?

¿Encontró la información buscada?

¿La información encontrada es útil?

Para finalizar, por favor introduzca el siguiente código

Tutorial paquete calidad

Tutorial - Paquete calidad

abr. 11, 2025, 14:47 p.m.

Para facilitar el proceso de aplicación de la evaluación de estándares de calidad, el Instituto Nacional de Estadísticas ha desarrollado el paquete calidad, una herramienta en R que permite aplicar de forma sencilla estándares oficiales para la evaluación de calidad en encuestas de hogares y económicas. Este paquete busca apoyar tanto a equipos técnicos como a personas interesadas en mejorar la comprensión y uso de las estadísticas oficiales.

El paquete calidad está construido sobre la base de dos grandes pasos:

  1. Estimación y generación de insumos
  2. Evaluación de calidad
En este tutorial se presentan casos de uso para estándares de encuestas de hogares y de encuestas económicas. Para ello, utilizaremos dos conjuntos de datos incluidos en el paquete:
  • Encuesta Nacional de Empleo 2020 (ENE)
  • VII Encuesta Longitudinal de Empresas (ELE).

Procesamiento de datos:

Ambos conjuntos de datos se cargan automáticamente al iniciar la sesión con el paquete. En el caso de la ENE, se realizará un procesamiento adicional para permitir la estimación en subpoblaciones:

# cargando paquetes
if (!require("calidad")) install.packages("calidad")
if (!require("dplyr")) install.packages("dplyr")
if (!require("survey")) install.packages("survey")

library(calidad)
library(dplyr)
library(survey)

# edicion base de datos ENE
ene <- ene %>%
        mutate(fdt = if_else(cae_especifico >= 1 & cae_especifico <= 9, 1, 0), # fuerza de trabajo  
               ocupado = if_else(cae_especifico >= 1 & cae_especifico <= 7, 1, 0),          
               desocupado = if_else(cae_especifico >= 8 & cae_especifico <= 9, 1, 0),    
               hombre = if_else(sexo == 1, 1, 0),
 mujer = if_else(sexo == 2, 1, 0))

Diseño de muestra


Antes de comenzar a utilizar el paquete, es necesario declarar el diseño muestral de la encuesta usando el paquete survey. En esta declaración se debe especificar la unidad primaria de muestreo, el estrato y los factores de expansión (pesos). Además, puede ser útil configurar una opción específica para manejar los estratos que contienen solo una unidad primaria de muestreo.


Diseño complejo ENE:

dc_ene <- svydesign(ids = ~conglomerado , strata = ~estrato_unico, weights = ~fact_cal, data = ene)

options(survey.lonely.psu = "certainty")

Diseño complejo ELE:

dc_ele <- svydesign(ids = ~rol_ficticio, weights = ~fe_transversal, strata = ~estrato, fpc = ~pob, data = ELE7)

options(survey.lonely.psu = 'remove')

Creación de insumos


Para evaluar la calidad de la estimación en base a los estándares del INE, se estableció un criterio particular para proporciones o razones entre 0 y 1, lo cual diferencia a estas estimaciones del resto. En todos los casos se utiliza el tamaño de muestra (n) y los grados de libertad (df), pero para proporciones y razones entre 0 y 1 se considera el error estándar (se), mientras que para los demás casos se usa el coeficiente de variación (cv).

El paquete incluye funciones que ayudan a generar la estimación y los insumos para medias, proporciones (y razones), totales y tamaños. Para ello, utilizamos las funciones create_mean(), create_prop(), create_size() y create_total(). Sus principales parámetros son:

  • var: Variable a estimar
  • domains: Dominio de interés.
  • subpop: Subpoblación de referencia (variable dummy que realiza filtro de los datos).
  • design: Diseño de muestra creado con survey
Adicionalmente, estas funciones pueden retornar el efecto de diseño (deff), el conteo de casos no ponderado (ess), el coeficiente de variación logarítmico (log_cv) y los intervalos de confianza (ci), según se indique.


Encuesta nacional de empleo

Realicemos la estimación de la proporción y total de personas desocupadas según sexo:

# proporción de personas desocupadas
insumos_prop <- create_prop(var = "desocupado", domains = "sexo", subpop = "fdt", design =  dc_ene)
insumos_total
<- create_size(var = "desocupado", domains = "sexo", subpop = "fdt", design =  dc_ene)
insumos_total

## sexo     stat       se  df    n         cv
## 1 399299.4 14530.92 880 1564 0.03639102
## 2 402505.4 14688.19 913 1629 0.03649190
  

Para agregar más dominios, podemos usar el símbolo "+", como se muestra a continuación:

create_prop(var = "desocupado", domains = "sexo+region", subpop = "fdt", design =  dc_ene)

Las funciones create_* incluyen el parámetro ci, que nos permite obtener el intervalo de confianza y que por defecto es FALSE. Para proporciones, adicionalmente, está disponible el intervalo de confianza logístico, el cual se puede incluir mediante el parámetro ci_logit = TRUE:

create_size(var = "desocupado", domains = "sexo", subpop = "fdt"", design =  dc_ene, ci = TRUE)
create_prop("desocupado", subpop = "fdt", design = dc_ene, ci_logit = TRUE) 

Encuesta longitudinal de empresas

En algunos casos podríamos estar interesados en estimar la razón entre dos variables. La función create_prop permite realizar la estimación de razones, indicando explícitamente el numerador y el denominador a utilizar. Para ello, está disponible el parámetro denominator.

Veamos un ejemplo estimando la productividad salarial, que se calcula como la razón entre el valor agregado y la remuneración total brutal del personal contratado según tamaño:

prod_salarial <- create_prop('VA_2022f', denominator = 'REMP_TOTAL', domains = 'cod_tamano', design = dc_ele)

 

Evaluación de la estimación


Una vez que hemos generado la estimación y los insumos, podemos realizar la evaluación usando la función assess, la cual por defecto aplica el estándar de las encuestas de hogares del INE. Actualmente, están disponibles cuatro estándares de calidad, dos de INE Chile (encuesta de hogares y económicas) y dos de CEPAL (2020 y 2023). Este tutorial se enfoca en la aplicación de los estándares de INE Chile. Para ver más detalle de la aplicación de los demás estándares, revisar el tutorial publicado en el siguiente link tutorial-cran.

Los parámetros principales de la función assess se describen a continuación:


  • table: Tabla con las estimaciones generadas con funciones create_*.

  • scheme: String que indica el estándar a evaluar. Este puede ser "chile", "eclac_2020", "eclac_2023" y "chile_economics".

  • publish: Booleano, TRUE. Evalúa el porcentaje de estimaciones fiables en el tabulado completo. Default FALSE.

  • domain_info: Booleano, donde TRUE implica que la estimación coincide con un estrato de muestreo. Default FALSE (se usa para "eclac_2023" y "chile_economics" ).

  • table_n_obj: Dataframe que contiene el tamaño de muestra objetivo, n_obj, de los dominios indicados en la estimación. Por default es NULL y se evaluarán como no fiables las estimaciones que tengan un tamaño menor a 30. (se usa para "chile_economics").
    Es importante que en este dataframe los nombres de los dominios coincidan con los utilizados en la función create_* y que la columna del tamaño objetivo se llame n_obj.

  • ratio_between_0_1: Booleano. TRUE indica que la estimación corresponde a una proporción entre 0 y 1. Por defecto es TRUE y se evalúa solo cuando tenemos una clase proporción (estimación con create_prop).
 
Para realizar la evaluación en encuestas de hogares, el estándar a utilizar es scheme ="chile" (valor por defecto): 

evaluacion_prop <- assess(insumos_prop)
evaluacion_total <- assess(insumos_total, scheme = "chile")


 En el caso de las encuestas económicas, debemos indicar scheme = "chile_economics". Adicionalmente, indicamos, según corresponda, el parámetro domain_info y table_n_obj


# procesamos el tamaño de muestra objetivo disponible en el paquete
table_n_obj <- ELE7_n_obj %>%   dplyr::mutate(cod_actividad = cod_actividad_letra,                 cod_tamano = as.character(cod_tamano)) %>%   dplyr::select(-cod_actividad_letra)

# evaluación para razón no acotada entre 0 y 1
eval_ratio <- assess(prod_salarial, scheme = 'chile_economics',                  domain_info = TRUE, table_n_obj = table_n_obj,
ratio_between_0_1 = FALSE)

Tal como mencionamos anteriormente, podemos realizar una evaluación general de nuestro tabulado usando el parámetro publish. Si se obtiene más del 50% de las estimaciones como fiables, se indicará que el tabulado es publicable:

 evaluacion_total <- assess(insumos_total, scheme = "chile", publish=TRUE)

## sexo  stat       se  df    n         cv                 eval_n          eval_df eval_cv    label  publication               pass
## 1 399299.4 14530.92 880 1564 0.03639102 sufficient sample size sufficient df cv <= 0.15 reliable publish 100% reliable estimates 
## 2 402505.4 14688.19 913 1629 0.03649190 sufficient sample size sufficient df cv <= 0.15 reliable publish 100% reliable estimates
  
Sistema de Atención
Ciudadana a través de CRM

Le recomendamos utilizar este canal para contactarnos. Nuestro sistema CRM permite registrar y seguir cada caso dentro de los plazos establecidos por la normativa y gestionar de mejor manera a nuestros usuarios/as.

Ingresar
Instituto Nacional de Estadísticas