JuveYell

1 ANÁLISIS EXPLORATORIO DE DATOS

1.1 Preliminares

Para este reporte final, se utilizaron los resultados obtenidos en la Actividad 2, que se enfocaron a corregir los problemas con el dataset Heart Disease UCI, para el cual se realizó lo siguiente:

  • Exploración inicial: se verificó la estructura (str), resumen estadístico (summary, skim) y duplicados. Se detectaron valores ausentes en algunas variables.
  • Conversión de tipos de datos: se transformaron variables categóricas y lógicas a factores para su correcta interpretación en R.
  • Imputación de valores faltantes: Se aplicó imputación múltiple mediante el paquete mice, generando 5 datasets y eligiendo el segundo.
  • Tratamiento de valores atípicos: se identificaron outliers en variables numéricas y se aplicó winsorización (1% y 99%).
  • Normalización y consistencia: se estandarizaron los valores de texto, verificaron niveles de factores y creó variable binaria disease.

Para este ejercicio, se utilizaron los resultados obtenidos en la Actividad 5, que se enfocaron en aplicar estadística inferencial, que buscaba que aprendiéramos a ajustar, interpretar y evaluar modelos lineales y logísticos con R, usando lo que aprendido en la exploración y la inferencia estadística. Esto permitió reforzar la conexión entre inferencia y predicción, basados en el dataset Heart Disease UCI.

1.2 Estructura del dataframe

A continuación se presenta el detalle de estructura del dataframe Heart Disease UCI, para verificar la asignación correcta del tipo de dato.

library(tibble)
library(purrr)
library(knitr)
library(htmltools)
library(tidyr)

summary_table <- tibble(
  Variable = names(heart),
  Tipo = map_chr(as.list(heart), ~ class(.x)[1]),
  Ejemplo = map_chr(as.list(heart), ~ paste(head(.x, 3), collapse = ", "))
)


kable(summary_table, caption = "Resumen de variables del dataset")
Resumen de variables del dataset
Variable Tipo Ejemplo
age integer 63, 67, 67
sex character Male, Male, Male
dataset character Cleveland, Cleveland, Cleveland
cp character typical angina, asymptomatic, asymptomatic
trestbps numeric 145, 159.652, 120
chol numeric 233, 286, 229
fbs logical TRUE, FALSE, FALSE
restecg character lv hypertrophy, lv hypertrophy, lv hypertrophy
thalch numeric 150, 108, 129
exang logical FALSE, TRUE, TRUE
oldpeak numeric 1.9826, 1.5, 1.9826
slope character downsloping, flat, flat
ca integer 0, 3, 2
thal character fixed defect, normal, reversable defect
num integer 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)

1.3 Pregunta de Investigación

¿Existe una relación entre el tipo de dolor torácico (cp), el nivel de colesterol (chol) y la presencia de enfermedad cardíaca (num) en pacientes del dataset heart_limpio?

Esta pregunta busca explorar cómo una variable categórica (tipo de dolor) y una continua (colesterol) se relacionan con el diagnóstico final, considerando además otras variables relevantes como el ritmo cardíaco máximo (thalch) y el tipo de talasemia (thal).

1.4 Variables seleccionadas

  • Continuas: chol (colesterol), thalch (frecuencia cardíaca máxima)
  • Categóricas: cp (tipo de dolor torácico), thal (tipo de talasemia), num (diagnóstico de enfermedad cardíaca)

1.4.1 Gráfica 1: Relación entre variables continuas

La gráfica muestra la relación entre colesterol (chol) y frecuencia cardíaca máxima (thalch), diferenciando por diagnóstico (num) mediante color. Cada punto representa un paciente, y los colores indican cinco categorías diagnósticas: 0, 1, 2, 3 y 4.

Interpretación:

  • No se observa una correlación lineal clara entre colesterol y frecuencia cardíaca máxima, lo que sugiere que estas variables pueden variar de forma independiente en el dataset analizado.

  • Los grupos de diagnóstico muestran dispersión interna considerable, indicando que ni el colesterol ni la frecuencia cardíaca máxima por sí solos permiten distinguir claramente entre estados clínicos.

  • Algunos pacientes presentan valores extremos de colesterol (>300 mg/dl) o frecuencia cardíaca (<100 bpm), lo que podría reflejar casos clínicos particulares o errores de medición.

  • La distribución de puntos sugiere que ciertos diagnósticos (por ejemplo, num = 0 vs num = 4) tienden a agruparse en zonas distintas del gráfico, lo que podría indicar patrones clínicos latentes que requieren análisis multivariado.

Vamos a agregar facetado por tipo de dolor torácico (cp) para ver si los síntomas modifican la relación entre colesterol y frecuencia cardíaca:

En la gráfica, cada panel representa un subtipo de dolor: asintomático, angina típica, angina atípica y dolor no anginoso. Los puntos están coloreados según el diagnóstico (num).

Interpretación:

  • La dispersión de los datos varía entre tipos de dolor, lo que sugiere que los síntomas podrían influir en el perfil clínico de colesterol y frecuencia cardíaca.

  • En pacientes asintomáticos, se observa una mayor concentración de diagnósticos graves (colores más claros), con menor frecuencia cardíaca.

  • Los tipos de dolor menos típicos muestran mayor variabilidad, lo que podría indicar perfiles clínicos más heterogéneos.

  • No se aprecia una correlación lineal clara entre colesterol y frecuencia cardíaca en ningún grupo, por lo que se podría complementar con un análisis multivariado.

1.4.2 Gráfica 2: Boxplot con facetado, por tipo de talasemia

La gráfica muestra la distribución de los niveles de colesterol (chol) según el tipo de dolor torácico (cp) y la condición de talasemia (thal). Cada grupo de talasemia —defecto fijo, normal y defecto reversible— contiene boxplots para los cuatro tipos de dolor: asintomático, angina típica, angina atípica y dolor no anginoso.

Interpretación:

  • En pacientes con defecto fijo, los niveles de colesterol tienden a ser más elevados, especialmente en los casos asintomáticos, lo que podría indicar un perfil clínico de riesgo silencioso.

  • Los pacientes con talasemia normal muestran una dispersión más homogénea del colesterol entre los tipos de dolor, sin diferencias marcadas.

  • En el grupo con defecto reversible, se observa una mayor variabilidad, con algunos tipos de dolor (como angina típica) mostrando valores extremos de colesterol.

  • La combinación de dolor torácico y tipo de talasemia parece influir en la distribución del colesterol, lo que sugiere que estas variables podrían interactuar en el perfil metabólico del paciente.

1.4.3 Gráfica 3: Distribución de diagnóstico por tipo de dolor torácico

La gráfica muestra la distribución proporcional de los diagnósticos (num) en función del tipo de dolor torácico (cp). Cada barra representa un tipo de dolor —asintomático, angina típica, angina atípica y dolor no anginoso— y está segmentada por los cinco niveles de diagnóstico (de 0 a 4), indicados por colores.

Interpretación:

  • El dolor asintomático presenta una mayor proporción de diagnósticos graves (num = 3 o 4), lo que sugiere que la ausencia de síntomas no implica menor riesgo clínico.

  • En contraste, los pacientes con angina típica o dolor no anginoso muestran una mayor proporción de diagnósticos leves (num = 0 o 1), lo que podría reflejar una percepción más temprana de síntomas.

  • El tipo de dolor torácico parece estar asociado con el perfil diagnóstico, lo que podría ayudar en la estratificación de riesgo y en la toma de decisiones clínicas.

1.4.4 Gráfica 4: Distribución del colesterol (chol) por tipo de dolor torácico (cp) y diagnóstico (num)

La gráfica muestra la distribución de los niveles de colesterol (chol) mediante curvas de densidad, facetadas por tipo de dolor torácico (cp) y coloreadas por diagnóstico (num). Cada panel representa un subtipo de dolor: asintomático, angina típica, angina atípica y dolor no anginoso.

Interpretación:

  • En pacientes asintomáticos, se observa una mayor concentración de diagnósticos graves (num = 3 o 4) en rangos de colesterol más altos, lo que podría indicar un perfil de riesgo silencioso.

  • Los pacientes con angina típica muestran una distribución más amplia, con presencia de todos los niveles de diagnóstico, lo que sugiere una mayor heterogeneidad.

  • En el grupo con dolor no anginoso, los diagnósticos leves (num = 0 o 1) predominan en rangos de colesterol más bajos, lo que podría reflejar un perfil metabólico más favorable.

  • La superposición de curvas indica que el colesterol por sí solo no discrimina completamente entre diagnósticos, pero su interacción con el tipo de dolor podría ser clínicamente relevante.

  • El análisis sugiere que el tipo de dolor torácico* modula la distribución de colesterol según el diagnóstico, lo que podría ser útil para estratificación de riesgo.

1.4.5 Gráfica 5: Relación entre colesterol (chol) y frecuencia cardíaca máxima (thalch) por tipo de talasemia (thal)

La gráfica muestra la relación entre colesterol (chol) y frecuencia cardíaca máxima (thalch), facetada por tipo de talasemia (thal) y coloreada por diagnóstico (num). Cada panel representa una condición de talasemia: defecto fijo, normal y defecto reversible.

Interpretación:

  • En el grupo con defecto fijo, se observa una mayor concentración de diagnósticos graves (num = 3 o 4) en pacientes con colesterol elevado y frecuencia cardíaca reducida, lo que podría indicar un perfil clínico de alto riesgo.

  • Los pacientes con talasemia normal presentan una distribución más dispersa, con presencia de todos los niveles de diagnóstico, lo que sugiere una mayor heterogeneidad metabólica.

  • En el grupo con defecto reversible, los diagnósticos leves (num = 0 o 1) predominan en rangos de colesterol más bajos y frecuencia cardíaca más alta, lo que podría reflejar un perfil clínico más favorable.

  • La interacción entre colesterol, frecuencia cardíaca máxima y tipo de talasemia parece influir en el perfil diagnóstico, lo que podría ser útil para estratificación de riesgo y personalización del tratamiento.

