Contexto del caso: El gobierno está evaluando la efectividad de un programa de subsidios para mejorar el acceso a vivienda propia en sectores de bajos ingresos. Se dispone de una base de datos con información de 1000 hogares, en la que se indica si el hogar ha logrado adquirir vivienda propia (Vivienda: 1 = Sí, 0 = No) y diversas variables explicativas.
Ingreso: Nivel de ingresos mensuales del hogar, expresado en dólares.
Educacion: Nivel educativo del jefe de hogar, codificado como un número entero:
0: Sin estudios 1: Primaria incompleta 2: Primaria completa 3: Secundaria completa 4: Universitaria incompleta 5: Universitaria completa o posgrado
Credito Indicador binario que señala si el hogar tiene acceso a crédito bancario o financiero: 0: No tiene acceso a crédito 1: Tiene acceso a crédito
Zona:Ubicación geográfica del hogar, categorizada como: “Urbana”: Vivienda ubicada en una ciudad o área metropolitana “Rural”: Vivienda ubicada en una zona rural
Edad_Jefe: Edad del jefe de hogar, expresada en años.
Tamano_Hogar: Número total de personas que viven en el hogar, expresado como un número entero entre 1 y 7.
Vivienda: Variable binaria que indica si el hogar ha adquirido vivienda propia: 0: No posee vivienda propia 1: Posee vivienda propia
##
## The downloaded binary packages are in
## /var/folders/9c/vy3zkgfd7pz9bw7ck0z7wlwm0000gn/T//Rtmpl1Emcm/downloaded_packages
##
## The downloaded binary packages are in
## /var/folders/9c/vy3zkgfd7pz9bw7ck0z7wlwm0000gn/T//Rtmpl1Emcm/downloaded_packages
library(broom.helpers)
library(gtsummary)
library(pROC)
library(readxl)
library(ggplot2)
library(dplyr)
library(MASS)
library(readxl)
library(ggplot2)
library(GGally)
library(dplyr)
datos <- read_excel("~/Library/Mobile Documents/com~apple~CloudDocs/MINE/2 Semestre/Aprendizaje estadístico/Taller Regresión logística/Base_Datos_Vivienda.xlsx")
## Ingreso Educacion Credito Zona
## Min. : 500 Min. :0.000 Min. :0.000 Length:1000
## 1st Qu.:2029 1st Qu.:1.000 1st Qu.:0.000 Class :character
## Median :3038 Median :3.000 Median :1.000 Mode :character
## Mean :3050 Mean :2.556 Mean :0.698
## 3rd Qu.:3972 3rd Qu.:4.000 3rd Qu.:1.000
## Max. :8779 Max. :5.000 Max. :1.000
## Edad_Jefe Tamano_Hogar Vivienda
## Min. :25.00 Min. :1.000 Min. :0.000
## 1st Qu.:35.00 1st Qu.:2.000 1st Qu.:1.000
## Median :44.00 Median :4.000 Median :1.000
## Mean :44.55 Mean :3.465 Mean :0.844
## 3rd Qu.:54.00 3rd Qu.:5.000 3rd Qu.:1.000
## Max. :64.00 Max. :6.000 Max. :1.000
ggplot(datos, aes(x = Ingreso)) +
geom_histogram(binwidth = 250, fill = "skyblue", color = "black") +
labs(title = "Distribución de Ingresos", x = "Ingreso ($)", y = "Frecuencia")
ggplot(datos, aes(x = Zona, y = Edad_Jefe, fill = Zona)) +
geom_boxplot() +
labs(title = "Edad del Jefe por Zona", x = "Zona", y = "Edad del Jefe")
ggplot(datos, aes(x = factor(Credito))) +
geom_bar(fill = "coral") +
labs(title = "Acceso a Crédito", x = "Crédito (0 = No, 1 = Sí)", y = "Conteo")
ggpairs(
datos,
columns = c("Ingreso", "Edad_Jefe", "Tamano_Hogar"),
title = "Matriz de Dispersión: Ingreso, Edad del Jefe y Tamaño del Hogar",
upper = list(continuous = wrap("points", color = "lightgreen", size = 2)),
lower = list(continuous = wrap("smooth", color = "lightgreen", fill = "lightblue")),
diag = list(continuous = wrap("densityDiag", fill = "lightblue"))
)
Relación entre Ingreso, Edad del Jefe de Hogar y Tamaño del Hogar en un Estudio Socioeconómico
Distribución de las Variables
- Ingreso: La densidad sugiere una distribución
marcadamente sesgada hacia la derecha, con una gran concentración de
hogares en niveles de ingreso relativamente bajos o medios y pocos
hogares con ingresos muy elevados.
- Edad_Jefe: La mayoría de jefes de hogar se concentra
entre los 30 y 60 años. La curva de densidad es relativamente unimodal,
sin colas muy pronunciadas.
- Tamano_Hogar: Presenta un rango entre 1 y 6 personas.
La distribución es algo asimétrica, con un ligero predominio de hogares
de tamaño medio (entre 3 y 4 integrantes).
Relación entre Ingreso y Edad_Jefe
Los paneles de dispersión y la línea de tendencia sugieren una
correlación leve o moderada. Conforme aumenta la Edad_Jefe, se
aprecia una ligera tendencia a mayores niveles de Ingreso,
aunque no de forma muy marcada. Esto podría indicar que los jefes de
hogar con más experiencia laboral o más años en el mercado de trabajo
tienden a tener ingresos ligeramente superiores, pero la dispersión es
amplia y sugiere otros factores relevantes.
Relación entre Ingreso y Tamaño del Hogar
No se observa una correlación fuerte entre Ingreso y
Tamano_Hogar. Aunque existe una tendencia apenas perceptible a
que los hogares de mayor tamaño presenten un rango de ingresos un poco
más amplio, la variabilidad en ambos ejes es considerable. Este
resultado indica que el ingreso no necesariamente se incrementa de
manera proporcional con el número de miembros del hogar, o bien, que hay
otros factores que podrían mediar esta relación (por ejemplo, número de
personas económicamente activas en el hogar).
Relación entre Edad_Jefe y Tamaño del Hogar
La línea de tendencia refleja una pendiente casi plana, lo cual sugiere
una relación muy débil o prácticamente inexistente. La dispersión indica
que se encuentran hogares grandes y pequeños a lo largo de todo el
espectro de edad del jefe de hogar. Este hallazgo podría estar vinculado
a dinámicas demográficas y sociales diversas (por ejemplo, hogares con
varios hijos, hogares extendidos con abuelos, etc.) que no dependen de
la edad específica del jefe de hogar.
El objetivo es modelar la probabilidad de que un hogar adquiera vivienda propia en función de las variables explicativas, antes mencionadas.
\[ \log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 \cdot \text{Ingreso} + \beta_2 \cdot \text{Educacion} + \beta_3 \cdot \text{Credito} + \beta_4 \cdot \text{Zona} + \beta_5 \cdot \text{Edad\_Jefe} + \beta_6 \cdot \text{Tamano\_Hogar} \]
datos$Credito <- factor(datos$Credito,
levels = c(0, 1),
labels = c("No", "Sí"))
datos$Vivienda <- factor(datos$Vivienda,
levels = c(0, 1),
labels = c("No", "Sí"))
datos$Educacion <- factor(datos$Educacion,
levels = c(0, 1, 2, 3, 4, 5),
labels = c("Sin estudios",
"Primaria incompleta",
"Primaria completa",
"Secundaria completa",
"Universitaria incompleta",
"Universitaria completa o posgrado"))
datos$Zona <- factor(datos$Zona,
levels = c("Rural", "Urbana"))
modelo <- glm(Vivienda ~ Ingreso + Educacion + Credito + Zona + Edad_Jefe + Tamano_Hogar,
data = datos, family = binomial(link = "logit"))
summary(modelo)
##
## Call:
## glm(formula = Vivienda ~ Ingreso + Educacion + Credito + Zona +
## Edad_Jefe + Tamano_Hogar, family = binomial(link = "logit"),
## data = datos)
##
## Coefficients:
## Estimate Std. Error z value
## (Intercept) -3.259e+00 6.066e-01 -5.372
## Ingreso 8.651e-04 8.809e-05 9.821
## EducacionPrimaria incompleta -1.283e-01 3.045e-01 -0.421
## EducacionPrimaria completa 2.207e-01 3.326e-01 0.664
## EducacionSecundaria completa 5.906e-01 3.203e-01 1.844
## EducacionUniversitaria incompleta 1.178e+00 3.689e-01 3.194
## EducacionUniversitaria completa o posgrado 1.408e+00 4.010e-01 3.511
## CreditoSí 7.709e-01 2.048e-01 3.764
## ZonaUrbana 5.507e-01 2.102e-01 2.620
## Edad_Jefe 3.530e-02 8.988e-03 3.927
## Tamano_Hogar -3.324e-02 5.724e-02 -0.581
## Pr(>|z|)
## (Intercept) 7.77e-08 ***
## Ingreso < 2e-16 ***
## EducacionPrimaria incompleta 0.673638
## EducacionPrimaria completa 0.506982
## EducacionSecundaria completa 0.065144 .
## EducacionUniversitaria incompleta 0.001405 **
## EducacionUniversitaria completa o posgrado 0.000446 ***
## CreditoSí 0.000168 ***
## ZonaUrbana 0.008786 **
## Edad_Jefe 8.59e-05 ***
## Tamano_Hogar 0.561413
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 865.95 on 999 degrees of freedom
## Residual deviance: 670.73 on 989 degrees of freedom
## AIC: 692.73
##
## Number of Fisher Scoring iterations: 6
El presente análisis tiene como objetivo evaluar la relación entre diversas variables socioeconómicas y la probabilidad de que un hogar adquiera vivienda propia. Para ello, se ha ajustado un modelo de regresión logística, donde la variable dependiente es la tenencia de vivienda (Vivienda = 1 si el hogar posee vivienda propia, 0 en caso contrario). Las variables predictoras incluyen el ingreso mensual del hogar, el nivel educativo del jefe de hogar, el acceso a crédito, la ubicación geográfica (rural o urbana), la edad del jefe de hogar y el tamaño del hogar.
El modelo ajustado es el siguiente:
\[ \log\left(\frac{P(\text{Vivienda} = 1)}{1 - P(\text{Vivienda} = 1)}\right) = \beta_0 + \beta_1 \cdot \text{Ingreso} + \beta_2 \cdot \text{Educacion} + \beta_3 \cdot \text{Credito} + \beta_4 \cdot \text{Zona} + \beta_5 \cdot \text{Edad\_Jefe} + \beta_6 \cdot \text{Tamano\_Hogar} \]
El modelo fue estimado utilizando el método de máxima verosimilitud.
Los coeficientes estimados del modelo de regresión logística se presentan en la siguiente tabla:
Variable | Coeficiente (Estimate) | Error Estándar (Std. Error) | Valor z | Valor p (Pr> | z |
---|---|---|---|---|---|
Intercepto | -3.259 | 0.606 | -5.372 | 7.77e-08 | *** |
Ingreso | 0.000865 | 0.000088 | 9.821 | <2e-16 | *** |
Educación: Primaria incompleta | -0.128 | 0.304 | -0.421 | 0.6736 | |
Educación: Primaria completa | 0.221 | 0.333 | 0.664 | 0.5070 | |
Educación: Secundaria completa | 0.591 | 0.320 | 1.844 | 0.0651 | . |
Educación: Universitaria incompleta | 1.178 | 0.369 | 3.194 | 0.0014 | ** |
Educación: Universitaria completa o posgrado | 1.408 | 0.401 | 3.511 | 0.0004 | *** |
Acceso a crédito (Sí) | 0.771 | 0.205 | 3.764 | 0.0002 | *** |
Zona urbana | 0.551 | 0.210 | 2.620 | 0.0088 | ** |
Edad del jefe de hogar | 0.0353 | 0.009 | 3.927 | 8.59e-05 | *** |
Tamaño del hogar | -0.033 | 0.057 | -0.581 | 0.5614 |
() p < 0.001, p < 0.01, p < 0.05, . (marginalmente significativo p < 0.10).
Ingreso: Se observa un efecto positivo y altamente significativo (p < 0.001), lo que indica que a medida que el ingreso del hogar aumenta, la probabilidad de poseer vivienda propia se incrementa. Cada aumento unitario en el ingreso (expresado en dólares) se asocia con un aumento en los log-odds de adquirir vivienda.
Nivel educativo:
Acceso a crédito: El coeficiente positivo y altamente significativo (p < 0.001) indica que tener acceso a crédito financiero está asociado con una mayor probabilidad de adquirir vivienda.
Zona geográfica: Vivir en una zona urbana aumenta significativamente la probabilidad de acceso a vivienda propia en comparación con vivir en una zona rural (p = 0.0088).
Edad del jefe de hogar: Existe una relación positiva y significativa (p < 0.001), lo que sugiere que a medida que aumenta la edad del jefe de hogar, la probabilidad de adquirir vivienda también aumenta.
Tamaño del hogar: No se encuentra un efecto significativo (p = 0.5614), lo que sugiere que el número de integrantes en el hogar no influye de manera considerable en la probabilidad de adquirir vivienda.
## Area under the curve: 0.8202
El modelo muestra un buen ajuste, como lo indica el AIC de 692.73. Su capacidad predictiva es fuerte, con un AUC de 0.8202, lo que indica que discrimina bien entre hogares que poseen y no poseen vivienda.Se recomienda validar el modelo en un conjunto de datos independiente y explorar posibles mejoras, como la inclusión de interacciones o transformaciones de variables, para mejorar aún más su desempeño predictivo.
# Crear un nuevo hogar con niveles adecuados
hogar <- data.frame(
Ingreso = 3200,
Educacion = factor("Secundaria completa", levels = levels(datos$Educacion)),
Credito = factor("Sí", levels = levels(datos$Credito)),
Zona = factor("Urbana", levels = levels(datos$Zona)),
Edad_Jefe = 45,
Tamano_Hogar = 4
)
# Probabilidad de acceso a vivienda propia
prob_nuevoh <- predict(modelo, newdata = hogar, type = "response", na.action = na.exclude)
prob_nuevoh
## 1
## 0.9466933
Para analizar si el efecto de los ingresos varía según la zona
geográfica, se incluye un término de interacción entre
Ingreso
y Zona
:
modelo_int <- glm(Vivienda ~ Ingreso * Zona + Educacion + Credito + Edad_Jefe + Tamano_Hogar,
data = datos, family = binomial(link = "logit"))
summary(modelo_int)
##
## Call:
## glm(formula = Vivienda ~ Ingreso * Zona + Educacion + Credito +
## Edad_Jefe + Tamano_Hogar, family = binomial(link = "logit"),
## data = datos)
##
## Coefficients:
## Estimate Std. Error z value
## (Intercept) -2.8977558 0.6570956 -4.410
## Ingreso 0.0007122 0.0001380 5.163
## ZonaUrbana -0.0049250 0.4560903 -0.011
## EducacionPrimaria incompleta -0.0958542 0.3064500 -0.313
## EducacionPrimaria completa 0.2230659 0.3325703 0.671
## EducacionSecundaria completa 0.5870979 0.3200063 1.835
## EducacionUniversitaria incompleta 1.1663460 0.3671926 3.176
## EducacionUniversitaria completa o posgrado 1.4037156 0.3994222 3.514
## CreditoSí 0.7792120 0.2050951 3.799
## Edad_Jefe 0.0350190 0.0089860 3.897
## Tamano_Hogar -0.0336725 0.0572542 -0.588
## Ingreso:ZonaUrbana 0.0002442 0.0001774 1.376
## Pr(>|z|)
## (Intercept) 1.03e-05 ***
## Ingreso 2.44e-07 ***
## ZonaUrbana 0.991384
## EducacionPrimaria incompleta 0.754441
## EducacionPrimaria completa 0.502391
## EducacionSecundaria completa 0.066558 .
## EducacionUniversitaria incompleta 0.001491 **
## EducacionUniversitaria completa o posgrado 0.000441 ***
## CreditoSí 0.000145 ***
## Edad_Jefe 9.74e-05 ***
## Tamano_Hogar 0.556449
## Ingreso:ZonaUrbana 0.168709
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 865.95 on 999 degrees of freedom
## Residual deviance: 668.87 on 988 degrees of freedom
## AIC: 692.87
##
## Number of Fisher Scoring iterations: 6
Se ajustó un modelo de regresión logística para analizar la probabilidad de que un hogar posea vivienda propia, incluyendo como predictores el ingreso mensual, nivel educativo del jefe de hogar, acceso a crédito, edad del jefe de hogar, tamaño del hogar y la zona geográfica (urbana o rural). Además, se evaluó una interacción entre ingreso y zona geográfica para examinar si el efecto del ingreso sobre la probabilidad de adquisición de vivienda varía según la ubicación.
El modelo confirma que el ingreso, el acceso a crédito, el nivel educativo y la edad del jefe de hogar son los principales factores asociados con la adquisición de vivienda. La interacción entre ingreso y zona geográfica no es concluyente, lo que sugiere que el efecto del ingreso sobre la probabilidad de adquirir vivienda es similar en áreas urbanas y rurales.
Genere un gráfico que muestre cómo varían las probabilidades predichas en función del nivel de ingresos, diferenciando por zona:
# Añadir la predicción al dataset
datos$pred <- predict(modelo_int, type = "response")
# Graficar las probabilidades predichas por Ingreso y diferenciadas por Zona
ggplot(datos, aes(x = Ingreso, y = pred, color = Zona)) +
geom_line(stat = "smooth", method = "loess", se = FALSE) +
labs(title = "Probabilidades Predichas de Acceso a Vivienda vs. Ingreso",
x = "Ingreso ($)", y = "Probabilidad de Acceder a Vivienda")
### Probabilidades Predichas de Acceso a Vivienda
vs. Ingreso
A medida que el ingreso del hogar aumenta, la probabilidad de poseer vivienda propia también aumenta en ambas zonas (rural y urbana), lo que confirma el resultado del modelo.Para niveles bajos de ingreso ($500 - $3000), la probabilidad de acceso a vivienda es ligeramente mayor en zonas urbanas en comparación con zonas rurales, a medida que el ingreso aumenta, la diferencia entre zonas se reduce, y ambos grupos alcanzan una probabilidad de acceso a vivienda cercana al 100%.
El efecto del ingreso sobre la probabilidad de adquirir vivienda no es lineal, sino que muestra una curva de crecimiento decreciente. El incremento en el ingresos tiene un mayor impacto en la probabilidad de adquirir vivienda en los niveles bajos de ingreso que en los niveles altos, donde la probabilidad se estabiliza.
Este análisis sugiere que las políticas de vivienda deben enfocarse en los hogares de menores ingresos, especialmente en zonas rurales, donde la probabilidad de acceso a vivienda es relativamente menor para ingresos bajos.