Para este ejercicio, se utilizaron los resultados obtenidos en la Actividad 4, que se enfocaron en aplicar estadística inferencial, que buscaba que tuviéramos capacidad de formular, ejecutar e interpretar pruebas de hipótesis sobre el dataset Heart Disease UCI.
A continuación se presenta el detalle de estructura del dataframe Heart Disease UCI, para verificar la asignación correcta del tipo de dato.
str(heart)
## 'data.frame': 920 obs. of 15 variables:
## $ age : int 63 67 67 37 41 56 62 57 63 53 ...
## $ sex : chr "Male" "Male" "Male" "Male" ...
## $ dataset : chr "Cleveland" "Cleveland" "Cleveland" "Cleveland" ...
## $ cp : chr "typical angina" "asymptomatic" "asymptomatic" "non-anginal" ...
## $ trestbps: num 145 160 120 130 130 ...
## $ chol : num 233 286 229 250 204 236 268 354 254 203 ...
## $ fbs : logi TRUE FALSE FALSE FALSE FALSE FALSE ...
## $ restecg : chr "lv hypertrophy" "lv hypertrophy" "lv hypertrophy" "normal" ...
## $ thalch : num 150 108 129 187 172 178 160 163 147 155 ...
## $ exang : logi FALSE TRUE TRUE FALSE FALSE FALSE ...
## $ oldpeak : num 1.98 1.5 1.98 1.98 1.4 ...
## $ slope : chr "downsloping" "flat" "flat" "downsloping" ...
## $ ca : int 0 3 2 0 0 0 2 0 1 0 ...
## $ thal : chr "fixed defect" "normal" "reversable defect" "normal" ...
## $ num : int 0 2 1 0 0 0 3 0 2 1 ...
Se obtiene un resumen de las variables que conforman el dataframe:
| Variable | Descripcion |
|---|---|
| age | Edad del paciente en años |
| sex | Sexo del paciente (0 = mujer, 1 = hombre) |
| dataset | Fuente del registro (Cleveland, Hungary, etc.) |
| cp | Tipo de dolor torácico (0–3) |
| trestbps | Presión arterial en reposo (mm Hg) |
| chol | Colesterol sérico (mg/dl) |
| fbs | Azúcar en sangre en ayunas > 120 mg/dl (1 = sí, 0 = no) |
| restecg | Resultado del electrocardiograma en reposo (0–2) |
| thalch | Frecuencia cardíaca máxima alcanzada |
| exang | Angina inducida por ejercicio (1 = sí, 0 = no) |
| oldpeak | Depresión del segmento ST inducida por ejercicio |
| slope | Pendiente del segmento ST durante el esfuerzo (0–2) |
| ca | Número de vasos principales coloreados por fluoroscopia (0–3) |
| thal | Tipo de talasemia (3, 6, 7) |
| num | Diagnóstico de enfermedad cardíaca (0 = sano, 1–4 = enfermo) |
En este reporte se presenta un análisis predictivo utilizando el dataset de enfermedades cardíacas (heart), ampliamente empleado en estudios clínicos. El objetivo principal es formular una pregunta predictiva basada en patrones identificados durante la exploración de datos y el análisis inferencial previo.
El enfoque metodológico se centra en la construcción de un modelo estadístico que permita estimar la probabilidad de presencia de enfermedad coronaria a partir de variables de riesgo clásicas como edad, colesterol, presión arterial en reposo y sexo.
La estructura del documento incluye:
- Importación y preparación de datos.
- Definición de la pregunta predictiva.
- Ajuste del modelo estadístico (GLM binomial o LM
según la naturaleza de la variable respuesta).
- Interpretación de coeficientes, significancia y métricas
globales.
- Conclusiones sobre la calidad y utilidad del
modelo.
Este análisis busca no solo evaluar la significancia estadística de los predictores, sino también su relevancia práctica en el contexto clínico, aportando evidencia sobre cómo los factores de riesgo contribuyen a la detección temprana y prevención de la enfermedad cardíaca.
num > 0) a partir de sus
factores de riesgo clásicos como edad,
colesterol, presión arterial en reposo y sexo?La variable respuesta será
binaria:
- num_bin = 1 si
num > 0 (enfermedad
presente).
- num_bin = 0 si
num == 0 (sin
enfermedad).
Se crea una nueva variable binaria
(num_bin) y se
seleccionan las variables predictoras más
relevantes:
- Edad (age)
- Colesterol (chol)
- Presión arterial en reposo
(trestbps)
- Sexo (sex)
Esto permite estructurar el dataset para el ajuste del modelo.
Se ajusta un modelo de regresión logística con la
función glm(family = binomial), donde la
variable respuesta es
num_bin y las variables
predictoras son edad, colesterol, presión arterial
y sexo.
El modelo estima la probabilidad de enfermedad coronaria en función de estos factores de riesgo.
##
## Call:
## glm(formula = num_bin ~ age + chol + trestbps + sex, family = binomial,
## data = modelo_data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.435103 0.728814 -6.085 1.16e-09 ***
## age 0.062305 0.008396 7.421 1.17e-13 ***
## chol -0.003868 0.001002 -3.859 0.000114 ***
## trestbps 0.007323 0.004712 1.554 0.120140
## sexMale 1.521881 0.192050 7.924 2.29e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1264.9 on 919 degrees of freedom
## Residual deviance: 1086.2 on 915 degrees of freedom
## AIC: 1096.2
##
## Number of Fisher Scoring iterations: 4
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.435103182 0.728814145 -6.085369 1.162231e-09
## age 0.062304820 0.008396253 7.420550 1.166346e-13
## chol -0.003868185 0.001002350 -3.859116 1.137979e-04
## trestbps 0.007323236 0.004711937 1.554188 1.201396e-01
## sexMale 1.521880733 0.192050169 7.924392 2.292662e-15
El modelo ajustado
(glm binomial) estima la
probabilidad de presentar enfermedad coronaria
(num_bin = 1) en función de edad,
colesterol, presión arterial en reposo y sexo.
El modelo muestra que edad y sexo
masculino son predictores significativos y
clínicamente coherentes. El colesterol
aparece con un efecto negativo inesperado, lo que
sugiere revisar la estructura del dataset o
posibles interacciones. La presión
arterial no resultó significativa en
este ajuste.
En conjunto, el modelo tiene un ajuste razonable
(reducción de deviance y AIC moderado) y
aporta evidencia útil para responder la
pregunta predictiva, aunque requiere
refinamiento para mejorar su coherencia
clínica.
El análisis de los coeficientes del modelo logístico muestra lo siguiente:
Edad (p < 0.001)*
Altamente significativa. Confirma que la
edad es un predictor robusto de
enfermedad coronaria.
Colesterol (p < 0.001) Significativo, aunque con un efecto negativo inesperado. Indica que el colesterol influye en el modelo, pero su interpretación clínica requiere cautela.
Presión arterial en reposo (p = 0.12)
No significativa. No aporta evidencia
estadística suficiente en este ajuste, aunque
clínicamente es un factor de riesgo
reconocido.
Sexo masculino (p < 0.001)
Altamente significativo. Ser hombre incrementa
la probabilidad de enfermedad coronaria, coherente con la
epidemiología clásica.
El modelo identifica a edad y sexo masculino como predictores estadísticamente sólidos y clínicamente coherentes. El colesterol también resulta significativo, aunque con un efecto contraintuitivo que sugiere revisar la estructura del dataset. La presión arterial no mostró significancia estadística en este ajuste.
## [1] 1096.241
## fitting null model for pseudo-r2
## llh llhNull G2 McFadden r2ML r2CU
## -543.1204621 -632.4659249 178.6909256 0.1412653 0.1765309 0.2362750
El ajuste del modelo logístico se evalúa con varios indicadores:
El modelo logra una mejora
significativa respecto al modelo nulo, con
indicadores que muestran un ajuste moderado.
Aunque no explica toda la variabilidad, es útil para
identificar patrones de riesgo y aporta
evidencia práctica sobre la influencia
de edad, colesterol y
sexo en la probabilidad de enfermedad
coronaria.
El modelo logístico ajustado aporta evidencia útil para la práctica clínica:
En conjunto, el modelo tiene un ajuste moderado (AIC ≈ 1096, pseudo R² ≈ 0.14–0.23), lo que significa que no explica toda la variabilidad pero sí permite identificar patrones de riesgo relevantes.
Este modelo puede servir como una herramienta de apoyo para la detección temprana y la priorización de pacientes en riesgo, integrando factores clásicos como edad y sexo. Sin embargo, debe complementarse con otros indicadores clínicos y pruebas diagnósticas para una evaluación integral y confiable.
El modelo aporta evidencia estadística y práctica sobre la influencia de la edad y el sexo en la probabilidad de enfermedad coronaria, mostrando un valor predictivo moderado y destacando la necesidad de integrar más variables para mejorar su capacidad explicativa.