1.4.6 Gráfica 6: Mapa de calor de correlaciones entre variables clave

La gráfica presenta un mapa de calor que cruza el tipo de dolor torácico (cp) con el diagnóstico clínico (num), mostrando en cada celda el conteo de pacientes y coloreando según el colesterol promedio (chol).

Interpretación:

  • El tipo de dolor asintomático aparece en combinación con todos los niveles de diagnóstico, pero con colesterol promedio más bajo en los casos leves (num = 0) y más alto en los graves (num = 3), lo que sugiere un perfil de riesgo silencioso.

  • La categoría angina atípica muestra el mayor conteo de pacientes en diagnóstico leve (num = 0), con colesterol promedio elevado, lo que podría indicar una población metabólicamente vulnerable.

  • En el grupo angina típica, los casos graves (num = 2 o 3) son menos frecuentes, pero presentan colesterol bajo, lo que podría reflejar un perfil clínico distinto.

  • El dolor no anginoso se asocia principalmente con diagnósticos leves (num = 0), y colesterol moderado, lo que sugiere un perfil clínico más benigno.

1.4.7 Gráfica 7: Mapa de calor de frecuencia cardíaca máxima (thalch) por tipo de talasemia (thal) y diagnóstico (num)

La gráfica muestra un mapa de calor que cruza el tipo de talasemia (thal) con el diagnóstico clínico (num), coloreando cada celda según la frecuencia cardíaca máxima promedio (thalch).

Interpretación:

  • En pacientes con talasemia normal, se observa una frecuencia cardíaca más elevada en los diagnósticos leves (num = 0 o 1), lo que podría reflejar un perfil funcional más saludable.

  • Los casos con defecto fijo presentan frecuencias cardíacas más bajas en los diagnósticos graves (num = 3 o 4), lo que sugiere una posible asociación entre disfunción cardíaca.

  • En el grupo con defecto reversible, la frecuencia cardíaca se mantiene en rangos intermedios, con menor variabilidad entre diagnósticos, lo que podría indicar una respuesta más estable ante el esfuerzo.

  • La interacción entre tipo de talasemia y diagnóstico parece influir en la capacidad funcional del corazón, lo que podría ser útil para estratificación de riesgo y seguimiento terapéutico.

1.4.8 Gráfica 8: Dispersión de colesterol vs frecuencia cardíaca por tipo de dolor torácico

La gráfica muestra la relación entre colesterol (chol) y frecuencia cardíaca máxima (thalch) en pacientes con enfermedad cardíaca, facetada por tipo de dolor torácico (cp) y coloreada por diagnóstico (num). Cada panel incluye una línea de tendencia que permite visualizar el patrón de asociación en cada subtipo de dolor.

Interpretación:

  • En pacientes asintomáticos, se observa una tendencia ligeramente positiva: a mayor colesterol, mayor frecuencia cardíaca máxima, especialmente en diagnósticos más graves (num = 3 o 4), lo que podría indicar un perfil clínico de riesgo silencioso.

  • En el grupo con angina típica, la relación parece más plana, con menor variación en frecuencia cardíaca, lo que sugiere una posible estabilidad funcional en este subtipo.

  • Los pacientes con angina atípica muestran una dispersión amplia y una pendiente menos definida, lo que podría reflejar heterogeneidad clínica.

  • En el grupo con dolor no anginoso, la pendiente es ligeramente positiva, lo que podría indicar que en este subtipo, el colesterol no se asocia negativamente con la capacidad funcional cardíaca.

  • La interacción entre colesterol, frecuencia cardíaca máxima y tipo de dolor torácico podría ser útil para estratificación de riesgo y personalización del tratamiento en pacientes con enfermedad cardíaca.

1.4.9 Gráfica 9: Dispersión de edad vs frecuencia cardíaca máxima (thalch), facetado por tipo de dolor torácico (cp), color por diagnóstico (num), tamaño por colesterol (chol)

La gráfica muestra la relación entre edad (age) y frecuencia cardíaca máxima (thalch), facetada por tipo de dolor torácico (cp), con cada punto representando un paciente. El color indica el diagnóstico (num) y el tamaño del punto representa el colesterol (chol).

Interpretación:

  • En pacientes asintomáticos, se observa una tendencia a menor frecuencia cardíaca en edades avanzadas, especialmente en diagnósticos más graves (num = 3 o 4) y con colesterol elevado (círculos grandes).

  • En el grupo con angina típica, los pacientes tienden a tener frecuencia cardíaca más conservada, incluso en edades mayores, lo que podría reflejar un perfil funcional más estable.

  • Los pacientes con angina atípica muestran una dispersión amplia en edad y frecuencia cardíaca, con presencia de todos los niveles de diagnóstico.

  • En el grupo con dolor no anginoso, predominan los diagnósticos leves (num = 0 o 1) en pacientes más jóvenes, con colesterol moderado, lo que podría indicar un perfil metabólico más favorable.

  • La interacción entre edad, frecuencia cardíaca, colesterol y tipo de dolor torácico permite visualizar perfiles clínicos diferenciados, útiles para estratificación de riesgo y personalización del tratamiento.

1.4.10 Gráfica 10: Edad vs Frecuencia Cardíaca, facetado por tipo de dolor torácico, color por diagnóstico

La gráfica muestra la relación entre edad (age) y frecuencia cardíaca máxima (thalch), facetada por tipo de dolor torácico (cp) y coloreada por diagnóstico (num). Cada panel representa un subtipo de dolor: asintomático, angina típica, angina atípica y dolor no anginoso.

Interpretación:

  • En pacientes asintomáticos, se observa una tendencia descendente: a mayor edad, menor frecuencia cardíaca máxima, especialmente en diagnósticos más graves (num = 3 o 4), lo que podría indicar deterioro funcional silencioso.

  • En el grupo con angina típica, la frecuencia cardíaca se mantiene relativamente estable en distintos rangos de edad, lo que sugiere una posible compensación fisiológica o menor impacto del envejecimiento.

  • Los pacientes con angina atípica presentan una dispersión amplia en edad y frecuencia cardíaca, con presencia de todos los niveles de diagnóstico, lo que refleja una alta heterogeneidad clínica.

  • En el grupo con dolor no anginoso, predominan los diagnósticos leves (num = 0 o 1) en pacientes más jóvenes, lo que podría indicar un perfil clínico más favorable.

  • La interacción entre edad, frecuencia cardíaca máxima y tipo de dolor torácico permite identificar patrones funcionales diferenciados que pueden ser útiles para estratificación de riesgo y personalización del tratamiento.

  • El uso de tooltips interactivos permite acceder a información clínica detallada al pasar el cursor sobre cada punto, enriqueciendo la interpretación visual. En este caso, el tooltip incluye:

    • Edad del paciente (age)
    • Frecuencia cardíaca máxima (thalch)
    • Colesterol (chol)
    • Diagnóstico (num)
    • Tipo de dolor torácico (cp)
  • Esto permite identificar perfiles individuales dentro de cada grupo, facilitando el análisis de casos extremos o patrones ocultos. Ayuda a detectar combinaciones de riesgo, como pacientes jóvenes con colesterol alto y diagnóstico grave.

1.5 Conclusiones generales

Tras revisar múltiples visualizaciones que exploran la interacción entre variables clínicas como edad, colesterol, frecuencia cardíaca máxima, tipo de dolor torácico, diagnóstico y talasemia, se identifican los siguientes patrones y recomendaciones:

1.5.0.1 1. Perfil clínico según tipo de dolor torácico
  • El dolor asintomático se asocia con diagnósticos más graves y perfiles metabólicos de mayor riesgo, a menudo con colesterol elevado y frecuencia cardíaca reducida.
  • Los pacientes con angina típica muestran mayor estabilidad funcional, mientras que los de angina atípica presentan alta heterogeneidad clínica.
  • El dolor no anginoso tiende a concentrar diagnósticos leves, especialmente en pacientes jóvenes con colesterol moderado.
1.5.0.2 2. Interacción entre colesterol y frecuencia cardíaca
  • No se observa una correlación lineal clara entre colesterol y frecuencia cardíaca máxima, aunque ciertos subgrupos (como pacientes asintomáticos con talasemia fija) muestran patrones de riesgo definidos.
  • Las líneas de tendencia por tipo de dolor torácico revelan que esta relación puede cambiar según el contexto sintomático.
1.5.0.3 3. Influencia de la talasemia
  • La talasemia fija se asocia con menor frecuencia cardíaca y mayor severidad diagnóstica.
  • La talasemia reversible muestra perfiles más estables, mientras que la talasemia normal presenta mayor dispersión clínica.
1.5.0.4 4. Distribuciones y proporciones diagnósticas
  • Las proporciones de diagnóstico varían significativamente según el tipo de dolor torácico, lo que sugiere que los síntomas pueden ser útiles para la estratificación de riesgo.
  • Los mapas de calor revelan combinaciones específicas de síntomas y diagnóstico con colesterol o frecuencia cardíaca promedio que podrían guiar decisiones clínicas.

2 ANÁLISIS INFERENCIAL SOBRE ENFERMEDAD CARDIACA

2.1 Introducción

La presente sección tiene como objetivo analizar el dataset heart, el cual contiene información clínica de pacientes provenientes de distintos centros médicos. Las variables incluidas abarcan aspectos como la edad (age), el sexo (sex), el tipo de dolor torácico (cp), niveles de colesterol (chol), presión arterial en reposo (trestbps), frecuencia cardíaca máxima alcanzada (thalch), entre otras. La variable de interés principal es num, que indica la presencia y severidad de enfermedad cardíaca.

