Modelos no lineales
Primero explore los datos para identificar el tipo de relación: lineal o no lineal.
Correlación de Pearson, gráficos de dispersión simples o matricial.
Una Correlación de CERO no debe interpretarse como “No existe asociación”, solo permite concluir que no hay asociación lineal pero puede existir una relación de otro tipo. Por ejemplo, Salario Vs. Experiencia. Otro aspecto a considerar es la presencia de datos atípicos (“raros”) que puedan ser influyentes.
Algunos modelos son:
Lineales: lm()
.
Generalizados: glm()
.
Bayesianos: stan_glm()
Penalizados: glmnet()
ML: tidymodels
Sea \(\mathcal{D}=\{(y_i, \mathbf{x}_i): i=1,\ldots,n\}\), con \(y_i\) la \(i\)-ésima respuesta medida en una escala continua; \(\mathbf{x}_i=(x_{i1},\ldots,x_{ip})^t \in \mathbb{R}^p\) es el vector de variables predictoras; y \(n\) \((\gg p)\) es el tamaño de la muestra. El modelo lineal se especifica así:
\[y_i = \beta_0 + \beta_1 x_{i1} + \cdots + \beta_p x_{ip} + \varepsilon_i \hspace{0.25cm} \text{con } \varepsilon_i \overset{\text{iid}}{\sim} \mathcal{N}(\mu, \sigma^2)\]
Se usan cuando la variable dependiente es de tipo discreto, nominal o multinomial.
Variable dependiente binaria
Aprobar/no aprobar el examen / gestión del pte.
Ser o no víctima de violencia doméstica.
Tener o no tener una enfermedad.
Estar o no en estado de pobreza.
En este caso:
\(y_i \in \{0, 1\}\), en donde 1 representa aprobar y 0 no aprobar.
Se usan cuando la variable dependiente es de tipo discreto, nominal o multinomial.
Variable dependiente nominal
Estado de ocupación: empleo formal, empleo informal, desempleo, inactivo, etc.
Clasificación étnica: Sin étnia, Afrocolombiano, Indígena, Raizal, Palenquero.
Tipo de cliente: Élite, Plata, Bronce, Masivo.
En este caso:
\(y_i \in \{A, B, C, D, ...\}\), en donde cada letra representa una categoría nominal que es excluyente de las demás.
Se usan cuando la variable dependiente es de tipo discreto, nominal o multinomial.
Variable dependiente ordinal
La clasificación del nivel de estrés en la escala: Sin estrés, con estrés leve, estrés moderado, estrés severo y estrés extremadamente severo.
Clasifiación de pobreza: Con pobreza extrema, en estado de pobreza, no pobre.
En este caso:
\(y_i \in \{1, 2, 3, ...\}\), en cada valor está en una escala ordinal.
Necesitamos una regla para clasificar a cada observación.
La imagen presenta una regla dadas dos variables independientes.
La función de clasificación puede ser lineal o no lineal.
Imagen de “Elements of Statistical Learning” de Hastie and Tibshirani
Suponga que puede clasificar a todas las observaciones en 2 grupos/clases (1: Éxito, 0: Fracaso). La función logística, permite calcular la probabilidad de cada suceso.
\[\pi(x) = P(Y = 1 | \mathbf{X}=\mathbf{x}) = \frac{\exp\{\beta_0+\beta_1x_1+\cdots+\beta_kx_k\}}{1+\exp\{\beta_0+\beta_1x_1+\cdots+\beta_kx_k\}} \]
\(1-\pi(x)=P(Y = 0 | \mathbf{X}=\mathbf{x})\)
¿Por qué no se debería aplicar regresión lineal en este caso?
\[Odds = \frac{\pi(x)}{1-\pi(x)}\]
Suponga que en el evento de desertar del colegio, se encontró que la probabilidad de deserción cuando el niño tiene una madre sin estudios es \(\pi(x)=0.71\). Así que
\[Odds_{A} = \frac{0.71}{1-0.71} = 2.45\]
Por cada niño que no deserta, hay casi 3 que si lo hacen cuando la madre no tienen ningún nivel de estudios.
\[OR = \frac{Odss_A}{Odds_B}\]
Si la probabilidad de deserción cuando la madre tiene un nivel educativo de bachillerato es \(\pi(x) = 0.18\). Calcule el OR entre el grupo con madre sin estudios y el grupo con madre con nivel de bachiller.
\[OR = \frac{Odds_{\text{Madre sin estudios}}}{Odds_{\text{Madre bachiller}}} = \frac{\frac{0.71}{1-0.71}}{\frac{0.18}{1-0.18}}=\frac{2.45}{0.22}=11.2\]
Es 11 veces más probable que un niño cuya madre no tiene estudios abandone sus estudios en comparación con los niños cuyas madres tienen un nivel de bachillerato.
Cuando la probabilidad se calcula con una f.d.p. logística, se puede mostrar que:
\[\frac{\pi(x)}{1-\pi(x)}=e^{\beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_kx_k}\]
De esta forma el log-odds, conocido como el logit, conlleva a una relación lineal fácil de manejar y de interpretar:
\[\ln\left(\frac{\pi(x)}{1-\pi(x)}\right) = \beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_kx_k\]
La estimación de los parámetros debe hacerse por métodos iterativos debido a que la función de pérdida no es convexa.
Permite identificar la asociación entre dos variables cualitativas.
\[H_0:\text{Las variables son independientes}\] \[H_1:\text{Las variables están relacionadas.}\]
Si A y B son eventos independientes entonces se cumple que:
\[\mathbb{P}(A \cap B) = \mathbb{P}(A) * \mathbb{P}(B)\]
Si el valor \(p\) es inferior a un nivel \(\alpha\) se dice que hay suficiente evidencia estadística para rechazar \(H_0\).
Sensibilidad: Porcentaje de verdaderos positivos.
Especificidad: Porcentaje de verdaderos negativos.
Evalúa la capacidad predictiva del modelo. Se eligen varios puntos de corte y se representa gráficamente la capacidad del modelo para realizar una correcta clasificación
El instrumento del DASS 21 permite construir una escala de Depresión, Ansiedad y Estrés (DASS-21). Investigue más sobre su construcción y propiedades psicométricas. Una versión del instrumento puede ser consultada aquí
Explore el conjunto del datos DASS21.sav
el cual contiene los resultados para una muestra de 800 personas de Colombia realizada en el año 2022.
Puede usar lapply(dass, function(x) attributes(x)$label)
para ver las etiquetas de las preguntas.
De acuerdo con la escala DASS, una persona con un puntaje de 8 o más puede ser considerada con problemas de depresesión, ansiedad o estrés.
Ajuste un modelo que le permita identificar los factores de riesgo y los factores de protección contra la ansiedad, para ello utilice las variables del sexo, satisfacción y participación que se encuentran dentro del instrumento aplicado.
Explore el conjunto de datos e identifique las diferencias frente a los datos iniciales.
grafica <- function(variable) {
label_y <- attr(prepara[[deparse(substitute(variable))]], "label")
ggplot(prepara, aes(x = as.factor(ansi), y = {{variable}}, fill = as.factor(ansi))) +
geom_boxplot() +
labs(x = "Ansiedad (0 = No, 1 = Sí)", y = label_y) +
ylim(1, 8) +
theme_minimal() +
theme(legend.position = "none")
}
p1 <- grafica(P1_1); p2 <- grafica(P1_2); p3 <- grafica(P1_3);
p4 <- grafica(P1_4); p5 <- grafica(P1_5); p6 <- grafica(P1_6);
(p1 | p2 | p3)/(p4 | p5 | p6)
Esta prueba contrasta la hipótesis nula de independencia frente a la alternativa de asociación.
Pearson's Chi-squared test with Yates' continuity correction
data: prepara$ansi and prepara$sexo
X-squared = 0.31065, df = 1, p-value = 0.5773
[1] "Ha participado en Prácticas restaurativas para superar situaciones difíciles"
Pearson's Chi-squared test with Yates' continuity correction
data: prepara$ansi and prepara$P2_7
X-squared = 7.854, df = 1, p-value = 0.005071
La función glm()
permite ajustar un modelo lineal generalizado. Se usa binomial
para modelos de regresión logística binaria donde la función de enlace es de tipo logit, cuando la variable dependiente son recuentos se usa poisson
y si la variable dependiente es positiva continua entonces se puede usar gamma
.
Call:
glm(formula = ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_5 +
P1_6 + P2_1 + P2_2 + P2_3 + P2_4 + P2_5 + P2_6 + P2_7 + P2_8,
family = binomial, data = prepara)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.17846 0.72108 -1.634 0.102196
sexoMujer 0.31186 0.37322 0.836 0.403382
P1_1 -0.26461 0.14629 -1.809 0.070480 .
P1_2 -0.27997 0.19843 -1.411 0.158253
P1_3 -0.12968 0.20598 -0.630 0.528993
P1_4 -0.37452 0.23396 -1.601 0.109425
P1_5 -0.02688 0.22994 -0.117 0.906931
P1_6 0.55290 0.22809 2.424 0.015350 *
P2_1SÍ -0.08366 0.48328 -0.173 0.862560
P2_2SÍ -0.30776 0.48578 -0.634 0.526382
P2_3SÍ -0.12333 0.39549 -0.312 0.755159
P2_4SÍ 0.29145 0.41912 0.695 0.486812
P2_5SÍ -0.31864 0.39590 -0.805 0.420915
P2_6SÍ -0.02669 0.38881 -0.069 0.945266
P2_7SÍ 1.72298 0.46399 3.713 0.000205 ***
P2_8SÍ -0.93297 0.45011 -2.073 0.038193 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 340.77 on 799 degrees of freedom
Residual deviance: 305.74 on 784 degrees of freedom
AIC: 337.74
Number of Fisher Scoring iterations: 6
Note que hay múltiples variables que no son significativas en el modelo.
Para llevar a cabo un proceso de eliminación automática de variables que no son relevantes se puede usar
Start: AIC=337.74
ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_5 + P1_6 + P2_1 +
P2_2 + P2_3 + P2_4 + P2_5 + P2_6 + P2_7 + P2_8
Df Deviance AIC
- P2_6 1 305.75 335.75
- P1_5 1 305.76 335.76
- P2_1 1 305.77 335.77
- P2_3 1 305.84 335.84
- P2_2 1 306.14 336.14
- P1_3 1 306.14 336.14
- P2_4 1 306.22 336.22
- P2_5 1 306.40 336.40
- sexo 1 306.47 336.47
- P1_2 1 307.65 337.65
<none> 305.74 337.74
- P1_4 1 308.39 338.39
- P1_1 1 309.30 339.30
- P2_8 1 310.17 340.17
- P1_6 1 311.93 341.93
- P2_7 1 319.89 349.89
Step: AIC=335.75
ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_5 + P1_6 + P2_1 +
P2_2 + P2_3 + P2_4 + P2_5 + P2_7 + P2_8
Df Deviance AIC
- P1_5 1 305.76 333.76
- P2_1 1 305.78 333.78
- P2_3 1 305.85 333.85
- P2_2 1 306.15 334.15
- P1_3 1 306.15 334.15
- P2_4 1 306.22 334.22
- P2_5 1 306.46 334.46
- sexo 1 306.48 334.48
- P1_2 1 307.65 335.65
<none> 305.75 335.75
- P1_4 1 308.41 336.41
- P1_1 1 309.31 337.31
- P2_8 1 310.23 338.23
- P1_6 1 311.97 339.97
- P2_7 1 320.00 348.00
Step: AIC=333.76
ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_6 + P2_1 + P2_2 +
P2_3 + P2_4 + P2_5 + P2_7 + P2_8
Df Deviance AIC
- P2_1 1 305.79 331.79
- P2_3 1 305.86 331.86
- P2_2 1 306.16 332.16
- P1_3 1 306.18 332.18
- P2_4 1 306.23 332.23
- P2_5 1 306.47 332.47
- sexo 1 306.48 332.48
- P1_2 1 307.66 333.66
<none> 305.76 333.76
- P1_4 1 309.14 335.14
- P1_1 1 309.38 335.38
- P2_8 1 310.23 336.23
- P1_6 1 312.48 338.48
- P2_7 1 320.00 346.00
Step: AIC=331.79
ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_6 + P2_2 + P2_3 +
P2_4 + P2_5 + P2_7 + P2_8
Df Deviance AIC
- P2_3 1 305.92 329.92
- P1_3 1 306.20 330.20
- P2_4 1 306.25 330.25
- P2_2 1 306.49 330.49
- P2_5 1 306.50 330.50
- sexo 1 306.51 330.51
- P1_2 1 307.73 331.73
<none> 305.79 331.79
- P1_4 1 309.15 333.15
- P1_1 1 309.38 333.38
- P2_8 1 310.26 334.26
- P1_6 1 312.49 336.49
- P2_7 1 320.08 344.08
Step: AIC=329.92
ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_6 + P2_2 + P2_4 +
P2_5 + P2_7 + P2_8
Df Deviance AIC
- P2_4 1 306.30 328.30
- P1_3 1 306.35 328.35
- sexo 1 306.58 328.58
- P2_2 1 306.68 328.68
- P2_5 1 306.68 328.68
- P1_2 1 307.81 329.81
<none> 305.92 329.92
- P1_4 1 309.29 331.29
- P1_1 1 309.50 331.50
- P2_8 1 310.56 332.56
- P1_6 1 312.58 334.58
- P2_7 1 320.10 342.10
Step: AIC=328.3
ansi ~ sexo + P1_1 + P1_2 + P1_3 + P1_4 + P1_6 + P2_2 + P2_5 +
P2_7 + P2_8
Df Deviance AIC
- P1_3 1 306.80 326.80
- P2_5 1 306.88 326.88
- P2_2 1 306.94 326.94
- sexo 1 306.95 326.95
- P1_2 1 308.16 328.16
<none> 306.30 328.30
- P1_4 1 309.68 329.68
- P1_1 1 309.85 329.85
- P2_8 1 310.66 330.66
- P1_6 1 312.96 332.96
- P2_7 1 322.37 342.37
Step: AIC=326.8
ansi ~ sexo + P1_1 + P1_2 + P1_4 + P1_6 + P2_2 + P2_5 + P2_7 +
P2_8
Df Deviance AIC
- P2_5 1 307.30 325.30
- sexo 1 307.45 325.45
- P2_2 1 307.47 325.47
<none> 306.80 326.80
- P1_2 1 308.97 326.97
- P1_1 1 310.54 328.54
- P2_8 1 310.91 328.91
- P1_4 1 311.59 329.59
- P1_6 1 313.08 331.08
- P2_7 1 322.51 340.51
Step: AIC=325.3
ansi ~ sexo + P1_1 + P1_2 + P1_4 + P1_6 + P2_2 + P2_7 + P2_8
Df Deviance AIC
- sexo 1 308.10 324.10
- P2_2 1 308.13 324.13
<none> 307.30 325.30
- P1_2 1 309.51 325.51
- P1_1 1 310.90 326.90
- P1_4 1 311.98 327.98
- P2_8 1 312.12 328.12
- P1_6 1 313.70 329.70
- P2_7 1 322.52 338.52
Step: AIC=324.1
ansi ~ P1_1 + P1_2 + P1_4 + P1_6 + P2_2 + P2_7 + P2_8
Df Deviance AIC
- P2_2 1 308.86 322.86
<none> 308.10 324.10
- P1_2 1 310.31 324.31
- P1_1 1 311.80 325.80
- P1_4 1 312.67 326.67
- P2_8 1 312.88 326.88
- P1_6 1 314.59 328.59
- P2_7 1 323.27 337.27
Step: AIC=322.86
ansi ~ P1_1 + P1_2 + P1_4 + P1_6 + P2_7 + P2_8
Df Deviance AIC
<none> 308.86 322.86
- P1_2 1 311.21 323.21
- P1_1 1 312.42 324.42
- P1_4 1 313.61 325.61
- P2_8 1 314.43 326.43
- P1_6 1 315.44 327.44
- P2_7 1 323.36 335.36
Call: glm(formula = ansi ~ P1_1 + P1_2 + P1_4 + P1_6 + P2_7 + P2_8,
family = binomial, data = prepara)
Coefficients:
(Intercept) P1_1 P1_2 P1_4 P1_6 P2_7SÍ
-1.3812 -0.2577 -0.3010 -0.4337 0.4938 1.5991
P2_8SÍ
-0.9809
Degrees of Freedom: 799 Total (i.e. Null); 793 Residual
Null Deviance: 340.8
Residual Deviance: 308.9 AIC: 322.9
Characteristic |
OR 1 |
95% CI 1 |
p-value |
---|---|---|---|
Satisfacción con La vivienda | 0.77 | 0.58, 1.01 | 0.070 |
Satisfacción con Su trabajo | 0.74 | 0.51, 1.09 | 0.12 |
Satisfacción con Sus vecinos | 0.65 | 0.44, 0.96 | 0.031 |
Satisfacción con Su familia | 1.64 | 1.12, 2.42 | 0.011 |
Ha participado en Prácticas restaurativas para superar situaciones difíciles | |||
NO | — | — | |
SÍ | 4.95 | 2.17, 11.4 | <0.001 |
Ha participado en Entrenamiento para fortalecer habilidades socio-emocionales | |||
NO | — | — | |
SÍ | 0.37 | 0.16, 0.85 | 0.021 |
1
OR = Odds Ratio, CI = Confidence Interval |
\[\ln\left(\frac{\pi}{1-\pi}\right)=-1.38-0.26 S.Viv - 0.30 S.Trab - 0.43 S.Vec \\ \hspace{5cm} + 0.49 S.Flia + 1.6 P.Resta - 0.98 Hab.Soc\] ¿Cómo calcularía la probabilidad de que una persona con las siguientes características sufra de ansidad? Sat.Viv = 2, Sat.Trab = 1, Sat.Vec = 2, Sat.Flia = 3, Parti.Pract.Restau = Si, Entrenamiento SocEmo = No. ¿Qué se esperaría si la persona cambia a un trabajo que en verdad le haga muy feliz (5)?
El estudio de Oxfam
y La Casa de la Mujer
publicado aquí. La investigación se realizó en el marco de la Campaña “Violaciones y otras Violencias: Saquen mi cuerpo de la guerra”. El estudio se enfocó en zonas donde se tenían alertas tempranas de la Defensoría del Pueblo y tuvo como periodo de referencia los años 2010 a 2014.
lapply(mujeres, function(x) attributes(x)$label)
para ver las etiquetas de las preguntas.create_report
para hacer un análisis exploratorio de los datos.Teniendo en cuenta que la variable de resultado es VICTIMA
:
Realice un gráfico de barras que le presente el porcentaje de mujeres que han sido víctimas y no han sido víctimas de violencia sexual.
Para la mujeres que han sido víctimas, calcule el porcentaje que denunciaron los hechos P41D266_DENUNCIO_HECHO
.
Realice la prueba Chi-Cuadrado para identificar si existe asociación entre ser víctima de violencia sexual y las variables: edad, estrato, estado civil, nivel educativo, actividad y tamaño del municipio (ESTRATOM
).
Usando solo las variables que resultaron significativas, ajuste un modelo de regresión logística usando una eliminación por pasos.
Imprima los resultados en una tabla e interprete los coeficientes a partir del OR.
Haga un pronóstico: ¿cuál es la probabilidad de que una mujer que vive en unión libre en el estrato 2 de una ciudad principal sea víctima de violencia sexual?
Çetinkaya-Rundel, M. and Hardin, J. (2021) Introduction to modern statistics. Sections of Regression modeling: 7, 8, 9 y 10. Disponible aquí: https://openintro-ims.netlify.app/
Hastie, T., Tibshirani, R., Friedman, J. H., & Friedman, J. H. (2009). The elements of statistical learning: data mining, inference, and prediction (Vol. 2, pp. 1-758). New York: springer.
Ismay, C., & Kim, A.Y. (2019). Statistical Inference via Data Science: A ModernDive into R and the Tidyverse (1st ed.). Chapman and Hall/CRC. https://doi.org/10.1201/9780367409913
Thompson, J. (2019). Tidy Data Science with the tidyverse and tidymodels. https://tidyds-2021.wjakethompson.com
Diapositivas disponibles en GitHub.