martes, 18 de junio de 2019

R parte 4


Ahora viene lo bueno y otra vez entramos a terrenos que dominan más los matemáticos-estadísticos, aunque de hecho el cálculo pues no es más que usar otra función del paquete survey y ya.
En la página del INEGI hay un artículo llamado “Una aproximación metodológica al uso de datos de encuestas en hogares” escrito por el ex-compañero Julio Cesar Martínez Sánchez, donde menciona de forma llana y sencilla una definición de estas mediciones.
...existen algunas medidas de dispersión que son útiles para evaluar la calidad de un dato que se genera a partir de una encuesta compleja. Dentro de éstas se encuentran los errores estándar y de muestreo, el intervalo de confianza y el coeficiente de variación (Carsey, 2014; EUSTAT, 1998; Steven, 1999; Naciones Unidas, 2009; Wolter, 2009). Esta última es de gran importancia, pues refleja la magnitud relativa que tiene dicho error estándar con respecto al estimador de referencia, y entre más pequeño sea este valor, mejor es la precisión. Si bien no existe un consenso unánime sobre qué valores son los más adecuados, el INEGI considera que un dato es de buena calidad si el coeficiente de variación está por debajo de 15%, aceptable si se encuentra entre 15 y 25% y de baja calidad cuando supera 25 por ciento.
Entonces sin ahondar mucho en el tema estamos hablando de la calidad del dato que se ha recolectado.
Entremos en materia. Vamos con el primer porcentaje o mejor dicho con el dato absoluto de mujeres embarazadas de 15 a 49 años.


R parte 3


Vamos ahora con los porcentajes.
Aunque cuando empecé a estudiar las TICs (antes informática) en un tiempo donde la programación orientada a objetos era una curiosidad, no me gusta repetir código y aunque no con métodos y polimorfismo, por medio de funciones y subrutinas tratábamos de optimizar recursos en la era de los procesadores INTEL 8086/8088 donde todo era precario.
Para esta entrega tratando de evitar los ciclos para intercalar, le aplicamos ingeniería al asunto e hicimos nuestra primer función en R la cual le llamamos intercalar().
Antes de eso hablaremos de la función svyratio() que es para realizar operaciones: obtener razones o en si divisiones. Vamos al ejemplo:



Para sacar los porcentajes es necesario usar otra función del paquete survey y como lo menciono arriba es la svyratio(). Para el cálculo del porcentaje de mujeres embarazadas de 15 a 49 años que deseaban embarazarse (cel1_2) es necesario dividirlo por el subuniverso que son las mujeres embarazadas de 15 a 49 años (cel1_1) como se observa en la imagen.

lunes, 17 de junio de 2019

R parte 2


En la parte 1 vimos como obtener de manera separada ciertos cálculos para armar un cuadro, ahora entra la parte del programador de la vieja escuela, resolver como se pueda – en aquellos ya muy lejanos años en el CETis 155 cuando se nos hacían observaciones a nuestro código (Basic, Pascal o Cobol) nuestra defensa era “pero jala, ¿no?”.
Lo que leí de R es que ya es un lenguaje multiparadigma por lo que entiendo que se pueden hacer clases o mínimo funciones, por ahora resolví de la primera forma que intuí, de hecho no uso cruce de 3 variables pues el bendito copy-paste me permitio sacar las cifras de la parte expandida del cuadro (o como lo llaman nuestros compañeros las estimaciones puntuales).
Empezamos pues, la estrategía es que los resultados parciales (o tijereteados) se guarden en arreglos de una dimensión -vectores- para después meterlos en un dataframe según ejemplo observado en la página de la Universidad de las Palmas de la Gran Canaria.

Lo que sigue es lógica de este old programmer.

#llenamos columnas - Primera columna
col1<-c(as.numeric(svytotal(~cel1_1,DisenoE)),as.numeric(svytotal(~cel2_1,DisenoE)), as.numeric(svytotal(~cel3_1,DisenoE)), as.numeric(svytotal(~cel4_1,DisenoE)))

Entonces col1 es la primera fila con los totales, voy a acomodar los valores de izquierda a derecha y de arriba a abajo, por cualquier cosa lo que me devuelva el svytotal() lo convierto a número y por medio de c los anexo a este arreglo llamado col1.
Seguiré calculando los tijeretazos, primero subtotales por grupo de edad de la primera columna.

#Cortes por grupos de edad
corte1 <- (svyby(~cel1_1, by=~Fila1, DisenoE, svytotal))$cel1_1

Cortes por grupo de edad por cada variable referente al número de hijos sobrevivientes.

#Cortes por grupos de edad
#Sin hijos sobrevivientes
corte2 <- (svyby(~cel2_1, by=~Fila1, DisenoE, svytotal))$cel2_1

#Un hijo sobreviviente
corte3 <- (svyby(~cel3_1, by=~Fila1, DisenoE, svytotal))$cel3_1

#Dos o más hijos sobrevivientes
corte4 <- (svyby(~cel4_1, by=~Fila1, DisenoE, svytotal))$cel4_1