El análisis exploratorio de datos (EDA) previo, permitió identificar patrones relevantes. Por ejemplo, se observó que los pacientes con valores distintos de cero en num (indicativos de enfermedad) son más frecuentes que aquellos sin enfermedad. Asimismo, las visualizaciones facetadas mostraron que la prevalencia de enfermedad cardíaca tiende a concentrarse en pacientes hombres con dolor torácico asintomático, reforzando la hipótesis de una alta prevalencia en la muestra.

Este contexto motiva el planteamiento de un problema inferencial que busca validar estadísticamente lo observado en el EDA.

2.2 Presentación del problema inferencial y su origen dentro del EDA

Durante el análisis exploratorio del dataset heart, se identificó que existen 411 pacientes sin enfermedad cardíaca (num = 0) frente a 509 pacientes con algún grado de enfermedad cardíaca (num > 0: 265 con grado 1, 109 con grado 2, 107 con grado 3 y 28 con grado 4).

Esta diferencia sugiere que la proporción de pacientes con enfermedad cardíaca podría superar el 50%, lo que motiva el planteamiento de un problema inferencial para validar estadísticamente lo observado en el EDA.

Además, al visualizar la variable num en relación con el tipo de dolor torácico (cp) y el sexo (sex), se evidenció que los casos de enfermedad se concentran especialmente en pacientes con dolor asintomático* y en hombres. Dichos hallazgos fueron reforzados mediante un gráfico de barras facetado por sexo:

2.2.1 Gráfica 1: Distribución de enfermedad cardíaca según tipo de dolor torácico y sexo

2.3 Pregunta inferencial derivada del EDA

Estos resultados exploratorios conducen a la siguiente pregunta inferencial:

2.3.1 ¿La proporción de pacientes con enfermedad cardíaca (num > 0) en el dataset heart supera el 50%?

Este planteamiento será evaluado mediante una prueba de proporciones, contrastando la hipótesis nula de que la proporción es igual o menor al 50% contra la hipótesis alternativa de que es mayor.

Esta pregunta busca explorar cómo una variable categórica (tipo de dolor) y una continua (colesterol) se relacionan con el diagnóstico final, considerando además otras variables relevantes como el ritmo cardíaco máximo (thalch) y el tipo de talasemia (thal).

2.4 Hipótesis estadísticas

2.4.1 Planteamiento de hipótesis

  • Hipótesis nula (H₀): La proporción de pacientes con enfermedad cardíaca (num > 0) es menor o igual al 50%.
  • Hipótesis alternativa (Hₐ): La proporción de pacientes con enfermedad cardíaca (num > 0) es mayor al 50%.
  • Nivel de significancia: 0.05.
  • Tipo de contraste: Unilateral (cola derecha).
2.4.1.1 Resultados de la prueba de proporción
Indicador Valor
Total pacientes 920
Pacientes con enfermedad 509
Proporción observada 0.5533
Hipótesis alternativa p > 0.5
Estadístico Chi² 10.439
Grados de libertad 1
Valor p 6e-04
IC 95% inferior 0.5262
IC 95% superior 1

Decisión:

Se rechaza H₀. Hay evidencia suficiente para afirmar que la proporción de pacientes con enfermedad cardíaca supera el 50%.

2.4.1.2 Interpretación:

Se realizó una prueba de hipótesis para evaluar si la proporción de pacientes con enfermedad supera el 50%. Los resultados indican lo siguiente:

  • De un total de 920 pacientes, 509 presentaron la enfermedad, lo que representa una proporción observada de 55.3%.
  • El valor del estadístico Chi² fue 10.439 con 1 grado de libertad, y el valor p asociado fue 6.17 × 10⁻⁴, lo que indica una diferencia estadísticamente significativa respecto a la proporción nula de 0.5.
  • El intervalo de confianza del 95% para la proporción verdadera va de 0.5262 a 1.0000, lo que excluye el valor nulo y respalda la hipótesis alternativa:

La proporción verdadera de pacientes con enfermedad es mayor a 0.5.

Estos resultados sugieren que la prevalencia de la enfermedad en la muestra es significativamente superior al 50%, con evidencia estadística robusta.

2.5 Segundo análisis

  • ¿Qué pasó en el primer análisis?:
    En el primer análisis se evaluó si la proporción de pacientes con enfermedad cardíaca (num > 0) superaba el 50%. Este contraste permitió establecer una visión general sobre la prevalencia de la enfermedad en el dataset heart.

  • Profundización en las características clínicas:
    Este segundo análisis se plantea como una extensión natural del primero, con el objetivo de explorar si las variables continuas (como colesterol, presión arterial y edad) presentan diferencias significativas entre los distintos niveles de la variable categórica num.

  • Metodología aplicada:

    • Cuando num tiene dos niveles, se aplica la prueba t de Student para comparar medias.
    • Cuando num tiene más de dos niveles, se utiliza una ANOVA de una vía para contrastar las medias entre grupos.
    • En ambos casos, se buscó determinar si las diferencias observadas son estadísticamente significativas.
  • Valor agregado del segundo análisis:

    • Permite vincular la prevalencia de la enfermedad (primer análisis) con las características clínicas de los pacientes.
    • Aporta evidencia sobre si la severidad o presencia de enfermedad cardíaca está asociada con cambios en variables como el colesterol o la presión arterial.
    • Refuerza la interpretación del dataset, mostrando no solo cuántos pacientes están enfermos, sino también cómo difieren clínicamente según el nivel de enfermedad.

2.5.1 Justificación del uso de las pruebas estadísticas indicadas

  • Continuación del primer análisis: En el primer análisis se evaluó si la proporción de pacientes con enfermedad cardíaca (num > 0) superaba el 50%.
    Este contraste permitió establecer una visión general sobre la prevalencia de la enfermedad en el dataset heart.

  • Necesidad del segundo análisis:
    Para complementar la información anterior, se buscó determinar si las variables clínicas continuas (como colesterol y presión arterial) presentan diferencias significativas entre los grupos definidos por la variable categórica num.

  • Prueba t de Student:

    • Se aplica cuando la variable num tiene dos niveles (ejemplo: 0 = sano, 1 = enfermo).
    • Permite comparar la media de una variable continua entre dos grupos.
  • ANOVA (Análisis de Varianza):

    • Se utiliza cuando la variable num tiene más de dos niveles (ejemplo: 0 = sano, 1 = leve, 2 = moderado, 3 = severo).

    • Permite comparar simultáneamente las medias de varios grupos para identificar si al menos una difiere significativamente.

2.5.2 Planteamiento de la hipótesis para el segundo análisis

  • Hipótesis nula (H₀):
    Las medias de las variables clínicas continuas (por ejemplo, colesterol, presión arterial, edad) son iguales entre los grupos definidos por la variable num.

    • No existen diferencias significativas entre los niveles de enfermedad cardíaca.
  • Hipótesis alternativa (Hₐ):
    Al menos una de las medias de las variables clínicas continuas difiere significativamente entre los grupos definidos por num.

    • Sí existen diferencias clínicas según el nivel de enfermedad cardíaca.
  • Nivel de significancia:
    Se establece en 0.05, lo que implica un 5% de tolerancia al error tipo I.

  • Tipo de contraste:

    • Si num tiene dos niveles, se aplica un contraste bilateral mediante la prueba t de Student.

    • Si num tiene más de dos niveles, se aplica un ANOVA de una vía, que evalúa simultáneamente todas las medias.

2.5.3 Análisis descriptivo por niveles de num

  • Conversión de variable categórica:
    La variable num se convierte en factor para tratarla como categórica. Esto permite agrupar a los pacientes según el nivel de enfermedad cardíaca y realizar comparaciones estadísticas entre grupos.

  • Tabla de frecuencia:
    Se calcula la cantidad de pacientes en cada nivel de num, este paso permite visualizar la distribución de la muestra y verificar el tamaño de cada grupo.

2.5.4 Gráfica 2: Resumen descriptivo por grupo (num)

Frecuencia de pacientes por nivel de num
Var1 Freq
0 411
1 265
2 109
3 107
4 28
Resumen descriptivo por grupo (num)
num n age_media chol_media trestbps_media
0 411 50.54745 230.8360 129.6928
1 265 53.52830 213.9179 131.6464
2 109 57.57798 181.6737 134.2493
3 107 59.21495 190.8339 134.7895
4 28 59.21429 209.6430 136.2826

2.5.5 Interpretación del análisis descriptivo por niveles de num

  • Distribución de pacientes por nivel de enfermedad (num):
    La mayoría de los pacientes se encuentran en el nivel 0 (411 casos), lo que indica ausencia de enfermedad cardíaca. Los niveles 1 y 2 también tienen representación significativa (265 y 109 casos, respectivamente), mientras que los niveles 3 y 4 son menos frecuentes (107 y 28 casos).
    • Esto sugiere que la muestra está concentrada en pacientes sanos o con enfermedad leve, lo cual debe considerarse al interpretar los resultados.
  • Edad promedio (age_media):
    Se observa un incremento progresivo en la edad conforme aumenta el nivel de enfermedad:
    • num = 0: 50.5 años
    • num = 4: 59.2 años
    • Esto sugiere una posible asociación entre edad avanzada y mayor severidad cardíaca.
  • Colesterol promedio (chol_media):
    El patrón es irregular:
    • El valor más alto se encuentra en num = 0 (230.8 mg/dl), pero disminuye en num = 1 (2013.9) y vuelve a subir en num = 4 (209.6).
    • Esto indica que el colesterol elevado no se relaciona linealmente con la progresión de la enfermedad, y podrían intervenir otros factores clínicos.
  • Presión arterial promedio (trestbps_media):
    Se observa una tendencia creciente hasta num = 4 (136.2 mmHg), seguida de fluctuaciones en los niveles superiores.
    • Esto sugiere una posible relación entre presión arterial elevada y enfermedad cardíaca, lineal.

