Variable Discreta: número de hijos de mujeres indígenas de la sierra ecuatoriana

Fase 1 - Definición de variables y ley de probabilidad

Contexto

Para el análisis de la variable discreta se ha escogido el número de hijos de mujeres indígenas de la sierra ecuatoriana. Esta es una variable de conteo. Hay estudios que indican que la Tasa Global de Fecundidad de mujeres indígenas de la sierra ecuatoriana es de 2,4 hijos por mujer. Los documentos que hacen mención a este indicador, se basan principalmente en el Censo del 2022.

Es importante resaltar que la fecundidad de las mujeres indígenas de la sierra ecuatoriana es distinta a la de las mujeres indígenas de la amazonía. Pues, generalmente en estas últimas, la fecundidad es más elevada. Para el caso de este trabajo nos ha interesado trabajar con la fecundidad de las mujeres indígenas de la sierra, de forma específica.

Tipo de variable y distribución

La variable número de hijos sigue una distribución de Poisson con parámetro lambda igual a 2,4. La literatura demográfica sustenta que la variable número de hijos, en varios contextos, sigue la distribución de Poisson.

Gráficos de distribución de la variable número de hijos de mujeres de la sierra ecuatoriana

knitr::opts_chunk$set(echo = TRUE)
# Definición del parámetro
lambda_numhij=2.4
x_pois_numhij <- 0:10
media_teorica_numhij=lambda_numhij
par(mfrow = c(1, 2),oma=c(1.5,1.5,1.5,1.5))
px_pois <- dpois(x_pois_numhij,lambda_numhij)

plot(x_pois_numhij, px_pois, type = "h", xlab= "Número de hijos", ylab="f(x)",lwd = 2, col="blue", main = "FMP")

plot(stepfun(x_pois_numhij, c(0, ppois(x_pois_numhij, lambda_numhij))), xlab= "Número de hijos", ylab="F(x)", lwd = 2, col = "red", main = "FDA")

# Título general en el margen exterior superior
mtext("Número de hijos de mujeres indígenas de la sierra ecuatoriana", outer = TRUE, side = 3, line = 0.5, font = 2, cex = 1.2)
# Subtítulo general en el margen exterior superior
mtext("Distribución de Poisson", outer = TRUE, side = 3, line = -1, cex = 0.9, col = "darkgray")

En el gráfico anterior se puede observar la Función de Masa de Probabilidad del número de hijos de mujeres indígenas de la sierra ecuatoriana. Esta variable sigue una distribución de Poisson. También se puede observar la Función de Probabilidad Acumulada. Se observa que al llegar al número de 10 hijos, la probalidad acumulada es cercana a 1.

Fase 2 - Simulación y visualización

Simulación de varios escenarios de repeticiones

Se realiza simulaciones de muestras de 100 mujeres haciendo repeticiones de 10, 50, 100, 1000 y 10.000, que son los escenarios. En cada simulación se generan medias del número de hijos. Para la generación de estos datos se toma en cuenta la distribución de Poisson con el parámetro lambda de 2,4 hijos por mujer.

knitr::opts_chunk$set(echo = TRUE)
n=100
B_10=10
B_50=50
B_100=100
B_1000=1000
B_10000=10000

set.seed(1234)
media_hijos_B10 <- replicate(B_10, mean(rpois(n, lambda = lambda_numhij)))
set.seed(1234)
media_hijos_B50 <- replicate(B_50, mean(rpois(n, lambda = lambda_numhij)))
set.seed(1234)
media_hijos_B100 <- replicate(B_100, mean(rpois(n, lambda = lambda_numhij)))
set.seed(1234)
media_hijos_B1000 <- replicate(B_1000, mean(rpois(n, lambda = lambda_numhij)))
set.seed(1234)
media_hijos_B10000 <- replicate(B_10000, mean(rpois(n, lambda = lambda_numhij)))

Se calula la media del número de hijos en cada simulación.

knitr::opts_chunk$set(echo = TRUE)
media_simulada_B10=mean(media_hijos_B10)
media_simulada_B50=mean(media_hijos_B50)
media_simulada_B100=mean(media_hijos_B100)
media_simulada_B1000=mean(media_hijos_B1000)
media_simulada_B10000=mean(media_hijos_B10000)

media_simulada_B10
## [1] 2.452
media_simulada_B50
## [1] 2.408
media_simulada_B100
## [1] 2.3947
media_simulada_B1000
## [1] 2.40233
media_simulada_B10000
## [1] 2.399947

Al calcular las medias de las diferentes simulaciones, se observa que al aumentar el número de simulaciones de muestreo, el valor de la media simulada se aproxima al valor del parámetro poblacional de 2,4 hijos por mujer. Por ejemplo, en la simulación con 10 escenarios de muestra, el número medio de hijos es de 2,45, mientras que en la simulación de 10.000 escenarios de muestra, la media de hijos es de 2,39 muy próximo de los 2,4 hijos por mujer.

Cálculo del error muestral

Se calcula el error muestral para la media de hijos en cada uno de los escenarios.

