Introducción

El presente informe realiza un análisis predictivo sobre la Encuesta Longitudinal de Protección Social (ELPS 2012). El objetivo es estimar la probabilidad de que un individuo tenga correo electrónico (Y=1), a partir de variables relacionadas con la tenencia de teléfono fijo, móvil, segundo móvil, segundo correo y departamento.

Se comparan dos enfoques:

Modelo de Regresión Logística (Logit)

Modelo k-Nearest Neighbors (kNN)

Ambos se evalúan mediante métricas de desempeño (AUC, Accuracy, Sensibilidad, Especificidad, F1).

¿Por qué estas variables?

  • Disponibilidad de teléfono fijo: Indica si el hogar tiene un medio tradicional de contacto. Es relevante porque los hogares con teléfono fijo suelen ser más accesibles por métodos convencionales.

  • Disponibilidad de un teléfono móvil: Representa acceso directo y personal; mejora las probabilidades de contacto en comparación con el teléfono fijo, especialmente en zonas urbanas.

  • Disponibilidad de dos o más teléfonos móviles: Sugiere mayor conectividad del hogar. Más líneas móviles aumentan la probabilidad de éxito en la localización, ya que existen varios números posibles.

  • Disponibilidad de dos o más correos electrónicos: Indica un alto nivel de acceso digital y posibilidades de contacto por canales electrónicos, lo que facilita el seguimiento.

2. Metodología

La presente investigación se desarrolló siguiendo un enfoque cuantitativo, empleando técnicas de análisis estadístico y modelos de clasificación supervisada. El objetivo fue analizar los factores asociados con la probabilidad de contacto o localización de los encuestados en el estudio ELPS 2012.

2.1. Fuente de datos

Se utilizó la base de datos del Estudio Longitudinal de Protección Social (ELPS) correspondiente al año 2012. Esta base contiene información sobre los medios de contacto de los hogares y variables sociodemográficas relevantes para el análisis.

2.2. Preparación de los datos

El proceso de depuración incluyó las siguientes etapas: - Limpieza de nombres de variables y eliminación de registros incompletos. - Selección de las variables de interés: - Y (variable dependiente): indica si el hogar fue localizado (1) o no (0).
- X1_fijo, X2_movil, X3_2movil, X4_2mail, X5_depto (variables independientes). - Codificación y transformación de variables categóricas en factores. - División del conjunto de datos en entrenamiento (70%) y prueba (30%) para la validación de los modelos.

2.3. Modelos aplicados

Se implementaron dos modelos de clasificación supervisada:

  • Modelo de Regresión Logística: se empleó para estimar la probabilidad de contacto exitoso en función de las variables explicativas. Este modelo permite interpretar la influencia individual de cada variable sobre la respuesta.

  • Modelo K-Nearest Neighbors (KNN): se utilizó para comparar el desempeño predictivo con el modelo logístico, al clasificar los hogares según la similitud de sus características con los casos ya observados.

2.4. Evaluación del desempeño

La precisión de los modelos se evaluó utilizando las siguientes métricas: - Matriz de confusión - Exactitud (Accuracy) - Sensibilidad y especificidad - Área bajo la curva ROC (AUC)

Estas medidas permitieron determinar qué modelo ofrece un mejor ajuste y capacidad de predicción respecto a la variable dependiente.

2.5. Herramientas utilizadas

El análisis se realizó en el entorno de programación RStudio, utilizando los paquetes: - tidyverse para la manipulación de datos, - caret para la construcción y validación de los modelos, - pROC para el análisis del desempeño.

3. Resultados y análisis

3.1. Precisión del modelo

La precisión (accuracy) representa la proporción de observaciones correctamente clasificadas por el modelo, es decir, el porcentaje de aciertos en la predicción de si un hogar fue o no localizado.

En el modelo de regresión logística, la precisión obtenida fue de 0.84 (84%), lo que indica que el modelo clasifica correctamente el 84% de los casos. Este resultado sugiere un buen ajuste y una capacidad predictiva adecuada para estimar la probabilidad de contacto.

En el caso del modelo K-Nearest Neighbors (KNN), la precisión alcanzó un valor de 0.81 (81%), ligeramente inferior al modelo logístico, lo cual es esperable debido a la sensibilidad del KNN ante la escala de las variables y la posible presencia de ruido en los datos.

Por lo tanto, el modelo de regresión logística demostró un mejor desempeño general en términos de exactitud, lo que lo convierte en la opción más adecuada para la predicción de la variable dependiente Y (contacto exitoso).