2.5.6 Pruebas de hipótesis (ANOVA o t-test según niveles)

# Pruebas de hipótesis (ANOVA o t-test según niveles)
niveles_num <- unique(na.omit(heart$num))

if (length(niveles_num) > 2) {
  if ("chol" %in% names(heart)) {
    aov_col <- aov(chol ~ num, data = heart)
    kable(tidy(aov_col), caption = "ANOVA: Colesterol según niveles de num")
  }
  if ("trestbps" %in% names(heart)) {
    aov_presion <- aov(trestbps ~ num, data = heart)
    kable(tidy(aov_presion), caption = "ANOVA: Presión arterial según niveles de num")
  }
} else if (length(niveles_num) == 2) {
  if ("chol" %in% names(heart)) {
    t_col <- t.test(chol ~ num, data = heart)
    resultados_tcol <- data.frame(
      Estadístico = round(t_col$statistic, 3),
      `Valor p` = round(t_col$p.value, 4)
    )
    kable(resultados_tcol, caption = "Prueba t para colesterol")
  }
  if ("trestbps" %in% names(heart)) {
    t_presion <- t.test(trestbps ~ num, data = heart)
    resultados_tpres <- data.frame(
      Estadístico = round(t_presion$statistic, 3),
      `Valor p` = round(t_presion$p.value, 4)
    )
    kable(resultados_tpres, caption = "Prueba t para presión arterial")
  }
} else {
  cat("<p><b>La variable 'num'</b> no tiene <b>suficientes niveles</b> para <b>pruebas de   hipótesis</b>.</p>")
}
ANOVA: Presión arterial según niveles de num
term df sumsq meansq statistic p.value
num 4 3962.926 990.7316 3.803022 0.0044913
Residuals 915 238368.151 260.5116 NA NA

2.5.7 Interpretación

La prueba ANOVA evalúa si existen diferencias significativas en la presión arterial en reposo (trestbps) entre los distintos niveles de enfermedad cardíaca (num).

  • El valor p obtenido (0.0044) es menor al nivel de significancia convencional (α = 0.05), lo que indica que: > Se rechaza la hipótesis nula.

  • Esto significa que al menos una de las medias de presión arterial difiere significativamente entre los niveles de num.

  • El estadístico F = 3.80 refleja una variabilidad explicada por el grupo mayor que la variabilidad residual, lo que respalda la significancia del resultado.

Conclusión: La presión arterial en reposo está asociada con la severidad de la enfermedad cardíaca.
Los pacientes en distintos niveles de num presentan diferencias clínicas reales en este indicador.

Este hallazgo refuerza la utilidad de num como variable categórica explicativa en el análisis clínico del dataset heart.

2.5.8 Gráfica 3: Distribución del colesterol según niveles de num

Esta visualización muestra la distribución del colesterol para cada nivel de la variable num, que representa la severidad de enfermedad cardíaca. Cada boxplot resume la mediana, los cuartiles y los valores atípicos del colesterol en cada grupo.

2.5.9 Observaciones clave:

  • Nivel 0 (sin enfermedad):
    • Distribución más amplia, con valores altos y varios outliers.
    • Mediana relativamente elevada, lo que indica que incluso pacientes sin enfermedad pueden tener colesterol alto.
  • Niveles 1 y 2 (enfermedad leve a moderada):
    • Medianas similares o ligeramente más bajas que el nivel 0.
    • Menor dispersión en comparación con el grupo sano.
    • Esto podría indicar que algunos pacientes con enfermedad leve tienen colesterol más controlado.
  • Nivel 3 (enfermedad más avanzada):
    • Mediana más baja que los niveles anteriores.
    • Distribución más compacta, con menos outliers.
  • Nivel 4 (máxima severidad):
    • Mediana vuelve a subir ligeramente.
    • Distribución más estrecha, pero con valores altos.
    • Esto sugiere que en los casos más graves, el colesterol tiende a elevarse nuevamente.

2.5.10 Interpretación

El gráfico sugiere que la relación entre colesterol y severidad de enfermedad cardíaca no es lineal:

  • Aunque se esperaría que el colesterol aumente con la severidad, los niveles intermedios (num = 1, 2, 3) muestran medianas más bajas o similares al grupo sano.
  • El nivel más alto (num = 4) muestra una mediana elevada, lo que podría indicar un repunte en los casos más graves.

2.5.11 Resumen estadístico de la prueba de proporción

Indicador Valor
Total pacientes 920
Pacientes con enfermedad 509
Proporción observada.p 0.5533
Hipótesis alternativa p > 0.50
Estadístico Chi².X-squared 10.439
Grados de libertad.df 1
Valor p 6.17e-04
IC 95% inferior 0.5262
IC 95% superior 1

2.5.12 Resumen estadístico de la prueba de proporción

La proporción observada de pacientes con enfermedad fue 55.3%, superior al valor de referencia (50%).
La prueba de hipótesis con (chi^2 = 10.439), (df = 1) y un valor p de 6.17 × 10⁻⁴ indica una diferencia estadísticamente significativa.
El intervalo de confianza del 95% para la proporción va de 0.5262 a 1.0000, lo que excluye la hipótesis nula y respalda la hipótesis alternativa:

La proporción verdadera de pacientes con enfermedad es mayor a 0.5.

Este resultado sugiere una prevalencia elevada y estadísticamente confirmada de la condición bajo estudio.

2.6 Conclusiones generales

  • La proporción de pacientes con enfermedad cardíaca (num > 0) fue del 55.3%, significativamente superior al 50% esperado bajo la hipótesis nula.
    → Esto indica una
    prevalencia elevada y estadísticamente confirmada** de enfermedad en la muestra analizada.

  • La variable num, que representa la severidad de enfermedad cardíaca, mostró asociaciones significativas con indicadores clínicos clave:

    • Edad: Aumenta progresivamente con la severidad, lo que sugiere una relación directa entre envejecimiento y riesgo cardíaco.
    • Presión arterial (trestbps): Presenta diferencias significativas entre niveles de num (ANOVA, p = 0.0044), lo que respalda su valor como marcador clínico.
    • Colesterol (chol): Aunque su distribución varía entre niveles, no sigue un patrón lineal claro. El análisis visual sugiere que podría estar implicado en los extremos de severidad, pero requiere validación inferencial.
  • El análisis descriptivo y las pruebas estadísticas confirman que num es una variable explicativa útil para caracterizar diferencias clínicas en la población estudiada.

3 AJUSTES DE UN MODELO PREDICTIVO PRELIMINAR

3.1 Introducción

En esta sección 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.

3.2 Pregunta predictiva

3.2.1 ¿Podemos predecir la probabilidad de que un paciente presente enfermedad coronaria (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).

3.3 Preparación de datos

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.

3.4 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

3.5 Interpretación de coeficientes del modelo logístico

##                 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.

  • (Intercept) = -4.43
    • Valor base del logit cuando todas las variables predictoras son cero.
    • No tiene interpretación clínica directa, pero sirve como punto de partida del modelo.
  • Edad (Estimate = 0.062, p < 0.001)
    • Coeficiente positivo y altamente significativo.
    • Interpretación: por cada año adicional de edad, la probabilidad de enfermedad coronaria aumenta.
    • Relevancia práctica: confirma que la edad es un factor de riesgo importante.
  • Colesterol (Estimate = -0.0039, p < 0.001)
    • Coeficiente negativo y significativo.
    • Interpretación: a mayor nivel de colesterol, la probabilidad de enfermedad coronaria disminuye según este modelo.
    • Nota: este resultado es contraintuitivo respecto a la literatura clínica, lo que sugiere que puede haber colinealidad con otras variables o particularidades del dataset.
  • Presión arterial en reposo (Estimate = 0.0073, p = 0.12)
    • Coeficiente positivo pero no significativo (p > 0.05).
    • Interpretación: la presión arterial en reposo no muestra un efecto estadísticamente robusto en este modelo.
    • Relevancia práctica: aunque clínicamente es un factor de riesgo, aquí no aporta evidencia suficiente.
  • Sexo masculino (Estimate = 1.52, p < 0.001)
    • Coeficiente positivo y altamente significativo.
    • Interpretación: ser hombre incrementa notablemente la probabilidad de enfermedad coronaria en comparación con mujeres.
    • Relevancia práctica: refleja la epidemiología clásica de la enfermedad coronaria, más frecuente en hombres.

3.5.1 Indicadores

  • Null deviance = 1264.9 → *modelo sin predictores.
  • Residual deviance = 1086.2mejora sustancial al *incluir predictores.
  • AIC = 1096.2 → indicador de ajuste global, útil para comparar con otros modelos.

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.

3.6 Significancia estadística

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.

3.7 Indicadores globales del modelo

## [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:

  • AIC = 1096.24
    • El AIC (Akaike Information Criterion) mide la calidad del modelo penalizando la complejidad.
    • Un valor más bajo indica mejor ajuste relativo.
    • En este caso, el AIC sugiere un ajuste razonable, aunque no óptimo.
  • Log-Likelihood (llh = -543.12, llhNull = -632.47)
    • El log-likelihood del modelo es mayor (menos negativo) que el del modelo nulo.
    • Esto indica que los predictores incluidos mejoran la capacidad de explicación respecto al modelo sin variables.
  • G² = 178.69
    • Estadístico de razón de verosimilitudes.
    • Confirma que el modelo con predictores es significativamente mejor que el modelo nulo.
  • Pseudo R² de McFadden = 0.141
    • Valores entre 0.2–0.4 suelen considerarse buenos en modelos logísticos.
    • Aquí el valor es 0.14, lo que indica un ajuste moderado.
  • r2ML = 0.177 y r2CU = 0.236
    • Otros pseudo R² que refuerzan la interpretación.
    • Sugieren que el modelo explica entre un 17% y 23% de la variabilidad en la respuesta.

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.