jueves, 21 de febrero de 2019

R 1a Parte



En nuestro Instituto durante años se ha utilizado diversas herramientas para el procesamiento de información de acuerdo a las necesidades y también al expertise del personal.
En tiempos de austeridad republicana las herramientas de software libre sin duda tomarán más importancia en las áreas de estadística del Instituto y si agregamos que cuentan con la venía de nuestro emperador hemos empezado a transitar por este camino.
En su sitio oficial se define como "R es un software gratuito para cómputo estadístico y gráficos. Compila y se ejecuta en múltiples plataformas de UNIX, Windows y MacOS".
Llevo un par de cursos referentes a este lenguaje de programación que de hecho en la clasificación de los lenguajes en un principio era catalogado como funcional, ahora si revisamos Wikipedia aparece como multi-paradigma, aunque los principios de programación son los mismos tiene características muy especiales que intuyo vienen del calculo vectorial.

miércoles, 2 de mayo de 2018

Weight y Tally en Redatam 7

NOTA IMPORTANTE: Teniendo una platica muy sustanciosa con mi compañero Don Martín Oliva y leyendo el manual de REDATAM, lo correcto es para el factor de expansión usar WEIGHT y para 
alguna variable que debe ser "sumarizado" su contenido es TALLY.

Nota del manual:
"La cláusula TALLY es muy similar a la cláusula WEIGHT en términos de ejecución y resultados. Sin embargo, existen dos diferencias. La primera, conceptual, es que el WEIGHT debe ser usado en bases de datos obtenidas por muestreo, en donde cada caso tiene un peso asociado. La segunda diferencia es que en se usando el WEIGHT el resultado es SIEMPRE un número entero, aunque el peso sea fraccionario, en cuanto que con el TALLY el resultado puede ser fraccionario si los valores del TALLY tengan decimales"

En el pasado artículo veíamos como podíamos crear una variable con peso, donde el factor no es 1 a 1, sino 1 a n, por lo cual era necesario el crear una variable multiplicada por el factor de expansión.
En el dominio de la encuesta Origen Destino 2017, tenemos una variable que se llama DUR_VIAJE que por el nombre no es difícil intuir que es la duración de cada viaje.
Si queremos los minutos que duró cada viaje, digamos por entidad, para cifras muestrales hacemos lo siguiente:


Las variables cuantitativas y cualitativas

Nota: La siguiente solución aplica para la versión anterior a la actual de REDATAM, en la nueva versión es posible seleccionar el peso y el ponderador por lo que ya no es necesario crear la variable multiplicada.

Hace años cuando estaba en la cúspide de mi carrera profesional en el Instituto y era amo y señor de IMPS, Turbo pascal, las sociales ( en cuanto a registros administrativos ), el SISEDES y áreas circunvecinas, hacíamos cursos en las diferentes coordinaciones estatales y direcciones regionales sobre QUICKTAB que era un módulo de IMPS el cual permitía hacer frecuencias y cruces al gusto de los usuarios que recolectaban y capturaban las boletas de sociales (PEC-6-62) de las estadísticas de salud, cultura, suicidios e intentos de suicidio. Un paréntesis para la teoría formal.

Una variable es una propiedad o característica que cambia o se modifica para las diferentes objetos de una población estadística.
Las variables cualitativas , se refieren a características o cualidades que NO pueden ser medidas con números. También llamadas NO métricas.
Una variable cuantitativa es aquella que se expresa mediante un número. Por lo tanto se puede realizar operaciones aritméticas con ella.  Podemos distinguir 2 tipos : 1) Discreta  2) Continua”.

viernes, 27 de abril de 2018

Red 7 Admin


Uno de los módulos que viene con la versión nueva de Redatam 7, es la de Admin, que según sus opciones es proveer de herramientas que faciliten la conversión entre versiones de REDATAM, y Lenin me indicaba que con esta herramienta se podía hacer las variables Lookup y las Redcon.

Tenemos por ahora la versión 3 (Revisión 1 Construcción 3).
Sin tener una certeza real, es más rápido usar la herramienta de Red7 Admin, ya que me encontré con varios errores a la hora de generar la base de datos.
Aquí un ejemplo:
Para construir un subconjunto de la base de datos de Origen Destino, no usamos la herramienta de Red7 Create para anexar los variables llamadas de rótulo, sino que usamos la herramienta Red7 Admin sin embargo detallamos como se creo en la tabla.
Al decir un "subconjunto de la base de datos EOD 2017" nos referimos a que hemos elegido solo las variables que se nos solicitó para un requermiento especial, es por ello que tenemos las preguntas día de viaje (P5_3), tipo de trasporte (P5_14_01 – P5_14_20), entidad y municipio de la vivienda y por ende del viajero, factor de expansión (FACTOR) y por ahora nos apoyamos de FoxPro para generar las variables duración de viaje (DUR_VIAJE), y viajes en la zona metropolitana del Valle de México (VIA_ZMVM).
Buscando reducir tiempos se modificó una clase que genera código FoxPro y tener el insumo para hacer el archivo DBF de entrada para Red7 Create.