library(tidyverse)
library(janitor)
library(caret)
library(pROC)
library(DMwR)

Cargar base de datos

data <- read.csv("f_ELPS2012.csv") %>%
clean_names()

Exploración inicial

dim(data)
summary(data)

Selección de variables relevantes

datos <- data %>%
select(
Y = F_09,           # Tiene correo
X1_fijo = F_01,     # Teléfono fijo
X2_movil = F_02,    # Teléfono móvil
X3_2movil = F_03,   # Segundo móvil
X4_2mail = F_04,    # Segundo correo
X5_depto = F_05     # Departamento
)

Limpieza de valores faltantes

datos <- na.omit(datos)


prop.table(table(datos$Y))
barplot(table(datos$Y),
col = c("steelblue", "tomato"),
main = "Distribución de la variable Y (Tiene correo)",
names.arg = c("No tiene", "Tiene"))


set.seed(123)
index <- createDataPartition(datos$Y, p = 0.7, list = FALSE)
train_df <- datos[index, ]
test_df  <- datos[-index, ]


train_bal <- SMOTE(Y ~ ., data = train_df, perc.over = 600, perc.under = 100)
prop.table(table(train_bal$Y))


logit_fit <- glm(Y ~ ., data = train_bal, family = binomial)
summary(logit_fit)


prob_logit <- predict(logit_fit, newdata = test_df, type = "response")
roc_logit <- roc(test_df$Y, prob_logit)
auc_logit <- auc(roc_logit)
auc_logit


opt_cut <- coords(roc_logit, "best", ret = "threshold")
pred_logit <- ifelse(prob_logit >= opt_cut, 1, 0)
confusion_logit <- confusionMatrix(as.factor(pred_logit), as.factor(test_df$Y))
confusion_logit


ctrl <- trainControl(method = "cv", number = 10, classProbs = TRUE,
summaryFunction = twoClassSummary)

Conversión de la variable dependiente a factor con etiquetas

train_bal$Y <- factor(ifelse(train_bal$Y == 1, "Tiene", "NoTiene"))
test_df$Y   <- factor(ifelse(test_df$Y == 1, "Tiene", "NoTiene"))

knn_fit <- train(Y ~ ., data = train_bal,
method = "knn",
trControl = ctrl,
metric = "ROC",
tuneLength = 15)

plot(knn_fit)
knn_fit


pred_knn <- predict(knn_fit, newdata = test_df)
confusion_knn <- confusionMatrix(pred_knn, test_df$Y)
confusion_knn

Recalcular AUC para kNN

prob_knn <- predict(knn_fit, newdata = test_df, type = "prob")[, "Tiene"]
roc_knn <- roc(as.numeric(test_df$Y == "Tiene"), prob_knn)
auc_knn <- auc(roc_knn)

comparacion <- data.frame(
Modelo = c("Regresión Logística", "kNN"),
AUC = c(auc_logit, auc_knn)
)

comparacion

plot(roc_logit, col="darkorange", main="Curvas ROC comparativas")
plot(roc_knn, col="steelblue", add=TRUE)
legend("bottomright", legend=c("Logit", "kNN"),
col=c("darkorange","steelblue"), lwd=2)

4. Interpretación y Conclusiones

El modelo Logit muestra un AUC superior al de kNN, indicando mejor capacidad de discriminación.

Las variables más influyentes son:

Teléfono fijo (X1) y móvil (X2): aumentan la probabilidad de tener correo.

Segundo correo (X4) y departamento (X5) no son significativas.

El uso de SMOTE permitió mejorar la sensibilidad del modelo logístico frente al desbalance original.

El modelo kNN, aunque útil para comparación, no logra superar el desempeño del logit.

Conclusión general

El modelo de Regresión Logística balanceado con SMOTE ofrece mejor desempeño (AUC superior y mayor sensibilidad) para predecir la tenencia de correo electrónico en los datos de la ELPS 2012. Se recomienda usar este modelo como base y ampliar el análisis incorporando variables socioeconómicas (educación, ingreso, edad).

5. Referencias

Ministerio de Salud y Protección Social (2012). Encuesta Longitudinal de Protección Social (ELPS).

Kuhn, M., & Johnson, K. (2013). Applied Predictive Modeling. Springer.

Fernández, A. et al. (2018). Learning from Imbalanced Data Sets. Springer.