3.8 Relevancia práctica

El modelo logístico ajustado aporta evidencia útil para la práctica clínica:

  • Edad: se confirma como un factor de riesgo significativo; a mayor edad, mayor probabilidad de enfermedad coronaria.
  • Sexo masculino: aparece como un predictor fuerte y coherente con la epidemiología clásica, reflejando mayor prevalencia en hombres.
  • Colesterol: aunque el coeficiente resultó negativo, su significancia estadística sugiere que está capturando algún patrón en el dataset. Esto invita a revisar posibles interacciones o particularidades de los datos, pero también muestra que el colesterol es una variable relevante en el modelo.
  • Presión arterial en reposo: no resultó significativa en este ajuste, lo que indica que por sí sola no explica la variabilidad en la presencia de enfermedad coronaria, aunque clínicamente sigue siendo un factor de riesgo reconocido.

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.

3.9 Conclusiones Generales

  • El modelo logístico ajustado confirma que edad y sexo masculino son predictores significativos y clínicamente coherentes de la enfermedad coronaria.
  • El colesterol mostró un efecto negativo inesperado, aunque estadísticamente significativo, lo que sugiere revisar posibles interacciones o particularidades del dataset.
  • La presión arterial en reposo no resultó significativa en este ajuste, aunque sigue siendo un factor clínico reconocido.
  • Los indicadores globales (AIC ≈ 1096, pseudo R² entre 0.14 y 0.23) reflejan un ajuste moderado, suficiente para identificar patrones de riesgo pero no para explicar toda la variabilidad.

3.9.1 Conclusión final

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.

4 MODELO LOGÍSTICO REFINADO PARA ENFERMEDAD CORONARIA

4.1 Planteamiento revisado de la pregunta predictiva

¿Cuál es la probabilidad de que un paciente presente enfermedad coronaria (presencia vs. ausencia) a partir de variables clínicas básicas, priorizando interpretabilidad, parsimonia y capacidad de generalización?

El objetivo es refinar el modelo preliminar de regresión logística, evaluando correlaciones y colinealidad, comparando al menos dos especificaciones y seleccionando un modelo final con justificación basada en métricas y coherencia clínica.

Criterios de éxito: menor AIC, mayor AUC y pR², coeficientes interpretables y ausencia de colinealidad problemática.

4.2 Análisis de necesidad de más variables

Ajuste del modelo original
Coeficientes del modelo original
term estimate std.error statistic p.value
(Intercept) -4.4351 0.7288 -6.0854 0.0000
age 0.0623 0.0084 7.4206 0.0000
chol -0.0039 0.0010 -3.8591 0.0001
trestbps 0.0073 0.0047 1.5542 0.1201
sexMale 1.5219 0.1921 7.9244 0.0000
Visualización de efectos

Coeficientes y significancia

  • (Intercept) (-4.43, p < 0.001)
    Representa la probabilidad base de enfermedad coronaria cuando todas las variables predictoras son cero.
    Interpretación: El valor negativo y altamente significativo indica que la probabilidad inicial sin factores de riesgo es muy baja.

  • Edad (0.062, p < 0.001)
    Coeficiente positivo y altamente significativo.
    Cada año adicional de edad aumenta los log-odds de enfermedad coronaria.
    Interpretación: La edad es un fuerte predictor, consistente con la literatura clínica.

  • Colesterol (-0.0039, p < 0.001)
    Coeficiente negativo y significativo.
    Este resultado es contraintuitivo: sugiere que a mayor colesterol, menor probabilidad de enfermedad.
    Interpretación: puede deberse a sesgos en el dataset (pacientes tratados, variabilidad entre bases). Aunque estadísticamente significativo, clínicamente debe interpretarse con cautela.

  • Presión arterial en reposo (0.0073, p = 0.12)
    Coeficiente positivo pero no significativo.
    Interpretación: No aporta evidencia estadística suficiente en este modelo. Aunque clínicamente relevante, en este dataset no mejora la predicción.

  • Sexo masculino (1.52, p < 0.001)
    Coeficiente positivo y altamente significativo.
    Interpretación: Ser hombre aumenta considerablemente la probabilidad de enfermedad coronaria, lo cual es consistente con evidencia clínica.

Indicadores globales del modelo original
Métrica Valor
Null deviance 1264.932
Residual deviance 1086.241
AIC 1096.241
Iteraciones 4.000

Indicadores globales del modelo

  • Null deviance: 1264.9 → Residual deviance: 1086.2
    El modelo reduce la desviación, lo que indica que explica parte de la variabilidad respecto al modelo nulo.

  • AIC: 1096.2
    Valor de referencia para comparar con modelos aumentados.
    Moderado, el modelo tiene ajuste aceptable pero no óptimo.

Conclusión del modelo original

  • El modelo sí responde a la pregunta predictiva: podemos estimar la probabilidad de enfermedad coronaria con factores clásicos.
  • Edad y sexo masculino son predictores fuertes y significativos.
  • Colesterol aparece significativo pero con signo inesperado, por lo que se requiere análisis más profundo o comparación con un modelo aumentado.
  • Presión arterial en reposo no es significativa, ya que su aporte es limitado en este dataset.
  • El AIC y la desviación residual muestran que el modelo tiene capacidad explicativa moderada, pero probablemente pueda mejorar al incluir más variables clínicas.
Ajuste del modelo aumentado
## 
## Call:
## glm(formula = num_bin ~ age + chol + trestbps + sex + thalch + 
##     exang + cp + restecg + slope + ca + thal + oldpeak + fbs, 
##     family = binomial, data = heart)
## 
## Coefficients:
##                          Estimate Std. Error z value Pr(>|z|)    
## (Intercept)             -0.163993   1.420188  -0.115  0.90807    
## age                      0.001530   0.013023   0.117  0.90646    
## chol                    -0.003001   0.001534  -1.956  0.05044 .  
## trestbps                 0.003572   0.006603   0.541  0.58859    
## sexMale                  0.738916   0.289060   2.556  0.01058 *  
## thalch                  -0.002847   0.004913  -0.579  0.56228    
## exangTRUE                0.982888   0.239158   4.110 3.96e-05 ***
## cpatypical angina       -1.606569   0.311475  -5.158 2.50e-07 ***
## cpnon-anginal           -1.249476   0.253383  -4.931 8.17e-07 ***
## cptypical angina        -1.102012   0.394939  -2.790  0.00527 ** 
## restecgnormal           -0.359745   0.276274  -1.302  0.19287    
## restecgst-t abnormality -0.003250   0.351380  -0.009  0.99262    
## slopeflat                0.463854   0.364513   1.273  0.20318    
## slopeupsloping          -0.806463   0.411232  -1.961  0.04987 *  
## ca                       1.225826   0.155692   7.873 3.45e-15 ***
## thalnormal              -0.899687   0.314233  -2.863  0.00419 ** 
## thalreversable defect    0.347382   0.278635   1.247  0.21250    
## oldpeak                  0.456589   0.141996   3.215  0.00130 ** 
## fbsTRUE                 -0.013391   0.303831  -0.044  0.96485    
## ---
## 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:  627.6  on 901  degrees of freedom
## AIC: 665.6
## 
## Number of Fisher Scoring iterations: 6
## [1] 665.602
Coeficientes del modelo aumentado
term estimate std.error statistic p.value
(Intercept) -0.1640 1.4202 -0.1155 0.9081
age 0.0015 0.0130 0.1175 0.9065
chol -0.0030 0.0015 -1.9562 0.0504
trestbps 0.0036 0.0066 0.5409 0.5886
sexMale 0.7389 0.2891 2.5563 0.0106
thalch -0.0028 0.0049 -0.5795 0.5623
exangTRUE 0.9829 0.2392 4.1098 0.0000
cpatypical angina -1.6066 0.3115 -5.1579 0.0000
cpnon-anginal -1.2495 0.2534 -4.9312 0.0000
cptypical angina -1.1020 0.3949 -2.7903 0.0053
restecgnormal -0.3597 0.2763 -1.3021 0.1929
restecgst-t abnormality -0.0032 0.3514 -0.0092 0.9926
slopeflat 0.4639 0.3645 1.2725 0.2032
slopeupsloping -0.8065 0.4112 -1.9611 0.0499
ca 1.2258 0.1557 7.8734 0.0000
thalnormal -0.8997 0.3142 -2.8631 0.0042
thalreversable defect 0.3474 0.2786 1.2467 0.2125
oldpeak 0.4566 0.1420 3.2155 0.0013
fbsTRUE -0.0134 0.3038 -0.0441 0.9648
Visualización de efectos

El modelo ajustado incluye múltiples predictores clínicos y demográficos para explicar la probabilidad de enfermedad cardíaca (num_bin). A continuación se presentan los resultados más relevantes:

  • Edad (age): No significativa (p = 0.906). La edad no mostró efecto independiente en este modelo.
  • Colesterol (chol): Efecto negativo marginalmente significativo (p ≈ 0.050). Niveles más altos de colesterol se asocian con una ligera reducción en la probabilidad de enfermedad, lo cual puede reflejar confusión con otros factores.
  • Presión arterial en reposo (trestbps): No significativa (p = 0.589).
  • Sexo masculino (sexMale): Significativo y positivo (p = 0.010). Ser hombre aumenta la probabilidad de enfermedad cardíaca.
  • Frecuencia cardíaca máxima (thalch): No significativa (p = 0.562).
  • Angina inducida por ejercicio (exangTRUE): Altamente significativa y positiva (p < 0.001). La presencia de angina durante el ejercicio incrementa fuertemente el riesgo.
  • Tipo de dolor torácico (cp):
    • Angina atípica: Efecto negativo fuerte (p < 0.001).
    • Dolor no anginal: Efecto negativo fuerte (p < 0.001).
    • Angina típica: Efecto negativo significativo (p = 0.005).
      → En comparación con el grupo de referencia (asintomático), estos tipos de dolor reducen la probabilidad de diagnóstico positivo.
  • Electrocardiograma en reposo (restecg): No significativo en sus categorías.
  • Pendiente del segmento ST (slope):
    • Upsloping: Efecto negativo marginalmente significativo (p = 0.049).
    • Flat: No significativo.
  • Número de vasos coloreados (ca): Altamente significativo y positivo (p < 0.001). A mayor número de vasos afectados, mayor probabilidad de enfermedad.
  • Thalassemia (thal):
    • Normal: Efecto negativo significativo (p = 0.004).
    • Defecto reversible: No significativo.
  • Depresión del ST (oldpeak): Significativo y positivo (p = 0.001). Mayor depresión del ST se asocia con mayor riesgo.
  • Glucosa en ayunas (fbsTRUE): No significativa (p = 0.965).