# Desviación estándar de las medias según cada B escenarios
knitr::opts_chunk$set(echo = TRUE)
se_simulado_numhij_B10= sd(media_hijos_B10)
se_simulado_numhij_B50= sd(media_hijos_B50)
se_simulado_numhij_B100= sd(media_hijos_B100)
se_simulado_numhij_B1000= sd(media_hijos_B1000)
se_simulado_numhij_B10000= sd(media_hijos_B10000)

se_simulado_numhij_B10
## [1] 0.2054697
se_simulado_numhij_B50
## [1] 0.1657882
se_simulado_numhij_B100
## [1] 0.1427327
se_simulado_numhij_B1000
## [1] 0.15617
se_simulado_numhij_B10000
## [1] 0.1540469

Se puede observar que el error estándar tiende a reducirse cuando se aumenta el número de simulaciones, pasando de 0,20 a 0,15 hijos por mujer.

Histograma y gráfico de convergencia de número de hijos con 10 repeticiones

Se construyó un histograma de la variable número de hijos para los cinco escenarios de repeticiones y se realizó el gráfico de converegencia para observar cómo la media del número de hijos se estabiliza conforme aumenta el número de repeticiones.

# Cálculo de z crítico al 95% de confianza, es decir alfa =0.05
z_critico= qnorm(1-(0.05/2))

ic_l_inferior_B10= media_simulada_B10 - (z_critico*se_simulado_numhij_B10)
ic_l_inferior_B10
## [1] 2.049287
ic_l_superior_B10= media_simulada_B10 + (z_critico*se_simulado_numhij_B10)
ic_l_superior_B10
## [1] 2.854713
par(mfrow = c(1, 2))
histo_B10=hist(media_hijos_B10,breaks=30,prob =TRUE ,col="gray",border="white",xlab="Número de hijos", ylab="Densidad", main="Histograma de media de hijos con 10 escenarios",cex.main=0.7,xlim=c(1.8,3))

 abline(v=c(ic_l_inferior_B10,ic_l_superior_B10), col="blue",lty=2,lwd=2)
abline(v=media_simulada_B10,col="red",lty=2,lwd=2)
 curve(dnorm(x,mean=media_teorica_numhij,sd=se_simulado_numhij_B10),add=T,col="red", lwd=2)
  
 # Gráfico de convergencia
 
 prom_acumu= cumsum (media_hijos_B10)/(1:B_10)
 plot(prom_acumu, type = "l", col = "darkgreen", lwd = 2,
     main = "Convergencia de número de hijos", cex.main=0.7,xlab = "Número de escenarios",
     ylab = "Número medio de hijos",
     log = "x")
abline(h = lambda_numhij, col = "red", lty = 2)

Histograma y gráfico de convergencia de número de hijos con 50 repeticiones

ic_l_inferior_B50= media_simulada_B50 - (z_critico*se_simulado_numhij_B50)
ic_l_inferior_B50
## [1] 2.083061
ic_l_superior_B50= media_simulada_B50 + (z_critico*se_simulado_numhij_B50)
ic_l_superior_B50
## [1] 2.732939
par(mfrow = c(1, 2))
histo_B50=hist(media_hijos_B50,breaks=30,prob=T,col="gray",border="white",xlab="Número de hijos", ylab="Densidad", main="Histograma de media de hijos con 50 escenarios",cex.main=0.7,ylim=c(0,3),xlim=c(1.8,3))
 abline(v=c(ic_l_inferior_B50,ic_l_superior_B50), col="blue",lty=2,lwd=2)
abline(v=media_simulada_B50,col="red",lty=2,lwd=2)

 curve(dnorm(x,mean=media_teorica_numhij,sd=se_simulado_numhij_B50),add=T,col="red", lwd=2)
  # Gráfico de convergencia
 
 prom_acumu= cumsum (media_hijos_B50)/(1:B_50)
 plot(prom_acumu, type = "l", col = "darkgreen", lwd = 2,
     main = "Convergencia de número de hijos",cex.main=0.7, xlab = "Número de escenarios",
     ylab = "Número medio de hijos",
     log = "x")
abline(h = lambda_numhij, col = "red", lty = 2)

Histograma y gráfico de convergencia de número de hijos con 100 repeticiones

ic_l_inferior_B100= media_simulada_B100 - (z_critico*se_simulado_numhij_B100)
ic_l_inferior_B100
## [1] 2.114949
ic_l_superior_B100= media_simulada_B100 + (z_critico*se_simulado_numhij_B100)
ic_l_superior_B100
## [1] 2.674451
par(mfrow = c(1, 2))
histo_B100=hist(media_hijos_B100,breaks=30,prob=T,col="gray",border="white",xlab="Número de hijos", ylab="Densidad", main="Histograma de media de hijos con 100 escenarios",cex.main=0.7,ylim=c(0,5),xlim=c(1.8,3))
 abline(v=c(ic_l_inferior_B100,ic_l_superior_B100), col="blue",lty=2,lwd=2)