Indicadores globales del modelo aumentado
Métrica Valor
Null deviance 1264.932
Residual deviance 627.602
AIC 665.602
Iteraciones 6.000

Indicadores globales del modelo aumentado

  • Null deviance: 1264.9
    Representa el ajuste del modelo sin predictores. Un valor alto indica que la variable dependiente (*enfermedad cardíaca) tiene bastante variabilidad que necesita ser explicada**.

  • Residual deviance: 627.6
    Mide el ajuste del modelo con todos los predictores incluidos. La reducción respecto al null deviance (de 1264.9 a 627.6) muestra que el modelo explica una gran parte de la variabilidad en la respuesta. Esta diferencia es evidencia de que los predictores aportan información relevante.

  • AIC: 665.6
    Criterio de información de Akaike. Un valor más bajo indica mejor ajuste relativo entre modelos comparables. Aquí el AIC sugiere que el modelo es razonablemente parsimonioso y con buen poder explicativo.

  • Número de iteraciones: 6
    Cantidad de pasos que necesitó el algoritmo de Fisher scoring para converger. Un número bajo (como 6) indica que el modelo alcanzó estabilidad rápidamente, lo cual es una señal de buen comportamiento numérico.

Conclusión del modelo aumentado

  • El modelo logra una reducción sustancial de la desviación respecto al modelo nulo, lo que confirma que los predictores seleccionados aportan información valiosa.

  • El AIC relativamente bajo refuerza la idea de un ajuste adecuado y parsimonioso. En conjunto, estos indicadores sugieren que el modelo es estadísticamente sólido y estable, capaz de capturar patrones relevantes en la probabilidad de enfermedad cardíaca.

  • El modelo muestra que las variables más relevantes para predecir enfermedad cardíaca son:

    • Sexo masculino,

    • Angina inducida por ejercicio,

    • Tipo de dolor torácico,

    • Número de vasos coloreados,

    • Thalassemia normal,

    • Depresión del ST (oldpeak).

      Estas variables tienen un impacto clínico claro y estadísticamente significativo, mientras que otras como edad, presión arterial en reposo y glucosa en ayunas no aportan evidencia independiente en este ajuste.

Comparación de modelos
## Analysis of Deviance Table
## 
## Model 1: num_bin ~ age + chol + trestbps + sex
## Model 2: num_bin ~ age + chol + trestbps + sex + thalch + exang + cp + 
##     restecg + slope + ca + thal + oldpeak + fbs
##   Resid. Df Resid. Dev Df Deviance  Pr(>Chi)    
## 1       915     1086.2                          
## 2       901      627.6 14   458.64 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Se compararon dos modelos logísticos para predecir la probabilidad de enfermedad cardíaca (num_bin):

  • Modelo 1: incluye solo variables básicas - edad, colesterol, presión arterial en reposo y sexo.
  • Modelo 2: añade variables clínicas adicionalesfrecuencia cardíaca máxima (thalch), angina inducida por ejercicio (exang), tipo de dolor torácico (cp), electrocardiograma en reposo (restecg), pendiente del ST (slope), número de vasos coloreados (ca), tipo de thalassemia (thal), depresión del ST (oldpeak) y glucosa en ayunas (fbs).

Resultados del análisis de desviación

  • Desviación residual del Modelo 1: 1086.2 con 915 grados de libertad
  • Desviación residual del Modelo 2: 627.6 con 901 grados de libertad
  • Diferencia de desviación: 458.64 en 14 grados de libertad
  • Valor p: < 2.2e-16altamente significativo

Interpretación

La inclusión de variables clínicas adicionales en el Modelo 2 mejora significativamente el ajuste del modelo. La reducción de la desviación residual indica que el modelo explica mucho mejor la variabilidad en el diagnóstico de enfermedad cardíaca. El valor p extremadamente bajo confirma que esta mejora no es atribuible al azar.

Conclusión:
El Modelo 2 es estadísticamente superior al Modelo 1. Las variables clínicas adicionales aportan información relevante y deben ser consideradas en cualquier análisis predictivo o diagnóstico.

Evaluación del desempeño del modelo: Área bajo la curva (AUC)
## Area under the curve: 0.746
## Area under the curve: 0.9276

Se compararon dos modelos de regresión logística mediante sus curvas ROC, evaluando su capacidad para discriminar entre casos positivos y negativos de enfermedad cardíaca.

  • Modelo original:
    • Área bajo la curva (AUC): 0.746
    • Interpretación: El modelo tiene una capacidad moderada para distinguir entre pacientes con y sin enfermedad. Un AUC de 0.746 indica que, en promedio, el modelo clasifica correctamente el 74.6% de los pares de casos (uno positivo y uno negativo).
  • Modelo aumentado (con variables clínicas adicionales):
    • Área bajo la curva (AUC): 0.9276
    • Interpretación: El modelo tiene una capacidad excelente de discriminación. Un AUC de 0.9276 indica que el modelo clasifica correctamente el 92.76% de los pares, lo que representa una mejora sustancial respecto al modelo original.

Conclusión

La inclusión de variables clínicas adicionales mejora notablemente el desempeño del modelo. El aumento en el AUC demuestra que el modelo aumentado tiene una mayor sensibilidad y especificidad, lo que lo convierte en una herramienta más confiable para apoyar decisiones diagnósticas en contextos clínicos.

Diagnóstico de multicolinealidad
GVIF - Modelo Original
Variable value
age 1.061
chol 1.039
trestbps 1.071
sex 1.030
GVIF - Modelo Aumentado
Variable GVIF Df GVIF^(1/(2*Df))
age 1.431 1 1.196
chol 1.293 1 1.137
trestbps 1.117 1 1.057
sex 1.225 1 1.107
thalch 1.449 1 1.204
exang 1.288 1 1.135
cp 1.240 3 1.037
restecg 1.427 2 1.093
slope 1.536 2 1.113
ca 1.254 1 1.120
thal 1.620 2 1.128
oldpeak 1.251 1 1.119
fbs 1.150 1 1.072

Modelo Original

  • Valores GVIF: todos cercanos a 1 (entre 1.03 y 1.07).
  • Interpretación: No existe evidencia de colinealidad entre las variables edad, colesterol, presión arterial en reposo y sexo.
  • Conclusión: El modelo original es muy estable en términos de independencia entre predictores.

Modelo Aumentado

  • Valores GVIF^(1/(2·Df)): todos entre 1.03 y 1.20.
  • Interpretación:
    • Variables como age, thalch y slope muestran los valores más altos (~1.20 y ~1.11), pero aún muy por debajo del umbral crítico de 2.
    • Factores con múltiples niveles (cp, restecg, slope, thal) fueron ajustados correctamente y no presentan riesgo de colinealidad.
    • En general, todos los predictores adicionales mantienen independencia suficiente para ser incluidos en el modelo.

Conclusión:

  • Tanto el modelo original como el modelo aumentado muestran ausencia de multicolinealidad preocupante.
  • La inclusión de variables clínicas adicionales en el modelo aumentado no introduce problemas de colinealidad, lo que respalda la validez estadística y la estabilidad de las estimaciones.
  • Esto significa que el modelo aumentado puede interpretarse con confianza, ya que los coeficientes no están distorsionados por redundancia entre predictores.

4.3 Variables seleccionadas

Tras el análisis de coeficientes, indicadores globales, curvas ROC y diagnóstico de multicolinealidad, se seleccionaron las siguientes variables para el modelo aumentado de predicción de enfermedad cardíaca:

  • Sexo (sexMale): significativo, mayor riesgo en hombres.
  • Angina inducida por ejercicio (exang): altamente significativa, incrementa el riesgo.
  • Tipo de dolor torácico (cp): categorías protectoras frente al grupo asintomático.
  • Número de vasos coloreados (ca): altamente significativo, refleja extensión de la enfermedad.
  • Depresión del ST (oldpeak): significativa, riesgo creciente con valores elevados.
  • Pendiente del ST (slope upsloping): efecto negativo marginalmente significativo.
  • Thal (normal): efecto protector significativo.

Variables mantenidas por relevancia clínica, aunque no significativas en este ajuste:
- Edad (age)
- Colesterol (chol)
- Presión arterial en reposo (trestbps)
- Frecuencia cardíaca máxima (thalch)
- Electrocardiograma en reposo (restecg)
- Glucosa en ayunas (fbs)
- Thal (defecto reversible)

El modelo aumentado incorpora variables demográficas, metabólicas, funcionales y clínicas que en conjunto ofrecen una mejor capacidad predictiva (AUC = 0.9276 frente a 0.746 del modelo original). La ausencia de multicolinealidad confirma que las estimaciones son estables y confiables. Por ello, estas variables serán consideradas en el modelo final para la predicción de enfermedad cardíaca.

4.4 Preparación y transformación de datos

Antes de ajustar el modelo logístico, se aplicaron pasos de depuración y transformación para garantizar la validez de los datos y mejorar la interpretabilidad de los coeficientes:

  • Tratamiento de valores no válidos:
    Se eliminó el caso de colesterol = 0*, ya que clínicamente no es posible y se considera un valor faltante o erróneo. Esto evita sesgos en el modelo y problemas en las transformaciones posteriores.

  • Transformación del colesterol (chol):
    Se aplicó la función logaritmo natural (log_chol = log(chol)), con el objetivo de:

    • Reducir la influencia de valores extremos (outliers).
    • Mejorar la linealidad en el logit, condición importante para la regresión logística.
    • Facilitar la interpretación en términos de cambios relativos.
  • Centrado de la edad (age_centered):
    Se restó la media de la edad, dejando la variable centrada en cero. Esto permite:

    • Mejorar la interpretación de coeficientes en presencia de interacciones.
    • Reducir la colinealidad entre términos principales e interacciones.
    • Interpretar el intercept como el valor esperado cuando la edad está en su media.

Estas transformaciones aseguran que el modelo se base en datos clínicamente válidos, con predictores más estables y coeficientes más interpretables. El preprocesamiento fortalece la calidad del análisis y la confiabilidad de las inferencias estadísticas.

Dataset preprocesado
Variable Tipo Ejemplo
age integer 63, 67, 67
sex character Male, Male, Male
dataset character Cleveland, Cleveland, Cleveland
cp character typical angina, asymptomatic, asymptomatic
trestbps numeric 145, 159.652, 120
chol numeric 233, 286, 229
fbs logical TRUE, FALSE, FALSE
restecg character lv hypertrophy, lv hypertrophy, lv hypertrophy
thalch numeric 150, 108, 129
exang logical FALSE, TRUE, TRUE
oldpeak numeric 1.9826, 1.5, 1.9826
slope character downsloping, flat, flat
ca integer 0, 3, 2
thal character fixed defect, normal, reversable defect
num integer 0, 2, 1
num_bin numeric 0, 1, 1
log_chol numeric 5.4510384535657, 5.65599181081985, 5.43372200355424
age_centered numeric 9.48913043478261, 13.4891304347826, 13.4891304347826

4.4.1 Visualizaciones clave

##           ca oldpeak
## ca      1.00    0.24
## oldpeak 0.24    1.00

  • Se observan correlaciones bajas a moderadas entre los predictores continuos; no se detectan relaciones superiores que anticipen colinealidad severa.
  • Dispersión clave: la relación entre edad y colesterol es heterogénea y su pendiente promedio es leve, justificando la transformación logarítmica.
  • Residuos del modelo base: los residuos deviance muestran variabilidad con algunos patrones leves, motivando la prueba de transformaciones e interacciones para mejorar el ajuste.

4.5 Modelo final: fórmula, interpretación, significancia y métricas globales

Table:
Comparación de M1 vs M2 (AIC, pseudo-R², AUC)
Modelo AIC McFadden_pR2 AUC
M1 (base) 665.6020 0.5038452 0.9275618
M2 (refinado) 662.1313 0.5081701 0.9286039
Table:
VIF por modelo (con GVIF ajustado)
Modelo Variable GVIF Df GVIF_adj
M1 (base) age 1.430975 1 1.196
M1 (base) chol 1.292609 1 1.137
M1 (base) trestbps 1.116943 1 1.057
M1 (base) sex 1.225146 1 1.107
M1 (base) thalch 1.448895 1 1.204
M1 (base) exang 1.288291 1 1.135
M1 (base) cp 1.240161 3 1.037
M1 (base) restecg 1.426981 2 1.093
M1 (base) slope 1.536070 2 1.113
M1 (base) ca 1.254498 1 1.120
M1 (base) thal 1.619726 2 1.128
M1 (base) oldpeak 1.251406 1 1.119
M1 (base) fbs 1.150125 1 1.072
M2 (refinado) age_centered 5.358155 1 2.315
M2 (refinado) sex 1.230603 1 1.109
M2 (refinado) log_chol 1.328776 1 1.153
M2 (refinado) trestbps 1.113315 1 1.055
M2 (refinado) thalch 1.462604 1 1.209
M2 (refinado) exang 1.290813 1 1.136
M2 (refinado) cp 1.242084 3 1.037
M2 (refinado) restecg 1.459774 2 1.099
M2 (refinado) slope 1.554907 2 1.117
M2 (refinado) ca 1.266072 1 1.125
M2 (refinado) thal 1.649478 2 1.133
M2 (refinado) oldpeak 1.257382 1 1.121
M2 (refinado) fbs 1.153218 1 1.074
M2 (refinado) age_centered:sex 5.199054 1 2.280
Table:
Odds Ratios ordenados por significancia
Variable OR IC_low IC_high p_value Modelo
ca 3.4069789 2.5457670 4.6924934 0.0000000 M1 (base)
cpatypical angina 0.2005746 0.1071557 0.3647627 0.0000002 M1 (base)
cpnon-anginal 0.2866549 0.1736190 0.4695856 0.0000008 M1 (base)
exangTRUE 2.6721616 1.6748190 4.2826070 0.0000396 M1 (base)
oldpeak 1.5786803 1.1959787 2.0885760 0.0013022 M1 (base)
thalnormal 0.4066968 0.2184993 0.7504033 0.0041949 M1 (base)
cptypical angina 0.3322020 0.1516389 0.7177357 0.0052654 M1 (base)
sexMale 2.0936641 1.1924781 3.7114847 0.0105800 M1 (base)
slopeupsloping 0.4464345 0.1976237 0.9936717 0.0498684 M1 (base)
chol 0.9970031 0.9939898 0.9999964 0.0504362 M1 (base)
restecgnormal 0.6978540 0.4044720 1.1968672 0.1928705 M1 (base)
slopeflat 1.5901913 0.7704838 3.2278707 0.2031840 M1 (base)
thalreversable defect 1.4153573 0.8187264 2.4448800 0.2124975 M1 (base)
thalch 0.9971570 0.9876018 1.0068361 0.5622781 M1 (base)
trestbps 1.0035781 0.9906693 1.0166919 0.5885920 M1 (base)
age 1.0015313 0.9762432 1.0274631 0.9064648 M1 (base)
(Intercept) 0.8487479 0.0522466 13.8018885 0.9080704 M1 (base)
fbsTRUE 0.9866985 0.5439927 1.7934501 0.9648461 M1 (base)
restecgst-t abnormality 0.9967554 0.4991288 1.9834858 0.9926205 M1 (base)
ca 3.2410691 2.4299629 4.4494003 0.0000000 M2 (refinado)
cpatypical angina 0.2026317 0.1080732 0.3694193 0.0000003 M2 (refinado)
cpnon-anginal 0.2810466 0.1695546 0.4619542 0.0000007 M2 (refinado)
exangTRUE 2.7540783 1.7227067 4.4240873 0.0000248 M2 (refinado)
oldpeak 1.5866898 1.2000794 2.1027906 0.0012306 M2 (refinado)
thalnormal 0.3776292 0.2008614 0.7027363 0.0022625 M2 (refinado)
log_chol 0.4421542 0.2537213 0.7612254 0.0035261 M2 (refinado)
cptypical angina 0.3378902 0.1542367 0.7305946 0.0060337 M2 (refinado)
sexMale 1.9827671 1.1221297 3.5357610 0.0191364 M2 (refinado)
(Intercept) 35.5097234 0.9807950 1374.6928973 0.0529659 M2 (refinado)
slopeupsloping 0.4532087 0.1993394 1.0160300 0.0563621 M2 (refinado)
restecgnormal 0.6491192 0.3746853 1.1171576 0.1203245 M2 (refinado)
slopeflat 1.6442983 0.7939103 3.3525646 0.1748822 M2 (refinado)
thalreversable defect 1.3676926 0.7903655 2.3643713 0.2618634 M2 (refinado)
age_centered:sexMale 0.9694561 0.9176808 1.0233897 0.2632675 M2 (refinado)
age_centered 1.0261578 0.9769891 1.0784245 0.3035386 M2 (refinado)
trestbps 1.0039370 0.9909705 1.0171188 0.5535862 M2 (refinado)
thalch 0.9978477 0.9882051 1.0076261 0.6638362 M2 (refinado)
restecgst-t abnormality 0.8941366 0.4440640 1.7922049 0.7528254 M2 (refinado)
fbsTRUE 1.0251806 0.5649173 1.8647692 0.9348288 M2 (refinado)
Table:
Comparación directa de OR entre M1 y M2
Variable OR_M1 OR_M2
ca 3.4069789 3.2410691
cpatypical angina 0.2005746 0.2026317
cpnon-anginal 0.2866549 0.2810466
exangTRUE 2.6721616 2.7540783
oldpeak 1.5786803 1.5866898
thalnormal 0.4066968 0.3776292
cptypical angina 0.3322020 0.3378902
sexMale 2.0936641 1.9827671
slopeupsloping 0.4464345 0.4532087
chol 0.9970031 NA
restecgnormal 0.6978540 0.6491192
slopeflat 1.5901913 1.6442983
thalreversable defect 1.4153573 1.3676926
thalch 0.9971570 0.9978477
trestbps 1.0035781 1.0039370
age 1.0015313 NA
(Intercept) 0.8487479 35.5097234
fbsTRUE 0.9866985 1.0251806
restecgst-t abnormality 0.9967554 0.8941366
log_chol NA 0.4421542
age_centered:sexMale NA 0.9694561
age_centered NA 1.0261578
Interpretación de resultados
Comparación global de modelos (M1 vs M2)
  • AIC: M2 (662.1) es ligeramente menor que M1 (665.6) → mejor ajuste penalizado por complejidad.
  • Pseudo‑R² de McFadden: M2 (0.508) supera marginalmente a M1 (0.504) → mayor capacidad explicativa.
  • AUC: Ambos modelos muestran excelente discriminación (>0.92). M2 mejora apenas (0.9286 vs 0.9276).