abline(v=media_simulada_B100,col="red",lty=2,lwd=2)
 curve(dnorm(x,mean=media_teorica_numhij,sd=se_simulado_numhij_B100),add=T,col="red", lwd=2)
  # Gráfico de convergencia
 
 prom_acumu= cumsum (media_hijos_B100)/(1:B_100)
 plot(prom_acumu, type = "l", col = "darkgreen", lwd = 2,
     main = "Convergencia de número de hijos", cex.main=0.7,xlab = "Número de escenarios",
     ylab = "Número medio de hijos",
     log = "x")
abline(h = lambda_numhij, col = "red", lty = 2)

Histograma y gráfico de convergencia de número de hijos con 1000 repeticiones

ic_l_inferior_B1000= media_simulada_B1000 - (z_critico*se_simulado_numhij_B1000)
ic_l_inferior_B1000
## [1] 2.096242
ic_l_superior_B1000= media_simulada_B1000 + (z_critico*se_simulado_numhij_B1000)
ic_l_superior_B1000
## [1] 2.708418
par(mfrow = c(1, 2))
histo_B1000=hist(media_hijos_B1000,breaks=30,prob=T,col="gray",border="white",xlab="Número de hijos", ylab="Densidad", main="Histograma de media de hijos con 1000 escenarios",cex.main=0.7,xlim=c(1.8,3))
 abline(v=c(ic_l_inferior_B1000,ic_l_superior_B1000), col="blue",lty=2,lwd=2)
abline(v=media_simulada_B1000,col="red",lty=2,lwd=2)
 curve(dnorm(x,mean=media_teorica_numhij,sd=se_simulado_numhij_B1000),add=T,col="red", lwd=2)
  # Gráfico de convergencia
 
 prom_acumu= cumsum (media_hijos_B1000)/(1:B_1000)
 plot(prom_acumu, type = "l", col = "darkgreen", lwd = 2,
     main = "Convergencia de número de hijos", xlab = "Número escenarios",
     ylab = "Número medio de hijos",cex.main=0.7,
     log = "x")
abline(h = lambda_numhij, col = "red", lty = 2)

Histograma y gráfico de convergencia de número de hijos con 10000 repeticiones

ic_l_inferior_B10000= media_simulada_B10000 - (z_critico*se_simulado_numhij_B10000)
ic_l_inferior_B10000
## [1] 2.098021
ic_l_superior_B10000= media_simulada_B10000 + (z_critico*se_simulado_numhij_B10000)
ic_l_superior_B10000
## [1] 2.701873
par(mfrow = c(1, 2))
histo_B10000=hist(media_hijos_B10000,breaks=30,prob=T,col="gray",border="white",xlab="Número de hijos", ylab="Densidad", main="Histograma de media de hijos con 10000 escenarios",cex.main=0.7,ylim=c(0,3))
 abline(v=c(ic_l_inferior_B10000,ic_l_superior_B10000), col="blue",lty=2,lwd=2)
abline(v=media_simulada_B10000,col="red",lty=2,lwd=2)
 curve(dnorm(x,mean=media_teorica_numhij,sd=se_simulado_numhij_B10000),add=T,col="red", lwd=2)
  # Gráfico de convergencia
 
 prom_acumu= cumsum (media_hijos_B10000)/(1:B_10000)
 plot(prom_acumu, type = "l", col = "darkgreen", lwd = 2,
     main = "Convergencia de número de hijos", cex.main=0.7,xlab = "Número de escenarios",
     ylab = "Número medio de hijos",
     log = "x")
abline(h = lambda_numhij, col = "red", lty = 2)

Análisis

Razones para realizar la simulación de los datos

La simulación de los datos para el caso de este ejercicio es necesaria porque los estudios de fecundidad generalmente parten de encuestas de salud que alcanzan representatividad de mujeres a nivel nacional o hasta de privoncia. Sin embargo, cuando se estudia poblaciones más específicas como en este caso de un etnia en particular (índígenas) las encuestas mencionadas no permiten hacer inferencias a ese nivel. El tomar una muestra solo de mujeres indígenas de la sierra ecuatoriana, podría ser muy costoso.

Por otro lado, un estudio para conocer la fecundidad de las mujeres indígenas de la sierra ecuatoriana puede justificarse por su utilidad para políticas de salud sexual y reproductiva en esta población específica.

Punto de estabilización

Según el análisis gráfico el punto de estabilización puede ser con mil repeticiones. A partir de ese punto, deja de presentar fluctuaciones en relación al parámetro poblacional de 2,4 hijos por mujer.

Aplicación de la Ley de los Grandes Números y del Teorema de Límite Central

En este ejercicio se puede ver la aplicación de la Ley de los Grandes Números, porque a medida que crece el número de secuencias, el valor de la media en esas secuencias se aproxima al parámetro poblacional que es 2,4 hijos por mujer, siendo casi igual para nuestro ejercicio.

Con relación al Teorema del Límite Central, en este ejercico se observa que a medida que se aumenta el número de muestras aleatorias, la distribución de la media muestral converge a una distribución normal. Esto se observó sobretodo en el gráfico de 10.000 escenarios. Esto ocurre, a pesar de que la variable número de hijos, siga una Distribución de Poisson.