Conclusión: M2 es un refinamiento con mejor ajuste y mantiene la capacidad predictiva, aunque la ganancia es modesta.

Colinealidad (VIF)
  • M1: Todos los GVIF ajustados cercanos a 1 → baja colinealidad.
  • M2: age_centered y la interacción age_centered:sex muestran GVIF ajustados elevados (~2.3) → cierta tensión en edad e interacción.
  • El resto de predictores mantienen valores bajos → sin riesgo de multicolinealidad.

Conclusión: El refinamiento introduce correlación en edad e interacción, pero sigue dentro de márgenes aceptables (<5).

Odds Ratios significativos
  • ca (número de vasos coloreados): OR ~3.2–3.4 → mayor extensión coronaria aumenta el riesgo.
  • exang (angina inducida por ejercicio): OR ~2.7 → fuerte incremento del riesgo.
  • oldpeak (depresión ST): OR ~1.58 → riesgo creciente con valores altos.
  • cp (dolor torácico): categorías protectoras frente al grupo asintomático:
    • atypical angina: OR ~0.20
    • non‑anginal: OR ~0.28
    • typical angina: OR ~0.33
  • thal (normal): OR ~0.38–0.40 → protector significativo.
  • sex (hombre): OR ~2.0 → mayor riesgo en hombres.

Conclusión: Los predictores más robustos y clínicamente relevantes son ca, exang, oldpeak, cp, thal normal y sexo masculino.

Comparación directa M1 vs M2
  • OR de variables clave son muy estables entre modelos.
  • M2 introduce log_chol como predictor protector significativo (OR ~0.44, p<0.01).
  • La interacción age_centered:sex no resulta significativa.
  • El intercepto cambia por la transformación de edad, pero no afecta la interpretación clínica.
Interpretación final
  • M2 es preferible: mejora ligeramente el ajuste global y ofrece una representación más clara del efecto del colesterol.
  • Predictores clave y estables: ca, exang, oldpeak, cp, thal normal y sexo masculino.
  • Efectos marginales: slope upsloping y colesterol lineal pierden fuerza; log_chol gana relevancia en M2.
  • Colinealidad: aceptable, aunque la interacción edad‑sexo no aporta significancia y puede omitirse.

En resumen: M2 es un refinamiento válido y ligeramente superior, con los mismos predictores clínicamente relevantes y un mejor manejo del colesterol.

Interpretación comparativa de modelos M1 (base) vs M2 (refinado)
Indicadores globales
  • AIC: M2 (662.1) mejora ligeramente frente a M1 (665.6) → mejor ajuste penalizado por complejidad.
  • Pseudo‑R² de McFadden: M2 (0.508) supera marginalmente a M1 (0.504) → mayor capacidad explicativa.
  • AUC: Ambos modelos muestran excelente discriminación (>0.92). M2 mejora apenas (0.9286 vs 0.9276).

Conclusión: M2 es preferible por su ajuste más eficiente y su capacidad predictiva equivalente.

Diagnóstico de multicolinealidad (VIF)
  • M1: Todos los GVIF ajustados cercanos a 1 → baja colinealidad.
  • M2: age_centered y age_centered:sex muestran GVIF ajustados elevados (~2.3) → correlación moderada, pero aceptable.

Conclusión: No hay multicolinealidad crítica. El refinamiento introduce correlación en edad e interacción, pero dentro de márgenes seguros.

Variables con efecto significativo (Odds Ratios con IC 95%)

Incrementan el riesgo: - ca (vasos coloreados): OR > 3 → fuerte incremento del riesgo cardiovascular. - exangTRUE (angina inducida por ejercicio): OR ~2.7 → dobla el riesgo. - oldpeak (depresión ST): OR ~1.58 → riesgo creciente con mayor depresión. - sexMale: OR ~2.0 → mayor riesgo en hombres.

Protegen frente al riesgo: - cp (dolor torácico): - atypical angina: OR ~0.20 - non-anginal: OR ~0.28 - typical angina: OR ~0.33 - thalnormal: OR ~0.38 → protector claro. - log_chol (solo en M2): OR ~0.44 → efecto protector del colesterol log-transformado.

Conclusión: Los predictores clínicamente robustos y estables son:
ca, exangTRUE, oldpeak, cp, thalnormal, sexMale, y log_chol (en M2).

Variables marginales o prescindibles
  • slopeupsloping: OR ~0.45 → efecto protector borderline, pierde fuerza en M2.
  • restecg, slopeflat, thalreversible defect, age_centered, trestbps, fbsTRUE: OR ~1 → no significativos.
  • age_centered:sex: no aporta significancia → puede omitirse.
  • Intercepto en M2: OR muy alto con IC amplio → efecto técnico por reparametrización, no clínico.
Comparación directa de OR entre M1 y M2
  • Los OR de variables clave son muy estables entre modelos → efectos clínicos consistentes.
  • log_chol en M2 mejora la significancia respecto a chol en M1.
  • La interacción age_centered:sex no aporta valor predictivo.
Síntesis final
  • M2 es preferible: mejora el ajuste y clarifica el efecto del colesterol.
  • Predictores clave: ca, exangTRUE, oldpeak, cp, thalnormal, sexMale, log_chol.
  • Variables prescindibles: restecg, slopeflat, thalreversible defect, age, trestbps, fbsTRUE.
  • Interacciones sin valor añadido: age_centered:sex puede eliminarse.

Este análisis respalda el uso de M2 como modelo clínico más claro, robusto y eficiente.

4.6 Discusión del modelo: qué predice, cómo lo hace, fortalezas y limitaciones

¿Qué predice?

El modelo logístico desarrollado tiene como objetivo predecir la presencia de enfermedad cardíaca en pacientes, a partir de variables clínicas y de pruebas diagnósticas.
La variable dependiente es binaria (presencia vs ausencia de enfermedad), lo que permite estimar la probabilidad de riesgo individual.

¿Cómo lo hace?
  • Utiliza un modelo de regresión logística binaria, que relaciona cada predictor con la probabilidad de presentar enfermedad.
  • Los Odds Ratios (OR) permiten interpretar el efecto de cada variable:
    • OR > 1 → incremento del riesgo.
    • OR < 1 → efecto protector.
  • Se evaluaron indicadores globales de ajuste (AIC, pseudo‑R², AUC) y diagnósticos de colinealidad (VIF) para garantizar robustez estadística.
  • El refinamiento del modelo (M2) incluyó transformaciones como log_chol y centrado de edad, mejorando la significancia de algunos predictores.
Fortalezas
  • Excelente discriminación: AUC > 0.92 en ambos modelos → alta capacidad para diferenciar pacientes con y sin enfermedad.
  • Predictores clínicamente relevantes y consistentes:
    • ca (vasos coloreados), exang (angina inducida por ejercicio), oldpeak (depresión ST), cp (dolor torácico), thal normal, sexo masculino.
  • Interpretabilidad: Los OR permiten una lectura clara y directa para la práctica clínica.
  • Robustez estadística: VIF bajos en la mayoría de las variables → ausencia de multicolinealidad crítica.
  • Refinamiento útil: La transformación log_chol mejora la significancia del colesterol como predictor.
Limitaciones
  • Ganancia marginal: La mejora de M2 frente a M1 es ligera en términos de AIC y AUC.
  • Variables no significativas: Algunas (ej. restecg, slopeflat, thal reversible defect, trestbps, fbs) no aportan valor predictivo.
  • Interacciones poco útiles: La interacción age_centered:sex no resultó significativa.
  • Intercepto en M2: Valor extremo y poco interpretable clínicamente, reflejo de la reparametrización.
  • Generalización: El modelo depende de la población y características del dataset; requiere validación externa para uso clínico.

4.7 Conclusiones

  • El modelo predice de manera confiable la probabilidad de enfermedad cardíaca utilizando variables clínicas clave.
  • Su fortaleza radica en la consistencia de predictores robustos y en la alta capacidad discriminativa.
  • Las limitaciones se centran en la ganancia marginal del refinamiento y en la presencia de variables sin relevancia estadística.
  • En conjunto, M2 es preferible como modelo refinado, aunque la interpretación clínica se mantiene estable respecto a M1.

4.8 Apéndice opcional: visualización ROC comparativa

Curvas ROC comparativas
¿Qué representa este gráfico?

Las curvas ROC muestran la capacidad de cada modelo para distinguir correctamente entre pacientes con y sin enfermedad cardíaca, evaluando su rendimiento en términos de: - Sensibilidad (verdaderos positivos). - Especificidad (verdaderos negativos).

Una curva más alejada de la diagonal indica mejor discriminación.
La línea diagonal representa un modelo sin capacidad predictiva (AUC = 0.5).

Comparación entre modelos
Indicador M1 (base) M2 (refinado) Interpretación
AIC 665.600 662.130 M2 tiene menor AIC → mejor ajuste penalizado por complejidad.
Pseudo‑R² (McFadden) 0.504 0.508 M2 explica ligeramente más variabilidad en el modelo.
AUC (ROC) 0.928 0.929 Ambos modelos tienen excelente discriminación (>0.92). M2 mejora marginalmente.
  • Ambas curvas están muy por encima de la diagonal → modelos altamente efectivos.
  • La diferencia de AUC es mínima (0.001) → rendimiento predictivo equivalente.
  • La curva de M2 se superpone casi completamente con la de M1 → el refinamiento no sacrifica calidad.
Conclusiones
  • Ambos modelos son altamente confiables para predecir enfermedad cardíaca.
  • M2 mantiene la misma capacidad discriminativa que M1, con una mejora marginal en AUC.
  • Esto confirma que el refinamiento de M2 (transformaciones, interacción) no compromete el rendimiento, y puede ser preferido por su mejor ajuste y claridad interpretativa.

La curva ROC respalda el uso de M2 como modelo clínico refinado, sin pérdida de poder predictivo.