En la primera etapa del estudio, se llevarán a cabo cálculos, visualizaciones y un análisis detallado del conjunto de datos clínicos, que será descrito en la sección 1.2. Este proceso se abordará desde una perspectiva de estadística descriptiva multivariante, lo que permitirá no solo una visión general de los datos, sino también un análisis más enriquecido de las relaciones entre las diferentes variables involucradas.
Este enfoque facilitará una comprensión más profunda de las relaciones entre las variables, ayudando a identificar patrones y tendencias relevantes para el análisis. Las visualizaciones jugarán un papel clave en la representación gráfica de estas relaciones, brindando una forma clara y accesible de explorar los datos y facilitar su comprensión. Todo esto se llevará a cabo utilizando las herramientas R y RStudio, que permitirán una ejecución eficiente y precisa de los cálculos y la creación de gráficos interactivos para una interpretación más completa de los resultados.
Cabe destacar que la estructura general del trabajo, así como algunas ideas específicas, se tomaron del Estudio de Análisis Multivariado con base en un conjunto de datos de aspirantes extranjeros para ser admitidos en estudios superiores en EE.UU. realizado por el profesor (Libreros, 2023) en el marco de sus estudios de posgrado en Estadística Aplicada. Además, el profesor proporcionó una amplia base bibliográfica como apoyo al inicio del curso. Entre las principales referencias se incluyen el libro Análisis estadístico de datos multivariados del profesor (Díaz Morales & Morales Rivera, 2012), de la Universidad Nacional de Colombia, y el texto Análisis multivariante aplicado con R de (Aldás & Uriel, 2017) su segunda edición, el cual aporta herramientas clave para realizar análisis avanzados utilizando este software. También se incorporaron conceptos de la obra Estadística aplicada a los negocios y la economía de (Lind et al., 2012) y de Probabilidad y estadística para ingeniería industrial de (Devore, Jay L., 2008). Estas fuentes han sido fundamentales para guiar y estructurar el enfoque metodológico y analítico del presente estudio.
El objetivo de este proyecto es aplicar técnicas de análisis multivariado para gestionar el conjunto de datos aprobado, correspondiente a registros clínicos relacionados con afecciones cardiovasculares. El propósito es organizar y procesar eficazmente la información, desarrollando habilidades en la gestión y análisis de datos. Este trabajo se enmarca dentro del curso de Gestión de Datos, dictado por el Profesor Giancarlo Libreros Londoño en la Universidad del Valle.
El conjunto de datos fue obtenido en su totalidad de Kaggle: (https://www.kaggle.com/jocelyndumlao). Kaggle es una plataforma en línea de ciencia de datos y aprendizaje automático, propiedad de Google LLC. Esta facilita la participación en competencias donde las empresas publican conjuntos de datos y problemas, permitiendo a los usuarios desarrollar modelos predictivos y competir. La plataforma también ofrece notebooks para compartir y colaborar en proyectos utilizando Python y R, así como una amplia colección de conjuntos de datos de acceso público. Además, Kaggle Learn, una sección de la plataforma dedicada a la educación y el aprendizaje en ciencia de datos y aprendizaje automático, proporciona tutoriales y cursos interactivos en temas como Python, SQL, visualización de datos y aprendizaje automático, dirigidos a principiantes y usuarios avanzados.
Este conjunto de datos sobre cardiopatías se adquirió de uno de los hospitales multispecializados en India (no especificado). Es uno de los conjuntos de datos sobre enfermedades cardíacas más completos disponibles hasta ahora para fines de investigación debido a las variables estudiadas. Consta de 14 campos y 1000 registros de sujetos que representan las características comunes al momento de buscar cardiopatías. Uno de los campos es un identificador numérico secuencial de los registros;otros cuatro son de naturaleza politómica, cuatro de naturaleza dicotómica,y el resto son valores estrictamente positivos. La lista siguiente los describe en el mismo orden, de izquierda a derecha, como aparecen en el rango de datos que los contiene y se establece para cada campo el tipo de variable y su escala de medición con base en la nomenclatura (tipo_de_variable::escala_de_medición[ordenamiento]):
Patient Identification Number (cuantitativa::nominal): La variable “patientid” asigna un código único a cada paciente para identificarlo en el sistema. Este código es estrictamente numérico y permite llevar un registro de los datos clínicos del paciente.
Age (cuantitativa::razón): Representa la edad del paciente en años, se caracteriza en el conjunto de datos como “age”.
Gender (Cualitativa::nominal): Registra el género del paciente, en el conjunto de datos se encuentra como “gender” se encuentra codificado como 0 para femenino y 1 para masculino.
Chest pain type (cualitativa::nominal): La variable “chestpain” identifica el tipo de dolor en el pecho que experimenta el paciente, conocido como angina. La angina ocurre cuando el corazón no recibe suficiente oxígeno, generalmente debido a un estrechamiento de las arterias coronarias. Los valores asignados son: 0, que corresponde a angina típica; 1, a angina atípica; 2, a dolor no anginoso; y 3, a un estado asintomático.
Resting blood pressure (cuantitativa::razón): Esta variable, “restingBP” mide la presión arterial del paciente en estado de reposo, es decir, en condiciones de calma y sin esfuerzo físico. Los valores se expresan en milímetros de mercurio (mm Hg). En este conjunto de datos, el rango observado varía entre 94 y 200 mm Hg, mientras que los valores ideales suelen situarse entre 90/60 mm Hg y 120/80 mm Hg. Una presión arterial elevada, conocida como hipertensión, puede incrementar el riesgo de enfermedades cardiovasculares, accidentes cerebrovasculares y otros problemas de salud. Por el contrario, una presión arterial demasiado baja puede causar síntomas como mareos y desmayos. Este indicador es crucial para evaluar la salud cardiovascular del paciente.
Serum cholesterol (cuantitativa::razón): En el conjunto de datos “serumcholesterol”, es la variable que registra la concentración de colesterol en el suero del paciente, expresada en miligramos por decilitro (mg/dl). Para el caso de estudio se trabajará con el colesterol sérico total, que representa la suma de todos los tipos de colesterol transportados en el suero, incluidos el colesterol LDL (lipoproteínas de baja densidad, conocido como “colesterol malo”), HDL (lipoproteínas de alta densidad, o “colesterol bueno”) y una proporción del colesterol VLDL (lipoproteínas de muy baja densidad). Los valores oscilan entre 126 y 564 mg/dl.
Fasting blood sugar (Cualitativa::nominal): Esta variable indica si el nivel de azúcar en sangre del paciente en ayunas supera los 120 mg/dl, siendo codificado como 0 (falso) o 1 (verdadero). “fastingbloodsugar” permite monitorear este nivel, ya que es crucial para el diagnóstico de diabetes y otros trastornos metabólicos. Niveles elevados pueden indicar resistencia a la insulina o un control deficiente de la glucosa, lo que puede llevar a complicaciones a largo plazo en la salud del paciente.
Resting electrocardiogram results (cualitativa::nominal): Esta variable, denominada restingrelectro, clasifica los resultados del electrocardiograma (ECG) realizado en estado de reposo del paciente. Los valores asignados y su interpretación son:
0: Normal.
1: Presencia de anomalías ST-T, que incluyen inversiones de la onda T y/o elevación o depresión del segmento ST de más de 0.05 mV. Estas alteraciones reflejan irregularidades en la despolarización y repolarización de los ventrículos.
2: Probable o definitiva hipertrofia ventricular izquierda, un engrosamiento de la pared del ventrículo izquierdo que puede asociarse con presión arterial elevada o sobrecarga de trabajo cardíaco.
Maximum heart rate achieved (cuantitativa::razón): Esta variable denominada “maxheartrate” mide la cantidad máxima de latidos por minuto que el corazón del paciente alcanza durante un periodo de ejercicio al que se le induce. En el conjunto de datos, los valores típicos oscilan entre 71 y 202 latidos por minuto.
Exercise induced angina (cualitativa::nominal): Esta variable indica si el paciente experimenta angina como resultado del ejercicio, “excerciseangina” es la variable que se encuentra codificada como 0 (no) o 1 (sí). Evaluar esta respuesta es crucial para entender la salud cardiovascular del paciente y su tolerancia al esfuerzo, ya que la angina puede ser un signo de isquemia miocárdica.
Oldpeak = ST (cuantitativa::razón): La variable “oldpeak” mide el descenso del segmento ST en milímetros (mm) observado en el electrocardiograma durante una prueba de esfuerzo físico, con valores que en el conjunto de datos varían entre 0 y 6.2 mm. El descenso del segmento ST es una alteración en el ECG que puede ser un indicador de isquemia miocárdica, una condición en la que el músculo cardíaco no recibe suficiente oxígeno debido a un flujo sanguíneo reducido. Esta reducción del flujo generalmente ocurre por una obstrucción parcial o total de las arterias coronarias, las principales responsables de suministrar sangre al corazón (Mayo Clinic, 2019).
Valores cercanos a 0 mm: Sugieren una respuesta normal del corazón durante la prueba de esfuerzo.
Valores más altos: Indican una mayor severidad de la isquemia y pueden estar relacionados con un mayor riesgo de enfermedades cardiovasculares, como la angina de pecho o el infarto de miocardio.
Slope of the peak exercise ST segment (cualitativa::nominal): Esta variable clasifica la pendiente del segmento ST, identificada en el conjunto de datos como “slope”, durante una prueba de esfuerzo en tres categorías: 1 para ascendente, 2 para plano y 3 para descendente. La forma de la pendiente del segmento ST es un indicador importante de cómo responde el corazón al ejercicio. Una pendiente ascendente generalmente sugiere una respuesta saludable, mientras que una pendiente plana o descendente puede ser un signo de isquemia miocárdica o problemas cardíacos. Evaluar la pendiente del segmento ST proporciona un panorama más claro del comportamiento del corazón bajo estrés físico.
Number of major vessels (cuantitativa::razón): La variable “noofmajorvessels” indica la cantidad de vasos principales (de 0 a 3) que presentan obstrucción en el sistema cardiovascular. Un mayor número de vasos afectados sugiere una enfermedad arterial coronaria más severa, lo que puede aumentar el riesgo de eventos cardiovasculares como infartos o angina.
Classification (cualitativa:nominal): Esta variable denominada “target” indica la presencia o ausencia de enfermedad cardíaca, con un código de 0 que representa la ausencia y 1 que indica la presencia de la enfermedad.
Cabe destacar que las variables cualitativas del conjunto de datos no tuvieron que pasar por una “reescritura”, ya que, desde el inicio, estaban categorizadas como enteros positivos, incluyendo al siempre presente y bien portado cero. Sin embargo, no todo fue tan sencillo: la variable serumcholesterol presentaba 53 registros en cero. Lo que carece de sentido fisiológico: el colesterol es un lípido esencial para el cuerpo humano. Y participa en la formación de membranas celulares, la producción de hormonas y la síntesis de vitamina D (Staff, 2024), por lo que su ausencia total sería incompatible con la vida.
Tras evaluar esta anomalía y confirmar que recuperar los datos originales era inviable, se optó por una solución precisa: imputar los valores faltantes para esos 53 registros.
Finalmente, se esclarece en la Fase 4 se incorporó una nueva variable artificial denominada hospitals, diseñada para enriquecer el análisis del conjunto de datos. Esta variable clasifica a los pacientes según los hospitales donde podrían ser atendidos, con base en características hipotéticas. Los nombres de los hospitales se obtuvieron del listado de (India, 2024) publicado por MedSurge India. Esta adición permite simular escenarios realistas y explorar posibles relaciones entre las categorías hospitalarias y las características de los pacientes en el análisis multivariado.
str(Cardiovascular_Disease_Dataset)
## tibble [1,000 × 14] (S3: tbl_df/tbl/data.frame)
## $ patientid : num [1:1000] 103368 119250 119372 132514 146211 ...
## $ age : num [1:1000] 53 40 49 43 31 24 79 52 62 61 ...
## $ gender : num [1:1000] 1 1 1 1 1 1 1 1 1 0 ...
## $ chestpain : num [1:1000] 2 0 2 0 1 1 2 0 0 0 ...
## $ restingBP : num [1:1000] 171 94 133 138 199 173 130 127 121 190 ...
## $ serumcholestrol : num [1:1000] 0 229 142 295 0 0 240 345 357 181 ...
## $ fastingbloodsugar: num [1:1000] 0 0 0 1 0 0 0 0 0 0 ...
## $ restingrelectro : num [1:1000] 1 1 0 1 2 0 2 0 1 1 ...
## $ maxheartrate : num [1:1000] 147 115 202 153 136 161 157 192 138 150 ...
## $ exerciseangia : num [1:1000] 0 0 1 0 0 0 0 1 0 0 ...
## $ oldpeak : num [1:1000] 5.3 3.7 5 3.2 5.3 4.7 2.5 4.9 2.8 2.9 ...
## $ slope : num [1:1000] 3 1 1 2 3 3 2 1 0 2 ...
## $ noofmajorvessels : num [1:1000] 3 1 0 2 2 2 1 0 0 0 ...
## $ target : num [1:1000] 1 0 0 1 1 1 1 0 0 1 ...
Cardiovascular_Disease_Dataset
## # A tibble: 1,000 × 14
## patientid age gender chestpain restingBP serumcholestrol fastingbloodsugar
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 103368 53 1 2 171 0 0
## 2 119250 40 1 0 94 229 0
## 3 119372 49 1 2 133 142 0
## 4 132514 43 1 0 138 295 1
## 5 146211 31 1 1 199 0 0
## 6 148462 24 1 1 173 0 0
## 7 168686 79 1 2 130 240 0
## 8 170498 52 1 0 127 345 0
## 9 188225 62 1 0 121 357 0
## 10 192523 61 0 0 190 181 0
## # ℹ 990 more rows
## # ℹ 7 more variables: restingrelectro <dbl>, maxheartrate <dbl>,
## # exerciseangia <dbl>, oldpeak <dbl>, slope <dbl>, noofmajorvessels <dbl>,
## # target <dbl>
str(Cardiovascular_Disease_Dataset_Depurado)
## tibble [947 × 14] (S3: tbl_df/tbl/data.frame)
## $ patientid : num [1:947] 119250 119372 132514 168686 170498 ...
## $ age : num [1:947] 40 49 43 79 52 62 61 59 58 27 ...
## $ gender : num [1:947] 1 1 1 1 1 1 0 0 1 1 ...
## $ chestpain : num [1:947] 0 2 0 2 0 0 0 1 2 0 ...
## $ restingBP : num [1:947] 94 133 138 130 127 121 190 190 192 129 ...
## $ serumcholestrol : num [1:947] 229 142 295 240 345 357 181 529 409 135 ...
## $ fastingbloodsugar: num [1:947] 0 0 1 0 0 0 0 1 1 0 ...
## $ restingrelectro : num [1:947] 1 0 1 2 0 1 1 1 0 1 ...
## $ maxheartrate : num [1:947] 115 202 153 157 192 138 150 151 138 192 ...
## $ exerciseangia : num [1:947] 0 1 0 0 1 0 0 1 0 1 ...
## $ oldpeak : num [1:947] 3.7 5 3.2 2.5 4.9 2.8 2.9 3.2 2.3 1 ...
## $ slope : num [1:947] 1 1 2 2 1 0 2 2 3 0 ...
## $ noofmajorvessels : num [1:947] 1 0 2 1 0 0 0 2 1 0 ...
## $ target : num [1:947] 0 0 1 1 0 0 1 1 1 0 ...
Cardiovascular_Disease_Dataset_Depurado
## # A tibble: 947 × 14
## patientid age gender chestpain restingBP serumcholestrol fastingbloodsugar
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 119250 40 1 0 94 229 0
## 2 119372 49 1 2 133 142 0
## 3 132514 43 1 0 138 295 1
## 4 168686 79 1 2 130 240 0
## 5 170498 52 1 0 127 345 0
## 6 188225 62 1 0 121 357 0
## 7 192523 61 0 0 190 181 0
## 8 201030 59 0 1 190 529 1
## 9 208877 58 1 2 192 409 1
## 10 223295 27 1 0 129 135 0
## # ℹ 937 more rows
## # ℹ 7 more variables: restingrelectro <dbl>, maxheartrate <dbl>,
## # exerciseangia <dbl>, oldpeak <dbl>, slope <dbl>, noofmajorvessels <dbl>,
## # target <dbl>
El vector de medias y la matriz de varianzas-covarianzas conforman un conjunto de herramientas fundamentales para describir el comportamiento posicional, dispersivo y correlacional de las variables aleatorias en un conjunto de datos. Estas medidas son esenciales en el análisis multivariado, ya que permiten capturar tanto la tendencia central como las interdependencias entre las variables.
El vector de medias refleja el valor esperado o punto medio de cada variable, sintetizando la información de todos los registros disponibles en el conjunto de datos. Por su parte, la matriz de varianzas-covarianzas describe la variabilidad y las relaciones entre las variables. En su diagonal principal, estima las dispersiones individuales de cada variable respecto a su media, mientras que los elementos por encima o por debajo de esta diagonal representan las covarianzas entre pares de variables, mostrando las relaciones lineales existentes entre ellas.
La navegación a través de las pestañas muestra el cálculo de los siguientes objetos: Vector de Medias \(\bar x\) ,Matriz de Varianzas-Covarianzas \(S\) y Matriz de Correlaciones \(R\).
Con base en la pestaña Vector de Medias y Boxplots, se puede describir que, en general, los datos registrados para cada una de las variables tienden a presentar distribuciones con colas específicas. La variable age tiene una distribución casi normal, con un sesgo cercano a cero. En contraste, las variables restingBP, serumcholesterol y oldpeak tienen colas a la derecha, lo que indica que los valores están concentrados en el extremo inferior pero con algunos valores altos que extienden la cola. La variable maxheartrate muestra una cola a la izquierda, lo que sugiere que la mayoría de los valores se agrupan en la parte superior del rango.
Con base en la matriz de varianzas-covarianzas y la matriz de correlaciones, se observa que las relaciones entre las variables cuantitativas analizadas son predominantemente débiles, con coeficientes de correlación cercanos a 0. Por ejemplo, restingBP y serumcholestrol presentan una correlación de 0.221, lo que indica una relación lineal débil positiva. Del mismo modo, variables como age y maxheartrate tienen una correlación de -0.041, lo que sugiere una relación lineal débil negativa. En general, los valores bajos en la matriz de correlaciones confirman que las variables no muestran tendencias lineales significativas, por lo que su influencia mutua es limitada. Esto sugiere que otras relaciones más complejas podrían estar presentes o que estas variables son relativamente independientes entre sí. Esto se aprecia más a fondo en la sección 1.5
apply(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], 2, mean)
## age restingBP serumcholestrol maxheartrate oldpeak
## 49.300950 151.072862 328.877508 145.009504 2.700845
Cardiovascular_Disease_Dataset_Reducido = Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)]
nombres_boxplots <- c("Age", "Resting BP", "Serum Cholesterol", "Max Heart Rate", "Old Peak")
par(mfrow = c(1, ncol(Cardiovascular_Disease_Dataset_Reducido)))
invisible(lapply(1:ncol(Cardiovascular_Disease_Dataset_Reducido), function(i) {
boxplot(Cardiovascular_Disease_Dataset_Reducido[, i],
main = nombres_boxplots[i])}))
round(cov(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)]),2)
## age restingBP serumcholestrol maxheartrate oldpeak
## age 319.96 -6.68 69.14 -25.24 -0.78
## restingBP -6.68 904.14 752.21 99.43 -0.84
## serumcholestrol 69.14 752.21 12785.56 340.25 -3.98
## maxheartrate -25.24 99.43 340.25 1188.58 2.47
## oldpeak -0.78 -0.84 -3.98 2.47 2.91
round(cor(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)]),3)
## age restingBP serumcholestrol maxheartrate oldpeak
## age 1.000 -0.012 0.034 -0.041 -0.026
## restingBP -0.012 1.000 0.221 0.096 -0.016
## serumcholestrol 0.034 0.221 1.000 0.087 -0.021
## maxheartrate -0.041 0.096 0.087 1.000 0.042
## oldpeak -0.026 -0.016 -0.021 0.042 1.000
En general, los gráficos multivariados cumplen dos objetivos esenciales: primero, ayudan a comparar el comportamiento de poblaciones de estudio con base en variables categóricas y facilitan la comprensión de la estructura de correlación entre varias variables. Además, permiten identificar patrones, tendencias, y posibles outliers en los datos, simplificando la interpretación de relaciones complejas y destacando las características más significativas de los mismos (Aldás, 2017). En este sentido, el conjunto de datos de trabajo tendrá apoyo descriptivo gráfico a través de tres diagramas: uno conjunto que integra dispersión, distribución y correlaciones; otro basado en la renderización de polígonos; y, por último, uno que recurre a las caras de Chernoff.
Con base en el conjunto de datos descrito en la sección 1.2 se calcularán e intepretarán, para las variables numéricas, las gráficas multivariadas de diagrama de correlaciones, matriz de diagrama de dispersión, diagrama de estrellas y caras de Chernoff. Se recuerda que las variables numéricas (en escalada de medición de razón) son: age, restingBP, serumcholesterol, maxheartrate y oldpeak.
La navegación a través de las pestañas muestra las gráficas multivariadas de: Diagrama Conjunto de Dispersión, Distribución y Correlaciones (sin agrupación SA y con agrupación CA (con base en una variable categórica:gender:GE)) Diagrama de Estrellas y Caras de Chernoff.
Con base en la matriz de varianzas-covarianzas, la matriz de correlaciones y el diagrama de dispersión, se concluye que las relaciones entre las variables cuantitativas analizadas en el conjunto de datos sobre afecciones cardiovasculares son, en su mayoría, débiles o inexistentes. Por ejemplo, la correlación entre restingBP y serumcholestrol es de 0.221, lo que indica una relación lineal débil positiva.
El diagrama conjunto refuerza estas observaciones, mostrando dispersión sin patrones evidentes entre pares de variables. En general, estas métricas sugieren que no hay una proporción significativa entre las variables, lo que podría indicar la necesidad de explorar interacciones no lineales o factores externos para comprender mejor las posibles relaciones en el contexto de las afecciones cardiovasculares. Para más detalles, se puede consultar el análisis de regresión desarrollado sobre el mismo conjunto de datos, en la sección 5
Cuando se observa el Diagrama Conjunto de Dispersión, Distribución y Correlaciones en sus versiones basadas en grupos a partir de la variable categórica: Gender::[GE], se puede apreciar que comparativamente la diferenciación basada en Gender no muestra relevancia para elevar la probabilidad de sufrir de una afección al miocardio.
En el diagrama de las Caras de Chernoff no se aprecia con claridad la formación de grupos entre los pacientes con características de afecciones cardiovasculares, lo que dificulta identificar similitudes significativas dentro del conjunto. Esto se debe a que las diferencias en las representaciones de las caras no son lo suficientemente consistentes como para generar patrones definidos. Sin embargo, de lograrse una agrupación, podrían identificarse pares como las caras 6 y 18, así como 2 y 12, que muestran ciertos niveles de similitud, posiblemente reflejando características compartidas en las afecciones cardiovasculares analizadas.
ggpairs(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)])
Cardiovascular_Disease_Dataset_Depurado$gender <- factor(Cardiovascular_Disease_Dataset_Depurado$gender)
levels= c (0,1)
labels= c ( "F" , "M")
ggpairs(Cardiovascular_Disease_Dataset_Depurado, column = c(2,5,6,9,11), aes(color = gender, alpha = 0.5), upper = list(continuous = wrap("cor", size = 2.5)))
set.seed(120522)
Cardiovascular_Disease_Dataset_Muestreado = Cardiovascular_Disease_Dataset_Depurado[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado),23),-c(1,3,4,7,8,10,12,13,14)]
stars(Cardiovascular_Disease_Dataset_Muestreado, len = 1, cex = 0.4, key.loc = c(10, 2), draw.segments = TRUE)
set.seed(120522)
Cardiovascular_Disease_Dataset_Muestreado = Cardiovascular_Disease_Dataset_Depurado [sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado),23),-c(1,3,4,7,8,10,12,13,14)]
faces(Cardiovascular_Disease_Dataset_Muestreado)
## effect of variables:
## modified item Var
## "height of face " "age"
## "width of face " "restingBP"
## "structure of face" "serumcholestrol"
## "height of mouth " "maxheartrate"
## "width of mouth " "oldpeak"
## "smiling " "age"
## "height of eyes " "restingBP"
## "width of eyes " "serumcholestrol"
## "height of hair " "maxheartrate"
## "width of hair " "oldpeak"
## "style of hair " "age"
## "height of nose " "restingBP"
## "width of nose " "serumcholestrol"
## "width of ear " "maxheartrate"
## "height of ear " "oldpeak"
Es posible analizar o determinar la distribución multivariada de un conjunto de datos mediante métodos descriptivos, como los gráficos, o inferenciales, como las pruebas estadísticas. Mientras que los procedimientos inferenciales permiten obtener conclusiones más generalizables, los gráficos resultan útiles como soporte para la interpretación de los resultados.
En este apartado se aborda la aplicación de procedimientos inferenciales para verificar si el conjunto de datos de trabajo, respecto a sus variables numéricas, sigue una distribución normal multivariada (DNM). Las pruebas de normalidad multivariada (PNM) que se aplicarán son: Mardia, Henze-Zirkler, Doornik-Hansen y Royston. Estas pruebas de normalidad se realizan bajo un nivel de significancia determinado \(\alpha = 0.05\) y a las hipótesis:\[H_0: \text {Las variables tienen una DNM}\] \[H_1: \text {Las variables NO tienen una DNM}\]
La prueba de Mardia se fundamenta en las extensiones de asimetría y curtosis, el cuadrado de la distancia de Mahalanobis, el número de variables \(p\) a analizar y el número de registros \(n\). Asimismo, se considera que la estadística de la prueba para la asimetría sigue una distribución \(\chi^2\), mientras que la estadística para la curtosis se distribuye de manera aproximada de forma normal.
La prueba de Henze-Zirkler se basa en la distancia funcional, ya que si el conjunto de datos sigue una distribución normal multivariada, el estadístico de la prueba se distribuye de manera aproximada como una lognormal, con parámetros de media \(\mu\) y varianza \(\sigma^2\).
La prueba de Doornik-Hansen se basa en la asimetría y la curtosis de un conjunto de datos multivariados, los cuales se transforman para asegurar la independencia. Se considera más potente que la prueba de Shapiro-Wilk en casos multivariados. El estadístico de la prueba se define como la suma de las transformaciones al cuadrado de la asimetría y la curtosis, y sigue aproximadamente una distribución \(\chi^2\).
Por otro lado, la prueba de Royston utiliza las pruebas de Shapiro-Wilk o Shapiro-Francia para evaluar la normalidad multivariada. Si la curtosis es mayor que 3, se emplea Shapiro-Francia para distribuciones leptocúrticas, mientras que para distribuciones platicúrticas se utiliza Shapiro-Wilk. Los parámetros en esta prueba se obtienen mediante aproximaciones polinomiales.
A partir del conjunto de datos descrito en la sección 1.2, se realizará una prueba estadística de normalidad multivariada, utilizando un nivel de significancia \(\alpha=0.05\), con el objetivo de determinar si las variables métricas provienen de una población con distribución normal multivariada. Se recuerda que las variables numéricas (en escalada de medición de razón) son: age, restingBP, serumcholesterol, maxheartrate y oldpeak.
La navegación a través de las pestañas muestra que el conjunto de datos, en relación con sus variables numéricas, no se distribuye normal multivariado. En particular:
La PNM de Mardia muestra que los \(p-values\) para la asimetría (skewness) y curtosis (kurtosis) son mayores que el nivel de significancia. Esto indica que no hay evidencia suficiente para aceptar la hipótesis nula de normalidad multivariada, y se concluye que los datos no provienen de una distribución normal multivariada. Este resultado puede observarse en la pestaña correspondiente.
La PNM de Henze-Zirkler, por su parte, presenta un \(p-value\) menor que \(\alpha=0.05\), lo que lleva a rechazar la hipótesis nula y aceptar la hipótesis alternativa de que los datos no siguen una DNM. Este resultado es evidente en la pestaña de Henze-Zirkler.
En el caso de la PNM de Doornik-Hansen, el \(p-value\) también es menor que el nivel de significancia, lo que implica que se rechaza la hipótesis nula de normalidad multivariada y se acepta la hipótesis alternativa. Estos resultados pueden consultarse en la pestaña de Doornik-Hansen.
Finalmente, la PNM de Royston confirma que los datos no se ajustan a una DNM, ya que el p-valor es menor que \(\alpha=0.05\), En este caso, también se rechaza la hipótesis nula y se acepta la hipótesis alternativa.
Todas las pruebas realizadas concluyen que, al nivel de significancia considerado \(\alpha=0.05\), no se apoya la hipótesis nula de normalidad multivariada para el conjunto de datos restringido a sus variables numéricas, aceptándose la hipótesis alternativa.
mvn(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], mvnTest="mardia")
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 71.5229486971114 0.000263145624909194 NO
## 2 Mardia Kurtosis -9.87784197993191 0 NO
## 3 MVN <NA> <NA> NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling age 11.9772 <0.001 NO
## 2 Anderson-Darling restingBP 16.1002 <0.001 NO
## 3 Anderson-Darling serumcholestrol 3.6872 <0.001 NO
## 4 Anderson-Darling maxheartrate 6.9878 <0.001 NO
## 5 Anderson-Darling oldpeak 10.0376 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## age 947 49.300950 17.887398 49.0 20 80.0 34.0 65.0
## restingBP 947 151.072862 30.068877 144.0 94 200.0 128.0 180.5
## serumcholestrol 947 328.877508 113.073251 326.0 85 602.0 248.0 410.0
## maxheartrate 947 145.009504 34.475762 145.0 71 202.0 118.0 175.0
## oldpeak 947 2.700845 1.706826 2.4 0 6.2 1.3 4.1
## Skew Kurtosis
## age 0.02296224 -1.2359118
## restingBP 0.06475853 -1.1095074
## serumcholestrol 0.18442465 -0.6740225
## maxheartrate -0.23984345 -0.9193366
## oldpeak 0.29855532 -0.9842952
mvn(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], mvnTest="hz")
## $multivariateNormality
## Test HZ p value MVN
## 1 Henze-Zirkler 2.506735 0 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling age 11.9772 <0.001 NO
## 2 Anderson-Darling restingBP 16.1002 <0.001 NO
## 3 Anderson-Darling serumcholestrol 3.6872 <0.001 NO
## 4 Anderson-Darling maxheartrate 6.9878 <0.001 NO
## 5 Anderson-Darling oldpeak 10.0376 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## age 947 49.300950 17.887398 49.0 20 80.0 34.0 65.0
## restingBP 947 151.072862 30.068877 144.0 94 200.0 128.0 180.5
## serumcholestrol 947 328.877508 113.073251 326.0 85 602.0 248.0 410.0
## maxheartrate 947 145.009504 34.475762 145.0 71 202.0 118.0 175.0
## oldpeak 947 2.700845 1.706826 2.4 0 6.2 1.3 4.1
## Skew Kurtosis
## age 0.02296224 -1.2359118
## restingBP 0.06475853 -1.1095074
## serumcholestrol 0.18442465 -0.6740225
## maxheartrate -0.23984345 -0.9193366
## oldpeak 0.29855532 -0.9842952
mvn(Cardiovascular_Disease_Dataset_Depurado [,-c(1,3,4,7,8,10,12,13,14)], mvnTest="dh")
## $multivariateNormality
## Test E df p value MVN
## 1 Doornik-Hansen 930.4655 10 1.762761e-193 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling age 11.9772 <0.001 NO
## 2 Anderson-Darling restingBP 16.1002 <0.001 NO
## 3 Anderson-Darling serumcholestrol 3.6872 <0.001 NO
## 4 Anderson-Darling maxheartrate 6.9878 <0.001 NO
## 5 Anderson-Darling oldpeak 10.0376 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## age 947 49.300950 17.887398 49.0 20 80.0 34.0 65.0
## restingBP 947 151.072862 30.068877 144.0 94 200.0 128.0 180.5
## serumcholestrol 947 328.877508 113.073251 326.0 85 602.0 248.0 410.0
## maxheartrate 947 145.009504 34.475762 145.0 71 202.0 118.0 175.0
## oldpeak 947 2.700845 1.706826 2.4 0 6.2 1.3 4.1
## Skew Kurtosis
## age 0.02296224 -1.2359118
## restingBP 0.06475853 -1.1095074
## serumcholestrol 0.18442465 -0.6740225
## maxheartrate -0.23984345 -0.9193366
## oldpeak 0.29855532 -0.9842952
mvn(Cardiovascular_Disease_Dataset_Depurado [,-c(1,3,4,7,8,10,12,13,14)], mvnTest="royston")
## $multivariateNormality
## Test H p value MVN
## 1 Royston 303.1124 2.149064e-63 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling age 11.9772 <0.001 NO
## 2 Anderson-Darling restingBP 16.1002 <0.001 NO
## 3 Anderson-Darling serumcholestrol 3.6872 <0.001 NO
## 4 Anderson-Darling maxheartrate 6.9878 <0.001 NO
## 5 Anderson-Darling oldpeak 10.0376 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## age 947 49.300950 17.887398 49.0 20 80.0 34.0 65.0
## restingBP 947 151.072862 30.068877 144.0 94 200.0 128.0 180.5
## serumcholestrol 947 328.877508 113.073251 326.0 85 602.0 248.0 410.0
## maxheartrate 947 145.009504 34.475762 145.0 71 202.0 118.0 175.0
## oldpeak 947 2.700845 1.706826 2.4 0 6.2 1.3 4.1
## Skew Kurtosis
## age 0.02296224 -1.2359118
## restingBP 0.06475853 -1.1095074
## serumcholestrol 0.18442465 -0.6740225
## maxheartrate -0.23984345 -0.9193366
## oldpeak 0.29855532 -0.9842952
En esta segunda etapa del estudio, se presentarán cálculos, visualizaciones e interpretaciones basadas en el conjunto de datos analizado previamente en la Fase 1. Ahora, el enfoque se centrará en el análisis de componentes principales (ACP) aplicado a las variables cuantitativas, incluyendo aspectos como la selección de componentes, calidad de representación, contribuciones y su interpretación.
El ACP se logra a lo largo de las siguientes fases: generación de nuevas variables, reducción dimensional del espacio de los datos, eliminación de variables de poco aporte e interpretación de los componentes resultantes en el contexto del problema del cual se obtuvieron los dato.
Estimado lector, si desea explorar los fundamentos de este análisis con mayor profundidad. Los detalles del conjunto de datos se encuentran descritos en la Sección 1.2, mientras que los principios teóricos que sustentan este estudio están cuidadosamente desarrollados en la denominada Fase 1. Una lectura detenida de estas secciones enriquecerá su comprensión y apreciación del trabajo presentado.
Como señalan Díaz Morales y Morales Rivera (2012), el Análisis de Componentes Principales (ACP) permite reorganizar un conjunto de datos multivariado al reducir el número de variables, sin requerir suposiciones específicas sobre la distribución de probabilidad de estas. Esta reducción se alcanza mediante la creación de combinaciones lineales de las variables originales, diseñadas para captar la mayor variabilidad posible en los datos. De este modo, el ACP genera nuevas variables, denominadas componentes principales, que presentan independencia estadística y ausencia de correlación, siempre bajo el supuesto de normalidad.
A partir de las variables cuantitativas del conjunto de datos descrito en la Sección 1.2, se requiere inicialmente determinar el porcentaje de varianza explicado por cada dimensión tras realizar el Análisis de Componentes Principales (ACP). Posteriormente, con base en el autovalor promedio o mediante un gráfico de sedimentación, se debe decidir cuántos componentes conservar.
La navegación a través de las pestañas muestra que el conjunto de datos, en relación con sus variables numéricas, puede ser representado por un conjunto más pequeño de dimensiones que retiene el \(46.89%\) de la variabilidad total en las dos primeras dimensiones. Este resultado sugiere que la varianza está distribuida de manera relativamente uniforme entre las principales dimensiones, lo que indica una estructura interna en la que las variables originales no están altamente correlacionadas. En particular:
La Matriz ACP muestra cinco dimensiones, donde la primera retiene el \(25.62%\) de la varianza, seguida por la segunda con un \(21.27%\), y la tercera con un \(19.54\)\(%\). Las dos últimas dimensiones explican un \(18.10%\) y un \(15.48%\), respectivamente. En este sentido, la representatividad de la combinación lineal que define la dimensión 1 es moderadamente superior en comparación con las demás. Como esta matriz no proporciona información directa sobre las variables originales, se continúa explorando la identificación de las variables que más contribuyen a la dimensión con el mayor valor propio.
La Matriz de Correlaciones ayuda a describir las relaciones entre las variables que conforman la dimensión 1. Según esta matriz, las correlaciones entre las variables son en su mayoría bajas, con un valor máximo de \(0.22\) entre restingBP y serumcholestrol. Esto indica que las variables no están fuertemente relacionadas entre sí, lo que podría influir en cómo contribuyen a la combinación lineal que define la primera dimensión.
La pestaña de Valores y Vectores Propios muestra los cálculos derivados de la matriz de correlaciones del conjunto de datos. Aquí se confirma que la suma de los valores propios equivale al número de variables del conjunto de datos, lo que asegura que representan toda su variabilidad. Las proporciones de varianza explicada por cada componente se obtienen directamente de estos valores propios.
Además, la matriz de vectores propios proporciona los coeficientes que definen las combinaciones lineales de cada componente principal en relación con las variables originales. Por ejemplo, para la componente 1, con los coeficientes redondeados a dos cifras decimales (donde \(A\) es age, \(RB\) es restingBP, \(SC\) es serumcholestrol, \(MH\) es maxheartrate, y \(OP\) es oldpeak, y además, son variables estandarizadas), se puede expresar como :
\(Componente 1 = 0.01 × A - 0.65 × RB - 0.64 × SC - 0.42 × MH + 0.02 × OP\)
Esta representación muestra qué variables tienen mayor peso en la dimensión principal y ayuda a interpretar los patrones presentes en los datos.
Hasta este punto, se puede observar que se dispone de un número de dimensiones igual al número de variables analizadas. Sin embargo, estas nuevas dimensiones son incorreladas entre sí, a diferencia de las variables originales, como se puede comprobar en la pestaña de Correlaciones Comparadas.
Los gráficos de Cattell y Cattell-Kaiser, conocidos por sus formas de codo y sedimentación, son herramientas útiles para decidir cuántas componentes retener en un análisis de reducción de dimensión, asegurando que se conserve suficiente variabilidad para abordar el problema.
El Gráfico de Cattell muestra cómo varía la pendiente entre las componentes, destacando que la primera componente tiene una capacidad explicativa significativamente mayor, explicando el \(25.6\)\(%\) de la varianza total. Este cambio en la pendiente, también conocido como “punto de inflexión”, sugiere que los primeros componentes son clave para retener, ya que capturan la mayor parte de la variabilidad del conjunto de datos.
Además, el Gráfico de Cattell-Kaiser combina esta visualización con el criterio de Kaiser, que recomienda retener los componentes con un valor propio superior a 1. Según este criterio, solo la primera componente cumple con esta condición, lo que inicialmente respalda la elección de retener únicamente esta. Sin embargo, al considerar la varianza acumulada, se observa que los tres primeros componentes explican juntos el \(66.4%\) de la variabilidad, lo que sugiere que incluir más de un componente podría ser valioso para capturar dimensiones adicionales relevantes en el análisis, especialmente en un contexto clínico donde diferentes factores pueden influir en las afecciones cardiovasculares.
Por tanto, se toma la decisión de trabajar con dos componentes, ya que permiten capturar patrones importantes relacionados con las afecciones cardiovasculares sin añadir una complejidad innecesaria al análisis. Esto facilita la interpretación de los resultados y garantiza una representación significativa de los datos.
get_eigenvalue(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 6, scale.unit = TRUE, graph = F))
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 1.2811401 25.62280 25.62280
## Dim.2 1.0632633 21.26527 46.88807
## Dim.3 0.9768071 19.53614 66.42421
## Dim.4 0.9048457 18.09691 84.52112
## Dim.5 0.7739438 15.47888 100.00000
round(cor(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)]),2)
## age restingBP serumcholestrol maxheartrate oldpeak
## age 1.00 -0.01 0.03 -0.04 -0.03
## restingBP -0.01 1.00 0.22 0.10 -0.02
## serumcholestrol 0.03 0.22 1.00 0.09 -0.02
## maxheartrate -0.04 0.10 0.09 1.00 0.04
## oldpeak -0.03 -0.02 -0.02 0.04 1.00
princomp(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], cor = TRUE)$sdev^2
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## 1.2811401 1.0632633 0.9768071 0.9048457 0.7739438
princomp(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], cor = TRUE)$loadings[ ,1:5]
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## age 0.009685836 0.6211898 0.71464280 0.2867272 0.145267648
## restingBP -0.646408414 0.0726880 -0.07753516 -0.2948372 0.695652155
## serumcholestrol -0.638524094 0.1968759 0.07309809 -0.2307120 -0.703530746
## maxheartrate -0.417012185 -0.4312324 0.05990032 0.7978381 0.002389137
## oldpeak 0.021217109 -0.6197727 0.68872534 -0.3756126 0.002042419
par(mfrow=c(1,2))
corrplot::corrplot(cor(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)]), method = "color", type = "upper", number.cex = 0.4)
corrplot::corrplot(cor(princomp(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], cor = TRUE)$scores), method = "color", type = "upper", number.cex = 0.4)
fviz_eig(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], scale.unit = T, graph = F), addlabels = T, ylim=c(0,90), main = "")
scree(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)],factors = FALSE, pc = TRUE, main ="")
Con base en la referencia de (Díaz Morales & Morales Rivera, 2012),se confirma que, tras reducir la dimensionalidad del conjunto de datos y entender que sus variables estandarizadas se representan gráficamente como proyecciones de una hiperesfera de correlaciones, es esencial iniciar la interpretación de las componentes a partir de esas correlaciones. Posteriormente, se debe evaluar la calidad de las representaciones obtenidas, considerando la reducción dimensional aplicada al conjunto de datos y su impacto en las variables.
Es necesario evaluar la calidad de la representación de las variables cuantitativas en relación con el número de dimensiones calculadas que capturan la mayor proporción de variabilidad; para más detalles, consultar la sección 2.3.
Explorar las pestañas revela que reducir la dimensionalidad del conjunto de datos permite analizar la calidad de la representación, usando una escala de contribuciones relativas. Esta escala se basa en un cociente de proyecciones con propiedades aditivas y una escala continua que varía de 0 a 1. En particular:
El Círculo de Correlaciones expresa que se pueden identificar patrones significativos entre las variables originales, en el marco de una selección de componentes principales. En este caso, la dimensión 1 (Dim1), que explica el \(25.6\)\(%\) de la varianza, muestra una correlación positiva con variables como serumcholestrol, age y restingBP, las cuales están orientadas hacia este eje y cercanas a la frontera del círculo unitario. Esto indica que estas variables contribuyen significativamente a la construcción de Dim1, que podría estar capturando características comunes a estas variables.
Por otro lado, la dimensión 2 (Dim2), que explica el \(21.3\)\(%\) de la varianza, está asociada con variables como oldpeak, que tiene una alta correlación positiva, y maxheartrate, mientras que serumcholestrol, age y restingBP muestran una contribución menor o en oposición. Esto sugiere que Dim2 está representando un fenómeno diferente o complementario al descrito por Dim1.
Otro aspecto destacable es la relación mostrada entre pares de variables en el círculo, como age y restingBP, que presentan vectores cercanos entre sí, indicando una relación positiva en el espacio de las dimensiones seleccionadas. Por el contrario, combinaciones como serumcholestrol y maxheartrate muestran vectores aproximadamente perpendiculares, lo que sugiere que estas variables tienen poca relación en este contexto.
Esta interpretación se limita a la estructura de correlaciones representada en el gráfico y describe cómo las variables originales contribuyen a las dimensiones principales seleccionadas, sin implicar relaciones causales o de dependencia directa entre ellas.
La Matriz de Representación muestra que las variables restingBP y serumcholestrol tienen altos valores de coseno cuadrado en relación con la Dimensión 1, lo que indica que están fuertemente asociadas con este componente y aportan significativamente a él. En contraste, variables como age y oldpeak tienen valores bajos de coseno cuadrado en la Dimensión 1, lo que sugiere que su varianza se distribuye más hacia otras dimensiones, especialmente la Dimensión 2, donde muestran una mejor representación. Esto afecta la calidad de representación de age y oldpeak en la primera dimensión.
El gráfico de la Calidad de Representación muestra que la Matriz de Representación presenta valores cercanos a 1 en el cociente de proyecciones coseno cuadrado respecto a la dimensión 1. Esto indica que los puntos proyectados están altamente asociados con este componente. En términos de calidad de representación, la escala muestra un valor alto de \(0.54\), lo que sugiere una correspondencia positiva con la dimensión 1. En particular, los elementos más representados por la componente 1 incluyen “restingBP” y “serumcholestrol”, los cuales tienen una alta proyección sobre esta dimensión. En contraste, la dimensión 2 tiene una mejor representación de “oldpeak” y “maxheartrate”. Esto implica que aunque la componente 1 es la principal para algunos atributos, la componente 2 también juega un papel relevante en la representación de ciertos aspectos, como se refleja en las proyecciones de “age” y “maxheartrate”.
Las Coordenadas Individuales permiten identificar los perfiles de los registros clínicos en relación con las dimensiones principales que explican la variabilidad de los datos (componentes 1 y 2). Por ejemplo, en la dimensión 1, los registros \(1\) y \(11\) comparten una tendencia en valores negativos, indicando posibles características comunes, mientras que el registro \(8\), con un valor positivo extremo, representa un caso opuesto. En la dimensión 2, los registros \(2\), \(5\) y \(21\) destacan por su cercanía, mostrando un comportamiento similar.
fviz_pca_var(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], scale.unit = T, graph = F),col.var="#3B83BD", repel = T, col.circle = "#CDCDCD", ggtheme = theme_bw())
(get_pca_var(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 5, scale.unit = TRUE, graph = F)))$cos2
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## age 0.0001201907 0.410288548 0.498869376 0.07438959 1.633229e-02
## restingBP 0.5353165134 0.005617799 0.005872272 0.07865733 3.745361e-01
## serumcholestrol 0.5223375148 0.041212201 0.005219403 0.04816316 3.830677e-01
## maxheartrate 0.2227891974 0.197725911 0.003504831 0.57597564 4.417652e-06
## oldpeak 0.0005767254 0.408418854 0.463341210 0.12765998 3.228487e-06
fviz_pca_var(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 5, scale.unit = TRUE, graph = F), col.var="cos2", gradient.cols=c("#00AFBB","#E7B800","#FC4E07"), repel = TRUE)
head((PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 5, scale.unit = TRUE, graph = F))$ind$coord, n = 23L)
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## 1 -2.16245191 0.622637751 0.062069206 -0.3001980 -0.7757979
## 2 -0.78330418 1.928246645 0.941021932 1.3673208 0.7492650
## 3 -0.37868260 0.590915280 -0.024643231 0.1714660 -0.1417572
## 4 -0.82389205 -0.749038000 1.123810519 1.1863436 0.3074062
## 5 0.11318427 1.323403418 1.149967590 0.8503588 -0.6297702
## 6 -0.58088785 -0.469197276 0.631246983 0.2571573 -0.7683607
## 7 0.05335782 -0.108227662 0.360652036 0.1793181 1.9172774
## 8 2.02900507 -0.523464060 0.628650521 -0.6060843 -0.2649113
## 9 1.24843225 -0.774177545 0.119948291 -0.4996108 0.5183021
## 10 -0.96824354 1.136157588 -1.564887056 1.7171992 0.5160075
## 11 -2.19913591 0.702938904 1.568863446 -0.3659245 -0.4019057
## 12 0.81071377 0.974232423 1.529055131 -0.1571608 0.3576119
## 13 -0.60929550 -0.005873124 -0.101212583 -0.9426733 -0.5183971
## 14 1.16172575 0.454925383 0.936904720 0.8532696 1.7744006
## 15 0.08755929 -0.077794763 0.007067958 0.8268136 1.7410372
## 16 -1.56405383 0.332784185 -0.205365903 -1.4561320 -0.3033868
## 17 0.47264469 0.609082147 -0.262821086 -0.7430178 1.4292123
## 18 0.64491442 -0.325059737 1.856980385 -1.0661070 0.3620503
## 19 -1.88447814 0.199587025 -1.536705440 -0.9735134 0.4670879
## 20 -0.02187038 0.214185857 0.252831520 1.2923950 0.8543117
## 21 1.33856902 1.354540660 0.441308924 -0.3034356 0.7281039
## 22 -0.50954360 0.128985739 1.440580172 1.4737138 -1.1229775
## 23 1.24331215 0.590771715 -0.450818409 1.0239806 1.5348006
Los autores (Díaz Morales & Morales Rivera, 2012) señalan que la interpretación de los resultados está estrechamente ligada al cálculo de elementos como coordenadas, contribuciones y cosenos cuadrados. Por lo tanto, es esencial que las variables estén bien conceptualizadas y contextualizadas para facilitar su comprensión. En este sentido, analizar la contribución de cada variable a una componente ayuda a interpretar los resultados, mostrando cómo cada una influye en la definición de las componentes generadas. Este análisis se lleva a cabo en esta sección para determinar el aporte de cada variable en la construcción de las componentes.
Basado en las variables cuantitativas del conjunto de datos descrito en la sección 1.2, se requiere determinar las contribuciones de cada variable en la construcción de las componentes.
La navegación a través de las pestañas facilita la visualización de las contribuciones de las variables del conjunto de datos en forma de representaciones numéricas y gráficas, permitiendo comprender cómo cada variable influye en la construcción de las componentes. Esto permite analizar la proporción de variabilidad que cada variable aporta a la variabilidad total de la componente con la que está asociada.
La Matriz de Contribuciones muestra cómo cada variable contribuye a la retención de variabilidad en la construcción de cada componente. Los diagramas de barras, que se visualizan en las pestañas desde Contribuciones a D1 hasta Contribuciones a D5, ilustran las contribuciones específicas de las variables para explicar la variabilidad en cada componente. Cada gráfico incluye una línea que indica la contribución media, lo que facilita la identificación de las variables que tienen mayor impacto en la explicación de la variabilidad de los componentes.
En Contribuciones a D1 se visualiza que las variables por encima de la contribución media: RestingBP y SerumCholesterol,retienen aproximadamente el \(82.55%\) de la variabilidad del componente 1.
En Contribuciones a D2 se visualiza que las variables por encima de la contribución media: Age y OldPeak retienen aproximadamente el \(76.99%\) de la variabilidad del componente 2.
En Contribuciones a D3 se visualiza que las variables por encima de la contribución media: Age y OldPeak retienen aproximadamente el \(98.5%\) de la variabilidad del componente 3.
En Contribuciones a D4 se visualiza que la variable por encima de la contribución media: Max Heart Rate retiene aproximadamente el \(63.55%\) de la variabilidad del componente 4.
En Contribuciones a D5 se visualiza que las variables por encima de la contribución media: RestingBP y SerumCholesterol retienen aproximadamente el \(97.85%\) de la variabilidad del componente 5.
Con los datos procesados hasta ahora se puede proceder con la intepretación de los componentes.
(get_pca_var(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 5, scale.unit = TRUE, graph = F)))$contrib
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## age 0.009381541 38.5876709 51.0714326 8.221246 2.110269e+00
## restingBP 41.784383769 0.5283545 0.6011701 8.692900 4.839319e+01
## serumcholestrol 40.771301892 3.8760108 0.5343330 5.322803 4.949555e+01
## maxheartrate 17.389916226 18.5961378 0.3588048 63.654570 5.707976e-04
## oldpeak 0.045016572 38.4118260 47.4342594 14.108481 4.171475e-04
fviz_contrib(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 1, top = 10)
fviz_contrib(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 2, top = 10)
fviz_contrib(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 3, top = 10)
fviz_contrib(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 4, top = 10)
fviz_contrib(PCA(Cardiovascular_Disease_Dataset_Depurado[,-c(1,3,4,7,8,10,12,13,14)], ncp = 6, scale.unit = TRUE, graph = F), choice = "var", axes = 5, top = 10)
Representar los registros en un espacio de dimensiones reducidas permite situarlos en un plano de factores, lo que facilita su análisis e interpretación. Las variables reducidas se corresponden con las componentes principales, que se utilizan como ejes en el plano y cuyos valores son los puntajes de las componentes. La distancia entre los puntos representados por estos puntajes es clave para identificar similitudes entre los perfiles de las observaciones. No obstante, las similitudes pueden aparecer solo en algunas variables y no en todas. Así, se busca que las distancias en el espacio de alta dimensión se conserven en el espacio reducido, manteniendo la estructura de las relaciones entre los datos. Según (Díaz Morales & Morales Rivera, 2012).
La navegación entre las pestañas facilita la visualización de objetos gráficos y matriciales que, al integrar los resultados de las secciones anteriores, fortalecen la interpretación de las contribuciones de las componentes calculadas. Tal como se presentó en la sección 2.3, el número de componentes seleccionadas se redujo a dos, siguiendo el criterio de Kaiser y considerando la varianza acumulada. Estas dos componentes explican conjuntamente el \(46.9\)\(%\) de la variabilidad de los datos, lo que permite capturar patrones relevantes sin perder simplicidad. En esta sección, se analizan las contribuciones específicas de cada variable a estas componentes, destacando su importancia en la interpretación de los factores clave relacionados con las afecciones cardiovasculares.
Las pestañas de Biplot de Variables y Registros Totales en las categorías Chestpain (tipo de dolor de pecho), Gender (género) y Target (presencia o ausencia de enfermedad cardiovascular) muestran, con base en las agrupaciones que estas variables categóricas pueden establecer, la representación en dimensionalidad reducida en el plano de factores generado por los componentes principales. En este sentido:
La agrupación con base en Chestpain permite observar cómo los diferentes tipos de dolor de pecho (típico, atípico, no anginal, asintomático) generan una distribución notablemente diferenciada en el espacio reducido, especialmente en las dimensiones Dim.1 y Dim.2.
La agrupación con base en Gender (masculino y femenino) muestra patrones de distribución menos pronunciados, con una menor separación entre las observaciones en el espacio de los componentes principales, lo que indica una influencia limitada del género en las variaciones representadas.
La agrupación basada en los Resultados del Electrocardiograma en Reposo (normal, anomalías ST-T e hipertrofia ventricular izquierda) muestra que las observaciones se distribuyen con cierta separación en el espacio de los componentes principales. Las categorías de “anomalías ST-T” e “hipertrofia ventricular izquierda” parecen estar más relacionadas con algunas variables específicas del análisis, lo que indica que estas condiciones tienen una influencia notable en la variación de los datos. Por ejemplo, esto puede reflejar que variables como la presión arterial, el colesterol o la frecuencia cardíaca están asociadas con estos resultados del electrocardiograma. En cambio, los resultados “normales” están más dispersos, sugiriendo que no hay una relación tan fuerte con estas variables. Esto demuestra que los resultados del electrocardiograma ayudan a identificar patrones significativos en los datos, especialmente en relación con las características de salud cardiovascular representadas.
De esta manera, la representación biplot resalta la capacidad de las variables categóricas como Chestpain y Target para establecer agrupaciones significativas, mientras que Gender tiene un menor impacto en la distribución observada.
Finalmente, para facilitar la interpretación de los puntajes en el plano definido por las primeras dos componentes principales (Dim.1 y Dim.2) y las relaciones entre variables, se generó la pestaña Coordenadas Individuales [Subconjunto ChestPain]. Esta visualización, basada en un subconjunto del \(5\) \(%\) [47] de registros seleccionados mediante muestreo aleatorio simple, permite explorar los puntajes por componentes. Este enfoque ofrece una representación clara y comprensible, sin comprometer los detalles esenciales. Es importante señalar que este procedimiento tiene fines de visualización, ya que el conjunto de datos original, mucho más grande [947 registros], dificulta la identificación visual de patrones relevantes.
Cardiovascular_Disease_Dataset_Depurado <- read_excel("C:/Users/Maria Fernanda/Desktop/Conjutos de datos/Cardiovascular_Disease_Dataset _Depurado.xlsx")
Cardiovascular_Disease_Dataset_Muestreado <- Cardiovascular_Disease_Dataset_Depurado[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado), 100), -c(1,3,7,8,10,12,13,14)]
Cardiovascular_Disease_Dataset_Muestreado$chestpain <- factor(Cardiovascular_Disease_Dataset_Muestreado$chestpain,
levels = c(0, 1, 2, 3),
labels = c("typical angina", "atypical angina", "non-anginal pain", "asymptomatic"))
fviz_pca_biplot(PCA(Cardiovascular_Disease_Dataset_Muestreado[,],ncp = 5,scale.unit = TRUE,graph = F, quali.sup = "chestpain"),axes = c(1, 2),repel = TRUE,habillage = "chestpain")
Cardiovascular_Disease_Dataset_Depurado <- read_excel("C:/Users/Maria Fernanda/Desktop/Conjutos de datos/Cardiovascular_Disease_Dataset _Depurado.xlsx")
set.seed(780729)
Cardiovascular_Disease_Dataset_Muestreado = Cardiovascular_Disease_Dataset_Depurado[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado),200),-c(1,4,7,8,10,12,13,14)]
Cardiovascular_Disease_Dataset_Muestreado$gender <- factor(Cardiovascular_Disease_Dataset_Muestreado$gender, levels = c(0, 1), labels = c("female", "male"))
Cardiovascular_Disease_Dataset_Muestreado$gender <- as.factor(Cardiovascular_Disease_Dataset_Muestreado$gender)
fviz_pca_biplot(PCA(Cardiovascular_Disease_Dataset_Muestreado[,], ncp = 5, scale.unit = TRUE, graph = F, quali.sup = "gender"), axes = c(1, 2), repel = TRUE, habillage = "gender")
Cardiovascular_Disease_Dataset_Depurado <- read_excel("C:/Users/Maria Fernanda/Desktop/Conjutos de datos/Cardiovascular_Disease_Dataset _Depurado.xlsx")
set.seed(780729)
Cardiovascular_Disease_Dataset_Muestreado <- Cardiovascular_Disease_Dataset_Depurado[ sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado), 150), -c(1,3,4,7,10,12,13,14)]
Cardiovascular_Disease_Dataset_Muestreado$restingrelectro <- factor(
Cardiovascular_Disease_Dataset_Muestreado$restingrelectro,
levels = c(0, 1, 2),
labels = c("Normal", "ST-T abnormalities", "LV hypertrophy"))
pca_result <- PCA(
Cardiovascular_Disease_Dataset_Muestreado[, -which(names(Cardiovascular_Disease_Dataset_Muestreado) == "restingrelectro")],
ncp = 5,
scale.unit = TRUE,
graph = FALSE,
quali.sup = which(names(Cardiovascular_Disease_Dataset_Muestreado) == "restingrelectro")
)
fviz_pca_biplot(PCA(Cardiovascular_Disease_Dataset_Muestreado[,], ncp = 5, scale.unit = TRUE, graph = F, quali.sup = which(names(Cardiovascular_Disease_Dataset_Muestreado) == "restingrelectro")), axes = c(1, 2), repel = TRUE, habillage = "restingrelectro")
set.seed(220512)
Cardiovascular_Disease_Dataset_Muestreado= Cardiovascular_Disease_Dataset_Depurado[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado),47),-c(1,3,7,8,10,12,13,14)]
head(PCA(Cardiovascular_Disease_Dataset_Muestreado, ncp = 4 , scale.unit = TRUE, graph = FALSE, quali.sup = "chestpain")$ind$coord, n = 47L)
## Dim.1 Dim.2 Dim.3 Dim.4
## 1 -2.153195669 1.5314632 0.11073639 0.48848324
## 2 0.702064757 0.7408711 2.26090123 -1.20696702
## 3 0.891586193 -0.5232447 -0.20686124 -1.98281945
## 4 -0.023808608 0.3633929 -1.74817490 0.66130222
## 5 0.214200326 -0.2289107 1.77751332 0.15632713
## 6 1.454494919 -0.8438648 -0.18113520 -0.06219813
## 7 -0.663083392 -0.9380729 -0.17291002 -1.37785189
## 8 0.805749611 1.1010542 -0.75934335 -1.10866814
## 9 -2.376277075 -0.2661536 0.81649145 -0.09672165
## 10 -0.612314518 -0.7596401 -0.12712136 1.40059894
## 11 -1.138650676 -2.1863613 -0.22676069 0.15469809
## 12 1.353171047 1.5188886 -0.59438273 -0.55675040
## 13 -0.419842513 -0.2286677 0.47984617 0.19838362
## 14 -1.435293283 0.3629528 -0.82288778 1.56882677
## 15 1.522854247 1.2327817 -0.33074121 -0.43299979
## 16 -2.470264934 0.4700398 1.01029302 -0.17435744
## 17 -0.297070027 -0.1406519 1.51208392 0.45197403
## 18 0.614482708 1.4070805 0.02119816 -0.80010999
## 19 0.242414060 -1.8173958 0.10765865 0.64318311
## 20 1.420320421 0.8284643 -0.39541029 0.58730543
## 21 -0.242394514 -0.3472678 -0.70726989 -1.43339999
## 22 -1.224706542 0.1407847 -0.36053304 1.02472332
## 23 -0.797000049 -0.6070162 0.45596386 1.38126771
## 24 -0.994091955 0.2889885 -1.00248290 -1.09628191
## 25 1.158372182 1.1524948 1.41339885 0.99206097
## 26 -0.018972984 -1.0840707 -1.58265270 -0.06863324
## 27 1.621695445 1.3252733 0.65191016 1.39685182
## 28 -0.315292734 0.1304138 2.43602533 -0.51103436
## 29 2.375482761 -0.8287404 -0.05442131 -0.16047036
## 30 -1.622405399 -0.5590218 1.12466643 -1.10543886
## 31 0.146318446 -0.2829839 -0.72129483 -1.17881351
## 32 0.297671606 1.4918299 -0.63908827 0.80545595
## 33 -0.006688691 -2.7752366 -1.21241725 -0.29722164
## 34 -0.969382305 0.3687209 -1.82030178 0.84250876
## 35 -0.036595886 -0.3204530 0.19998581 1.92326621
## 36 0.221045851 -1.7643857 -0.14809263 0.34198617
## 37 0.626520129 1.1187461 1.07373658 -0.20580214
## 38 -0.713295222 1.0020224 -1.69430100 -1.17952776
## 39 1.522301525 -0.5780995 0.36453328 -0.14029003
## 40 -1.617434738 1.7703160 0.05115450 -0.33212575
## 41 1.984853703 1.0139687 -1.50312664 0.71468741
## 42 -0.984808182 -0.1738740 0.17183079 0.01896707
## 43 1.167447494 -1.6265288 0.80315408 -0.11288882
## 44 0.173547230 -0.6028045 1.33446502 0.30216277
## 45 -2.899714939 0.7239226 -0.78266952 -0.53961765
## 46 1.697398721 -0.1398061 0.44869689 -0.28011860
## 47 1.818591452 -0.4612182 -0.83186338 0.38608780
En esta tercera fase del estudio, se presentarán cálculos, visualizaciones e interpretaciones basadas en el conjunto de datos trabajado en la fase 1 y fase 2. Sin embargo, esta fase se enfocará en aplicar análisis de correspondencias simples y múltiples sobre las variables cualitativas, abarcando la construcción de tablas de contingencia y disyuntivas completas, así como la evaluación de calidades de representación, contribuciones e interpretaciones.
Según (Aldás & Uriel, 2017),el análisis de correspondencias simple (ACS) tiene como propósito reducir la dimensionalidad de las relaciones entre categorías de dos variables categóricas, representándolas en un espacio multidimensional. Este método permite analizar gráficamente las distancias entre las categorías de las variables, facilitando la interpretación de tablas de contingencia. El número máximo de dimensiones necesarias para explicar dichas relaciones corresponde a uno menos el número de categorías de la variable con menor cantidad de niveles.
Asimismo, el ACS, basado en tablas de contingencia, puede ampliarse para incluir más de dos variables categóricas, lo que se conoce como Análisis de correspondencias múltiples (ACM). Este enfoque utiliza una tabla disyuntiva completa, permitiendo explorar y representar relaciones más complejas entre múltiples variables categóricas.
La navegación a través de las pestañas permite visualizar objetos matriciales y gráficos que fortalecen la interpretación del análisis de correspondencias simple (ACS) aplicado a los pares de variables categóricas seleccionadas del conjunto de datos: ChestPain, Target y Gender.Se realiza el ACS sobre las tres combinaciones posibles entre estas variables, destacando las relaciones y patrones presentes en cada análisis.
La pestaña AC Parejas Totales muestra las combinaciones entre variables categóricas seleccionadas. En la tabla ChestPain vs. Target, se observa que el dolor tipo 2 (dolor no anginal) está altamente asociado con la enfermedad cardiovascular, con 260 casos de 293 totales. En la tabla Gender vs. Target, los hombres presentan una mayor prevalencia de enfermedad, con 406 casos frente a 121 en mujeres. Finalmente, en la tabla ChestPain vs. Gender, el dolor tipo 0 (angina típica) predominó en hombres (159 de 180 casos), mientras que en el dolor tipo 2 (no anginal) la distribución entre hombres y mujeres fue más equilibrada. Estos resultados destacan patrones clave entre tipo de dolor, género y enfermedad, subrayando el aporte del análisis de correspondencias para identificar asociaciones significativas.
La subpestaña Probabilidades muestra las proporciones relativas entre las combinaciones de variables categóricas analizadas. En la tabla ChestPain vs. Target, el \(32.95\) \(\%\) del total corresponde a pacientes sin enfermedad con dolor tipo 0 (angina típica), mientras que el \(27.45\) \(\%\) presentó dolor tipo 2 (no anginal) con enfermedad. En la tabla Gender vs. Target, el \(33.58\) \(%\) del total son hombres sin enfermedad, mientras que el \(12.77\) \(%\) son mujeres con enfermedad cardiovascular. Finalmente, en la tabla ChestPain vs. Gender, el \(16.79%\) del total corresponde a hombres con dolor tipo 0 y el \(13.93\) \(%\) a mujeres con dolor tipo 2.
En la subpestaña Frecuencias [CPF y CPC], se presentan las frecuencias condicionadas por filas (CPF) y por columnas (CPC) derivadas de las tablas de contingencia. Según la matriz CPF de ChestPain vs. Target, el \(77.04%\) de los pacientes con dolor tipo 0 no tenían enfermedad, mientras que el \(88.74%\) con dolor tipo 2 sí la presentaban. En la CPC, el \(74.29%\) de los pacientes sin enfermedad correspondían a dolor tipo 0 y el \(49.34%\) de los pacientes con enfermedad tenían dolor tipo 2.
En la matriz CPF de Gender vs. Target, el \(45.74\) \(%\) de las mujeres y el \(43.92\) \(%\) de los hombres no tenían enfermedad, mientras que en la CPC, el \(24.29\) \(%\) de los pacientes sin enfermedad eran mujeres y el \(77.04%\) hombres.
Por último, en la matriz CPF de ChestPain vs. Gender, el \(88.33%\) de los pacientes con dolor tipo 0 eran hombres y el \(44.90%\) con dolor tipo 2 eran mujeres. En la CPC, el \(24.42\)\(%\) de los hombres tenían dolor tipo 0, mientras que el \(44.59%\) de las mujeres tenían dolor tipo 2.
Con base en las matrices de frecuencias, se analizan los perfiles condicionados por filas (CPF) y columnas (CPC) de las variables Target-ChestPain, Gender-Target y Slope-FastingBloodSugar, los cuales se presentan en la subpestaña Perfiles [CPF y CPC]. Los gráficos permiten comparar las proporciones con un perfil promedio, identificado como “marg”.
Perfiles de Target y ChestPain
En los perfiles fila (CPF), el \(77.04%\) de los pacientes sin enfermedad cardiovascular (Target = 0) tienen dolor tipo 0 (angina típica), mientras que el \(88.74%\) de los pacientes con enfermedad (Target = 1) tienen dolor tipo 2 (dolor no anginal).
En los perfiles columna (CPC), el \(74.29%\) de los pacientes con dolor tipo 0 no presentan enfermedad, mientras que el \(49.34%\) de los pacientes con dolor tipo 2 tienen enfermedad cardiovascular.
Perfiles de Gender y Target.
En los perfiles fila (CPF), el \(45.74%\) de las mujeres y el \(43.92%\) de los hombres no tienen enfermedad cardiovascular. Entre quienes presentan enfermedad, las proporciones son similares.
En los perfiles columna (CPC), el \(24.29%\) de los pacientes sin enfermedad son mujeres, mientras que los hombres representan el \(77.04%\), reflejando una mayor prevalencia de hombres sin enfermedad.
Perfiles de Slope y FastingBloodSugar.
Con base en las descripciones realizadas, es posible anticipar que los pares de variables categóricas Gender vs. Target son independientes, mientras que los pares Target vs. ChestPain y Slope vs. FastingBloodSugar muestran dependencia. Este juicio se fundamenta en los resultados de las pruebas de hipótesis, las cuales se visualizaron en la subpestaña correspondiente. Para estas pruebas, y considerando un nivel de significancia \(\alpha = 0.05\), se formularon las siguientes hipótesis: \[H_0: \text {Las variables categóricas son independientes}\] \[H_1: \text {las variables categóricas son dependientes}\] Los resultados de las pruebas de hipótesis indican que Gender vs. Target son independientes, mientras que Target vs. ChestPain y Slope vs. FastingBloodSugar muestran dependencia significativa. Con un nivel de significancia \(\alpha = 0.05\), el \(p-valor\) de estos últimos pares fue menor, permitiendo rechazar la hipótesis de independencia. Por el contrario, el par Gender vs. Target no mostró asociación significativa. Para los análisis posteriores, se decidió trabajar únicamente con el par Target vs. ChestPain, debido a su fuerte asociación y relevancia en eeste contexto clínico.
A través de la pestaña AC Pareja Única, se despliegan las sub-pestañas correspondientes al análisis de correspondencias para el par de variables Target-ChestPain. En la sub-pestaña Contingencias y Residuales [Target-ChestPain], se visualizan las tablas de contingencias, valores esperados y residuales para estas variables. De las tablas se observa que los recuentos observados y esperados bajo la hipótesis nula presentan diferencias notables, lo que refuerza la dependencia entre ambas variables. Los valores de “rango_observado” representan los recuentos reales para cada categoría, mientras que “rango_esperado” indica los valores que se esperarían bajo independencia. El análisis de los residuales de Pearson y los estandarizados muestra que las mayores desviaciones se encuentran en las combinaciones de las categorías Target = 1 con ChestPain = 2 y Target = 0 con ChestPain = 0, reflejando una interacción clave entre estas categorías.
Asimismo, en la sub-pestaña Contribuciones [Target-ChestPain], se identifica que las categorías ChestPain = 0 y ChestPain = 2 son las que más contribuyen a la variabilidad total, en comparación con las categorías ChestPain = 1 y ChestPain = 3, cuyas contribuciones son menores. Este patrón subraya la importancia de estas categorías en la configuración de la relación entre las variables.
Por último, el resultado definitivo del análisis de correspondencias simple se presenta en la sub-pestaña Correspondencia Simple Unidimensional [Target-ChestPain]. En este apartado, se concluye que una sola dimensión explica la totalidad de la variabilidad del par de variables, por lo que una representación bidimensional no es necesaria. Las coordenadas proyectadas de las categorías de ChestPain muestran que ChestPain = 0 y ChestPain = 2 están posicionadas en extremos opuestos del eje unidimensional, reflejando relaciones binarias con las categorías de Target. De igual forma, las categorías de ChestPain = 1 y ChestPain = 3 están cercanas al centro del eje, contribuyendo menos a la configuración de la dimensión. Este comportamiento se refleja también en las categorías de la variable Target, donde Target = 0 y Target = 1 tienen contribuciones equilibradas pero contrapuestas.
En conjunto, los resultados sugieren una asociación significativa entre las variables, donde las categorías extremas de ChestPain (0 y 2) y Target (0 y 1) presentan relaciones más marcadas, mientras que las intermedias tienen menor impacto. Este análisis resalta la importancia de la interacción entre el tipo de dolor de pecho y la presencia de enfermedad cardiovascular.
addmargins(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target))
##
## 0 1 Sum
## 0 312 93 405
## 1 70 136 206
## 2 33 260 293
## 3 5 38 43
## Sum 420 527 947
addmargins(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target))
##
## 0 1 Sum
## 0 102 121 223
## 1 318 406 724
## Sum 420 527 947
addmargins(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar))
##
## 0 1 Sum
## 0 159 21 180
## 1 228 63 291
## 2 162 132 294
## 3 102 80 182
## Sum 651 296 947
addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target))*100)
##
## 0 1 Sum
## 0 32.9461457 9.8204857 42.7666315
## 1 7.3917635 14.3611404 21.7529039
## 2 3.4846885 27.4551214 30.9398099
## 3 0.5279831 4.0126716 4.5406547
## Sum 44.3505808 55.6494192 100.0000000
addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target))*100)
##
## 0 1 Sum
## 0 10.77086 12.77719 23.54805
## 1 33.57973 42.87223 76.45195
## Sum 44.35058 55.64942 100.00000
addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar))*100)
##
## 0 1 Sum
## 0 16.789863 2.217529 19.007392
## 1 24.076030 6.652587 30.728617
## 2 17.106653 13.938754 31.045407
## 3 10.770855 8.447730 19.218585
## Sum 68.743400 31.256600 100.000000
round(addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target), 1)*100, 2), 2)
##
## 0 1 Sum
## 0 77.04 22.96 100.00
## 1 33.98 66.02 100.00
## 2 11.26 88.74 100.00
## 3 11.63 88.37 100.00
round(addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target), 2)*100, 1), 2)
##
## 0 1
## 0 74.29 17.65
## 1 16.67 25.81
## 2 7.86 49.34
## 3 1.19 7.21
## Sum 100.00 100.00
round(addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target), 1)*100, 2), 2)
##
## 0 1 Sum
## 0 45.74 54.26 100.00
## 1 43.92 56.08 100.00
round(addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target), 2)*100, 1), 2)
##
## 0 1
## 0 24.29 22.96
## 1 75.71 77.04
## Sum 100.00 100.00
round(addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar), 1)*100, 2), 2)
##
## 0 1 Sum
## 0 88.33 11.67 100.00
## 1 78.35 21.65 100.00
## 2 55.10 44.90 100.00
## 3 56.04 43.96 100.00
round(addmargins(prop.table(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar), 2)*100, 1), 2)
##
## 0 1
## 0 24.42 7.09
## 1 35.02 21.28
## 2 24.88 44.59
## 3 15.67 27.03
## Sum 100.00 100.00
plotct(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target),"row")
plotct(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target),"col")
plotct(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target),"row")
plotct(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target),"col")
plotct(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar),"row")
plotct(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar),"col")
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target))
##
## Pearson's Chi-squared test
##
## data: table(Cardiovascular_Disease_Dataset_Depurado$chestpain, Cardiovascular_Disease_Dataset_Depurado$target)
## X-squared = 332.92, df = 3, p-value < 2.2e-16
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target))
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: table(Cardiovascular_Disease_Dataset_Depurado$gender, Cardiovascular_Disease_Dataset_Depurado$target)
## X-squared = 0.16043, df = 1, p-value = 0.6888
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$slope,Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar))
##
## Pearson's Chi-squared test
##
## data: table(Cardiovascular_Disease_Dataset_Depurado$slope, Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar)
## X-squared = 83.771, df = 3, p-value < 2.2e-16
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope))$observed
##
## 0 1 2 3
## 0 180 228 12 0
## 1 0 63 282 182
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope))$expected
##
## 0 1 2 3
## 0 79.83105 129.0602 130.3907 80.71806
## 1 100.16895 161.9398 163.6093 101.28194
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope))$residuals
##
## 0 1 2 3
## 0 11.211074 8.709133 -10.367983 -8.984323
## 1 -10.008444 -7.774890 9.255793 8.020560
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope))$stdres
##
## 0 1 2 3
## 0 16.69914 14.02709 -16.73718 -13.39983
## 1 -16.69914 -14.02709 16.73718 13.39983
chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope))$residuals^2/chisq.test(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope))$statistic*100
##
## 0 1 2 3
## 0 17.946039 10.829889 15.348387 11.525104
## 1 14.302346 8.631031 12.232111 9.185092
CA(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope), graph = FALSE)$eig
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.7395642 100 100
CA(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope), graph = FALSE)$col
## $coord
## [,1]
## 0 1.1201616
## 1 0.6843813
## 2 -0.8105696
## 3 -0.8927284
##
## $contrib
## [,1]
## 0 32.24839
## 1 19.46092
## 2 27.58050
## 3 20.71020
##
## $cos2
## [,1]
## 0 1
## 1 1
## 2 1
## 3 1
##
## $inertia
## [1] 0.2384975 0.1439260 0.2039755 0.1531652
CA(table(Cardiovascular_Disease_Dataset_Depurado$target,Cardiovascular_Disease_Dataset_Depurado$slope), graph = FALSE)$row
## $coord
## 0 1
## 0.9633156 -0.7677278
##
## $contrib
## 0 1
## 55.64942 44.35058
##
## $cos2
## 0 1
## 1 1
##
## $inertia
## [1] 0.4115632 0.3280010
De acuerdo con (Díaz Morales & Morales Rivera, 2012), el análisis de correspondencias simple (ACS) puede ampliarse para trabajar con tablas disyuntivas completas. En este formato, las filas representan a los pacientes, mientras que las columnas describen las modalidades de las variables categóricas analizadas, como Target, ChestPain y FastingBloodSugar, asignando a cada paciente una categoría única para cada variable. El análisis de correspondencias múltiples (ACM) se construye sobre esta tabla disyuntiva, aplicando el método de correspondencias de forma conjunta a todas las variables categóricas, particionando de manera exclusiva y exhaustiva a la población en función de sus características.
Esta sección se plantea como una solución complementaria al ACS, cuyo análisis en la sección3.2 estuvo limitado por la naturaleza unidimensional de los datos y la imposibilidad de una representación bidimensional significativa. Por ello, mediante el ACM y el tratamiento conjunto de todas las variables categóricas relacionadas, se busca construir una representación más completa en el primer plano factorial, ofreciendo una visión integral de las asociaciones clínicas más relevantes.
La navegación a través de las pestañas permite visualizar objetos matriciales y gráficos que facilitan el desarrollo e interpretación del análisis de correspondencias múltiples (ACM) realizado entre las variables categóricas del conjunto de datos descrito en la sección anterior.
La pestaña ACM revela la multidimensionalidad esperada al trabajar conjuntamente con las variables categóricas fastingbloodsugar, restingrelectro, gender, chestpain, noofmajorvessels y target. Además, muestra que las dimensiones del plano principal explican el 32.230 \(\%\) de la varianza total del conjunto de datos, lo cual será la base para continuar con las interpretaciones del ACM.
Este MCA identifica dimensiones principales que resumen las relaciones entre las variables cualitativas del conjunto de datos. En este caso: La Dim 1 explica el mayor porcentaje de varianza (21.67%), lo que la convierte en la dimensión más importante para describir las relaciones entre las categorías de las variables. Al considerar las primeras 6 dimensiones, se explica el 70.36% de la información total del sistema, proporcionando una representación adecuada de los datos originales. Las dimensiones adicionales (7 a 11) contribuyen con información menor y podrían no ser tan relevantes para la interpretación.
En esta tabla se observa una baja concentración de absorción de varianza por parte de una sola dimensión, lo cual se refleja en las distancias entre los perfiles de las categorías de las variables, permitiendo un análisis detallado de las relaciones entre estas en el espacio multidimensional.
En el Biplot MCA se observan las asociaciones entre las categorías de las variables cualitativas y las observaciones, representadas por puntos azules, cuyas coordenadas reflejan las semejanzas en los perfiles. Las categorías de las variables, representadas por triángulos amarillos, muestran su dispersión respecto a los semi-ejes dimensionales, lo que evidencia las relaciones más significativas entre ellas. Por ejemplo, se destacan agrupaciones como las categorías relacionadas con “restingrelectro N” (electrocardiograma normal) y “fastingbloodsugar F” que indican asociaciones entre perfiles de individuos con resultados normales en el ECG y niveles bajos de azúcar en sangre. Por otro lado, categorías como “ASIMP” presentan mayor dispersión, sugiriendo una menor asociación directa con la mayoría de las observaciones.
Complementariamente, el gráfico de contribuciones muestra que para las dimensiones del primer plano factorial, y en concordancia con lo expresado anteriormente, las categorías NO, SI, Hyp, ANGTIP, CERO, NOANG, TWO, y fastingbloodsugar_V superan la línea media de contribución, indicada por la línea roja, destacándose como las más influyentes en la construcción de la Dim1. Estas categorías aportan significativamente a la variabilidad explicada por esta dimensión, reflejando su relevancia en el análisis.
En contraste, categorías como restingrelectro.N, fastingbloodsugar.F, THREE, ASIMP, ONE, A, y ANGATIP quedan por debajo de la línea media de contribución, indicando un impacto menor en la configuración de la Dim1. Sin embargo, este comportamiento también se observa en las demás dimensiones factoriales, donde diferentes categorías asumen un papel destacado dependiendo de su contribución específica a cada dimensión. Por ejemplo, categorías con baja contribución en la Dim1 pueden ser más relevantes en la configuración de dimensiones superiores.
La decisión de trabajar cinco dimensiones representadas se justifica porque estas dimensiones explican un porcentaje acumulado significativo de la varianza total (70%), capturando la mayor parte de la información relevante del análisis. Esto permite un balance entre la simplificación del modelo y la retención de información, asegurando que las asociaciones y patrones principales entre las categorías sean adecuadamente interpretados sin perder detalles importantes del conjunto de datos. Este enfoque asegura una representación eficiente y comprensible del espacio factorial generado por el análisis de correspondencias múltiples.
Cardiovascular_Disease_Dataset_Depurado_V2 <- read_excel("C:/Users/Maria Fernanda/Desktop/Cardiovascular_Disease_Dataset _Depurado_V2.xlsx")
data(Cardiovascular_Disease_Dataset_Depurado_V2)
## Warning in data(Cardiovascular_Disease_Dataset_Depurado_V2): data set
## 'Cardiovascular_Disease_Dataset_Depurado_V2' not found
set.seed(780729)
Cardiovascular_Disease_Dataset_Depurado_V2.active<-Cardiovascular_Disease_Dataset_Depurado_V2[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado_V2),300), 7:12]
suppressWarnings(round(MCA(Cardiovascular_Disease_Dataset_Depurado_V2.active, graph = FALSE, ncp = 5)$eig, 3))
## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.397 21.673 21.673
## dim 2 0.194 10.557 32.230
## dim 3 0.190 10.363 42.594
## dim 4 0.182 9.923 52.517
## dim 5 0.170 9.280 61.797
## dim 6 0.157 8.568 70.365
## dim 7 0.143 7.775 78.140
## dim 8 0.129 7.027 85.167
## dim 9 0.115 6.266 91.433
## dim 10 0.105 5.706 97.139
## dim 11 0.052 2.861 100.000
Cardiovascular_Disease_Dataset_Depurado_V2 <- read_excel("C:/Users/Maria Fernanda/Desktop/Cardiovascular_Disease_Dataset _Depurado_V2.xlsx")
data(Cardiovascular_Disease_Dataset_Depurado_V2)
## Warning in data(Cardiovascular_Disease_Dataset_Depurado_V2): data set
## 'Cardiovascular_Disease_Dataset_Depurado_V2' not found
set.seed(780729)
Cardiovascular_Disease_Dataset_Depurado_V2.active<-Cardiovascular_Disease_Dataset_Depurado_V2[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado_V2),200), 7:12]
res.mca <- MCA(Cardiovascular_Disease_Dataset_Depurado_V2.active, graph = FALSE)
#Cardiovascular_Disease_Dataset_Depurado_V2$gender <- as.factor(Cardiovascular_Disease_Dataset_Depurado_V2$gender)
#habillage = "gender",
fviz_mca_biplot(res.mca, repel = TRUE, col.var = "#E7B800", addEllipses = TRUE, ellipse.level = 0.95)
Cardiovascular_Disease_Dataset_Depurado_V2 <- read_excel("C:/Users/Maria Fernanda/Desktop/Cardiovascular_Disease_Dataset _Depurado_V2.xlsx")
data(Cardiovascular_Disease_Dataset_Depurado_V2)
## Warning in data(Cardiovascular_Disease_Dataset_Depurado_V2): data set
## 'Cardiovascular_Disease_Dataset_Depurado_V2' not found
set.seed(780729)
Cardiovascular_Disease_Dataset_Depurado_V2.active<-Cardiovascular_Disease_Dataset_Depurado_V2[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado_V2),200), 7:12]
res.mca <- MCA(Cardiovascular_Disease_Dataset_Depurado_V2.active, graph = FALSE)
#Cardiovascular_Disease_Dataset_Depurado_V2$gender <- as.factor(Cardiovascular_Disease_Dataset_Depurado_V2$gender)
fviz_mca_var(res.mca, col.var ="cos2", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)
res.mca$var$cos2
## Dim 1 Dim 2 Dim 3 Dim 4
## fastingbloodsugar_F 0.261436004 0.0303525570 5.717776e-03 0.0861695516
## fastingbloodsugar_V 0.261436004 0.0303525570 5.717776e-03 0.0861695516
## ANorom 0.022758742 0.1687425675 3.771580e-01 0.0031821406
## Hyp 0.315567150 0.0268891414 1.496165e-01 0.0174455144
## Nor 0.293932486 0.2460952119 8.298588e-02 0.0018351561
## gender_F 0.007319651 0.2384942895 6.279386e-02 0.1616376548
## gender_M 0.007319651 0.2384942895 6.279386e-02 0.1616376548
## ANGATIP 0.008445547 0.3717772094 5.318952e-02 0.1387285582
## ANGTIP 0.475144631 0.0252327476 5.301104e-05 0.0624486757
## ASIMP 0.024459109 0.0849312939 3.632044e-03 0.2858600571
## NOANG 0.354408243 0.1989834398 2.817689e-02 0.0153798914
## CERO 0.328078467 0.0703755388 9.620315e-02 0.1164418919
## ONE 0.026973872 0.0033251818 2.307647e-01 0.2920615521
## THREE 0.059595488 0.1130461929 3.294151e-01 0.0384039540
## TWO 0.332139389 0.0002086932 3.207386e-02 0.1205848467
## NO 0.783330459 0.0031851615 5.764448e-03 0.0001028416
## SI 0.783330459 0.0031851615 5.764448e-03 0.0001028416
## Dim 5
## fastingbloodsugar_F 0.1790315976
## fastingbloodsugar_V 0.1790315976
## ANorom 0.0601228912
## Hyp 0.1194871351
## Nor 0.0004945893
## gender_F 0.2778651545
## gender_M 0.2778651545
## ANGATIP 0.1708628372
## ANGTIP 0.0020293160
## ASIMP 0.0993797115
## NOANG 0.0394638746
## CERO 0.0130164576
## ONE 0.0860911600
## THREE 0.0464598269
## TWO 0.0026642381
## NO 0.0107464304
## SI 0.0107464304
Cardiovascular_Disease_Dataset_Depurado_V2 <- read_excel("C:/Users/Maria Fernanda/Desktop/Cardiovascular_Disease_Dataset _Depurado_V2.xlsx")
data(Cardiovascular_Disease_Dataset_Depurado_V2)
## Warning in data(Cardiovascular_Disease_Dataset_Depurado_V2): data set
## 'Cardiovascular_Disease_Dataset_Depurado_V2' not found
set.seed(780729)
Cardiovascular_Disease_Dataset_Depurado_V2.active<-Cardiovascular_Disease_Dataset_Depurado_V2[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado_V2),200), 7:12]
res.mca <- MCA(Cardiovascular_Disease_Dataset_Depurado_V2.active, graph = FALSE)
fviz_contrib(res.mca, choice = "var", axes = 1, top = 15)
fviz_contrib(res.mca, choice = "var", axes = 2, top = 15)
fviz_contrib(res.mca, choice = "var", axes = 3, top = 15)
fviz_contrib(res.mca, choice = "var", axes = 4, top = 15)
fviz_contrib(res.mca, choice = "var", axes = 5, top = 15)
Cardiovascular_Disease_Dataset_Depurado_V2 <- read_excel("C:/Users/Maria Fernanda/Desktop/Cardiovascular_Disease_Dataset _Depurado_V2.xlsx")
data(Cardiovascular_Disease_Dataset_Depurado_V2)
## Warning in data(Cardiovascular_Disease_Dataset_Depurado_V2): data set
## 'Cardiovascular_Disease_Dataset_Depurado_V2' not found
set.seed(780729)
Cardiovascular_Disease_Dataset_Depurado_V2.active<-Cardiovascular_Disease_Dataset_Depurado_V2[sample(1:nrow(Cardiovascular_Disease_Dataset_Depurado_V2),200), 7:12]
res.mca <- MCA(Cardiovascular_Disease_Dataset_Depurado_V2.active, graph = FALSE)
fviz_mca_var(res.mca, col.var ="contrib", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)
En esta cuarta etapa del estudio se presentarán cálculos, visualizaciones e interpretaciones, utilizando el conjunto de datos procesado en las fases previas (1, 2 y 3). El enfoque se centrará en el análisis de conglomerados, abarcando tanto su versión jerárquica mediante dendrogramas como la no jerárquica con K-medias.
El Profesor (Libreros, 2023), en su trabajo (al que se pueden remitir mediante el enlace), señalaba que los autores (Díaz Morales & Morales Rivera, 2012), basándose en el análisis de Everitt (1980) titulado Cluster Analysis, describen los conglomerados como zonas continuas en un espacio donde se concentra una alta densidad de puntos, separadas por áreas con menor densidad. Para identificar estas concentraciones, se emplean diferentes técnicas, destacándose los métodos jerárquicos. Estos inician con el cálculo de una matriz de distancias entre los elementos analizados, lo que permite agruparlos mediante un proceso de aglomeración. Este método comienza con conglomerados individuales y avanza hacia un único grupo final. A lo largo de este proceso, se generan fusiones y divisiones que establecen jerarquías basadas en similitudes, representadas gráficamente a través de un dendograma.
Para una adecuada visualización de los datos y con fines exclusivamente académicos, el conjunto de datos descrito en la sección 1.2 fue modificado. Primero, se añadió una variable categórica denominada “Hospitals”, creada para diferenciar a los pacientes con afecciones cardiovasculares entre diversos hospitales. Esta es una variable artificial, cuya información base se obtuvo de la fuente: (India, 2024) . Para asignar esta variable, se utilizó la fórmula de Excel BUSCARV para reemplazar valores, después de haber generado datos iniciales mediante la fórmula ALEATORIO.ENTRE.
De esta manera,el análisis de conglomerados se hizo con base en el conjunto de datos mostrado en la pestaña Conjunto Modificado, esta indica los primeros registros y la estructura del conjunto.
La pestaña Disimilaridad ofrece una representación gráfica que muestra las relaciones de proximidad entre las categorías de la variable “Hospitals”. A través de una escala de colores que representa las distancias entre los registros, se evidencia que hospitales como el Lilavati Hospital and Research Centre y el Medanta - The Medicity se destacan por estar significativamente alejados del resto. Por otro lado, instituciones como el Apollo Hospitals, Chennai y el Fortis Memorial Research Institute, Gurugram presentan menor diferencia entre sí. Este comportamiento indica que los hospitales más similares tienden a formar agrupaciones dentro de las mismas jerarquías, mientras que aquellos con distancias más pronunciadas probablemente conformen grupos independientes, reflejando diferencias específicas dentro del análisis.
La pestaña Optimización de Mojena identifica el número óptimo de grupos para clasificar a los pacientes según tres estrategias jerárquicas. Tanto la unión simple como la unión completa concluyen que tres grupos son ideales, maximizando la cohesión interna y diferenciación externa. Por su lado, la unión promedio sugiere tres grupos como la configuración óptima, considerando distancias medias. Cada método se acompaña de su respectivo dendograma para visualizar las jerarquías y agrupaciones resultantes.
La pestaña Dendogramas Optimizados representa gráficamente los patrones observados en la sección de Disimilaridad, validando las agrupaciones entre pacientes con afecciones cardiovasculares según las similitudes detectadas en sus características, basadas en los hospitales de atención. Además, proporciona una visualización clara de las alturas jerárquicas, especialmente en los métodos de Enlace Completo y Enlace Promedio, que son determinantes para identificar el número óptimo de conglomerados.
En el caso del Enlace Simple, el dendograma muestra tres conglomerados establecidos a un nivel de similitud cercano a 2.3, aunque las distancias de aglomeración son relativamente pequeñas, lo que dificulta una clara diferenciación de los grupos. Por su parte, el método de Enlace Completo permite identificar tres conglomerados bien definidos a un nivel de similitud aproximado de 5.0, con grupos formados por \(7, 1\) y \(16\) observaciones, de izquierda a derecha. Mientras tanto, el método de Enlace Promedio establece tres conglomerados más específicos a un nivel de similitud mayor a 3.5, con grupos conformados por \(1, 2, 1\) y \(20\) observaciones, también contadas de izquierda a derecha.
Estos dendogramas muestran que, si se seleccionaran niveles de corte más altos, se obtendrían menos conglomerados con mayor cohesión interna. En cambio, niveles de corte más bajos producirían una mayor cantidad de conglomerados con menor similitud interna. De esta manera, las visualizaciones refuerzan el cálculo del número óptimo de conglomerados previamente identificado, permitiendo una clasificación más precisa de los pacientes según sus características clínicas.
cdd_Cardiovascular_Disease_hospital_promedio <- read_excel("C:/Users/Maria Fernanda/Desktop/Conjutos de datos/cdd_Cardiovascular_Disease_hospital_promedio.xlsx")
head(as.data.frame(cdd_Cardiovascular_Disease_hospital_promedio))
## hospital age_S01
## 1 AIIMS (All India Institute of Medical Sciences), Nueva Delhi 0.4854460
## 2 Apollo Hospitals, Chennai 0.5751174
## 3 Fortis Memorial Research Institute, Gurugram 0.4630342
## 4 Medanta - The Medicity, Gurugram 0.4871429
## 5 Narayana Health, Bangalore 0.4449735
## 6 Kokilaben Dhirubhai Ambani Hospital, Mumbai 0.4811111
## restingBP_S01 serumcholestrol_S01 maxheartrate_S01 oldpeak_S01
## 1 0.5479670 0.4692293 0.5669283 0.4656974
## 2 0.4926920 0.4760945 0.5718740 0.4425261
## 3 0.5968795 0.4779795 0.5703660 0.4135649
## 4 0.5545822 0.4655706 0.5774264 0.3788018
## 5 0.5034441 0.4755764 0.6025688 0.4549411
## 6 0.5759434 0.4607672 0.5515267 0.4104839
data_ = as.data.frame(cdd_Cardiovascular_Disease_hospital_promedio)[, -c(1)]
rownames(data_) = unclass(cdd_Cardiovascular_Disease_hospital_promedio$hospital)
fviz_dist(get_dist(data_, stand = T, method = "euclidean"), gradient = list(low = "#00AFBB", mid = "white", high = "#FC4E07"))
hc_single = hclust(get_dist(data_, stand = T, method = "euclidean"), method = "single")
mojena = function(hc){
n_hd = length(hc$height)
alp_g = 0 ; alpha = hc$height[n_hd:1]
for(i in 1:(n_hd-1)){
alp_g[i] = mean(alpha[(n_hd-i+1):1])+1.25*sd(alpha[(n_hd-i+1):1])
}
nog = sum(alp_g<= alpha[-n_hd]) + 1
plot(alpha[-n_hd], pch=20, col=(alp_g>alpha[-n_hd])+1, main = paste("Optimal number of groups =",nog),
ylab = expression(alpha[g]), xlab="Nodes")}
mojena(hc_single)
hc_complete = hclust(get_dist(data_, stand = T, method = "euclidean"), method = "complete")
mojena = function(hc){
n_hd = length(hc$height)
alp_g = 0 ; alpha = hc$height[n_hd:1]
for(i in 1:(n_hd-1)){
alp_g[i] = mean(alpha[(n_hd-i+1):1])+1.25*sd(alpha[(n_hd-i+1):1])
}
nog = sum(alp_g<= alpha[-n_hd]) + 1
plot(alpha[-n_hd], pch=20, col=(alp_g>alpha[-n_hd])+1, main = paste("Optimal number of groups =",nog),
ylab = expression(alpha[g]), xlab="Nodes")}
mojena(hc_complete)
hc_average = hclust(get_dist(data_, stand = T, method = "euclidean"), method = "average")
mojena = function(hc){
n_hd = length(hc$height)
alp_g = 0 ; alpha = hc$height[n_hd:1]
for(i in 1:(n_hd-1)){
alp_g[i] = mean(alpha[(n_hd-i+1):1])+1.25*sd(alpha[(n_hd-i+1):1])
}
nog = sum(alp_g<= alpha[-n_hd]) + 1
plot(alpha[-n_hd], pch=20, col=(alp_g>alpha[-n_hd])+1, main = paste("Optimal number of groups =",nog),
ylab = expression(alpha[g]), xlab="Nodes")}
mojena(hc_average)
suppressWarnings(fviz_dend(hc_single, k = 3, cex = 0.5, k_colors = "npg", color_labels_by_k = T, rect = T))
fviz_dend(hc_complete, k = 3, cex = 0.5, k_colors = "npg", color_labels_by_k = T, rect = T)
fviz_dend(hc_average, k = 3, cex = 0.5, k_colors = "npg", color_labels_by_k = T, rect = T)
Según (Díaz Morales & Morales Rivera, 2012), los métodos de aglomeración no jerárquicos, también conocidos como métodos de partición, se basan en una partición inicial del conjunto de datos, generando subconjuntos o grupos. A cada uno de estos grupos se le calcula un centroide, y posteriormente, las observaciones se asignan al conglomerado cuyo centroide se encuentra más cercano. Este proceso se repite recursivamente, recalculando los centroides y ajustando las asignaciones hasta que las observaciones ya no puedan cambiar de grupo. A diferencia de los métodos jerárquicos, este enfoque permite que una observación cambie de grupo durante el proceso.
El análisis del conjunto de datos se cerrará con el método no jerárquico de K-medias, que divide un conjunto de \(n\) objetos en \(k\) grupos. Este método selecciona los centroides de los grupos de manera que minimicen la distancia euclidiana entre cada objeto y su centroide más cercano. Las observaciones se asignan al conglomerado cuyo centroide esté más próximo, con el objetivo de reorganizar los objetos en grupos que presenten la menor variabilidad interna posible.
Con base en las variables cuantitativas del conjunto de datos descrito en la sección 1.2 se demanda desarrollar el análisis de conglomerados con base agrupaciones no-jerárquicas a través del método de las K-medias y la representación gráfica diferenciada de las agrupaciones con base en códigos de colores.
Dado que el método de K-medias requiere definir previamente la cantidad de conglomerados a formar, es fundamental determinar este número de manera adecuada para garantizar el mejor resultado posible. En la pestaña K-óptimos se encuentran las subpestañas que muestran los resultados de los cálculos para determinar el número óptimo de grupos, utilizando los métodos de Codo (Elbow), Silueta (Silhouette),Brecha (Gap) y Regla de la Mayoría (Majority Rule).
El método de Codo (Elbow) identificó que el número óptimo de agrupamientos que minimizan la variación total dentro de los grupos es \(3\). Por otro lado, el método de Silueta (Silhouette), basado en la calidad de los agrupamientos (medida por un valor alto de silueta), determinó que el número óptimo de grupos es \(4\).De manera complementaria, el método de Brecha (Gap) señaló como número óptimo 1.
Por último, el cuarto método, que utiliza la regla de la mayoría (Majority Rule) al analizar múltiples métricas como el índice D y sus segundas diferencias, determinó que el número óptimo es también \(3\). Por lo tanto, la continuación del análisis de conglomerados se realizó con la representación gráfica de los agrupamientos basados en este número óptimo. Así, la pestaña Resultados K-means presenta para 3 agrupamientos las cantidades de observaciones en cada grupo, las ubicaciones de los centroides, el vector de asignación a los conglomerados y la medida de calidad de la clasificación (cohesión interna contra separación externa), mostrando que esta última se acerca más a uno para este número de conglomerados.
La pestaña Gráficos K-means presenta los resultados de los agrupamientos óptimos obtenidos a través de los métodos de Silueta y Elbow combinado con Majority Rule, proyectados en el primer plano factorial que explica el \(59\)\(%\) de la variabilidad total de los datos (30.5% para la primera dimensión y 28.5% para la segunda).
El primer gráfico, basado en el método de Silueta (Silhouette), muestra una configuración de 2 conglomerados, diseñada para maximizar la cohesión interna y la separación entre grupos. En esta clasificación: El Cluster 1 (azul claro) incluye hospitales como el Christian Medical College (CMC), el BLK Super Speciality Hospital y el Tata Memorial Hospital.Por su parte, el Cluster 2 (verde azulado) agrupa hospitales como el Sir Ganga Ram Hospital, el Max Super Speciality Hospital y el Narayana Health. Aqui, las elipses representan la distribución y densidad de los datos en cada grupo, ofreciendo una segmentación general con menos diferenciación comparada con tres conglomerados.
El segundo gráfico, basado en los métodos de Elbow y Majority Rule, presenta una configuración de 3 conglomerados, que optimizan la minimización de la variación dentro de los grupos. En este caso: - El Cluster 1 (azul claro) es similar al del método de Silueta, pero con mayor segmentación. - El Cluster 2 (verde azulado) incluye hospitales como el Sir Ganga Ram Hospital y otros con características similares. - El Cluster 3 (amarillo) agrupa hospitales como el Manipal Hospitals y el Medanta - The Medicity, mostrando una mayor cohesión interna en este grupo.
En comparación, el método de Silueta, con 2 conglomerados, proporciona una visión más generalizada, ideal para análisis donde se priorice la simplicidad. Por otro lado, el método de Elbow y Majority Rule, con 3 conglomerados, ofrece una segmentación más precisa y detallada, útil para identificar subgrupos dentro de los datos. Ambos enfoques son válidos y complementarios, dependiendo de los objetivos del análisis.
fviz_nbclust(data_, kmeans, method = "wss") + geom_vline(xintercept = 3, linetype = 2)
fviz_nbclust(data_, kmeans, method = "silhouette")
fviz_nbclust(data_, kmeans, method = "gap_stat")
suppressWarnings(NbClust(data = data_, diss = NULL, distance = "euclidean", min.nc = 2, max.nc = 10, method = "kmeans")$Best.nc)
## *** : The Hubert index is a graphical method of determining the number of clusters.
## In the plot of Hubert index, we seek a significant knee that corresponds to a
## significant increase of the value of the measure i.e the significant peak in Hubert
## index second differences plot.
##
## *** : The D index is a graphical method of determining the number of clusters.
## In the plot of D index, we seek a significant knee (the significant peak in Dindex
## second differences plot) that corresponds to a significant increase of the value of
## the measure.
##
## *******************************************************************
## * Among all indices:
## * 4 proposed 2 as the best number of clusters
## * 5 proposed 3 as the best number of clusters
## * 3 proposed 4 as the best number of clusters
## * 2 proposed 5 as the best number of clusters
## * 5 proposed 9 as the best number of clusters
## * 4 proposed 10 as the best number of clusters
##
## ***** Conclusion *****
##
## * According to the majority rule, the best number of clusters is 3
##
##
## *******************************************************************
## KL CH Hartigan CCC Scott Marriot TrCovW TraceW
## Number_clusters 9.0000 4.0000 4.000 2.0000 9.000 3 3 3.0000
## Value_Index 4.2217 7.6654 2.395 16.0482 92.351 0 0 0.0047
## Friedman Rubin Cindex DB Silhouette Duda PseudoT2
## Number_clusters 1.000000e+01 9.0000 9.0000 10.0000 10.0000 2.000 2.0000
## Value_Index 3.978081e+15 -605.5786 0.0144 0.4564 0.6319 0.414 7.0775
## Beale Ratkowsky Ball PtBiserial Frey McClain Dunn Hubert
## Number_clusters 4.0000 3.0000 3.0000 5.0000 1 2.0000 9.0000 0
## Value_Index -1.1482 0.3774 0.0104 0.5763 NA 0.8778 0.7828 0
## SDindex Dindex SDbw
## Number_clusters 5.000 0 10.0000
## Value_Index 42.748 0 0.0488
set.seed(121124)
print(kmeans(data_, 3, nstart = 25))
## K-means clustering with 3 clusters of sizes 4, 7, 3
##
## Cluster means:
## age_S01 restingBP_S01 serumcholestrol_S01 maxheartrate_S01 oldpeak_S01
## 1 0.4715443 0.5698073 0.4730522 0.5641428 0.4026481
## 2 0.5206406 0.5288095 0.4776657 0.5581209 0.4483643
## 3 0.4329289 0.5151036 0.4578485 0.5808817 0.4506451
##
## Clustering vector:
## AIIMS (All India Institute of Medical Sciences), Nueva Delhi
## 2
## Apollo Hospitals, Chennai
## 2
## Fortis Memorial Research Institute, Gurugram
## 1
## Medanta - The Medicity, Gurugram
## 1
## Narayana Health, Bangalore
## 3
## Kokilaben Dhirubhai Ambani Hospital, Mumbai
## 1
## Manipal Hospitals, Bangalore
## 1
## Max Super Speciality Hospital, Nueva Delhi
## 3
## Lilavati Hospital and Research Centre, Mumbai
## 2
## Tata Memorial Hospital, Mumbai
## 2
## Sir Ganga Ram Hospital, Nueva Delhi
## 3
## Christian Medical College (CMC), Vellore
## 2
## BLK Super Speciality Hospital, Nueva Delhi
## 2
## Rajiv Gandhi Cancer Institute and Research Centre, Nueva Delh
## 2
##
## Within cluster sum of squares by cluster:
## [1] 0.003658810 0.016188438 0.005180463
## (between_SS / total_SS = 56.1 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
set.seed(121124)
print(kmeans(data_, 4, nstart = 25))
## K-means clustering with 4 clusters of sizes 4, 5, 3, 2
##
## Cluster means:
## age_S01 restingBP_S01 serumcholestrol_S01 maxheartrate_S01 oldpeak_S01
## 1 0.4715443 0.5698073 0.4730522 0.5641428 0.4026481
## 2 0.5049679 0.5409501 0.4757966 0.5580050 0.4552376
## 3 0.4329289 0.5151036 0.4578485 0.5808817 0.4506451
## 4 0.5598224 0.4984581 0.4823384 0.5584105 0.4311812
##
## Clustering vector:
## AIIMS (All India Institute of Medical Sciences), Nueva Delhi
## 2
## Apollo Hospitals, Chennai
## 4
## Fortis Memorial Research Institute, Gurugram
## 1
## Medanta - The Medicity, Gurugram
## 1
## Narayana Health, Bangalore
## 3
## Kokilaben Dhirubhai Ambani Hospital, Mumbai
## 1
## Manipal Hospitals, Bangalore
## 1
## Max Super Speciality Hospital, Nueva Delhi
## 3
## Lilavati Hospital and Research Centre, Mumbai
## 2
## Tata Memorial Hospital, Mumbai
## 4
## Sir Ganga Ram Hospital, Nueva Delhi
## 3
## Christian Medical College (CMC), Vellore
## 2
## BLK Super Speciality Hospital, Nueva Delhi
## 2
## Rajiv Gandhi Cancer Institute and Research Centre, Nueva Delh
## 2
##
## Within cluster sum of squares by cluster:
## [1] 0.003658810 0.007190082 0.005180463 0.001232287
## (between_SS / total_SS = 69.7 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
fviz_cluster(kmeans(data_, 3, nstart = 25), data = data_, palette = c("#2E9FDF", "#00AFBB", "#E7B800", "#E7B801"), ellipse.type = "euclid", star.plot = TRUE, repel = TRUE, ggtheme = theme_minimal()
)
## Too few points to calculate an ellipse
Este estudio tiene como propósito establecer la relación entre dos o más variables mediante la obtención de información sobre una de ellas, basada en el conocimiento de los valores de las otras. Las relaciones establecidas son de carácter no determinístico, es decir, se plantearán relaciones probabilísticas y se implementarán procedimientos para realizar inferencias sobre los modelos utilizados. Además, se obtendrán medidas cuantitativas que indiquen el grado de relación entre las variables. Los modelos considerados en este trabajo corresponden a casos específicos del modelo lineal generalizado: Regresión Lineal Simple, Regresión Lineal Múltiple y Regresión Logística. Cada modelo será descrito teóricamente en su respectiva sección, y se aplicará a un conjunto de datos específico descrito en la sección 2.
La estructura y referencias principales se basan en el Estudio de Análisis Multivariado del profesor (Libreros, 2023). Además, se utilizaron libros como Probabilidad y estadística para ingeniería industrial de (Devore, Jay L., 2008), Análisis estadístico de datos multivariados de (Díaz Morales & Morales Rivera, 2012), y Análisis multivariante aplicado con R de (Aldás & Uriel, 2017), que proporcionaron fundamentos clave para este análisis.
Para fines de visualización, se creó un apartado específico para el diccionario de variables. Asimismo, se aclara que se puede consultar el diccionario de variables extendido en la sección 1.2:
| Variable | Tipo | Descripción |
|---|---|---|
| Patient Identification Number | Cuantitativa::Nominal | Código único numérico asignado a cada paciente para identificarlo en el sistema. |
| Age | Cuantitativa::Razón | Edad del paciente en años. |
| Gender | Cualitativa::Nominal | Género del paciente, codificado como 0 para femenino y 1 para masculino. |
| Chest pain type | Cualitativa::Nominal | Tipo de dolor en el pecho (angina): 0 - angina típica, 1 - angina atípica, 2 - dolor no anginoso, 3 - asintomático. |
| Resting blood pressure | Cuantitativa::Razón | Presión arterial en reposo, medida en mm Hg (rango: 94-200 mm Hg). |
| Serum cholesterol | Cuantitativa::Razón | Colesterol en el suero del paciente, expresado en mg/dl (rango: 126-564 mg/dl). |
| Fasting blood sugar | Cualitativa::Nominal | Nivel de azúcar en sangre en ayunas: 0 (≤120 mg/dl) o 1 (>120 mg/dl). |
| Resting electrocardiogram results | Cualitativa::Nominal | Resultados del ECG en reposo: 0 - normal, 1 - anomalías ST-T, 2 - hipertrofia ventricular izquierda. |
| Maximum heart rate achieved | Cuantitativa::Razón | Máximo número de latidos por minuto alcanzado durante ejercicio (rango: 71-202 bpm). |
| Exercise induced angina | Cualitativa::Nominal | Indica si el paciente presenta angina inducida por ejercicio: 0 (no), 1 (sí). |
| Oldpeak = ST | Cuantitativa::Razón | Descenso del segmento ST en mm durante la prueba de esfuerzo (rango: 0-6.2 mm). |
| Slope of the peak exercise ST segment | Cualitativa::Nominal | Pendiente del segmento ST durante la prueba de esfuerzo: 1 (ascendente), 2 (plano), 3 (descendente). |
| Number of major vessels | Cuantitativa::Razón | Cantidad de vasos principales (0-3) con obstrucción en el sistema cardiovascular. |
| Classification | Cualitativa::Nominal | Presencia de enfermedad cardíaca: 0 (ausencia), 1 (presencia). |
El análisis de regresión es una herramienta estadística empleada para identificar y evaluar las relaciones entre distintas variables. Este método permite explorar cómo una variable dependiente o de respuesta se ve afectada por los cambios en una o más variables independientes o predictoras, utilizando diversas técnicas de modelado y análisis. En este documento se abordarán los modelos de regresión lineal (en sus versiones simple y múltiple) y el modelo logístico, ambos considerados como casos específicos del modelo de regresión lineal generalizado.
Este modelo, que a partir de ahora se denominará como RLS, está compuesto por dos variables: una predictora y otra respuesta. Específicamente, la variable \(Y\) se considera influida por la variable predictora \(x\). La relación entre estas variables está descrita por la ecuación: \[Y = \beta_0 + \beta_1x + \varepsilon\] Donde: - \(Y\): Es la variable dependiente (la que se desea predecir o explicar). - \(x\): Es la variable independiente (predictora). - \((\beta_0)\): Es el intercepto (valor de \(Y\) cuando \((x = 0)\). - \((\beta_1)\): Es la pendiente (indica cuánto cambia \(Y\) por cada unidad que cambia \((x)\). - \((\epsilon)\): Es el término de error, que captura las desviaciones entre los valores observados y los valores predichos por el modelo.
La relación entre la variable independiente y la variable dependiente en el modelo de regresión lineal simple debe cumplir ciertas suposiciones clave para que los resultados sean válidos. Estas son las siguientes: 1. La relación entre la variable independiente \(x\) y la variable dependiente \(Y\) debe ser lineal. 2. El término de error \(ε\) sigue una distribución normal y tiene una media igual a cero. 3. Las observaciones deben ser independientes entre sí, es decir, el valor de \(Y\) para un dato no influye en los valores de \(Y\) para otros datos. 4. La varianza del término de error \(ε\) debe ser constante para todos los valores de la variable independiente \(x\), una condición conocida como homocedasticidad. La varianza de \(\varepsilon\) es constante para todos los valores de \(x\).
Para estimar los parámetros desconocidos (\(\beta_0\), \(\beta_1\) y \(\sigma^2\)), se usa el método de mínimos cuadrados, que busca minimizar la suma de los cuadrados de las desviaciones verticales entre los puntos observados y la línea de regresión:\[SCE = \sum_{i=1}^n \left(y_i - (\beta_0 + \beta_1x_i)\right)^2\]. Resolviendo este problema, las estimaciones de los parámetros son: \[\hat{\beta}_1 = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^n (x_i - \bar{x})^2}, \quad \hat{\beta}_0 = \bar{y} - \hat{\beta}_1 \bar{x}.\] Aquí, \(\bar{x}\) y \(\bar{y}\) son las medias muestrales de \(x\) e \(y\), respectivamente.
El coeficiente de determinación indica la proporción de la variabilidad de \(Y\) que puede explicarse mediante el modelo de regresión lineal simple:\[R^2 = 1 - \frac{SCE}{STC},\] donde \(SCE\) es la suma de cuadrados del error y \(STC\) es la suma total de cuadrados. Un valor de \(R^2\) cercano a 1 indica que el modelo explica gran parte de la variabilidad observada en los datos.
Se pueden formular pruebas para determinar si los coeficientes del modelo son significativamente diferentes de cero. Las hipótesis nulas comunes son: - Para \(\beta_0\): \(H_0: \beta_0 = \beta_{00}\). - Para \(\beta_1\): \(H_0: \beta_1 = 0\) (prueba de utilidad del modelo).
El estadístico de prueba asociado es:\[ t = \frac{\hat{\beta}_1 - 0}{SE(\hat{\beta}_1)},\] donde \(SE(\hat{\beta}_1)\) es el error estándar de \(\hat{\beta}_1\) Este estadístico sigue una distribución \(t\) de Student con \(n-2\) grados de libertad.
Los intervalos de confianza para los parámetros estimados se calculan como: \[\hat{\beta}_1 \pm t_{\alpha/2, n-2} \cdot SE(\hat{\beta}_1).\] Estos intervalos brindan un rango probable para los verdaderos valores de \(\beta_0\) y \(\beta_1\).
El modelo de regresión lineal simple es una herramienta poderosa para analizar relaciones lineales. Sin embargo, debe usarse con cautela: no extrapole más allá del rango de los datos y asegúrese de que las suposiciones del modelo sean razonables para los datos. Al comprender la variabilidad explicada y no explicada por el modelo, los analistas pueden tomar decisiones fundamentadas y evaluar la utilidad del modelo en contextos específicos.
En el modelo, los puntos observados se distribuyen aleatoriamente alrededor de la línea de regresión verdadera. Para ajustarse a estos puntos, la estimación \(y = beta_0 + beta_1 x\) debe ser una línea que minimice las distancias verticales desviaciones entre los puntos observados y la línea. La calidad del ajuste se evalúa mediante la suma de los cuadrados de estas desviaciones, siendo la mejor línea aquella que minimice esta suma. Este enfoque, conocido como el principio de los mínimos cuadrados, fue desarrollado por Carl Friedrich Gauss y Adrien-Marie Legendre.
Por último, se entiende que en un modelo de regresión lineal simple un valor futuro de \(Y\) no es parámetro sino una variable aleatoria, por lo que se debe hacer referencia a un intervalo de valores factibles para un valor futuro de \(Y\), al cual se le llama intervalo de predicción. Según,(Libreros, 2023).
En este caso, con base en el conjunto de datos descrito en la sección 2 y los análisis previos , analizaremos cómo la variable maxheartrate (máxima frecuencia cardíaca alcanzada) se ve influenciada por la variable independiente serumcholesterol (nivel de colesterol sérico). Este análisis es útil para comprender si existe una relación lineal entre el nivel de colesterol en sangre y la capacidad máxima del corazón para responder al ejercicio o estrés. La regresión lineal simple permite identificar la fuerza y dirección de esta relación, así como predecir valores de la frecuencia cardíaca máxima a partir de los niveles de colesterol sérico, proporcionando una herramienta importante en el análisis de datos médicos y de salud.
La variable Max Heart Rate muestra un pequeño sesgo hacia la izquierda (cola izquierda), indicando que una proporción ligera de los valores está concentrada hacia el límite superior del rango. El rango intercuartílico es amplio, lo que sugiere una mayor dispersión en los datos de la frecuencia cardíaca máxima. Sin embargo, no se observan datos atípicos (outliers), lo que señala una consistencia razonable en los valores medidos dentro de la población. Por otro lado, la variable Serum Cholesterol presenta una distribución casi simétrica, con un rango intercuartílico amplio, reflejando una dispersión notable en los valores de colesterol sérico. La mediana se encuentra bien centrada dentro del rango intercuartílico, lo que indica un equilibrio en la distribución de los datos. Además, no se identifican datos atípicos, lo cual refuerza la homogeneidad de los valores registrados.
El diagrama de dispersión presentado muestra la relación entre dos variables: Serum Cholesterol (eje X) y Max Heart Rate (eje Y). A simple vista, no se evidencia una tendencia clara de correlación positiva o negativa entre estas variables, lo que sugiere una relación débil o inexistente en el conjunto de datos analizado. La distribución de los puntos es amplia y dispersa, lo que indica una gran variabilidad en ambas variables. Los niveles de colesterol sérico varían considerablemente para diferentes valores de frecuencia cardíaca máxima, lo que refuerza la idea de que estas variables no están directamente relacionadas.
Este comportamiento es consistente con las características multifactoriales de las afecciones cardiovasculares, donde múltiples factores independientes pueden influir en los valores de ambas métricas sin una conexión directa entre ellas.
Finalmente, El diagrama de dispersión múltiple presentado muestra las relaciones entre las variables cuantitativas del conjunto de datos: maxheartrate, serumcholesterol, oldpeak, restingBP, y age. A continuación, se describen los hallazgos más relevantes:
En general, el diagrama sugiere que muchas de estas variables no tienen correlaciones fuertes entre sí. Una excepción potencial es la ligera relación negativa entre maxheartrate y age, que podría investigarse más a fondo. Esto subraya la importancia de considerar factores adicionales o no cuantitativos al analizar afecciones cardiovasculares.
boxplot_maxheartrate <- function(data, variable, main_title = "Diagrama de caja Max Heart Rate", color = "orange", ylim = NULL) {
if (is.vector(data)) {
boxplot(data,
main = main_title,
col = color,
ylim = ylim)
} else {
boxplot(data[[variable]],
main = main_title,
col = color,
ylim = ylim)
}
}
summary(Cardiovascular_Disease_Dataset_Depurado$maxheartrate)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 71 118 145 145 175 202
boxplot_maxheartrate(
data = Cardiovascular_Disease_Dataset_Depurado,
variable = "maxheartrate",
main_title = "Diagrama de caja Max Heart Rate",
color = "orange",
ylim = c(70,200) )
boxplot_serumcholestrol <- function(data, variable, main_title = "Diagrama de caja colesterol Sérico", color = "blue", ylim = NULL) {
if (is.vector(data)) {
boxplot(data,
main = main_title,
col = color,
ylim = ylim)
} else {
boxplot(data[[variable]],
main = main_title,
col = color,
ylim = ylim)
}
}
summary(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 85.0 248.0 326.0 328.9 410.0 602.0
boxplot_serumcholestrol(
data = Cardiovascular_Disease_Dataset_Depurado,
variable = "serumcholestrol",
main_title = "Diagrama de caja Colesterol Sérico",
color = "blue",
ylim = c(70, 620) )
plot(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, Cardiovascular_Disease_Dataset_Depurado$maxheartrate, main = "Diagrama de Dispersión")
pairs(~maxheartrate + serumcholestrol + oldpeak + restingBP + age, data = Cardiovascular_Disease_Dataset_Depurado)
La navegación a través de las pestañas muestra los coeficientes del modelo de regresión lineal simple, su resumen estadístico y su tabla ANOVA. Las variables de interés son: Max Heart Rate (variable dependiente) y Serum Cholesterol (variable independiente).
Al considerar los resultados presentados en la pestaña de Coeficientes del Modelo RLS, se puede establecer que el modelo de regresión lineal simple que relaciona estas variables tiene la formulación:\(Max Heart Rate = 136.26 + 0.027 *Serum Cholesterol\)
El coeficiente del intercepto (136.26) indica el valor esperado de la frecuencia cardíaca máxima cuando el colesterol sérico es igual a cero. Sin embargo, esta interpretación no es válida en el contexto, ya que un nivel de colesterol sérico igual a cero no es fisiológicamente posible.(Como se aclaró en la Sección 1.2 donde se describe el conjunto de datos) Por otro lado, el coeficiente de Serum Cholesterol (0.027) implica que, por cada unidad adicional de colesterol sérico, la frecuencia cardíaca máxima aumenta en promedio en 0.027 unidades, asumiendo que todos los demás factores permanecen constantes. Este resultado aporta información relevante para analizar la relación entre estas dos variables dentro del contexto del modelo.
Complementariamente, en la pestaña Resumen Estadístico del Modelo RLS, se constata que, para cualquier nivel de significancia razonable, las evidencias respaldan la correlación positiva entre Max Heart Rate y Serum Cholesterol, dado que el coeficiente asociado a la variable independiente es positivo \((0.02661)\) y su \(p-valor\) \((0.0072)\) es menor al nivel de significancia del \(5\) \(%\).
Además, el coeficiente de determinación \((R2)\) del modelo es 0.0076, lo que indica que el \(0.76\) \(%\) de la variabilidad en Max Heart Rate es explicada por Serum Cholesterol. Aunque este valor es bajo, sugiere que la relación entre las variables, aunque estadísticamente significativa, es débil. Este hallazgo se refuerza al observar el valor del error estándar residual (34.36), que indica una dispersión considerable de los datos alrededor de la recta de regresión.
Esto también queda confirmado en la pestaña Tabla ANOVA, donde se observa que el modelo tiene un F-statistic de \(7.25\) con un p-valor asociado de 0.0072, indicando que el modelo es globalmente significativo, aunque su capacidad explicativa es limitada.
El valor bajo de R2 indica que el modelo, aunque estadísticamente significativo, tiene una capacidad predictiva limitada. Para mejorar el modelo, sería necesario incluir otras variables relevantes que puedan explicar mejor la variabilidad de Max Heart Rate. Por ejemplo, añadir factores como edad, peso corporal, o actividad física podría aumentar el valor de y mejorar la calidad del modelo.
modelo_RL_Simple = lm(Cardiovascular_Disease_Dataset_Depurado$maxheartrate~Cardiovascular_Disease_Dataset_Depurado$serumcholestrol)
coef(modelo_RL_Simple)
## (Intercept)
## 136.25735448
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## 0.02661219
summary(modelo_RL_Simple)
##
## Call:
## lm(formula = Cardiovascular_Disease_Dataset_Depurado$maxheartrate ~
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol)
##
## Residuals:
## Min 1Q Median 3Q Max
## -73.678 -27.037 0.318 30.206 62.203
##
## Coefficients:
## Estimate Std. Error
## (Intercept) 136.25735 3.43597
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.02661 0.00988
## t value Pr(>|t|)
## (Intercept) 39.656 <2e-16 ***
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 2.693 0.0072 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 34.36 on 945 degrees of freedom
## Multiple R-squared: 0.007618, Adjusted R-squared: 0.006568
## F-statistic: 7.254 on 1 and 945 DF, p-value: 0.007198
anova(modelo_RL_Simple)
## Analysis of Variance Table
##
## Response: Cardiovascular_Disease_Dataset_Depurado$maxheartrate
## Df Sum Sq Mean Sq
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 1 8566 8565.9
## Residuals 945 1115829 1180.8
## F value Pr(>F)
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 7.2545 0.007198 **
## Residuals
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
La navegación a través de las pestañas muestra el intervalo de confianza para \(β1\) y para la predicción del modelo de regresión lineal simple, ambos al \(95\) \(%\). Se menciona que las variables de interés son: Max Heart Rate (variable dependiente) y Serum Cholesterol (variable independiente).
El análisis del modelo RLS muestra que es significativo y aporta información relevante para estimar Max Heart Rate a partir de Serum Cholesterol. Esto se evidencia porque el intervalo de confianza para el coeficiente de Serum Cholesterol excluye al cero:\(0.0072<β1<0.0460\) Esto confirma que existe una relación positiva y estadísticamente significativa entre estas variables en el modelo.
Por último, en la pestaña Predicciones y sus Intervalos de Predicción se presentan los cálculos basados en el modelo, bajo intervalos de predicción al \(95\) \(%\), para las predicciones realizadas sobre el conjunto de datos.Los intervalos de predicción son considerablemente amplios, lo cual es común en modelos con bajo coeficiente de determinación (\(R2\)). Esto refleja una alta incertidumbre en las predicciones, causada por la variabilidad de los datos y la débil relación entre las variables. A diferencia de los intervalos de confianza, que solo consideran la precisión del modelo en estimar los coeficientes, los intervalos de predicción incorporan también la dispersión natural de los datos individuales alrededor de las predicciones. Por tanto, estos intervalos son más amplios y ofrecen una estimación conservadora de los posibles valores de Max Heart Rate.
confint(modelo_RL_Simple, level = 0.95)
## 2.5 %
## (Intercept) 1.295143e+02
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 7.221991e-03
## 97.5 %
## (Intercept) 143.00036181
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.04600238
predict(modelo_RL_Simple, data.frame(seq(1,947)), interval='prediction', level = 0.95)
## fit lwr upr
## 1 142.3515 74.85281 209.8503
## 2 140.0363 72.46811 207.6045
## 3 144.1079 76.63381 211.5821
## 4 142.6443 75.15133 210.1372
## 5 145.4386 77.96689 212.9102
## 6 145.7579 78.28476 213.2311
## 7 141.0742 73.54231 208.6060
## 8 150.3352 82.75276 217.9176
## 9 147.1417 79.65291 214.6306
## 10 139.8500 72.27441 207.4256
## 11 141.8193 74.30833 209.3303
## 12 145.6781 78.20537 213.1508
## 13 145.5716 78.09943 213.0438
## 14 142.8306 75.34094 210.3202
## 15 140.9677 73.43253 208.5029
## 16 143.4160 75.93510 210.8970
## 17 142.9902 75.50325 210.4772
## 18 146.8224 79.33852 214.3063
## 19 140.6218 73.07511 208.1684
## 20 142.1919 74.68970 209.6940
## 21 145.5450 78.07293 213.0171
## 22 145.6248 78.15241 213.0973
## 23 142.9902 75.50325 210.4772
## 24 148.9780 81.44510 216.5109
## 25 150.1223 82.54859 217.6960
## 26 140.9145 73.37760 208.4514
## 27 142.8572 75.36801 210.3463
## 28 147.0087 79.52201 214.4953
## 29 145.7579 78.28476 213.2311
## 30 138.5460 70.91090 206.1811
## 31 145.7579 78.28476 213.2311
## 32 142.4048 74.90714 209.9024
## 33 142.8306 75.34094 210.3202
## 34 142.8572 75.36801 210.3463
## 35 142.6709 75.17843 210.1633
## 36 150.7876 83.18544 218.3898
## 37 144.9329 77.46196 212.4039
## 38 146.3966 78.91808 213.8751
## 39 147.3546 79.86206 214.8472
## 40 148.8183 81.29031 216.3463
## 41 142.9636 75.47622 210.4510
## 42 144.1346 76.66061 211.6085
## 43 144.1346 76.66061 211.6085
## 44 142.8838 75.39507 210.3725
## 45 144.9063 77.43533 212.3773
## 46 139.8500 72.27441 207.4256
## 47 146.6095 79.12848 214.0905
## 48 150.5215 82.93112 218.1119
## 49 142.4048 74.90714 209.9024
## 50 142.8572 75.36801 210.3463
## 51 141.8725 74.36288 209.3822
## 52 141.5532 74.03525 209.0711
## 53 144.8265 77.35540 212.2976
## 54 141.7927 74.28105 209.3043
## 55 139.9298 72.35745 207.5022
## 56 147.7272 80.22721 215.2272
## 57 149.3239 81.77980 216.8681
## 58 142.7507 75.25971 210.2417
## 59 141.5532 74.03525 209.0711
## 60 145.8111 78.33766 213.2846
## 61 141.3935 73.87114 208.9159
## 62 143.2830 75.80030 210.7656
## 63 145.5982 78.12592 213.0705
## 64 145.7579 78.28476 213.2311
## 65 144.4805 77.00847 211.9526
## 66 140.9411 73.40507 208.4771
## 67 147.1684 79.67907 214.6576
## 68 144.9862 77.51521 212.4571
## 69 149.6699 82.11356 217.2262
## 70 151.1868 83.56589 218.8077
## 71 145.4386 77.96689 212.9102
## 72 138.5726 70.93886 206.2064
## 73 140.9677 73.43253 208.5029
## 74 147.7804 80.27929 215.2816
## 75 143.0967 75.61135 210.5820
## 76 145.4386 77.96689 212.9102
## 77 149.7763 82.21606 217.3366
## 78 139.7702 72.19131 207.3490
## 79 144.6668 77.19540 212.1382
## 80 146.6893 79.20729 214.1714
## 81 142.1386 74.63529 209.6420
## 82 149.0578 81.52243 216.5932
## 83 143.2031 75.71935 210.6869
## 84 144.2144 76.74097 211.6878
## 85 142.5378 75.04286 210.0328
## 86 145.1990 77.72796 212.6701
## 87 150.9207 83.31240 218.5289
## 88 144.3741 76.90154 211.8466
## 89 149.6167 82.06227 217.1711
## 90 139.7968 72.21901 207.3745
## 91 146.6361 79.15475 214.1175
## 92 148.6852 81.16117 216.2093
## 93 141.9257 74.41740 209.4341
## 94 145.3587 77.88730 212.8301
## 95 142.8838 75.39507 210.3725
## 96 146.0506 78.57543 213.5258
## 97 145.6781 78.20537 213.1508
## 98 141.6596 74.14455 209.1747
## 99 143.3894 75.90815 210.8707
## 100 143.8684 76.39237 211.3445
## 101 142.1653 74.66250 209.6680
## 102 145.9176 78.44339 213.3918
## 103 140.1427 72.57867 207.7068
## 104 138.5460 70.91090 206.1811
## 105 143.0967 75.61135 210.5820
## 106 148.6054 81.08361 216.1272
## 107 144.9063 77.43533 212.3773
## 108 148.8981 81.36773 216.4286
## 109 144.1346 76.66061 211.6085
## 110 142.3782 74.87998 209.8763
## 111 147.3280 79.83593 214.8201
## 112 145.1990 77.72796 212.6701
## 113 143.3894 75.90815 210.8707
## 114 147.7804 80.27929 215.2816
## 115 145.6515 78.17889 213.1240
## 116 143.4160 75.93510 210.8970
## 117 142.8572 75.36801 210.3463
## 118 139.9564 72.38513 207.5278
## 119 149.4304 81.88260 216.9782
## 120 148.4191 80.90246 215.9358
## 121 139.9032 72.32978 207.4767
## 122 139.7702 72.19131 207.3490
## 123 141.8991 74.39014 209.4081
## 124 150.0159 82.44638 217.5853
## 125 151.0005 83.38850 218.6125
## 126 144.4007 76.92828 211.8731
## 127 143.8951 76.41922 211.3709
## 128 150.5481 82.95658 218.1396
## 129 145.7579 78.28476 213.2311
## 130 145.1990 77.72796 212.6701
## 131 142.8572 75.36801 210.3463
## 132 150.9473 83.33777 218.5568
## 133 144.7200 77.24876 212.1913
## 134 149.5368 81.98530 217.0884
## 135 148.9780 81.44510 216.5109
## 136 143.4160 75.93510 210.8970
## 137 144.5071 77.03519 211.9791
## 138 146.9821 79.49581 214.4683
## 139 145.7579 78.28476 213.2311
## 140 142.6177 75.12422 210.1111
## 141 145.0394 77.56843 212.5103
## 142 149.6167 82.06227 217.1711
## 143 143.6555 76.17739 211.1337
## 144 141.0742 73.54231 208.6060
## 145 144.9595 77.48859 212.4305
## 146 140.0363 72.46811 207.6045
## 147 146.5030 79.02333 213.9828
## 148 141.8193 74.30833 209.3303
## 149 145.1192 77.64822 212.5902
## 150 147.2482 79.75753 214.7388
## 151 150.7610 83.16003 218.3620
## 152 146.6361 79.15475 214.1175
## 153 144.7200 77.24876 212.1913
## 154 140.6750 73.13016 208.2198
## 155 150.6279 83.03291 218.2230
## 156 148.0998 80.59127 215.6083
## 157 142.2451 74.74409 209.7461
## 158 150.9473 83.33777 218.5568
## 159 145.6781 78.20537 213.1508
## 160 142.6177 75.12422 210.1111
## 161 142.8572 75.36801 210.3463
## 162 141.0209 73.48743 208.5544
## 163 147.3812 79.88818 214.8743
## 164 149.5102 81.95963 217.0608
## 165 147.6208 80.12299 215.1185
## 166 146.3168 78.83909 213.7944
## 167 144.4273 76.95502 211.8996
## 168 141.8991 74.39014 209.4081
## 169 146.8490 79.36475 214.3333
## 170 147.2216 79.73138 214.7118
## 171 150.4683 82.88019 218.0563
## 172 143.7354 76.25805 211.2127
## 173 147.6474 80.14906 215.1457
## 174 145.6781 78.20537 213.1508
## 175 146.1571 78.68096 213.6332
## 176 144.2410 76.76774 211.7143
## 177 148.0199 80.51335 215.5265
## 178 150.8142 83.21084 218.4176
## 179 142.6177 75.12422 210.1111
## 180 152.2779 84.59942 219.9564
## 181 139.7702 72.19131 207.3490
## 182 143.2830 75.80030 210.7656
## 183 145.2257 77.75453 212.6968
## 184 149.5901 82.03662 217.1435
## 185 149.6433 82.08792 217.1986
## 186 143.6822 76.20428 211.1600
## 187 146.1837 78.70733 213.6601
## 188 142.9902 75.50325 210.4772
## 189 143.4693 75.98898 210.9495
## 190 145.8111 78.33766 213.2846
## 191 148.6586 81.13532 216.1819
## 192 140.6484 73.10264 208.1941
## 193 143.0168 75.53029 210.5034
## 194 149.9094 82.34407 217.4747
## 195 147.3014 79.80980 214.7930
## 196 145.3587 77.88730 212.8301
## 197 141.4733 73.95322 208.9935
## 198 143.3894 75.90815 210.8707
## 199 138.5726 70.93886 206.2064
## 200 148.9248 81.39353 216.4560
## 201 139.9032 72.32978 207.4767
## 202 146.7159 79.23354 214.1983
## 203 147.9401 80.43538 215.4448
## 204 144.7999 77.32875 212.2710
## 205 148.6320 81.10947 216.1546
## 206 144.9063 77.43533 212.3773
## 207 139.9564 72.38513 207.5278
## 208 141.6862 74.17186 209.2006
## 209 138.5460 70.91090 206.1811
## 210 145.6781 78.20537 213.1508
## 211 146.3168 78.83909 213.7944
## 212 140.0363 72.46811 207.6045
## 213 147.0885 79.60057 214.5765
## 214 150.7610 83.16003 218.3620
## 215 143.0967 75.61135 210.5820
## 216 145.4386 77.96689 212.9102
## 217 146.8224 79.33852 214.3063
## 218 144.9063 77.43533 212.3773
## 219 148.5256 81.00601 216.0451
## 220 146.7958 79.31228 214.2793
## 221 149.5102 81.95963 217.0608
## 222 144.2942 76.82128 211.7672
## 223 140.6218 73.07511 208.1684
## 224 147.8603 80.35736 215.3632
## 225 146.6095 79.12848 214.0905
## 226 146.9555 79.46961 214.4413
## 227 142.1120 74.60807 209.6160
## 228 143.7354 76.25805 211.2127
## 229 145.1192 77.64822 212.5902
## 230 142.1653 74.66250 209.6680
## 231 147.3014 79.80980 214.7930
## 232 145.3587 77.88730 212.8301
## 233 139.7968 72.21901 207.3745
## 234 147.5409 80.04477 215.0371
## 235 148.9780 81.44510 216.5109
## 236 143.6289 76.15049 211.1074
## 237 146.0506 78.57543 213.5258
## 238 144.1612 76.68740 211.6349
## 239 139.8500 72.27441 207.4256
## 240 140.6484 73.10264 208.1941
## 241 144.7200 77.24876 212.1913
## 242 145.6248 78.15241 213.0973
## 243 145.1990 77.72796 212.6701
## 244 146.3434 78.86543 213.8213
## 245 146.9022 79.41719 214.3873
## 246 143.9483 76.47290 211.4237
## 247 143.9483 76.47290 211.4237
## 248 146.1039 78.62821 213.5795
## 249 148.6054 81.08361 216.1272
## 250 144.1346 76.66061 211.6085
## 251 149.6965 82.13919 217.2538
## 252 145.7579 78.28476 213.2311
## 253 142.1386 74.63529 209.6420
## 254 143.4160 75.93510 210.8970
## 255 148.0199 80.51335 215.5265
## 256 143.1233 75.63836 210.6082
## 257 147.7804 80.27929 215.2816
## 258 139.9564 72.38513 207.5278
## 259 145.7579 78.28476 213.2311
## 260 143.1765 75.69236 210.6607
## 261 141.1540 73.62460 208.6834
## 262 140.8879 73.35013 208.4256
## 263 145.2789 77.80766 212.7501
## 264 141.0742 73.54231 208.6060
## 265 142.6177 75.12422 210.1111
## 266 145.3853 77.91383 212.8568
## 267 147.0087 79.52201 214.4953
## 268 145.6781 78.20537 213.1508
## 269 150.4683 82.88019 218.0563
## 270 148.7385 81.21284 216.2641
## 271 139.9298 72.35745 207.5022
## 272 150.6279 83.03291 218.2230
## 273 141.4201 73.89851 208.9417
## 274 139.8500 72.27441 207.4256
## 275 140.7548 73.21269 208.2969
## 276 145.1724 77.70139 212.6435
## 277 147.0353 79.54820 214.5224
## 278 140.6484 73.10264 208.1941
## 279 140.0363 72.46811 207.6045
## 280 140.8347 73.29517 208.3741
## 281 141.2072 73.67942 208.7350
## 282 143.1233 75.63836 210.6082
## 283 149.9626 82.39524 217.5300
## 284 149.2441 81.70265 216.7856
## 285 142.5644 75.06998 210.0589
## 286 145.3587 77.88730 212.8301
## 287 147.6474 80.14906 215.1457
## 288 150.8142 83.21084 218.4176
## 289 139.9564 72.38513 207.5278
## 290 149.5901 82.03662 217.1435
## 291 148.8183 81.29031 216.3463
## 292 147.1950 79.70523 214.6847
## 293 143.4959 76.01591 210.9758
## 294 142.5911 75.09710 210.0850
## 295 142.2451 74.74409 209.7461
## 296 140.1427 72.57867 207.7068
## 297 140.0363 72.46811 207.6045
## 298 142.9104 75.42212 210.3987
## 299 145.0926 77.62163 212.5636
## 300 139.8234 72.24671 207.4001
## 301 152.2779 84.59942 219.9564
## 302 143.0435 75.55731 210.5296
## 303 144.4273 76.95502 211.8996
## 304 151.1868 83.56589 218.8077
## 305 143.2830 75.80030 210.7656
## 306 140.7282 73.18518 208.2712
## 307 146.0240 78.54903 213.4990
## 308 139.9564 72.38513 207.5278
## 309 148.7651 81.23867 216.2915
## 310 145.3853 77.91383 212.8568
## 311 141.9257 74.41740 209.4341
## 312 149.4038 81.85690 216.9506
## 313 142.8572 75.36801 210.3463
## 314 143.6023 76.12358 211.0811
## 315 145.4386 77.96689 212.9102
## 316 141.1008 73.56975 208.6318
## 317 146.5297 79.04962 214.0097
## 318 145.7579 78.28476 213.2311
## 319 144.6668 77.19540 212.1382
## 320 147.4079 79.91429 214.9014
## 321 143.7620 76.28492 211.2391
## 322 150.5481 82.95658 218.1396
## 323 144.6668 77.19540 212.1382
## 324 143.6289 76.15049 211.1074
## 325 146.0240 78.54903 213.4990
## 326 147.7006 80.20116 215.2000
## 327 143.3362 75.85424 210.8182
## 328 149.0046 81.47088 216.5383
## 329 145.0660 77.59503 212.5369
## 330 148.2861 80.77289 215.7992
## 331 145.4918 78.01992 212.9636
## 332 149.3239 81.77980 216.8681
## 333 143.2564 75.77332 210.7394
## 334 147.0087 79.52201 214.4953
## 335 141.5000 73.98057 209.0193
## 336 145.4386 77.96689 212.9102
## 337 141.5532 74.03525 209.0711
## 338 145.6781 78.20537 213.1508
## 339 141.6596 74.14455 209.1747
## 340 144.3208 76.84804 211.7937
## 341 145.4386 77.96689 212.9102
## 342 145.3853 77.91383 212.8568
## 343 146.6361 79.15475 214.1175
## 344 148.5788 81.05775 216.0998
## 345 145.7313 78.25830 213.2043
## 346 149.2707 81.72837 216.8131
## 347 143.3894 75.90815 210.8707
## 348 148.0732 80.56530 215.5810
## 349 147.4345 79.94040 214.9285
## 350 147.7804 80.27929 215.2816
## 351 145.3321 77.86076 212.8035
## 352 147.7538 80.25325 215.2544
## 353 145.5450 78.07293 213.0171
## 354 144.1612 76.68740 211.6349
## 355 142.8572 75.36801 210.3463
## 356 141.4201 73.89851 208.9417
## 357 150.2554 82.67624 217.8345
## 358 144.7466 77.27543 212.2179
## 359 142.8838 75.39507 210.3725
## 360 142.8572 75.36801 210.3463
## 361 142.7773 75.28680 210.2679
## 362 145.1990 77.72796 212.6701
## 363 143.3894 75.90815 210.8707
## 364 147.0087 79.52201 214.4953
## 365 143.6822 76.20428 211.1600
## 366 141.3935 73.87114 208.9159
## 367 143.0967 75.61135 210.5820
## 368 147.7272 80.22721 215.2272
## 369 147.7538 80.25325 215.2544
## 370 141.8193 74.30833 209.3303
## 371 145.6248 78.15241 213.0973
## 372 143.3628 75.88120 210.8444
## 373 148.8981 81.36773 216.4286
## 374 145.4386 77.96689 212.9102
## 375 144.6668 77.19540 212.1382
## 376 145.7047 78.23183 213.1775
## 377 145.1990 77.72796 212.6701
## 378 141.9524 74.44466 209.4601
## 379 145.6515 78.17889 213.1240
## 380 142.5112 75.01572 210.0067
## 381 147.7804 80.27929 215.2816
## 382 148.6054 81.08361 216.1272
## 383 144.9063 77.43533 212.3773
## 384 145.2523 77.78110 212.7234
## 385 143.8951 76.41922 211.3709
## 386 146.9821 79.49581 214.4683
## 387 149.5102 81.95963 217.0608
## 388 145.6781 78.20537 213.1508
## 389 147.2748 79.78367 214.7659
## 390 150.7876 83.18544 218.3898
## 391 143.6555 76.17739 211.1337
## 392 141.8193 74.30833 209.3303
## 393 147.1151 79.62674 214.6035
## 394 147.8603 80.35736 215.3632
## 395 139.7968 72.21901 207.3745
## 396 140.0363 72.46811 207.6045
## 397 144.4273 76.95502 211.8996
## 398 150.5215 82.93112 218.1119
## 399 145.5184 78.04643 212.9904
## 400 148.7651 81.23867 216.2915
## 401 145.6781 78.20537 213.1508
## 402 145.1458 77.67481 212.6168
## 403 151.1336 83.51523 218.7519
## 404 141.8193 74.30833 209.3303
## 405 149.2175 81.67692 216.7581
## 406 143.0435 75.55731 210.5296
## 407 143.4160 75.93510 210.8970
## 408 139.9032 72.32978 207.4767
## 409 150.7876 83.18544 218.3898
## 410 141.8991 74.39014 209.4081
## 411 147.0087 79.52201 214.4953
## 412 143.4959 76.01591 210.9758
## 413 143.3362 75.85424 210.8182
## 414 146.0240 78.54903 213.4990
## 415 144.4539 76.98175 211.9261
## 416 149.4836 81.93396 217.0333
## 417 141.9524 74.44466 209.4601
## 418 140.1427 72.57867 207.7068
## 419 141.1274 73.59717 208.6576
## 420 152.2513 84.57433 219.9282
## 421 143.6289 76.15049 211.1074
## 422 142.7241 75.23263 210.2156
## 423 149.5368 81.98530 217.0884
## 424 145.7845 78.31121 213.2578
## 425 145.1192 77.64822 212.5902
## 426 139.7702 72.19131 207.3490
## 427 146.5030 79.02333 213.9828
## 428 144.9595 77.48859 212.4305
## 429 143.4426 75.96204 210.9232
## 430 144.0281 76.55338 211.5028
## 431 142.8040 75.31387 210.2940
## 432 150.4949 82.90566 218.0841
## 433 145.1990 77.72796 212.6701
## 434 143.3894 75.90815 210.8707
## 435 145.7313 78.25830 213.2043
## 436 139.9564 72.38513 207.5278
## 437 144.6668 77.19540 212.1382
## 438 147.1417 79.65291 214.6306
## 439 140.6218 73.07511 208.1684
## 440 148.1264 80.61724 215.6355
## 441 149.3505 81.80551 216.8956
## 442 148.4191 80.90246 215.9358
## 443 145.8644 78.39053 213.3382
## 444 145.6781 78.20537 213.1508
## 445 144.9063 77.43533 212.3773
## 446 142.8572 75.36801 210.3463
## 447 150.0159 82.44638 217.5853
## 448 141.0475 73.51488 208.5802
## 449 148.6320 81.10947 216.1546
## 450 143.0168 75.53029 210.5034
## 451 143.5757 76.09667 211.0547
## 452 142.8306 75.34094 210.3202
## 453 146.5297 79.04962 214.0097
## 454 142.8838 75.39507 210.3725
## 455 142.8572 75.36801 210.3463
## 456 146.8224 79.33852 214.3063
## 457 147.9135 80.40938 215.4176
## 458 143.3894 75.90815 210.8707
## 459 145.6781 78.20537 213.1508
## 460 139.8234 72.24671 207.4001
## 461 141.7927 74.28105 209.3043
## 462 139.8234 72.24671 207.4001
## 463 147.1684 79.67907 214.6576
## 464 142.3782 74.87998 209.8763
## 465 141.6596 74.14455 209.1747
## 466 143.0967 75.61135 210.5820
## 467 141.7129 74.19917 209.2265
## 468 141.6064 74.08991 209.1229
## 469 145.6781 78.20537 213.1508
## 470 147.8603 80.35736 215.3632
## 471 148.1796 80.66914 215.6901
## 472 140.6484 73.10264 208.1941
## 473 139.9032 72.32978 207.4767
## 474 146.0506 78.57543 213.5258
## 475 149.4038 81.85690 216.9506
## 476 147.7538 80.25325 215.2544
## 477 141.4201 73.89851 208.9417
## 478 143.0967 75.61135 210.5820
## 479 150.1489 82.57413 217.7237
## 480 143.2830 75.80030 210.7656
## 481 150.6013 83.00747 218.1952
## 482 144.5870 77.11532 212.0586
## 483 143.7354 76.25805 211.2127
## 484 143.3894 75.90815 210.8707
## 485 150.4949 82.90566 218.0841
## 486 149.2175 81.67692 216.7581
## 487 144.9862 77.51521 212.4571
## 488 145.1990 77.72796 212.6701
## 489 147.4611 79.96650 214.9557
## 490 141.5266 74.00791 209.0452
## 491 143.3894 75.90815 210.8707
## 492 142.1120 74.60807 209.6160
## 493 141.6064 74.08991 209.1229
## 494 145.4652 77.99341 212.9369
## 495 146.2635 78.78641 213.7407
## 496 139.9032 72.32978 207.4767
## 497 143.5491 76.06976 211.0284
## 498 146.1305 78.65459 213.6064
## 499 144.7200 77.24876 212.1913
## 500 149.5901 82.03662 217.1435
## 501 144.1346 76.66061 211.6085
## 502 147.1684 79.67907 214.6576
## 503 150.1223 82.54859 217.6960
## 504 144.1346 76.66061 211.6085
## 505 150.7344 83.13462 218.3341
## 506 143.3894 75.90815 210.8707
## 507 143.3894 75.90815 210.8707
## 508 141.8725 74.36288 209.3822
## 509 147.2216 79.73138 214.7118
## 510 145.2523 77.78110 212.7234
## 511 147.7804 80.27929 215.2816
## 512 146.0506 78.57543 213.5258
## 513 141.0475 73.51488 208.5802
## 514 143.7088 76.23117 211.1864
## 515 142.5644 75.06998 210.0589
## 516 144.6668 77.19540 212.1382
## 517 145.6248 78.15241 213.0973
## 518 144.8265 77.35540 212.2976
## 519 151.1602 83.54056 218.7798
## 520 139.7968 72.21901 207.3745
## 521 140.9677 73.43253 208.5029
## 522 146.8224 79.33852 214.3063
## 523 150.0957 82.52305 217.6683
## 524 143.2297 75.74634 210.7132
## 525 144.1346 76.66061 211.6085
## 526 143.1233 75.63836 210.6082
## 527 142.6975 75.20553 210.1895
## 528 143.8684 76.39237 211.3445
## 529 143.5491 76.06976 211.0284
## 530 142.2451 74.74409 209.7461
## 531 149.4304 81.88260 216.9782
## 532 145.7313 78.25830 213.2043
## 533 144.2676 76.79451 211.7407
## 534 144.0015 76.52656 211.4764
## 535 145.6248 78.15241 213.0973
## 536 141.3935 73.87114 208.9159
## 537 146.2635 78.78641 213.7407
## 538 145.9974 78.52263 213.4722
## 539 140.9943 73.45998 208.5287
## 540 143.3894 75.90815 210.8707
## 541 143.3894 75.90815 210.8707
## 542 144.1878 76.71419 211.6614
## 543 143.7354 76.25805 211.2127
## 544 144.2144 76.74097 211.6878
## 545 147.6740 80.17511 215.1729
## 546 141.6596 74.14455 209.1747
## 547 147.8337 80.33134 215.3360
## 548 142.8040 75.31387 210.2940
## 549 150.9739 83.36314 218.5846
## 550 146.1571 78.68096 213.6332
## 551 146.9288 79.44341 214.4143
## 552 141.8725 74.36288 209.3822
## 553 148.5256 81.00601 216.0451
## 554 139.7702 72.19131 207.3490
## 555 145.1458 77.67481 212.6168
## 556 143.8152 76.33866 211.2918
## 557 144.5870 77.11532 212.0586
## 558 146.6095 79.12848 214.0905
## 559 146.4498 78.97072 213.9289
## 560 150.7876 83.18544 218.3898
## 561 149.2441 81.70265 216.7856
## 562 144.8797 77.40869 212.3507
## 563 148.5256 81.00601 216.0451
## 564 149.8828 82.31848 217.4471
## 565 142.4846 74.98859 209.9806
## 566 145.6248 78.15241 213.0973
## 567 145.7313 78.25830 213.2043
## 568 143.1765 75.69236 210.6607
## 569 139.8766 72.30209 207.4511
## 570 142.8306 75.34094 210.3202
## 571 150.1755 82.59967 217.7514
## 572 145.5716 78.09943 213.0438
## 573 145.6781 78.20537 213.1508
## 574 142.2717 74.77128 209.7721
## 575 145.3321 77.86076 212.8035
## 576 147.0087 79.52201 214.4953
## 577 142.6709 75.17843 210.1633
## 578 148.5256 81.00601 216.0451
## 579 142.1919 74.68970 209.6940
## 580 147.0619 79.57439 214.5494
## 581 143.1233 75.63836 210.6082
## 582 148.3925 80.87656 215.9085
## 583 149.1377 81.59970 216.6756
## 584 148.4990 80.98013 216.0178
## 585 142.6177 75.12422 210.1111
## 586 151.1336 83.51523 218.7519
## 587 142.4048 74.90714 209.9024
## 588 144.0015 76.52656 211.4764
## 589 147.3812 79.88818 214.8743
## 590 141.7661 74.25376 209.2784
## 591 139.8500 72.27441 207.4256
## 592 141.4201 73.89851 208.9417
## 593 147.9667 80.46138 215.4721
## 594 144.5870 77.11532 212.0586
## 595 147.7538 80.25325 215.2544
## 596 144.4007 76.92828 211.8731
## 597 149.1110 81.57394 216.6481
## 598 145.6781 78.20537 213.1508
## 599 141.9790 74.47191 209.4860
## 600 139.7702 72.19131 207.3490
## 601 145.6781 78.20537 213.1508
## 602 141.9790 74.47191 209.4860
## 603 144.6668 77.19540 212.1382
## 604 141.9257 74.41740 209.4341
## 605 147.7006 80.20116 215.2000
## 606 146.0240 78.54903 213.4990
## 607 146.9022 79.41719 214.3873
## 608 142.6975 75.20553 210.1895
## 609 145.4386 77.96689 212.9102
## 610 143.0967 75.61135 210.5820
## 611 142.8306 75.34094 210.3202
## 612 149.1909 81.65118 216.7306
## 613 141.0209 73.48743 208.5544
## 614 138.5194 70.88293 206.1558
## 615 146.6095 79.12848 214.0905
## 616 146.3966 78.91808 213.8751
## 617 144.4007 76.92828 211.8731
## 618 144.2144 76.74097 211.6878
## 619 141.5798 74.06259 209.0970
## 620 144.8531 77.38205 212.3241
## 621 142.4846 74.98859 209.9806
## 622 142.8306 75.34094 210.3202
## 623 144.1079 76.63381 211.5821
## 624 141.5266 74.00791 209.0452
## 625 145.3321 77.86076 212.8035
## 626 145.0128 77.54182 212.4837
## 627 149.6699 82.11356 217.2262
## 628 139.9564 72.38513 207.5278
## 629 143.8951 76.41922 211.3709
## 630 149.6965 82.13919 217.2538
## 631 146.0240 78.54903 213.4990
## 632 143.5757 76.09667 211.0547
## 633 146.5829 79.10220 214.0636
## 634 142.4048 74.90714 209.9024
## 635 143.3096 75.82727 210.7919
## 636 143.6023 76.12358 211.0811
## 637 146.9821 79.49581 214.4683
## 638 150.3618 82.77826 217.9454
## 639 145.7579 78.28476 213.2311
## 640 145.5716 78.09943 213.0438
## 641 150.7610 83.16003 218.3620
## 642 139.7968 72.21901 207.3745
## 643 143.0967 75.61135 210.5820
## 644 142.5911 75.09710 210.0850
## 645 151.1336 83.51523 218.7519
## 646 142.8040 75.31387 210.2940
## 647 145.4652 77.99341 212.9369
## 648 150.0159 82.44638 217.5853
## 649 144.6668 77.19540 212.1382
## 650 145.1990 77.72796 212.6701
## 651 148.9514 81.41932 216.4834
## 652 148.4191 80.90246 215.9358
## 653 142.4580 74.96144 209.9545
## 654 143.4426 75.96204 210.9232
## 655 150.9473 83.33777 218.5568
## 656 144.6136 77.14202 212.0851
## 657 143.8152 76.33866 211.2918
## 658 149.1909 81.65118 216.7306
## 659 144.3208 76.84804 211.7937
## 660 146.6893 79.20729 214.1714
## 661 143.3894 75.90815 210.8707
## 662 140.7548 73.21269 208.2969
## 663 149.2707 81.72837 216.8131
## 664 147.6208 80.12299 215.1185
## 665 146.0506 78.57543 213.5258
## 666 145.1458 77.67481 212.6168
## 667 147.9667 80.46138 215.4721
## 668 144.8797 77.40869 212.3507
## 669 140.7282 73.18518 208.2712
## 670 148.7385 81.21284 216.2641
## 671 145.3587 77.88730 212.8301
## 672 145.1990 77.72796 212.6701
## 673 143.4959 76.01591 210.9758
## 674 142.8572 75.36801 210.3463
## 675 146.7159 79.23354 214.1983
## 676 148.2861 80.77289 215.7992
## 677 147.7804 80.27929 215.2816
## 678 141.4201 73.89851 208.9417
## 679 139.9564 72.38513 207.5278
## 680 150.0691 82.49750 217.6407
## 681 147.8869 80.38337 215.3904
## 682 148.3659 80.85065 215.8811
## 683 144.9063 77.43533 212.3773
## 684 143.3894 75.90815 210.8707
## 685 144.6668 77.19540 212.1382
## 686 142.4846 74.98859 209.9806
## 687 145.2789 77.80766 212.7501
## 688 142.4846 74.98859 209.9806
## 689 144.1346 76.66061 211.6085
## 690 145.6781 78.20537 213.1508
## 691 146.0240 78.54903 213.4990
## 692 146.2369 78.76005 213.7138
## 693 140.7814 73.24019 208.3227
## 694 149.3239 81.77980 216.8681
## 695 145.1458 77.67481 212.6168
## 696 143.2031 75.71935 210.6869
## 697 139.9298 72.35745 207.5022
## 698 147.7538 80.25325 215.2544
## 699 145.4386 77.96689 212.9102
## 700 147.1950 79.70523 214.6847
## 701 148.7917 81.26449 216.3189
## 702 144.8265 77.35540 212.2976
## 703 148.2861 80.77289 215.7992
## 704 150.4150 82.82923 218.0008
## 705 143.2031 75.71935 210.6869
## 706 141.9257 74.41740 209.4341
## 707 147.7272 80.22721 215.2272
## 708 143.5225 76.04284 211.0021
## 709 148.6054 81.08361 216.1272
## 710 139.8500 72.27441 207.4256
## 711 142.9636 75.47622 210.4510
## 712 143.4160 75.93510 210.8970
## 713 140.0363 72.46811 207.6045
## 714 144.5337 77.06191 212.0056
## 715 139.9032 72.32978 207.4767
## 716 148.4723 80.95424 215.9905
## 717 145.7313 78.25830 213.2043
## 718 150.9739 83.36314 218.5846
## 719 144.1878 76.71419 211.6614
## 720 142.8306 75.34094 210.3202
## 721 145.7313 78.25830 213.2043
## 722 152.2513 84.57433 219.9282
## 723 143.6822 76.20428 211.1600
## 724 144.9862 77.51521 212.4571
## 725 145.7579 78.28476 213.2311
## 726 141.2338 73.70683 208.7608
## 727 142.8572 75.36801 210.3463
## 728 143.1233 75.63836 210.6082
## 729 140.8879 73.35013 208.4256
## 730 147.0619 79.57439 214.5494
## 731 142.8572 75.36801 210.3463
## 732 146.2901 78.81275 213.7675
## 733 146.2369 78.76005 213.7138
## 734 151.0537 83.43921 218.6682
## 735 138.5460 70.91090 206.1811
## 736 145.5450 78.07293 213.0171
## 737 144.9063 77.43533 212.3773
## 738 143.6822 76.20428 211.1600
## 739 139.8766 72.30209 207.4511
## 740 145.5716 78.09943 213.0438
## 741 144.3475 76.87479 211.8201
## 742 145.5184 78.04643 212.9904
## 743 142.3782 74.87998 209.8763
## 744 143.2031 75.71935 210.6869
## 745 149.5901 82.03662 217.1435
## 746 150.0159 82.44638 217.5853
## 747 143.3894 75.90815 210.8707
## 748 150.0159 82.44638 217.5853
## 749 152.2513 84.57433 219.9282
## 750 143.3894 75.90815 210.8707
## 751 148.1530 80.64319 215.6628
## 752 142.8572 75.36801 210.3463
## 753 142.8572 75.36801 210.3463
## 754 146.6361 79.15475 214.1175
## 755 145.4918 78.01992 212.9636
## 756 143.2830 75.80030 210.7656
## 757 145.0394 77.56843 212.5103
## 758 139.8766 72.30209 207.4511
## 759 151.0271 83.41386 218.6404
## 760 143.1233 75.63836 210.6082
## 761 143.3894 75.90815 210.8707
## 762 148.6320 81.10947 216.1546
## 763 144.5337 77.06191 212.0056
## 764 139.9298 72.35745 207.5022
## 765 149.3772 81.83121 216.9231
## 766 142.5112 75.01572 210.0067
## 767 143.7886 76.31179 211.2654
## 768 142.6709 75.17843 210.1633
## 769 143.1499 75.66536 210.6345
## 770 143.9217 76.44606 211.3973
## 771 141.2604 73.73423 208.7867
## 772 148.5256 81.00601 216.0451
## 773 141.3403 73.81639 208.8642
## 774 142.8572 75.36801 210.3463
## 775 147.3546 79.86206 214.8472
## 776 150.3884 82.80375 217.9731
## 777 143.3894 75.90815 210.8707
## 778 144.2942 76.82128 211.7672
## 779 142.8572 75.36801 210.3463
## 780 146.6361 79.15475 214.1175
## 781 145.3587 77.88730 212.8301
## 782 145.0660 77.59503 212.5369
## 783 145.3055 77.83421 212.7768
## 784 143.6555 76.17739 211.1337
## 785 142.9636 75.47622 210.4510
## 786 149.2707 81.72837 216.8131
## 787 144.7466 77.27543 212.2179
## 788 141.9524 74.44466 209.4601
## 789 143.7620 76.28492 211.2391
## 790 143.6289 76.15049 211.1074
## 791 147.7804 80.27929 215.2816
## 792 148.7651 81.23867 216.2915
## 793 145.5184 78.04643 212.9904
## 794 149.2175 81.67692 216.7581
## 795 145.6248 78.15241 213.0973
## 796 144.9329 77.46196 212.4039
## 797 145.3587 77.88730 212.8301
## 798 149.8562 82.29288 217.4195
## 799 145.6248 78.15241 213.0973
## 800 143.0701 75.58433 210.5558
## 801 141.0475 73.51488 208.5802
## 802 143.3894 75.90815 210.8707
## 803 140.7548 73.21269 208.2969
## 804 147.4877 79.99260 214.9828
## 805 150.0957 82.52305 217.6683
## 806 147.3812 79.88818 214.8743
## 807 145.0660 77.59503 212.5369
## 808 144.9063 77.43533 212.3773
## 809 148.3925 80.87656 215.9085
## 810 146.0240 78.54903 213.4990
## 811 142.5644 75.06998 210.0589
## 812 142.3249 74.82564 209.8242
## 813 141.4201 73.89851 208.9417
## 814 145.4386 77.96689 212.9102
## 815 148.6320 81.10947 216.1546
## 816 143.6822 76.20428 211.1600
## 817 147.7538 80.25325 215.2544
## 818 143.3894 75.90815 210.8707
## 819 139.9564 72.38513 207.5278
## 820 150.2554 82.67624 217.8345
## 821 141.5798 74.06259 209.0970
## 822 142.0854 74.58085 209.5900
## 823 147.1684 79.67907 214.6576
## 824 141.8991 74.39014 209.4081
## 825 148.7917 81.26449 216.3189
## 826 147.1684 79.67907 214.6576
## 827 144.3475 76.87479 211.8201
## 828 150.3352 82.75276 217.9176
## 829 148.9514 81.41932 216.4834
## 830 148.0998 80.59127 215.6083
## 831 142.9370 75.44917 210.4249
## 832 145.2523 77.78110 212.7234
## 833 143.6023 76.12358 211.0811
## 834 144.3208 76.84804 211.7937
## 835 144.9063 77.43533 212.3773
## 836 144.7733 77.30209 212.2444
## 837 141.8725 74.36288 209.3822
## 838 146.1039 78.62821 213.5795
## 839 147.4345 79.94040 214.9285
## 840 147.1151 79.62674 214.6035
## 841 146.3434 78.86543 213.8213
## 842 148.5256 81.00601 216.0451
## 843 146.5030 79.02333 213.9828
## 844 139.9032 72.32978 207.4767
## 845 144.9595 77.48859 212.4305
## 846 150.7610 83.16003 218.3620
## 847 147.7804 80.27929 215.2816
## 848 149.8562 82.29288 217.4195
## 849 149.7231 82.16482 217.2814
## 850 143.3894 75.90815 210.8707
## 851 145.9708 78.49622 213.4454
## 852 142.9902 75.50325 210.4772
## 853 147.8603 80.35736 215.3632
## 854 148.6320 81.10947 216.1546
## 855 145.5450 78.07293 213.0171
## 856 139.9032 72.32978 207.4767
## 857 142.8572 75.36801 210.3463
## 858 147.8603 80.35736 215.3632
## 859 141.1806 73.65201 208.7092
## 860 143.4693 75.98898 210.9495
## 861 146.7159 79.23354 214.1983
## 862 142.4314 74.93429 209.9285
## 863 141.9790 74.47191 209.4860
## 864 145.4386 77.96689 212.9102
## 865 143.3628 75.88120 210.8444
## 866 142.4048 74.90714 209.9024
## 867 139.9032 72.32978 207.4767
## 868 147.1684 79.67907 214.6576
## 869 141.8725 74.36288 209.3822
## 870 143.5225 76.04284 211.0021
## 871 144.5870 77.11532 212.0586
## 872 143.6289 76.15049 211.1074
## 873 150.2820 82.70175 217.8622
## 874 143.6289 76.15049 211.1074
## 875 144.2410 76.76774 211.7143
## 876 145.7313 78.25830 213.2043
## 877 145.1990 77.72796 212.6701
## 878 145.3587 77.88730 212.8301
## 879 145.6781 78.20537 213.1508
## 880 147.2748 79.78367 214.7659
## 881 149.7497 82.19045 217.3090
## 882 141.4467 73.92587 208.9676
## 883 143.3096 75.82727 210.7919
## 884 143.6555 76.17739 211.1337
## 885 145.4652 77.99341 212.9369
## 886 147.7804 80.27929 215.2816
## 887 143.5757 76.09667 211.0547
## 888 146.5030 79.02333 213.9828
## 889 142.6443 75.15133 210.1372
## 890 147.1950 79.70523 214.6847
## 891 149.5368 81.98530 217.0884
## 892 151.1070 83.48990 218.7240
## 893 144.9329 77.46196 212.4039
## 894 147.1151 79.62674 214.6035
## 895 145.6781 78.20537 213.1508
## 896 143.1233 75.63836 210.6082
## 897 149.0312 81.49666 216.5657
## 898 145.7579 78.28476 213.2311
## 899 143.0435 75.55731 210.5296
## 900 142.0588 74.55362 209.5640
## 901 142.6709 75.17843 210.1633
## 902 145.5184 78.04643 212.9904
## 903 145.6248 78.15241 213.0973
## 904 140.0363 72.46811 207.6045
## 905 142.4048 74.90714 209.9024
## 906 145.9708 78.49622 213.4454
## 907 145.1990 77.72796 212.6701
## 908 146.4764 78.99702 213.9558
## 909 144.1079 76.63381 211.5821
## 910 140.1427 72.57867 207.7068
## 911 147.3014 79.80980 214.7930
## 912 145.6248 78.15241 213.0973
## 913 143.9217 76.44606 211.3973
## 914 142.0854 74.58085 209.5900
## 915 150.6013 83.00747 218.1952
## 916 149.9094 82.34407 217.4747
## 917 144.7466 77.27543 212.2179
## 918 145.8644 78.39053 213.3382
## 919 141.8991 74.39014 209.4081
## 920 145.6781 78.20537 213.1508
## 921 142.4314 74.93429 209.9285
## 922 140.0363 72.46811 207.6045
## 923 149.2441 81.70265 216.7856
## 924 142.9104 75.42212 210.3987
## 925 147.6474 80.14906 215.1457
## 926 146.0506 78.57543 213.5258
## 927 145.4652 77.99341 212.9369
## 928 145.6781 78.20537 213.1508
## 929 144.5071 77.03519 211.9791
## 930 143.1499 75.66536 210.6345
## 931 145.1990 77.72796 212.6701
## 932 140.9677 73.43253 208.5029
## 933 141.1008 73.56975 208.6318
## 934 147.6740 80.17511 215.1729
## 935 147.3280 79.83593 214.8201
## 936 144.6668 77.19540 212.1382
## 937 143.6822 76.20428 211.1600
## 938 142.3782 74.87998 209.8763
## 939 146.0240 78.54903 213.4990
## 940 145.6781 78.20537 213.1508
## 941 144.1878 76.71419 211.6614
## 942 145.3587 77.88730 212.8301
## 943 145.5450 78.07293 213.0171
## 944 143.1233 75.63836 210.6082
## 945 147.8070 80.30532 215.3088
## 946 147.3546 79.86206 214.8472
## 947 143.4426 75.96204 210.9232
predict(modelo_RL_Simple, data.frame(seq(1,947)), interval='confidence', level = 0.95)
## fit lwr upr
## 1 142.3515 139.4271 145.2760
## 2 140.0363 135.8016 144.2710
## 3 144.1079 141.8203 146.3956
## 4 142.6443 139.8565 145.4321
## 5 145.4386 143.2250 147.6521
## 6 145.7579 143.4997 148.0161
## 7 141.0742 137.4653 144.6830
## 8 150.3352 145.8788 154.7916
## 9 147.1417 144.4555 149.8279
## 10 139.8500 135.4986 144.2014
## 11 141.8193 138.6248 145.0138
## 12 145.6781 143.4332 147.9229
## 13 145.5716 143.3423 147.8009
## 14 142.8306 140.1245 145.5366
## 15 140.9677 137.2969 144.6385
## 16 143.4160 140.9361 145.8960
## 17 142.9902 140.3508 145.6297
## 18 146.8224 144.2637 149.3811
## 19 140.6218 136.7458 144.4977
## 20 142.1919 139.1891 145.1947
## 21 145.5450 143.3192 147.7708
## 22 145.6248 143.3881 147.8616
## 23 142.9902 140.3508 145.6297
## 24 148.9780 145.3499 152.6060
## 25 150.1223 145.8003 154.4443
## 26 140.9145 137.2125 144.6165
## 27 142.8572 140.1625 145.5519
## 28 147.0087 144.3774 149.6400
## 29 145.7579 143.4997 148.0161
## 30 138.5460 133.3517 143.7403
## 31 145.7579 143.4997 148.0161
## 32 142.4048 139.5058 145.3037
## 33 142.8306 140.1245 145.5366
## 34 142.8572 140.1625 145.5519
## 35 142.6709 139.8950 145.4468
## 36 150.7876 146.0414 155.5338
## 37 144.9329 142.7409 147.1250
## 38 146.3966 143.9834 148.8098
## 39 147.3546 144.5758 150.1334
## 40 148.8183 145.2823 152.3544
## 41 142.9636 140.3133 145.6139
## 42 144.1346 141.8524 146.4168
## 43 144.1346 141.8524 146.4168
## 44 142.8838 140.2003 145.5672
## 45 144.9063 142.7137 147.0990
## 46 139.8500 135.4986 144.2014
## 47 146.6095 144.1273 149.0916
## 48 150.5215 145.9464 155.0966
## 49 142.4048 139.5058 145.3037
## 50 142.8572 140.1625 145.5519
## 51 141.8725 138.7061 145.0390
## 52 141.5532 138.2149 144.8915
## 53 144.8265 142.6311 147.0219
## 54 141.7927 138.5840 145.0014
## 55 139.9298 135.6286 144.2311
## 56 147.7272 144.7737 150.6807
## 57 149.3239 145.4919 153.1559
## 58 142.7507 140.0102 145.4913
## 59 141.5532 138.2149 144.8915
## 60 145.8111 143.5433 148.0790
## 61 141.3935 137.9666 144.8204
## 62 143.2830 140.7562 145.8097
## 63 145.5982 143.3653 147.8312
## 64 145.7579 143.4997 148.0161
## 65 144.4805 142.2555 146.7055
## 66 140.9411 137.2547 144.6275
## 67 147.1684 144.4709 149.8658
## 68 144.9862 142.7947 147.1776
## 69 149.6699 145.6285 153.7112
## 70 151.1868 146.1808 156.1928
## 71 145.4386 143.2250 147.6521
## 72 138.5726 133.3959 143.7494
## 73 140.9677 137.2969 144.6385
## 74 147.7804 144.8008 150.7601
## 75 143.0967 140.4997 145.6937
## 76 145.4386 143.2250 147.6521
## 77 149.7763 145.6696 153.8831
## 78 139.7702 135.3684 144.1719
## 79 144.6668 142.4613 146.8723
## 80 146.6893 144.1793 149.1993
## 81 142.1386 139.1092 145.1681
## 82 149.0578 145.3832 152.7324
## 83 143.2031 140.6469 145.7594
## 84 144.2144 141.9478 146.4810
## 85 142.5378 139.7014 145.3743
## 86 145.1990 143.0033 147.3948
## 87 150.9207 146.0883 155.7531
## 88 144.3741 142.1343 146.6138
## 89 149.6167 145.6078 153.6255
## 90 139.7968 135.4118 144.1817
## 91 146.6361 144.1448 149.1274
## 92 148.6852 145.2248 152.1457
## 93 141.9257 138.7872 145.0643
## 94 145.3587 143.1526 147.5648
## 95 142.8838 140.2003 145.5672
## 96 146.0506 143.7317 148.3696
## 97 145.6781 143.4332 147.9229
## 98 141.6596 138.3795 144.9398
## 99 143.3894 140.9004 145.8785
## 100 143.8684 141.5247 146.2122
## 101 142.1653 139.1492 145.1813
## 102 145.9176 143.6285 148.2066
## 103 140.1427 135.9742 144.3112
## 104 138.5460 133.3517 143.7403
## 105 143.0967 140.4997 145.6937
## 106 148.6054 145.1898 152.0211
## 107 144.9063 142.7137 147.0990
## 108 148.8981 145.3163 152.4800
## 109 144.1346 141.8524 146.4168
## 110 142.3782 139.4665 145.2898
## 111 147.3280 144.5611 150.0949
## 112 145.1990 143.0033 147.3948
## 113 143.3894 140.9004 145.8785
## 114 147.7804 144.8008 150.7601
## 115 145.6515 143.4107 147.8922
## 116 143.4160 140.9361 145.8960
## 117 142.8572 140.1625 145.5519
## 118 139.9564 135.6719 144.2410
## 119 149.4304 145.5345 153.3263
## 120 148.4191 145.1064 151.7318
## 121 139.9032 135.5853 144.2211
## 122 139.7702 135.3684 144.1719
## 123 141.8991 138.7467 145.0516
## 124 150.0159 145.7605 154.2712
## 125 151.0005 146.1162 155.8848
## 126 144.4007 142.1649 146.6365
## 127 143.8951 141.5581 146.2320
## 128 150.5481 145.9560 155.1402
## 129 145.7579 143.4997 148.0161
## 130 145.1990 143.0033 147.3948
## 131 142.8572 140.1625 145.5519
## 132 150.9473 146.0976 155.7970
## 133 144.7200 142.5185 146.9215
## 134 149.5368 145.5766 153.4971
## 135 148.9780 145.3499 152.6060
## 136 143.4160 140.9361 145.8960
## 137 144.5071 142.2854 146.7288
## 138 146.9821 144.3614 149.6027
## 139 145.7579 143.4997 148.0161
## 140 142.6177 139.8178 145.4175
## 141 145.0394 142.8479 147.2308
## 142 149.6167 145.6078 153.6255
## 143 143.6555 141.2524 146.0587
## 144 141.0742 137.4653 144.6830
## 145 144.9595 142.7679 147.1512
## 146 140.0363 135.8016 144.2710
## 147 146.5030 144.0564 148.9497
## 148 141.8193 138.6248 145.0138
## 149 145.1192 142.9264 147.3120
## 150 147.2482 144.5164 149.9800
## 151 150.7610 146.0320 155.4900
## 152 146.6361 144.1448 149.1274
## 153 144.7200 142.5185 146.9215
## 154 140.6750 136.8310 144.5190
## 155 150.6279 145.9846 155.2713
## 156 148.0998 144.9578 151.2417
## 157 142.2451 139.2687 145.2215
## 158 150.9473 146.0976 155.7970
## 159 145.6781 143.4332 147.9229
## 160 142.6177 139.8178 145.4175
## 161 142.8572 140.1625 145.5519
## 162 141.0209 137.3812 144.6607
## 163 147.3812 144.5905 150.1720
## 164 149.5102 145.5661 153.4543
## 165 147.6208 144.7187 150.5228
## 166 146.3168 143.9274 148.7062
## 167 144.4273 142.1953 146.6593
## 168 141.8991 138.7467 145.0516
## 169 146.8490 144.2803 149.4177
## 170 147.2216 144.5013 149.9418
## 171 150.4683 145.9272 155.0093
## 172 143.7354 141.3555 146.1153
## 173 147.6474 144.7326 150.5622
## 174 145.6781 143.4332 147.9229
## 175 146.1571 143.8116 148.5025
## 176 144.2410 141.9792 146.5028
## 177 148.0199 144.9194 151.1205
## 178 150.8142 146.0508 155.5776
## 179 142.6177 139.8178 145.4175
## 180 152.2779 146.5465 158.0093
## 181 139.7702 135.3684 144.1719
## 182 143.2830 140.7562 145.8097
## 183 145.2257 143.0287 147.4227
## 184 149.5901 145.5975 153.5827
## 185 149.6433 145.6182 153.6684
## 186 143.6822 141.2869 146.0774
## 187 146.1837 143.8313 148.5361
## 188 142.9902 140.3508 145.6297
## 189 143.4693 141.0072 145.9313
## 190 145.8111 143.5433 148.0790
## 191 148.6586 145.2131 152.1041
## 192 140.6484 136.7884 144.5083
## 193 143.0168 140.3882 145.6455
## 194 149.9094 145.7204 154.0985
## 195 147.3014 144.5463 150.0565
## 196 145.3587 143.1526 147.5648
## 197 141.4733 138.0910 144.8557
## 198 143.3894 140.9004 145.8785
## 199 138.5726 133.3959 143.7494
## 200 148.9248 145.3275 152.5220
## 201 139.9032 135.5853 144.2211
## 202 146.7159 144.1964 149.2355
## 203 147.9401 144.8804 150.9998
## 204 144.7999 142.6032 146.9965
## 205 148.6320 145.2015 152.0626
## 206 144.9063 142.7137 147.0990
## 207 139.9564 135.6719 144.2410
## 208 141.6862 138.4205 144.9520
## 209 138.5460 133.3517 143.7403
## 210 145.6781 143.4332 147.9229
## 211 146.3168 143.9274 148.7062
## 212 140.0363 135.8016 144.2710
## 213 147.0885 144.4246 149.7525
## 214 150.7610 146.0320 155.4900
## 215 143.0967 140.4997 145.6937
## 216 145.4386 143.2250 147.6521
## 217 146.8224 144.2637 149.3811
## 218 144.9063 142.7137 147.0990
## 219 148.5256 145.1543 151.8968
## 220 146.7958 144.2471 149.3445
## 221 149.5102 145.5661 153.4543
## 222 144.2942 142.0418 146.5467
## 223 140.6218 136.7458 144.4977
## 224 147.8603 144.8409 150.8796
## 225 146.6095 144.1273 149.0916
## 226 146.9555 144.3454 149.5655
## 227 142.1120 139.0692 145.1549
## 228 143.7354 141.3555 146.1153
## 229 145.1192 142.9264 147.3120
## 230 142.1653 139.1492 145.1813
## 231 147.3014 144.5463 150.0565
## 232 145.3587 143.1526 147.5648
## 233 139.7968 135.4118 144.1817
## 234 147.5409 144.6767 150.4052
## 235 148.9780 145.3499 152.6060
## 236 143.6289 141.2177 146.0401
## 237 146.0506 143.7317 148.3696
## 238 144.1612 141.8843 146.4380
## 239 139.8500 135.4986 144.2014
## 240 140.6484 136.7884 144.5083
## 241 144.7200 142.5185 146.9215
## 242 145.6248 143.3881 147.8616
## 243 145.1990 143.0033 147.3948
## 244 146.3434 143.9462 148.7406
## 245 146.9022 144.3130 149.4914
## 246 143.9483 141.6245 146.2720
## 247 143.9483 141.6245 146.2720
## 248 146.1039 143.7719 148.4358
## 249 148.6054 145.1898 152.0211
## 250 144.1346 141.8524 146.4168
## 251 149.6965 145.6388 153.7542
## 252 145.7579 143.4997 148.0161
## 253 142.1386 139.1092 145.1681
## 254 143.4160 140.9361 145.8960
## 255 148.0199 144.9194 151.1205
## 256 143.1233 140.5366 145.7100
## 257 147.7804 144.8008 150.7601
## 258 139.9564 135.6719 144.2410
## 259 145.7579 143.4997 148.0161
## 260 143.1765 140.6103 145.7428
## 261 141.1540 137.5912 144.7168
## 262 140.8879 137.1703 144.6055
## 263 145.2789 143.0788 147.4790
## 264 141.0742 137.4653 144.6830
## 265 142.6177 139.8178 145.4175
## 266 145.3853 143.1769 147.5937
## 267 147.0087 144.3774 149.6400
## 268 145.6781 143.4332 147.9229
## 269 150.4683 145.9272 155.0093
## 270 148.7385 145.2479 152.2290
## 271 139.9298 135.6286 144.2311
## 272 150.6279 145.9846 155.2713
## 273 141.4201 138.0081 144.8321
## 274 139.8500 135.4986 144.2014
## 275 140.7548 136.9584 144.5512
## 276 145.1724 142.9779 147.3670
## 277 147.0353 144.3932 149.6774
## 278 140.6484 136.7884 144.5083
## 279 140.0363 135.8016 144.2710
## 280 140.8347 137.0856 144.5837
## 281 141.2072 137.6749 144.7395
## 282 143.1233 140.5366 145.7100
## 283 149.9626 145.7405 154.1848
## 284 149.2441 145.4597 153.0285
## 285 142.5644 139.7403 145.3886
## 286 145.3587 143.1526 147.5648
## 287 147.6474 144.7326 150.5622
## 288 150.8142 146.0508 155.5776
## 289 139.9564 135.6719 144.2410
## 290 149.5901 145.5975 153.5827
## 291 148.8183 145.2823 152.3544
## 292 147.1950 144.4861 149.9038
## 293 143.4959 141.0426 145.9491
## 294 142.5911 139.7791 145.4030
## 295 142.2451 139.2687 145.2215
## 296 140.1427 135.9742 144.3112
## 297 140.0363 135.8016 144.2710
## 298 142.9104 140.2381 145.5827
## 299 145.0926 142.9004 147.2848
## 300 139.8234 135.4552 144.1915
## 301 152.2779 146.5465 158.0093
## 302 143.0435 140.4254 145.6615
## 303 144.4273 142.1953 146.6593
## 304 151.1868 146.1808 156.1928
## 305 143.2830 140.7562 145.8097
## 306 140.7282 136.9160 144.5404
## 307 146.0240 143.7114 148.3367
## 308 139.9564 135.6719 144.2410
## 309 148.7651 145.2594 152.2708
## 310 145.3853 143.1769 147.5937
## 311 141.9257 138.7872 145.0643
## 312 149.4038 145.5239 153.2836
## 313 142.8572 140.1625 145.5519
## 314 143.6023 141.1830 146.0217
## 315 145.4386 143.2250 147.6521
## 316 141.1008 137.5073 144.6942
## 317 146.5297 144.0743 148.9850
## 318 145.7579 143.4997 148.0161
## 319 144.6668 142.4613 146.8723
## 320 147.4079 144.6050 150.2107
## 321 143.7620 141.3896 146.1344
## 322 150.5481 145.9560 155.1402
## 323 144.6668 142.4613 146.8723
## 324 143.6289 141.2177 146.0401
## 325 146.0240 143.7114 148.3367
## 326 147.7006 144.7601 150.6411
## 327 143.3362 140.8285 145.8439
## 328 149.0046 145.3610 152.6481
## 329 145.0660 142.8742 147.2577
## 330 148.2861 145.0455 151.5267
## 331 145.4918 143.2724 147.7111
## 332 149.3239 145.4919 153.1559
## 333 143.2564 140.7199 145.7928
## 334 147.0087 144.3774 149.6400
## 335 141.5000 138.1323 144.8676
## 336 145.4386 143.2250 147.6521
## 337 141.5532 138.2149 144.8915
## 338 145.6781 143.4332 147.9229
## 339 141.6596 138.3795 144.9398
## 340 144.3208 142.0728 146.5689
## 341 145.4386 143.2250 147.6521
## 342 145.3853 143.1769 147.5937
## 343 146.6361 144.1448 149.1274
## 344 148.5788 145.1780 151.9796
## 345 145.7313 143.4777 147.9849
## 346 149.2707 145.4705 153.0710
## 347 143.3894 140.9004 145.8785
## 348 148.0732 144.9451 151.2013
## 349 147.4345 144.6195 150.2494
## 350 147.7804 144.8008 150.7601
## 351 145.3321 143.1282 147.5360
## 352 147.7538 144.7873 150.7203
## 353 145.5450 143.3192 147.7708
## 354 144.1612 141.8843 146.4380
## 355 142.8572 140.1625 145.5519
## 356 141.4201 138.0081 144.8321
## 357 150.2554 145.8495 154.6612
## 358 144.7466 142.5469 146.9463
## 359 142.8838 140.2003 145.5672
## 360 142.8572 140.1625 145.5519
## 361 142.7773 140.0484 145.5063
## 362 145.1990 143.0033 147.3948
## 363 143.3894 140.9004 145.8785
## 364 147.0087 144.3774 149.6400
## 365 143.6822 141.2869 146.0774
## 366 141.3935 137.9666 144.8204
## 367 143.0967 140.4997 145.6937
## 368 147.7272 144.7737 150.6807
## 369 147.7538 144.7873 150.7203
## 370 141.8193 138.6248 145.0138
## 371 145.6248 143.3881 147.8616
## 372 143.3628 140.8645 145.8611
## 373 148.8981 145.3163 152.4800
## 374 145.4386 143.2250 147.6521
## 375 144.6668 142.4613 146.8723
## 376 145.7047 143.4555 147.9538
## 377 145.1990 143.0033 147.3948
## 378 141.9524 138.8277 145.0771
## 379 145.6515 143.4107 147.8922
## 380 142.5112 139.6624 145.3600
## 381 147.7804 144.8008 150.7601
## 382 148.6054 145.1898 152.0211
## 383 144.9063 142.7137 147.0990
## 384 145.2523 143.0538 147.4508
## 385 143.8951 141.5581 146.2320
## 386 146.9821 144.3614 149.6027
## 387 149.5102 145.5661 153.4543
## 388 145.6781 143.4332 147.9229
## 389 147.2748 144.5314 150.0182
## 390 150.7876 146.0414 155.5338
## 391 143.6555 141.2524 146.0587
## 392 141.8193 138.6248 145.0138
## 393 147.1151 144.4401 149.7902
## 394 147.8603 144.8409 150.8796
## 395 139.7968 135.4118 144.1817
## 396 140.0363 135.8016 144.2710
## 397 144.4273 142.1953 146.6593
## 398 150.5215 145.9464 155.0966
## 399 145.5184 143.2959 147.7409
## 400 148.7651 145.2594 152.2708
## 401 145.6781 143.4332 147.9229
## 402 145.1458 142.9522 147.3394
## 403 151.1336 146.1624 156.1047
## 404 141.8193 138.6248 145.0138
## 405 149.2175 145.4489 152.9861
## 406 143.0435 140.4254 145.6615
## 407 143.4160 140.9361 145.8960
## 408 139.9032 135.5853 144.2211
## 409 150.7876 146.0414 155.5338
## 410 141.8991 138.7467 145.0516
## 411 147.0087 144.3774 149.6400
## 412 143.4959 141.0426 145.9491
## 413 143.3362 140.8285 145.8439
## 414 146.0240 143.7114 148.3367
## 415 144.4539 142.2255 146.6823
## 416 149.4836 145.5556 153.4116
## 417 141.9524 138.8277 145.0771
## 418 140.1427 135.9742 144.3112
## 419 141.1274 137.5493 144.7055
## 420 152.2513 146.5378 157.9647
## 421 143.6289 141.2177 146.0401
## 422 142.7241 139.9719 145.4764
## 423 149.5368 145.5766 153.4971
## 424 145.7845 143.5216 148.0475
## 425 145.1192 142.9264 147.3120
## 426 139.7702 135.3684 144.1719
## 427 146.5030 144.0564 148.9497
## 428 144.9595 142.7679 147.1512
## 429 143.4426 140.9717 145.9136
## 430 144.0281 141.7230 146.3332
## 431 142.8040 140.0865 145.5214
## 432 150.4949 145.9368 155.0530
## 433 145.1990 143.0033 147.3948
## 434 143.3894 140.9004 145.8785
## 435 145.7313 143.4777 147.9849
## 436 139.9564 135.6719 144.2410
## 437 144.6668 142.4613 146.8723
## 438 147.1417 144.4555 149.8279
## 439 140.6218 136.7458 144.4977
## 440 148.1264 144.9705 151.2823
## 441 149.3505 145.5026 153.1985
## 442 148.4191 145.1064 151.7318
## 443 145.8644 143.5862 148.1425
## 444 145.6781 143.4332 147.9229
## 445 144.9063 142.7137 147.0990
## 446 142.8572 140.1625 145.5519
## 447 150.0159 145.7605 154.2712
## 448 141.0475 137.4233 144.6718
## 449 148.6320 145.2015 152.0626
## 450 143.0168 140.3882 145.6455
## 451 143.5757 141.1481 146.0033
## 452 142.8306 140.1245 145.5366
## 453 146.5297 144.0743 148.9850
## 454 142.8838 140.2003 145.5672
## 455 142.8572 140.1625 145.5519
## 456 146.8224 144.2637 149.3811
## 457 147.9135 144.8673 150.9597
## 458 143.3894 140.9004 145.8785
## 459 145.6781 143.4332 147.9229
## 460 139.8234 135.4552 144.1915
## 461 141.7927 138.5840 145.0014
## 462 139.8234 135.4552 144.1915
## 463 147.1684 144.4709 149.8658
## 464 142.3782 139.4665 145.2898
## 465 141.6596 138.3795 144.9398
## 466 143.0967 140.4997 145.6937
## 467 141.7129 138.4614 144.9643
## 468 141.6064 138.2973 144.9155
## 469 145.6781 143.4332 147.9229
## 470 147.8603 144.8409 150.8796
## 471 148.1796 144.9957 151.3635
## 472 140.6484 136.7884 144.5083
## 473 139.9032 135.5853 144.2211
## 474 146.0506 143.7317 148.3696
## 475 149.4038 145.5239 153.2836
## 476 147.7538 144.7873 150.7203
## 477 141.4201 138.0081 144.8321
## 478 143.0967 140.4997 145.6937
## 479 150.1489 145.8102 154.4877
## 480 143.2830 140.7562 145.8097
## 481 150.6013 145.9751 155.2276
## 482 144.5870 142.3741 146.7998
## 483 143.7354 141.3555 146.1153
## 484 143.3894 140.9004 145.8785
## 485 150.4949 145.9368 155.0530
## 486 149.2175 145.4489 152.9861
## 487 144.9862 142.7947 147.1776
## 488 145.1990 143.0033 147.3948
## 489 147.4611 144.6339 150.2882
## 490 141.5266 138.1736 144.8795
## 491 143.3894 140.9004 145.8785
## 492 142.1120 139.0692 145.1549
## 493 141.6064 138.2973 144.9155
## 494 145.4652 143.2488 147.6815
## 495 146.2635 143.8893 148.6378
## 496 139.9032 135.5853 144.2211
## 497 143.5491 141.1130 145.9851
## 498 146.1305 143.7919 148.4691
## 499 144.7200 142.5185 146.9215
## 500 149.5901 145.5975 153.5827
## 501 144.1346 141.8524 146.4168
## 502 147.1684 144.4709 149.8658
## 503 150.1223 145.8003 154.4443
## 504 144.1346 141.8524 146.4168
## 505 150.7344 146.0225 155.4462
## 506 143.3894 140.9004 145.8785
## 507 143.3894 140.9004 145.8785
## 508 141.8725 138.7061 145.0390
## 509 147.2216 144.5013 149.9418
## 510 145.2523 143.0538 147.4508
## 511 147.7804 144.8008 150.7601
## 512 146.0506 143.7317 148.3696
## 513 141.0475 137.4233 144.6718
## 514 143.7088 141.3212 146.0963
## 515 142.5644 139.7403 145.3886
## 516 144.6668 142.4613 146.8723
## 517 145.6248 143.3881 147.8616
## 518 144.8265 142.6311 147.0219
## 519 151.1602 146.1716 156.1488
## 520 139.7968 135.4118 144.1817
## 521 140.9677 137.2969 144.6385
## 522 146.8224 144.2637 149.3811
## 523 150.0957 145.7904 154.4010
## 524 143.2297 140.6834 145.7760
## 525 144.1346 141.8524 146.4168
## 526 143.1233 140.5366 145.7100
## 527 142.6975 139.9335 145.4615
## 528 143.8684 141.5247 146.2122
## 529 143.5491 141.1130 145.9851
## 530 142.2451 139.2687 145.2215
## 531 149.4304 145.5345 153.3263
## 532 145.7313 143.4777 147.9849
## 533 144.2676 142.0106 146.5247
## 534 144.0015 141.6903 146.3127
## 535 145.6248 143.3881 147.8616
## 536 141.3935 137.9666 144.8204
## 537 146.2635 143.8893 148.6378
## 538 145.9974 143.6909 148.3040
## 539 140.9943 137.3391 144.6496
## 540 143.3894 140.9004 145.8785
## 541 143.3894 140.9004 145.8785
## 542 144.1878 141.9161 146.4595
## 543 143.7354 141.3555 146.1153
## 544 144.2144 141.9478 146.4810
## 545 147.6740 144.7463 150.6016
## 546 141.6596 138.3795 144.9398
## 547 147.8337 144.8276 150.8397
## 548 142.8040 140.0865 145.5214
## 549 150.9739 146.1069 155.8409
## 550 146.1571 143.8116 148.5025
## 551 146.9288 144.3293 149.5284
## 552 141.8725 138.7061 145.0390
## 553 148.5256 145.1543 151.8968
## 554 139.7702 135.3684 144.1719
## 555 145.1458 142.9522 147.3394
## 556 143.8152 141.4574 146.1730
## 557 144.5870 142.3741 146.7998
## 558 146.6095 144.1273 149.0916
## 559 146.4498 144.0201 148.8795
## 560 150.7876 146.0414 155.5338
## 561 149.2441 145.4597 153.0285
## 562 144.8797 142.6863 147.0731
## 563 148.5256 145.1543 151.8968
## 564 149.8828 145.7103 154.0553
## 565 142.4846 139.6234 145.3458
## 566 145.6248 143.3881 147.8616
## 567 145.7313 143.4777 147.9849
## 568 143.1765 140.6103 145.7428
## 569 139.8766 135.5420 144.2113
## 570 142.8306 140.1245 145.5366
## 571 150.1755 145.8200 154.5310
## 572 145.5716 143.3423 147.8009
## 573 145.6781 143.4332 147.9229
## 574 142.2717 139.3084 145.2350
## 575 145.3321 143.1282 147.5360
## 576 147.0087 144.3774 149.6400
## 577 142.6709 139.8950 145.4468
## 578 148.5256 145.1543 151.8968
## 579 142.1919 139.1891 145.1947
## 580 147.0619 144.4089 149.7149
## 581 143.1233 140.5366 145.7100
## 582 148.3925 145.0943 151.6907
## 583 149.1377 145.4162 152.8591
## 584 148.4990 145.1424 151.8555
## 585 142.6177 139.8178 145.4175
## 586 151.1336 146.1624 156.1047
## 587 142.4048 139.5058 145.3037
## 588 144.0015 141.6903 146.3127
## 589 147.3812 144.5905 150.1720
## 590 141.7661 138.5432 144.9889
## 591 139.8500 135.4986 144.2014
## 592 141.4201 138.0081 144.8321
## 593 147.9667 144.8935 151.0399
## 594 144.5870 142.3741 146.7998
## 595 147.7538 144.7873 150.7203
## 596 144.4007 142.1649 146.6365
## 597 149.1110 145.4052 152.8168
## 598 145.6781 143.4332 147.9229
## 599 141.9790 138.8681 145.0899
## 600 139.7702 135.3684 144.1719
## 601 145.6781 143.4332 147.9229
## 602 141.9790 138.8681 145.0899
## 603 144.6668 142.4613 146.8723
## 604 141.9257 138.7872 145.0643
## 605 147.7006 144.7601 150.6411
## 606 146.0240 143.7114 148.3367
## 607 146.9022 144.3130 149.4914
## 608 142.6975 139.9335 145.4615
## 609 145.4386 143.2250 147.6521
## 610 143.0967 140.4997 145.6937
## 611 142.8306 140.1245 145.5366
## 612 149.1909 145.4380 152.9437
## 613 141.0209 137.3812 144.6607
## 614 138.5194 133.3075 143.7313
## 615 146.6095 144.1273 149.0916
## 616 146.3966 143.9834 148.8098
## 617 144.4007 142.1649 146.6365
## 618 144.2144 141.9478 146.4810
## 619 141.5798 138.2561 144.9035
## 620 144.8531 142.6588 147.0474
## 621 142.4846 139.6234 145.3458
## 622 142.8306 140.1245 145.5366
## 623 144.1079 141.8203 146.3956
## 624 141.5266 138.1736 144.8795
## 625 145.3321 143.1282 147.5360
## 626 145.0128 142.8214 147.2041
## 627 149.6699 145.6285 153.7112
## 628 139.9564 135.6719 144.2410
## 629 143.8951 141.5581 146.2320
## 630 149.6965 145.6388 153.7542
## 631 146.0240 143.7114 148.3367
## 632 143.5757 141.1481 146.0033
## 633 146.5829 144.1098 149.0560
## 634 142.4048 139.5058 145.3037
## 635 143.3096 140.7924 145.8268
## 636 143.6023 141.1830 146.0217
## 637 146.9821 144.3614 149.6027
## 638 150.3618 145.8885 154.8351
## 639 145.7579 143.4997 148.0161
## 640 145.5716 143.3423 147.8009
## 641 150.7610 146.0320 155.4900
## 642 139.7968 135.4118 144.1817
## 643 143.0967 140.4997 145.6937
## 644 142.5911 139.7791 145.4030
## 645 151.1336 146.1624 156.1047
## 646 142.8040 140.0865 145.5214
## 647 145.4652 143.2488 147.6815
## 648 150.0159 145.7605 154.2712
## 649 144.6668 142.4613 146.8723
## 650 145.1990 143.0033 147.3948
## 651 148.9514 145.3387 152.5640
## 652 148.4191 145.1064 151.7318
## 653 142.4580 139.5843 145.3317
## 654 143.4426 140.9717 145.9136
## 655 150.9473 146.0976 155.7970
## 656 144.6136 142.4033 146.8238
## 657 143.8152 141.4574 146.1730
## 658 149.1909 145.4380 152.9437
## 659 144.3208 142.0728 146.5689
## 660 146.6893 144.1793 149.1993
## 661 143.3894 140.9004 145.8785
## 662 140.7548 136.9584 144.5512
## 663 149.2707 145.4705 153.0710
## 664 147.6208 144.7187 150.5228
## 665 146.0506 143.7317 148.3696
## 666 145.1458 142.9522 147.3394
## 667 147.9667 144.8935 151.0399
## 668 144.8797 142.6863 147.0731
## 669 140.7282 136.9160 144.5404
## 670 148.7385 145.2479 152.2290
## 671 145.3587 143.1526 147.5648
## 672 145.1990 143.0033 147.3948
## 673 143.4959 141.0426 145.9491
## 674 142.8572 140.1625 145.5519
## 675 146.7159 144.1964 149.2355
## 676 148.2861 145.0455 151.5267
## 677 147.7804 144.8008 150.7601
## 678 141.4201 138.0081 144.8321
## 679 139.9564 135.6719 144.2410
## 680 150.0691 145.7804 154.3577
## 681 147.8869 144.8542 150.9196
## 682 148.3659 145.0822 151.6496
## 683 144.9063 142.7137 147.0990
## 684 143.3894 140.9004 145.8785
## 685 144.6668 142.4613 146.8723
## 686 142.4846 139.6234 145.3458
## 687 145.2789 143.0788 147.4790
## 688 142.4846 139.6234 145.3458
## 689 144.1346 141.8524 146.4168
## 690 145.6781 143.4332 147.9229
## 691 146.0240 143.7114 148.3367
## 692 146.2369 143.8701 148.6037
## 693 140.7814 137.0009 144.5620
## 694 149.3239 145.4919 153.1559
## 695 145.1458 142.9522 147.3394
## 696 143.2031 140.6469 145.7594
## 697 139.9298 135.6286 144.2311
## 698 147.7538 144.7873 150.7203
## 699 145.4386 143.2250 147.6521
## 700 147.1950 144.4861 149.9038
## 701 148.7917 145.2708 152.3125
## 702 144.8265 142.6311 147.0219
## 703 148.2861 145.0455 151.5267
## 704 150.4150 145.9079 154.9222
## 705 143.2031 140.6469 145.7594
## 706 141.9257 138.7872 145.0643
## 707 147.7272 144.7737 150.6807
## 708 143.5225 141.0779 145.9671
## 709 148.6054 145.1898 152.0211
## 710 139.8500 135.4986 144.2014
## 711 142.9636 140.3133 145.6139
## 712 143.4160 140.9361 145.8960
## 713 140.0363 135.8016 144.2710
## 714 144.5337 142.3151 146.7523
## 715 139.9032 135.5853 144.2211
## 716 148.4723 145.1305 151.8142
## 717 145.7313 143.4777 147.9849
## 718 150.9739 146.1069 155.8409
## 719 144.1878 141.9161 146.4595
## 720 142.8306 140.1245 145.5366
## 721 145.7313 143.4777 147.9849
## 722 152.2513 146.5378 157.9647
## 723 143.6822 141.2869 146.0774
## 724 144.9862 142.7947 147.1776
## 725 145.7579 143.4997 148.0161
## 726 141.2338 137.7167 144.7510
## 727 142.8572 140.1625 145.5519
## 728 143.1233 140.5366 145.7100
## 729 140.8879 137.1703 144.6055
## 730 147.0619 144.4089 149.7149
## 731 142.8572 140.1625 145.5519
## 732 146.2901 143.9084 148.6719
## 733 146.2369 143.8701 148.6037
## 734 151.0537 146.1347 155.9728
## 735 138.5460 133.3517 143.7403
## 736 145.5450 143.3192 147.7708
## 737 144.9063 142.7137 147.0990
## 738 143.6822 141.2869 146.0774
## 739 139.8766 135.5420 144.2113
## 740 145.5716 143.3423 147.8009
## 741 144.3475 142.1036 146.5913
## 742 145.5184 143.2959 147.7409
## 743 142.3782 139.4665 145.2898
## 744 143.2031 140.6469 145.7594
## 745 149.5901 145.5975 153.5827
## 746 150.0159 145.7605 154.2712
## 747 143.3894 140.9004 145.8785
## 748 150.0159 145.7605 154.2712
## 749 152.2513 146.5378 157.9647
## 750 143.3894 140.9004 145.8785
## 751 148.1530 144.9831 151.3229
## 752 142.8572 140.1625 145.5519
## 753 142.8572 140.1625 145.5519
## 754 146.6361 144.1448 149.1274
## 755 145.4918 143.2724 147.7111
## 756 143.2830 140.7562 145.8097
## 757 145.0394 142.8479 147.2308
## 758 139.8766 135.5420 144.2113
## 759 151.0271 146.1254 155.9288
## 760 143.1233 140.5366 145.7100
## 761 143.3894 140.9004 145.8785
## 762 148.6320 145.2015 152.0626
## 763 144.5337 142.3151 146.7523
## 764 139.9298 135.6286 144.2311
## 765 149.3772 145.5133 153.2410
## 766 142.5112 139.6624 145.3600
## 767 143.7886 141.4236 146.1536
## 768 142.6709 139.8950 145.4468
## 769 143.1499 140.5735 145.7263
## 770 143.9217 141.5914 146.2520
## 771 141.2604 137.7585 144.7624
## 772 148.5256 145.1543 151.8968
## 773 141.3403 137.8835 144.7971
## 774 142.8572 140.1625 145.5519
## 775 147.3546 144.5758 150.1334
## 776 150.3884 145.8982 154.8786
## 777 143.3894 140.9004 145.8785
## 778 144.2942 142.0418 146.5467
## 779 142.8572 140.1625 145.5519
## 780 146.6361 144.1448 149.1274
## 781 145.3587 143.1526 147.5648
## 782 145.0660 142.8742 147.2577
## 783 145.3055 143.1036 147.5074
## 784 143.6555 141.2524 146.0587
## 785 142.9636 140.3133 145.6139
## 786 149.2707 145.4705 153.0710
## 787 144.7466 142.5469 146.9463
## 788 141.9524 138.8277 145.0771
## 789 143.7620 141.3896 146.1344
## 790 143.6289 141.2177 146.0401
## 791 147.7804 144.8008 150.7601
## 792 148.7651 145.2594 152.2708
## 793 145.5184 143.2959 147.7409
## 794 149.2175 145.4489 152.9861
## 795 145.6248 143.3881 147.8616
## 796 144.9329 142.7409 147.1250
## 797 145.3587 143.1526 147.5648
## 798 149.8562 145.7001 154.0122
## 799 145.6248 143.3881 147.8616
## 800 143.0701 140.4626 145.6775
## 801 141.0475 137.4233 144.6718
## 802 143.3894 140.9004 145.8785
## 803 140.7548 136.9584 144.5512
## 804 147.4877 144.6483 150.3271
## 805 150.0957 145.7904 154.4010
## 806 147.3812 144.5905 150.1720
## 807 145.0660 142.8742 147.2577
## 808 144.9063 142.7137 147.0990
## 809 148.3925 145.0943 151.6907
## 810 146.0240 143.7114 148.3367
## 811 142.5644 139.7403 145.3886
## 812 142.3249 139.3876 145.2623
## 813 141.4201 138.0081 144.8321
## 814 145.4386 143.2250 147.6521
## 815 148.6320 145.2015 152.0626
## 816 143.6822 141.2869 146.0774
## 817 147.7538 144.7873 150.7203
## 818 143.3894 140.9004 145.8785
## 819 139.9564 135.6719 144.2410
## 820 150.2554 145.8495 154.6612
## 821 141.5798 138.2561 144.9035
## 822 142.0854 139.0291 145.1418
## 823 147.1684 144.4709 149.8658
## 824 141.8991 138.7467 145.0516
## 825 148.7917 145.2708 152.3125
## 826 147.1684 144.4709 149.8658
## 827 144.3475 142.1036 146.5913
## 828 150.3352 145.8788 154.7916
## 829 148.9514 145.3387 152.5640
## 830 148.0998 144.9578 151.2417
## 831 142.9370 140.2758 145.5983
## 832 145.2523 143.0538 147.4508
## 833 143.6023 141.1830 146.0217
## 834 144.3208 142.0728 146.5689
## 835 144.9063 142.7137 147.0990
## 836 144.7733 142.5751 146.9714
## 837 141.8725 138.7061 145.0390
## 838 146.1039 143.7719 148.4358
## 839 147.4345 144.6195 150.2494
## 840 147.1151 144.4401 149.7902
## 841 146.3434 143.9462 148.7406
## 842 148.5256 145.1543 151.8968
## 843 146.5030 144.0564 148.9497
## 844 139.9032 135.5853 144.2211
## 845 144.9595 142.7679 147.1512
## 846 150.7610 146.0320 155.4900
## 847 147.7804 144.8008 150.7601
## 848 149.8562 145.7001 154.0122
## 849 149.7231 145.6491 153.7971
## 850 143.3894 140.9004 145.8785
## 851 145.9708 143.6702 148.2714
## 852 142.9902 140.3508 145.6297
## 853 147.8603 144.8409 150.8796
## 854 148.6320 145.2015 152.0626
## 855 145.5450 143.3192 147.7708
## 856 139.9032 135.5853 144.2211
## 857 142.8572 140.1625 145.5519
## 858 147.8603 144.8409 150.8796
## 859 141.1806 137.6331 144.7282
## 860 143.4693 141.0072 145.9313
## 861 146.7159 144.1964 149.2355
## 862 142.4314 139.5451 145.3177
## 863 141.9790 138.8681 145.0899
## 864 145.4386 143.2250 147.6521
## 865 143.3628 140.8645 145.8611
## 866 142.4048 139.5058 145.3037
## 867 139.9032 135.5853 144.2211
## 868 147.1684 144.4709 149.8658
## 869 141.8725 138.7061 145.0390
## 870 143.5225 141.0779 145.9671
## 871 144.5870 142.3741 146.7998
## 872 143.6289 141.2177 146.0401
## 873 150.2820 145.8593 154.7047
## 874 143.6289 141.2177 146.0401
## 875 144.2410 141.9792 146.5028
## 876 145.7313 143.4777 147.9849
## 877 145.1990 143.0033 147.3948
## 878 145.3587 143.1526 147.5648
## 879 145.6781 143.4332 147.9229
## 880 147.2748 144.5314 150.0182
## 881 149.7497 145.6594 153.8401
## 882 141.4467 138.0496 144.8439
## 883 143.3096 140.7924 145.8268
## 884 143.6555 141.2524 146.0587
## 885 145.4652 143.2488 147.6815
## 886 147.7804 144.8008 150.7601
## 887 143.5757 141.1481 146.0033
## 888 146.5030 144.0564 148.9497
## 889 142.6443 139.8565 145.4321
## 890 147.1950 144.4861 149.9038
## 891 149.5368 145.5766 153.4971
## 892 151.1070 146.1532 156.0607
## 893 144.9329 142.7409 147.1250
## 894 147.1151 144.4401 149.7902
## 895 145.6781 143.4332 147.9229
## 896 143.1233 140.5366 145.7100
## 897 149.0312 145.3722 152.6903
## 898 145.7579 143.4997 148.0161
## 899 143.0435 140.4254 145.6615
## 900 142.0588 138.9889 145.1287
## 901 142.6709 139.8950 145.4468
## 902 145.5184 143.2959 147.7409
## 903 145.6248 143.3881 147.8616
## 904 140.0363 135.8016 144.2710
## 905 142.4048 139.5058 145.3037
## 906 145.9708 143.6702 148.2714
## 907 145.1990 143.0033 147.3948
## 908 146.4764 144.0383 148.9146
## 909 144.1079 141.8203 146.3956
## 910 140.1427 135.9742 144.3112
## 911 147.3014 144.5463 150.0565
## 912 145.6248 143.3881 147.8616
## 913 143.9217 141.5914 146.2520
## 914 142.0854 139.0291 145.1418
## 915 150.6013 145.9751 155.2276
## 916 149.9094 145.7204 154.0985
## 917 144.7466 142.5469 146.9463
## 918 145.8644 143.5862 148.1425
## 919 141.8991 138.7467 145.0516
## 920 145.6781 143.4332 147.9229
## 921 142.4314 139.5451 145.3177
## 922 140.0363 135.8016 144.2710
## 923 149.2441 145.4597 153.0285
## 924 142.9104 140.2381 145.5827
## 925 147.6474 144.7326 150.5622
## 926 146.0506 143.7317 148.3696
## 927 145.4652 143.2488 147.6815
## 928 145.6781 143.4332 147.9229
## 929 144.5071 142.2854 146.7288
## 930 143.1499 140.5735 145.7263
## 931 145.1990 143.0033 147.3948
## 932 140.9677 137.2969 144.6385
## 933 141.1008 137.5073 144.6942
## 934 147.6740 144.7463 150.6016
## 935 147.3280 144.5611 150.0949
## 936 144.6668 142.4613 146.8723
## 937 143.6822 141.2869 146.0774
## 938 142.3782 139.4665 145.2898
## 939 146.0240 143.7114 148.3367
## 940 145.6781 143.4332 147.9229
## 941 144.1878 141.9161 146.4595
## 942 145.3587 143.1526 147.5648
## 943 145.5450 143.3192 147.7708
## 944 143.1233 140.5366 145.7100
## 945 147.8070 144.8142 150.7998
## 946 147.3546 144.5758 150.1334
## 947 143.4426 140.9717 145.9136
Este modelo, que puede inicialmente pensarse como una extensión de la regresión lineal simple para facilitar su comprensión, y que eventualmente será llamado en este estudio como RLM, tiene como ecuación general aditiva:\[y_i=\beta_0+\beta_1 x_{i1}+\cdots+\beta_k x_{ik}+\varepsilon_i, \hspace{3mm}i=1,2,\dots,n\hspace{10mm}(21)\]
Donde: - $y_i $: Valor observado de la variable dependiente para la observación $ i $ - \(\beta_0\): Intercepto, valor de $ y $ cuando todas las $ x_j = 0 $. - \(\beta_1, \beta_2, \dots, \beta_k\): Coeficientes que indican cuánto cambia \(y\) por cada unidad que cambia \(x_j\), manteniendo constantes las demás variables. - $ _i $: Término de error para la observación \(i\). - $ E() = 0 $: Se asume que el error tiene media cero. - $ V() = ^2 $: La varianza del error es constante.
Además \(E(\epsilon)=0\) y \(V(\epsilon)=\sigma^2\). También, para hacer pruebas de hipótesis y calcular intervalos de confianza y de predicción, se supone que \(\epsilon\) está normalmente distribuida. Complementariamente, con base en el enfoque de los mínimos cuadrados ordinarios, la estimación de sus parámetros se plantea en términos de la minimización de una función de ensayo desde la cual se observan los cuadrados de las desviaciones de la varaible estudiada. La función de ensayo se representa como \(f(b_0,b_1,...,b_k)= \sum_{j}[y_i-(b_0+b_1x_{1j}+b_2x_{2j}+...+b_kx_{kj})]^2\). Esto conduce a un conjunto de ecuaciones normales lineales en \(b_0,b_1,...,b_k\), que al ser resueltas entregan las estimaciones de mínimos cuadrados de \(\hat{\beta_0},\hat{\beta_1},...,, \hat{\beta_k}\).
Complementariamente, la proporción de variación total explicada por el modelo de regresión múltiple a través del coeficiente de determinación múltiple se ajusta, generalmente, con base en el número de parámetros del modelo.
Además, una prueba de utilidad del modelo de regresión lineal múltiple consiste en una prueba de hipótesis basada en un estadístico que tiene una distribución \(F\) particular cuando \(H_0\) es verdadera, esto de expresa en el par:\[H_0:\beta_1=\beta_2=\cdots=\beta_k=0\hspace{10mm}(22)\] \[H_1: \text {al menos una }\beta_i\neq 0\hspace{5mm}(i=1,...,k)\hspace{10mm}(23)\] el valor del estadístico de prueba es:\[f=\frac{R^2/k}{(1-R^2)(n-(k+1))}=\frac{SCR/k}{SCE/(n-(k+1))}=\frac{RMC}{CME}\hspace{10mm}(24)\] donde \(SCR=STC-SCE\), que es la suma de cuadrados de regresión, y la región de rechazo para una prueba de nivel \(\alpha\) es: \[f\geq F_{\alpha, k,n-(k+1)}\hspace{10mm}(25)\] Por último, un intervalo de confianza al \(100(1-\alpha)\%\) para \(\beta_i\) es: \[\hat\beta_i\pm t_{\alpha/2,n-(k+1)}\cdot s_{\hat\beta_{i}}\hspace{10mm}(26)\] y un intervalo de confianza al mismo nivel de significancia para un valor futuro está dado por: \[\hat y\pm t_{\alpha/2,n-(k+1)}\cdot \sqrt{s^2+s^2_{\hat Y}}\hspace{10mm}(27)\] Para cerrar, es necesario mencionar que eventualmente surgen problemas en los análisis de regresión múltiple que implican considerar técnicas de solución relacionadas con transformaciones de no-linealidad, estandarización y selección de variables, identificación de observaciones influyentes, multicolinealidad, entre otras. (Según (Libreros, 2023) )
Con base en el conjunto de datos descrito en la sección 1.2, se formulará un modelo de regresión lineal múltiple para estudiar la relación lineal entre la variable dependiente Max Heart Rate y las variables cualitativas del conjunto de datos: chestpain,restingelectro,slope, noofmajorveseels,gender,excersiceangina,fastingbloodsugar y target como independientes. Este análisis permitirá evaluar cómo estas características categóricas influyen en los valores de frecuencia cardíaca máxima y determinar su impacto en el contexto del estudio.
La navegación a través de las pestañas muestra el resumen estadístico de todas las variables del conjunto de datos relacionadas con afecciones cardiovasculares, excluyendo cualquier identificador posicional (Patirntid), ya que este no aporta información analítica directa. Para las variables de naturaleza cuantitativa, el resumen incluye estadísticas tradicionales como media, mediana, rangos y dispersión. Por otro lado, para las variables cualitativas, el resumen estadístico se presenta mediante conteos absolutos, proporciones relativas y diagramas de barras que facilitan la interpretación visual de la distribución de categorías. Se menciona de nuevo que la variable dependiente del modelo es Max Heart Rate, la cual se analiza detalladamente en relación con las demás variables del conjunto.
summary(Cardiovascular_Disease_Dataset_Depurado$age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 20.0 34.0 49.0 49.3 65.0 80.0
summary(Cardiovascular_Disease_Dataset_Depurado$maxheartrate)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 71 118 145 145 175 202
summary(Cardiovascular_Disease_Dataset_Depurado$restingBP)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 94.0 128.0 144.0 151.1 180.5 200.0
summary(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 85.0 248.0 326.0 328.9 410.0 602.0
summary(Cardiovascular_Disease_Dataset_Depurado$oldpeak)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 1.300 2.400 2.701 4.100 6.200
table(Cardiovascular_Disease_Dataset$chestpain)
##
## 0 1 2 3
## 420 224 312 44
prop.table(table(Cardiovascular_Disease_Dataset$chestpain))
##
## 0 1 2 3
## 0.420 0.224 0.312 0.044
barplot(table(Cardiovascular_Disease_Dataset$chestpain))
table(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)
##
## 0 1 2 3
## 268 325 248 106
prop.table(table(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels))
##
## 0 1 2 3
## 0.2829989 0.3431890 0.2618796 0.1119324
barplot(table(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels))
table(Cardiovascular_Disease_Dataset_Depurado$slope)
##
## 0 1 2 3
## 180 291 294 182
prop.table(table(Cardiovascular_Disease_Dataset_Depurado$slope))
##
## 0 1 2 3
## 0.1900739 0.3072862 0.3104541 0.1921859
barplot(table(Cardiovascular_Disease_Dataset_Depurado$slope))
table(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)
##
## 0 1 2
## 439 324 184
prop.table(table(Cardiovascular_Disease_Dataset_Depurado$restingrelectro))
##
## 0 1 2
## 0.4635692 0.3421331 0.1942978
barplot(table(Cardiovascular_Disease_Dataset_Depurado$restingrelectro))
table(Cardiovascular_Disease_Dataset$gender)
##
## 0 1
## 235 765
prop.table(table(Cardiovascular_Disease_Dataset$gender))
##
## 0 1
## 0.235 0.765
barplot(table(Cardiovascular_Disease_Dataset$gender))
table(Cardiovascular_Disease_Dataset$fastingbloodsugar)
##
## 0 1
## 704 296
prop.table(table(Cardiovascular_Disease_Dataset$fastingbloodsugar))
##
## 0 1
## 0.704 0.296
barplot(table(Cardiovascular_Disease_Dataset$fastingbloodsugar))
table(Cardiovascular_Disease_Dataset$exerciseangia)
##
## 0 1
## 502 498
prop.table(table(Cardiovascular_Disease_Dataset$exerciseangia))
##
## 0 1
## 0.502 0.498
barplot(table(Cardiovascular_Disease_Dataset$exerciseangia))
table(Cardiovascular_Disease_Dataset$target)
##
## 0 1
## 420 580
prop.table(table(Cardiovascular_Disease_Dataset$target))
##
## 0 1
## 0.42 0.58
barplot(table(Cardiovascular_Disease_Dataset$target))
pairs(~maxheartrate + serumcholestrol + oldpeak + restingBP + age, data = Cardiovascular_Disease_Dataset_Depurado)
La navegación a través de las pestañas muestra el resumen y la tabla ANOVA del modelo de regresión lineal múltiple total, así como los coeficientes estimados tanto para este modelo como para el modelo reducido. Con base en la exploración de los datos de la sección 5.2.3, se formulan dos modelos de regresión lineal múltiple (RLM): uno que incluye todas las variables del conjunto de datos relacionadas con afecciones cardiovasculares, y otro que excluye aquellas de menor significancia estadística según el análisis de ANOVA y los resúmenes estadísticos.
Con base en los resultados de la tabla ANOVA, se identificaron las variables más significativas para explicar la variabilidad en Max Heart Rate, aquellas con p-valores menores a 0.05. Estas son: - Resting Blood Pressure (restingBP) (\(p = 0.0027\)), que indica un impacto relevante de las variaciones en la presión arterial en reposo sobre la frecuencia cardíaca máxima. - Serum Cholesterol (serumcholestrol) (\(p = 0.0291\)), que, aunque con menor significancia que otras variables, demuestra ser un predictor relevante. - Gender (as.factor(gender)) (\(p = 0.0183\)), que muestra diferencias significativas en la frecuencia cardíaca máxima según el género. - Chest Pain Type (as.factor(chestpain)) (\(p = 0.0011\)), un factor categórico altamente significativo que refleja cómo los distintos tipos de dolor torácico se asocian con cambios en la frecuencia cardíaca máxima. - Slope of the ST Segment (as.factor(slope)) (\(p = 0.0004\)), una de las variables más significativas, relevante en el estudio de afecciones cardiovasculares. - Target (\(p = 0.0391\)), el diagnóstico de afección cardiovascular, que también tiene un impacto estadísticamente significativo.
Al considerar los resultados presentados en la pestaña Coeficientes del Modelo RLM Total, se establece que el modelo de regresión lineal múltiple total relaciona a las variables de interés, las cuales se resumirán como: MaxHR (Max Heart Rate), Age (Edad), RestingBP (Presión Arterial en Reposo), SerumCholesterol (Colesterol Sérico), Oldpeak (Depresión del segmento ST), G1 (Gender::Male), CP1, CP2, CP3, CP0 (Chest Pain Type), RE1, RE2 (Resting Electrocardiogram), S1, S2, S3 (Slope of the ST Segment), MV1, MV2, MV3 (Number of Major Vessels), EA1 (Exercise-Induced Angina), y Target (Diagnóstico de enfermedad cardiovascular).
Para este modelo, se obvia la interpretación del intercepto debido a que su valor carece de sentido práctico. Esto se debe a que el intercepto representa la frecuencia cardíaca máxima esperada cuando todas las variables predictoras son iguales a cero o están en su categoría base, lo cual resulta fisiológicamente imposible.
Luego de evaluar el resumen estadístico y la tabla ANOVA del modelo RLM Total (como se muestra en la pestaña correspondiente), se identificó que podían excluirse del modelo variables con baja significancia (\(p > 0.05\)), como Number of Major Vessels,Oldpeak, Exercise-Induced Angina y Resting Electrocardiogram, debido a sus altos valores de \(p\). Asimismo, aunque la variable Age mostró cierta significancia en el resumen estadístico, su efecto fue considerado marginal y también fue excluida. En consecuencia, se construyó un modelo reducido que incluye únicamente las variables más significativas para explicar la variabilidad en Max Heart Rate ((\(p > 0.05\)) Estas variables son: Resting Blood Pressure (RBP), Serum Cholesterol (SC), Gender::Male (G1), Chest Pain Types (CP1, CP2, CP3), Slope of the ST Segment (S1, S2, S3), y Target. El modelo tiene la siguiente formulación, con coeficientes redondeados por motivos de claridad:
\(MaxHR=131.2541+0.0042⋅RBP+0.0052⋅SC+4.8143⋅G1+0.4291⋅CP1+2.0925⋅CP2−8.7452⋅CP3−1.5116⋅S1+2.4475⋅S2+6.1563⋅S3+10.6181⋅T\)
En el modelo reducido, el intercepto también carece de sentido práctico por las mismas razones que en el modelo total. Las variables seleccionadas en el modelo reducido reflejan los principales factores asociados con la variabilidad en Max Heart Rate, como la presión arterial en reposo, el colesterol sérico, el género, los tipos de dolor torácico, la pendiente del segmento ST, y el diagnóstico de enfermedad cardiovascular (Target). Este modelo optimizado permite centrar el análisis en las variables con mayor relevancia estadística y contribución explicativa, facilitando su interpretación y aplicación práctica en el contexto de afecciones cardiovasculares.
summary(lm(Cardiovascular_Disease_Dataset_Depurado$maxheartrate~Cardiovascular_Disease_Dataset_Depurado$age+Cardiovascular_Disease_Dataset_Depurado$restingBP+Cardiovascular_Disease_Dataset_Depurado$serumcholestrol+Cardiovascular_Disease_Dataset_Depurado$oldpeak+as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)+as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)+as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)+as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)+as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)+as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)+Cardiovascular_Disease_Dataset_Depurado$target))
##
## Call:
## lm(formula = Cardiovascular_Disease_Dataset_Depurado$maxheartrate ~
## Cardiovascular_Disease_Dataset_Depurado$age + Cardiovascular_Disease_Dataset_Depurado$restingBP +
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol +
## Cardiovascular_Disease_Dataset_Depurado$oldpeak + as.factor(Cardiovascular_Disease_Dataset_Depurado$gender) +
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain) +
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro) +
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope) +
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels) +
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia) +
## Cardiovascular_Disease_Dataset_Depurado$target)
##
## Residuals:
## Min 1Q Median 3Q Max
## -70.516 -25.012 -1.755 28.397 70.438
##
## Coefficients:
## Estimate
## (Intercept) 135.914248
## Cardiovascular_Disease_Dataset_Depurado$age -0.083735
## Cardiovascular_Disease_Dataset_Depurado$restingBP 0.002909
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.004648
## Cardiovascular_Disease_Dataset_Depurado$oldpeak -0.380561
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1 5.285048
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1 0.817717
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2 2.338001
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3 -8.502798
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)1 -0.432092
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)2 1.105126
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1 -1.317443
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2 3.082955
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3 5.955071
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)1 -1.596547
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)2 -2.692784
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)3 2.637254
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)1 1.830122
## Cardiovascular_Disease_Dataset_Depurado$target 10.785116
## Std. Error
## (Intercept) 8.327904
## Cardiovascular_Disease_Dataset_Depurado$age 0.061606
## Cardiovascular_Disease_Dataset_Depurado$restingBP 0.043769
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.010668
## Cardiovascular_Disease_Dataset_Depurado$oldpeak 0.748788
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1 2.929178
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1 3.170328
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2 3.195200
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3 5.726347
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)1 2.535641
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)2 3.305929
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1 3.512530
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2 5.896925
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3 6.199347
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)1 3.009863
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)2 3.493421
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)3 4.393079
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)1 2.196163
## Cardiovascular_Disease_Dataset_Depurado$target 5.220203
## t value
## (Intercept) 16.320
## Cardiovascular_Disease_Dataset_Depurado$age -1.359
## Cardiovascular_Disease_Dataset_Depurado$restingBP 0.066
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.436
## Cardiovascular_Disease_Dataset_Depurado$oldpeak -0.508
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1 1.804
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1 0.258
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2 0.732
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3 -1.485
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)1 -0.170
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)2 0.334
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1 -0.375
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2 0.523
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3 0.961
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)1 -0.530
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)2 -0.771
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)3 0.600
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)1 0.833
## Cardiovascular_Disease_Dataset_Depurado$target 2.066
## Pr(>|t|)
## (Intercept) <2e-16
## Cardiovascular_Disease_Dataset_Depurado$age 0.1744
## Cardiovascular_Disease_Dataset_Depurado$restingBP 0.9470
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.6632
## Cardiovascular_Disease_Dataset_Depurado$oldpeak 0.6114
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1 0.0715
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1 0.7965
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2 0.4645
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3 0.1379
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)1 0.8647
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)2 0.7382
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1 0.7077
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2 0.6012
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3 0.3370
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)1 0.5959
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)2 0.4410
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)3 0.5484
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)1 0.4049
## Cardiovascular_Disease_Dataset_Depurado$target 0.0391
##
## (Intercept) ***
## Cardiovascular_Disease_Dataset_Depurado$age
## Cardiovascular_Disease_Dataset_Depurado$restingBP
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## Cardiovascular_Disease_Dataset_Depurado$oldpeak
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1 .
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)1
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)2
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)1
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)2
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)3
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)1
## Cardiovascular_Disease_Dataset_Depurado$target *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 33.62 on 928 degrees of freedom
## Multiple R-squared: 0.06731, Adjusted R-squared: 0.04922
## F-statistic: 3.721 on 18 and 928 DF, p-value: 2.858e-07
anova(lm(Cardiovascular_Disease_Dataset_Depurado$maxheartrate~Cardiovascular_Disease_Dataset_Depurado$age+Cardiovascular_Disease_Dataset_Depurado$restingBP+Cardiovascular_Disease_Dataset_Depurado$serumcholestrol+Cardiovascular_Disease_Dataset_Depurado$oldpeak+as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)+as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)+as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)+as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)+as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)+as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)+Cardiovascular_Disease_Dataset_Depurado$target))
## Analysis of Variance Table
##
## Response: Cardiovascular_Disease_Dataset_Depurado$maxheartrate
## Df Sum Sq
## Cardiovascular_Disease_Dataset_Depurado$age 1 1883
## Cardiovascular_Disease_Dataset_Depurado$restingBP 1 10237
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 1 5399
## Cardiovascular_Disease_Dataset_Depurado$oldpeak 1 2146
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender) 1 6318
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain) 3 18384
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro) 2 3712
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope) 3 20518
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels) 3 1555
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia) 1 709
## Cardiovascular_Disease_Dataset_Depurado$target 1 4824
## Residuals 928 1048711
## Mean Sq
## Cardiovascular_Disease_Dataset_Depurado$age 1882.9
## Cardiovascular_Disease_Dataset_Depurado$restingBP 10236.7
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 5399.1
## Cardiovascular_Disease_Dataset_Depurado$oldpeak 2146.2
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender) 6317.6
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain) 6128.0
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro) 1856.1
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope) 6839.4
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels) 518.3
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia) 708.6
## Cardiovascular_Disease_Dataset_Depurado$target 4823.7
## Residuals 1130.1
## F value
## Cardiovascular_Disease_Dataset_Depurado$age 1.6661
## Cardiovascular_Disease_Dataset_Depurado$restingBP 9.0584
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 4.7777
## Cardiovascular_Disease_Dataset_Depurado$oldpeak 1.8992
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender) 5.5904
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain) 5.4227
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro) 1.6424
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope) 6.0522
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels) 0.4587
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia) 0.6271
## Cardiovascular_Disease_Dataset_Depurado$target 4.2685
## Residuals
## Pr(>F)
## Cardiovascular_Disease_Dataset_Depurado$age 0.1970985
## Cardiovascular_Disease_Dataset_Depurado$restingBP 0.0026856
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.0290804
## Cardiovascular_Disease_Dataset_Depurado$oldpeak 0.1685025
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender) 0.0182640
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain) 0.0010636
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro) 0.1940697
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope) 0.0004418
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels) 0.7112227
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia) 0.4286414
## Cardiovascular_Disease_Dataset_Depurado$target 0.0391023
## Residuals
##
## Cardiovascular_Disease_Dataset_Depurado$age
## Cardiovascular_Disease_Dataset_Depurado$restingBP **
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol *
## Cardiovascular_Disease_Dataset_Depurado$oldpeak
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender) *
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain) **
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope) ***
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)
## Cardiovascular_Disease_Dataset_Depurado$target *
## Residuals
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
coefficients(lm(Cardiovascular_Disease_Dataset_Depurado$maxheartrate~Cardiovascular_Disease_Dataset_Depurado$age+Cardiovascular_Disease_Dataset_Depurado$restingBP+Cardiovascular_Disease_Dataset_Depurado$serumcholestrol+Cardiovascular_Disease_Dataset_Depurado$oldpeak+as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)+as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)+as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)+as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)+as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)+as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)+Cardiovascular_Disease_Dataset_Depurado$target))
## (Intercept)
## 135.914248012
## Cardiovascular_Disease_Dataset_Depurado$age
## -0.083735132
## Cardiovascular_Disease_Dataset_Depurado$restingBP
## 0.002908791
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## 0.004648202
## Cardiovascular_Disease_Dataset_Depurado$oldpeak
## -0.380560514
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1
## 5.285048470
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1
## 0.817716581
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2
## 2.338000966
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3
## -8.502797524
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)1
## -0.432092428
## as.factor(Cardiovascular_Disease_Dataset_Depurado$restingrelectro)2
## 1.105126107
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1
## -1.317442849
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2
## 3.082955285
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3
## 5.955070641
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)1
## -1.596547213
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)2
## -2.692783906
## as.factor(Cardiovascular_Disease_Dataset_Depurado$noofmajorvessels)3
## 2.637253621
## as.factor(Cardiovascular_Disease_Dataset_Depurado$exerciseangia)1
## 1.830122363
## Cardiovascular_Disease_Dataset_Depurado$target
## 10.785116138
coefficients(lm(Cardiovascular_Disease_Dataset_Depurado$maxheartrate~Cardiovascular_Disease_Dataset_Depurado$restingBP+Cardiovascular_Disease_Dataset_Depurado$serumcholestrol+as.factor (Cardiovascular_Disease_Dataset_Depurado$gender)+as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)+as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)+as.factor(Cardiovascular_Disease_Dataset_Depurado$target)))
## (Intercept)
## 131.254082877
## Cardiovascular_Disease_Dataset_Depurado$restingBP
## 0.004210978
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## 0.005192243
## as.factor(Cardiovascular_Disease_Dataset_Depurado$gender)1
## 4.814253240
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)1
## 0.429088291
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)2
## 2.092520302
## as.factor(Cardiovascular_Disease_Dataset_Depurado$chestpain)3
## -8.745191298
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)1
## -1.511634558
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)2
## 2.447468392
## as.factor(Cardiovascular_Disease_Dataset_Depurado$slope)3
## 6.156322851
## as.factor(Cardiovascular_Disease_Dataset_Depurado$target)1
## 10.618082787
La regresión logística simple se utiliza para analizar la relación entre una variable categórica dependiente y una única variable independiente, permitiendo calcular las probabilidades de pertenencia a distintas categorías.
En el contexto de un conjunto de datos sobre pacientes con afecciones cardiovasculares, este método se puede emplear para estimar la probabilidad de que un paciente presente o no una afección cardiovascular (variable dependiente) en función de una variable explicativa como su nivel de colesterol, presión arterial o edad (variable independiente). Se utiliza la función logit para modelar estas probabilidades y se interpretan los coeficientes en términos de probabilidades, evaluando además la significancia estadística de los predictores.
El modelo permite identificar relaciones significativas entre las variables estudiadas, facilitando la predicción precisa de afecciones cardiovasculares en pacientes específicos. Este enfoque destaca por su capacidad para comprender y modelar relaciones categóricas en datos de salud.
En el caso por tratar, se trabajará con base en una distribución binomial (adecuada para variables que representan una respuesta binaria) con función de enlace logit:\[\pi(x)=\dfrac{e^{\beta_0+\beta_1 x}}{1+ e^{\beta_0 +\beta_1 x}}= \dfrac{1}{1+ e^{-(\beta_0+\beta_1 x)}}\hspace{10mm}(30)\](del inglés logarithmic unit: unidad logarítmica (natural)); que además es apropiada únicamente para la distribución binomial), por lo cual un nombre más adecuado para la regresión podría ser regresión logística binaria. Cabe anotar que el término logístico hace referencia a que la función de enlace constituye, en cierto sentido, un refinamiento del modelo exponencial de crecimiento, descrito por la función sigmoidea, de una magnitud asociada con un conjunto \(C\). (según(Libreros, 2023))
Para interpretar los resultados, la función de enlace \(pi(x)\) se asocia con la razón de probabilidades (ODDS ratio, OR en inglés), definida como el logaritmo: \(log\left(\frac{\pi(x)}{1-\pi(x)}\right)\). Esta función modela la probabilidad de que un paciente presente la afección (nivel de referencia \(1\)) en función de las variables predictoras. Además, la transformación de probabilidades a razones de probabilidad conserva la relación de orden y amplía el intervalo de probabilidad \([0,1]\) al rango \((-\infty, \infty)\). Estas propiedades son fundamentales para interpretar correctamente las relaciones entre éxito (afección presente) y fracaso (afección ausente) en este contexto.
Las propiedades que se dan entre las probabilidades complementarias de éxito y fracaso, sus razones y la función de enlace logit son:
| \(p(éxito)=p(fracaso)\) | \(OR=1\) | \(Logit\left(OR\right)=0\) |
| \(p(éxito)<p(fracaso)\) | \(OR<1\) | \(Logit\left(OR\right)<0\) |
| \(p(éxito)>p(fracaso)\) | \(OR>1\) | \(Logit\left(OR\right)>0\) |
Se entiende que la transformación \(Logit\) carece de sentido para la certeza del éxito o del fracaso.
La navegación a través de las pestañas muestra el resumen estadístico de la variable independiente Serum Cholesterol, incluyendo su boxplot e histograma. Para la variable dependiente Target, se presentará su diagrama de barras, así como los valores de su media y mediana. Además, se mostrará un diagrama de cajas conjunto que ilustra la relación entre ambas variables.
Según la pestaña Histograma de Colesterol Sérico, la distribución general de la variable muestra un comportamiento aproximadamente simétrico, con una mayor concentración de frecuencias en el rango de 200 a 350 mg/dL, indicando que la mayoría de los pacientes tienen niveles de colesterol sérico moderados dentro del conjunto de datos analizado.
Asimismo, con base en la pestaña Resumen y Boxplot Conjunto de Colesterol Sérico-Target, se puede comentar que la variable Colesterol Sérico, en el grupo correspondiente a Target = 0, presenta una distribución con ligera asimetría positiva, con un rango intercuartílico moderado y sin valores atípicos visibles. En contraste, para el grupo con Target = 1, la distribución es más dispersa, con un rango intercuartílico amplio que refleja una mayor variabilidad en los valores de colesterol sérico, aunque también sin presencia de outliers evidentes.
Estos análisis sugieren que existe una mayor dispersión en los niveles de colesterol sérico en pacientes con Target = 1, lo que podría indicar una mayor heterogeneidad en este grupo en comparación con aquellos que presentan Target = 0.
summary(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 85.0 248.0 326.0 328.9 410.0 602.0
boxplot(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, main = "Diagrama de Caja de Colesterol Sérico", col = c("orange"))
summary(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 85.0 248.0 326.0 328.9 410.0 602.0
hist(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, main = "Histograma de Colesterol Sérico", col = c("blue"))
table(Cardiovascular_Disease_Dataset_Depurado$target)
##
## 0 1
## 420 527
prop.table(table(Cardiovascular_Disease_Dataset_Depurado$target))
##
## 0 1
## 0.4435058 0.5564942
barplot(table(Cardiovascular_Disease_Dataset_Depurado$target))
tapply(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, Cardiovascular_Disease_Dataset_Depurado$target, mean)
## 0 1
## 281.0595 366.9867
tapply(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, Cardiovascular_Disease_Dataset_Depurado$target, median)
## 0 1
## 270 368
boxplot(Cardiovascular_Disease_Dataset_Depurado$serumcholestrol~ Cardiovascular_Disease_Dataset_Depurado$target, main = "Boxplot Conjunto: Colesterol Sérico-Target" , col = c("orange", "blue"))
La pestaña Coeficientes del Modelo RLogS permite establecer que el modelo RLogS relaciona a \(\pi(x)\) con \(x\) a través de la función de enlace \(Logit\) de la siguiente manera:\[\frac{\pi(x)}{1-\pi(x)}=e^{-2.259305885+ 0.007703718\cdot x}\hspace{10mm}(31)\]
Asimismo, la pestaña Resumen Estadístico del Modelo RLogS muestra, para efectos de comparación, los resúmenes del modelo basado en la variable dependiente Target y de un modelo alternativo construido con la variable cualitativa Fasting Blood Sugar (Azúcar en Sangre: Sí o No). Basándonos en el criterio de información de Akaike (AIC), que mide la bondad de ajuste de un modelo considerando la relación entre su precisión y complejidad, se observa que el modelo asociado a Fasting Blood Sugar presenta un mejor ajuste, dado que su valor de AIC es menor: \(AIC_{FBS} = 1127.5 < 1160.2 = AIC_{Target}\). Además, para reforzar esta conclusión, el cociente entre la desviación nula y la desviación residual es mayor en el modelo basado en Fasting Blood Sugar, indicando una relación más fuerte entre las variables en este caso que en el modelo basado en Target. Esto sugiere que el nivel de colesterol sérico tiene una mayor capacidad explicativa para predecir la variable Fasting Blood Sugar en comparación con Target.
modelo_RLog_Simple = glm(Cardiovascular_Disease_Dataset_Depurado$target~Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, family = "binomial", data = data.frame(Cardiovascular_Disease_Dataset_Depurado$target, Cardiovascular_Disease_Dataset_Depurado$serumcholestrol))
coef(modelo_RLog_Simple)
## (Intercept)
## -2.259305885
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## 0.007703718
summary(modelo_RLog_Simple)
##
## Call:
## glm(formula = Cardiovascular_Disease_Dataset_Depurado$target ~
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol,
## family = "binomial", data = data.frame(Cardiovascular_Disease_Dataset_Depurado$target,
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol))
##
## Coefficients:
## Estimate Std. Error
## (Intercept) -2.2593059 0.2343919
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.0077037 0.0007057
## z value Pr(>|z|)
## (Intercept) -9.639 <2e-16 ***
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 10.916 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1300.7 on 946 degrees of freedom
## Residual deviance: 1156.2 on 945 degrees of freedom
## AIC: 1160.2
##
## Number of Fisher Scoring iterations: 4
modelo_RLog_Simple_S = glm(Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar~Cardiovascular_Disease_Dataset_Depurado$serumcholestrol, family = "binomial", data = data.frame(Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar,Cardiovascular_Disease_Dataset_Depurado$serumcholestrol))
summary(modelo_RLog_Simple_S)
##
## Call:
## glm(formula = Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar ~
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol,
## family = "binomial", data = data.frame(Cardiovascular_Disease_Dataset_Depurado$fastingbloodsugar,
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol))
##
## Coefficients:
## Estimate Std. Error
## (Intercept) -2.357821 0.239647
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 0.004626 0.000655
## z value Pr(>|z|)
## (Intercept) -9.839 < 2e-16 ***
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol 7.062 1.64e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1176.4 on 946 degrees of freedom
## Residual deviance: 1123.5 on 945 degrees of freedom
## AIC: 1127.5
##
## Number of Fisher Scoring iterations: 4
Se mostrarán, a través de pestañas, los resultados de algunas predicciones obtenidas a través del modelo RLogS para identificar en sus respuestas la correspondencia de sentido en las razones de probabilidades ODDS a favor o en contra del evento considerado: \(\frac{\pi}{1-\pi}\) y \(\frac{1-\pi}{\pi}\), respectivamente. Se menciona de nuevo que las variables de interés son:Serum Cholesterol (variable independiente) y Target (variable dependiente).
La pestaña Variable Predictora Igual a Cero permite dos interpretaciones clave para el modelo basado en Serum Cholesterol y Target.
El coeficiente del intercepto ($ _0 = -2.2593 $) indica la probabilidad base cuando el colesterol sérico es igual a cero (es decir, cuando no hay influencia de la variable independiente). Esto se traduce en una probabilidad de caso favorable extremadamente baja, cercana a cero, lo que sugiere que sin colesterol sérico, la probabilidad del evento considerado (por ejemplo, la presencia de la condición representada por Target) es prácticamente nula.
En una segunda interpretación,el coeficiente asociado al colesterol sérico ($ _1 = 0.0077$) implica un impacto positivo en la probabilidad del evento con cada unidad de incremento en los valores de colesterol sérico. Al calcular el cociente de probabilidades (ODDS ratio), obtenemos un valor de $ e^{0.0077}$ $approx 1.0077 $, lo que significa que por cada unidad de aumento en el colesterol sérico, las probabilidades del evento incrementan en un 0.77%.
Considerando que el colesterol sérico puede medirse con un grado de precisión en miligramos por decilitro (mg/dL), un incremento acumulado a lo largo de un rango clínico razonable (por ejemplo, 100 mg/dL a 200 mg/dL) reflejaría un aumento proporcional significativo en las probabilidades del evento. Este resultado resalta cómo pequeños cambios en la variable predictora pueden tener efectos acumulativos notables en la probabilidad de ocurrencia del evento modelado en Target.
Con base en lo anterior, a través de la pestaña Probabilidades Estimadas se puede observar entre los registros 68 y 69 un delta de cambio absoluto igual a \(0.2687767\) (equivalente a un incremento relativo de aproximadamente 47.44%) al incrementarse la variable predictora en una unidad, como se definió en el análisis previo. Este cambio destaca cómo las probabilidades estimadas se ajustan de manera sensible en respuesta a variaciones en los valores de la variable independiente, reflejando la relación modelada en el análisis de regresión logística simple.
Por último, el gráfico de curva logística, en la pestaña Gráfica del Modelo RLogS, permite visualizar claramente cómo se comportan las probabilidades estimadas en relación con las variables Serum Cholesterol y Target. En este modelo, se observa que a medida que aumentan los niveles de colesterol sérico, la probabilidad de que Target = 1 (es decir, la ocurrencia del evento de interés) también incrementa de manera no lineal, siguiendo una forma sigmoidal.
Cuando los valores de Serum Cholesterol superan los 500 mg/dL, el modelo predice que las probabilidades estimadas de ocurrencia del evento favorable exceden el 90%. Esto significa que, para niveles altos de colesterol sérico, existe una fuerte asociación con la ocurrencia del evento de interés, reflejando una relación positiva significativa entre ambas variables.
Además, este comportamiento no lineal es característico de la regresión logística. A medida que la variable predictora incrementa, las probabilidades se aproximan asintóticamente a 1, lo que indica una casi certeza de que el evento suceda en esos rangos altos de Serum Cholesterol. En términos prácticos, esto subraya el papel del colesterol sérico como un factor relevante y determinante para predecir la condición representada por Target en este análisis.
Desde un punto de vista clínico, la interpretación del modelo resalta la importancia de monitorear los niveles de colesterol sérico, ya que valores significativamente altos están relacionados con un mayor riesgo de estar en la categoría positiva del evento, como podría ser la presencia de una enfermedad cardiovascular. Este modelo puede ser una herramienta útil para evaluar riesgos y tomar decisiones informadas en el ámbito médico.
coef(modelo_RLog_Simple)
## (Intercept)
## -2.259305885
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## 0.007703718
round(exp(coef(modelo_RLog_Simple)),6)
## (Intercept)
## 0.104423
## Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
## 1.007733
predict(modelo_RLog_Simple, data.frame(seq(1, 400)), type = "response")
## Warning: 'newdata' had 400 rows but variables found have 947 rows
## 1 2 3 4 5 6 7 8
## 0.3786801 0.2376915 0.5033227 0.3988130 0.5983217 0.6203235 0.2963098 0.8600808
## 9 10 11 12 13 14 15 16
## 0.7092027 0.2280590 0.3431634 0.6148654 0.6075429 0.4118101 0.2899251 0.4533844
## 17 18 19 20 21 22 23 24
## 0.4230500 0.6897756 0.2697491 0.3678674 0.6057045 0.6112104 0.4230500 0.8058195
## 25 26 27 28 29 30 31 32
## 0.8524983 0.2867635 0.4136774 0.7011953 0.6203235 0.1684313 0.6203235 0.3823119
## 33 34 35 36 37 38 39 40
## 0.4118101 0.4136774 0.4006615 0.8751109 0.5626949 0.6628031 0.7217472 0.7984845
## 41 42 43 44 45 46 47 48
## 0.4211708 0.5052485 0.5052485 0.4155471 0.5607983 0.2280590 0.6764359 0.8664452
## 49 50 51 52 53 54 55 56
## 0.3823119 0.4136774 0.3466446 0.3260147 0.5550982 0.3414290 0.2321532 0.7428810
## 57 58 59 60 61 62 63 64
## 0.8210121 0.4062237 0.3260147 0.6239455 0.3159411 0.4438567 0.6093782 0.6203235
## 65 66 67 68 69 70 71 72
## 0.5302488 0.2883417 0.7107889 0.5664824 0.8352591 0.8872026 0.5983217 0.1695130
## 73 74 75 76 77 78 79 80
## 0.2899251 0.7458129 0.4305886 0.5983217 0.8394556 0.2240159 0.5436558 0.6814735
## 81 82 83 84 85 86 87 88
## 0.3642919 0.8094102 0.4381594 0.5110247 0.3914483 0.5815510 0.8792602 0.5225667
## 89 90 91 92 93 94 95 96
## 0.8331281 0.2253579 0.6781197 0.7922153 0.3501423 0.5927549 0.4155471 0.6400687
## 97 98 99 100 101 102 103 104
## 0.6148654 0.3328216 0.4514759 0.4859931 0.3660778 0.6311478 0.2433200 0.1684313
## 105 106 107 108 109 110 111 112
## 0.4305886 0.7883852 0.5607983 0.8021776 0.5052485 0.3804943 0.7201974 0.5815510
## 113 114 115 116 117 118 119 120
## 0.4514759 0.7458129 0.6130395 0.4533844 0.4136774 0.2335293 0.8254957 0.7792487
## 121 122 123 124 125 126 127 128
## 0.2307828 0.2240159 0.3483914 0.8485812 0.8816923 0.5244884 0.4879177 0.8673342
## 129 130 131 132 133 134 135 136
## 0.6203235 0.5815510 0.4136774 0.8800756 0.5474757 0.8298902 0.8058195 0.4533844
## 137 138 139 140 141 142 143 144
## 0.5321672 0.6995787 0.6203235 0.3969674 0.5702622 0.8331281 0.4706158 0.2963098
## 145 146 147 148 149 150 151 152
## 0.5645896 0.2376915 0.6696551 0.3431634 0.5759165 0.7155166 0.8742665 0.6781197
## 153 154 155 156 157 158 159 160
## 0.5474757 0.2727948 0.8699710 0.7629369 0.3714575 0.8800756 0.6148654 0.3969674
## 161 162 163 164 165 166 167 168
## 0.4136774 0.2931073 0.7232916 0.8287999 0.7369511 0.6576186 0.5264093 0.3483914
## 169 170 171 172 173 174 175 176
## 0.6914216 0.7139459 0.8646522 0.4763773 0.7384418 0.6148654 0.6471368 0.5129495
## 177 178 179 180 181 182 183 184
## 0.7587315 0.8759504 0.3969674 0.9151601 0.2240159 0.4438567 0.5834245 0.8320543
## 185 186 187 188 189 190 191 192
## 0.8341963 0.4725356 0.6488940 0.4230500 0.4572054 0.6239455 0.7909443 0.2712693
## 193 194 195 196 197 198 199 200
## 0.4249314 0.8445791 0.7186424 0.5927549 0.3209570 0.4514759 0.1695130 0.8033972
## 201 202 203 204 205 206 207 208
## 0.2307828 0.6831434 0.7544756 0.5531948 0.7896676 0.5607983 0.2335293 0.3345344
## 209 210 211 212 213 214 215 216
## 0.1684313 0.6148654 0.6576186 0.2376915 0.7060149 0.8742665 0.4305886 0.5983217
## 217 218 219 220 221 222 223 224
## 0.6897756 0.5607983 0.7845038 0.6881247 0.8287999 0.5167979 0.2697491 0.7501693
## 225 226 227 228 229 230 231 232
## 0.6764359 0.6979572 0.3625097 0.4763773 0.5759165 0.3660778 0.7186424 0.5927549
## 233 234 235 236 237 238 239 240
## 0.2253579 0.7324465 0.8058195 0.4686970 0.6400687 0.5071741 0.2280590 0.2712693
## 241 242 243 244 245 246 247 248
## 0.5474757 0.6112104 0.5815510 0.6593510 0.6946992 0.4917679 0.4917679 0.6436106
## 249 250 251 252 253 254 255 256
## 0.7883852 0.5052485 0.8363164 0.6203235 0.3642919 0.4533844 0.7587315 0.4324784
## 257 258 259 260 261 262 263 264
## 0.7458129 0.2335293 0.6203235 0.4362638 0.3011512 0.2851905 0.5871642 0.2963098
## 265 266 267 268 269 270 271 272
## 0.3969674 0.5946132 0.7011953 0.6148654 0.8646522 0.7947401 0.2321532 0.8699710
## 273 274 275 276 277 278 279 280
## 0.3176084 0.2280590 0.2774036 0.5796751 0.7028069 0.2712693 0.2376915 0.2820600
## 281 282 283 284 285 286 287 288
## 0.3044038 0.4324784 0.8465909 0.8175907 0.3932850 0.5927549 0.7384418 0.8759504
## 289 290 291 292 293 294 295 296
## 0.2335293 0.8320543 0.7984845 0.7123700 0.4591178 0.3951247 0.3714575 0.2433200
## 297 298 299 300 301 302 303 304
## 0.2376915 0.4174193 0.5740339 0.2267056 0.9151601 0.4268150 0.5264093 0.8872026
## 305 306 307 308 309 310 311 312
## 0.4438567 0.2758620 0.6382920 0.2335293 0.7959939 0.5946132 0.3501423 0.8243832
## 313 314 315 316 317 318 319 320
## 0.4136774 0.4667791 0.5983217 0.2979186 0.6713571 0.6203235 0.5436558 0.7248308
## 321 322 323 324 325 326 327 328
## 0.4782993 0.8673342 0.5436558 0.4686970 0.6382920 0.7414067 0.4476632 0.8070221
## 329 330 331 332 333 334 335 336
## 0.5721491 0.7725515 0.6020189 0.8210121 0.4419559 0.7011953 0.3226383 0.5983217
## 337 338 339 340 341 342 343 344
## 0.3260147 0.6148654 0.3328216 0.5187214 0.5983217 0.5946132 0.6781197 0.7870971
## 345 346 347 348 349 350 351 352
## 0.6185074 0.8187368 0.4514759 0.7615407 0.7263647 0.7458129 0.5908939 0.7443497
## 353 354 355 356 357 358 359 360
## 0.6057045 0.5071741 0.4136774 0.3176084 0.8572763 0.5493835 0.4155471 0.4136774
## 361 362 363 364 365 366 367 368
## 0.4080832 0.5815510 0.4514759 0.7011953 0.4725356 0.3159411 0.4305886 0.7428810
## 369 370 371 372 373 374 375 376
## 0.7443497 0.3431634 0.6112104 0.4495688 0.8021776 0.5983217 0.5436558 0.6166880
## 377 378 379 380 381 382 383 384
## 0.5815510 0.3518972 0.6130395 0.3896147 0.7458129 0.7883852 0.5607983 0.5852956
## 385 386 387 388 389 390 391 392
## 0.4879177 0.6995787 0.8287999 0.6148654 0.7170821 0.8751109 0.4706158 0.3431634
## 393 394 395 396 397 398 399 400
## 0.7076114 0.7501693 0.2253579 0.2376915 0.5264093 0.8664452 0.6038632 0.7959939
## 401 402 403 404 405 406 407 408
## 0.6148654 0.5777969 0.8856515 0.3431634 0.8164390 0.4268150 0.4533844 0.2307828
## 409 410 411 412 413 414 415 416
## 0.8751109 0.3483914 0.7011953 0.4591178 0.4476632 0.6382920 0.5283295 0.8277041
## 417 418 419 420 421 422 423 424
## 0.3518972 0.2433200 0.2995324 0.9145600 0.4686970 0.4043669 0.8298902 0.6221362
## 425 426 427 428 429 430 431 432
## 0.5759165 0.2240159 0.6696551 0.5645896 0.4552942 0.4975450 0.4099454 0.8655512
## 433 434 435 436 437 438 439 440
## 0.5815510 0.4514759 0.6185074 0.2335293 0.5436558 0.7092027 0.2697491 0.7643274
## 441 442 443 444 445 446 447 448
## 0.8221414 0.7792487 0.6275537 0.6148654 0.5607983 0.4136774 0.8485812 0.2947060
## 449 450 451 452 453 454 455 456
## 0.7896676 0.4249314 0.4648622 0.4118101 0.6713571 0.4155471 0.4136774 0.6897756
## 457 458 459 460 461 462 463 464
## 0.7530457 0.4514759 0.6148654 0.2267056 0.3414290 0.2267056 0.7107889 0.3804943
## 465 466 467 468 469 470 471 472
## 0.3328216 0.4305886 0.3362516 0.3294092 0.6148654 0.7501693 0.7670914 0.2712693
## 473 474 475 476 477 478 479 480
## 0.2307828 0.6400687 0.8243832 0.7443497 0.3176084 0.4305886 0.8534644 0.4438567
## 481 482 483 484 485 486 487 488
## 0.8690970 0.5379166 0.4763773 0.4514759 0.8655512 0.8164390 0.5664824 0.5815510
## 489 490 491 492 493 494 495 496
## 0.7278932 0.3243242 0.4514759 0.3625097 0.3294092 0.6001717 0.6541411 0.2307828
## 497 498 499 500 501 502 503 504
## 0.4629463 0.6453757 0.5474757 0.8320543 0.5052485 0.7107889 0.8524983 0.5052485
## 505 506 507 508 509 510 511 512
## 0.8734172 0.4514759 0.4514759 0.3466446 0.7139459 0.5852956 0.7458129 0.6400687
## 513 514 515 516 517 518 519 520
## 0.2947060 0.4744561 0.3932850 0.5436558 0.6112104 0.5550982 0.8864294 0.2253579
## 521 522 523 524 525 526 527 528
## 0.2899251 0.6897756 0.8515269 0.4400568 0.5052485 0.4324784 0.4025128 0.4859931
## 529 530 531 532 533 534 535 536
## 0.4629463 0.3714575 0.8254957 0.6185074 0.5148739 0.4956191 0.6112104 0.3159411
## 537 538 539 540 541 542 543 544
## 0.6541411 0.6365115 0.2915136 0.4514759 0.4514759 0.5090995 0.4763773 0.5110247
## 545 546 547 548 549 550 551 552
## 0.7399270 0.3328216 0.7487227 0.4099454 0.8808863 0.6471368 0.6963306 0.3466446
## 553 554 555 556 557 558 559 560
## 0.7845038 0.2240159 0.5777969 0.4821451 0.5379166 0.6764359 0.6662379 0.8751109
## 561 562 563 564 565 566 567 568
## 0.8175907 0.5589000 0.7845038 0.8435652 0.3877842 0.6112104 0.6185074 0.4362638
## 569 570 571 572 573 574 575 576
## 0.2294180 0.4118101 0.8544252 0.6075429 0.6148654 0.3732579 0.5908939 0.7011953
## 577 578 579 580 581 582 583 584
## 0.4006615 0.7845038 0.3678674 0.7044134 0.4324784 0.7779206 0.8129500 0.7831986
## 585 586 587 588 589 590 591 592
## 0.3969674 0.8856515 0.3823119 0.4956191 0.7232916 0.3396989 0.2280590 0.3176084
## 593 594 595 596 597 598 599 600
## 0.7558998 0.5379166 0.7443497 0.5244884 0.8117757 0.6148654 0.3536562 0.2240159
## 601 602 603 604 605 606 607 608
## 0.6148654 0.3536562 0.5436558 0.3501423 0.7414067 0.6382920 0.6946992 0.4025128
## 609 610 611 612 613 614 615 616
## 0.5983217 0.4305886 0.4118101 0.8152816 0.2931073 0.1673550 0.6764359 0.6628031
## 617 618 619 620 621 622 623 624
## 0.5244884 0.5110247 0.3277097 0.5569999 0.3877842 0.4118101 0.5033227 0.3243242
## 625 626 627 628 629 630 631 632
## 0.5908939 0.5683733 0.8352591 0.2335293 0.4879177 0.8363164 0.6382920 0.4648622
## 633 634 635 636 637 638 639 640
## 0.6747475 0.3823119 0.4457592 0.4667791 0.6995787 0.8610053 0.6203235 0.6075429
## 641 642 643 644 645 646 647 648
## 0.8742665 0.2253579 0.4305886 0.3951247 0.8856515 0.4099454 0.6001717 0.8485812
## 649 650 651 652 653 654 655 656
## 0.5436558 0.5815510 0.8046112 0.7792487 0.3859569 0.4552942 0.8800756 0.5398308
## 657 658 659 660 661 662 663 664
## 0.4821451 0.8152816 0.5187214 0.6814735 0.4514759 0.2774036 0.8187368 0.7369511
## 665 666 667 668 669 670 671 672
## 0.6400687 0.5777969 0.7558998 0.5589000 0.2758620 0.7947401 0.5927549 0.5815510
## 673 674 675 676 677 678 679 680
## 0.4591178 0.4136774 0.6831434 0.7725515 0.7458129 0.3176084 0.2335293 0.8505503
## 681 682 683 684 685 686 687 688
## 0.7516103 0.7765869 0.5607983 0.4514759 0.5436558 0.3877842 0.5871642 0.3877842
## 689 690 691 692 693 694 695 696
## 0.5052485 0.6148654 0.6382920 0.6523961 0.2789504 0.8210121 0.5777969 0.4381594
## 697 698 699 700 701 702 703 704
## 0.2321532 0.7443497 0.5983217 0.7123700 0.7972420 0.5550982 0.7725515 0.8628389
## 705 706 707 708 709 710 711 712
## 0.4381594 0.3501423 0.7428810 0.4610315 0.7883852 0.2280590 0.4211708 0.4533844
## 713 714 715 716 717 718 719 720
## 0.2376915 0.5340847 0.2307828 0.7818877 0.6185074 0.8808863 0.5090995 0.4118101
## 721 722 723 724 725 726 727 728
## 0.6185074 0.9145600 0.4725356 0.5664824 0.6203235 0.3060374 0.4136774 0.4324784
## 729 730 731 732 733 734 735 736
## 0.2851905 0.7044134 0.4136774 0.6558819 0.6523961 0.8832900 0.1684313 0.6057045
## 737 738 739 740 741 742 743 744
## 0.5607983 0.4725356 0.2294180 0.6075429 0.5206444 0.6038632 0.3804943 0.4381594
## 745 746 747 748 749 750 751 752
## 0.8320543 0.8485812 0.4514759 0.8485812 0.9145600 0.4514759 0.7657122 0.4136774
## 753 754 755 756 757 758 759 760
## 0.4136774 0.6781197 0.6020189 0.4438567 0.5702622 0.2294180 0.8824935 0.4324784
## 761 762 763 764 765 766 767 768
## 0.4514759 0.7896676 0.5340847 0.2321532 0.8232651 0.3896147 0.4802219 0.4006615
## 769 770 771 772 773 774 775 776
## 0.4343701 0.4898426 0.3076760 0.7845038 0.3126207 0.4136774 0.7217472 0.8619247
## 777 778 779 780 781 782 783 784
## 0.4514759 0.5167979 0.4136774 0.6781197 0.5927549 0.5721491 0.5890303 0.4706158
## 785 786 787 788 789 790 791 792
## 0.4211708 0.8187368 0.5493835 0.3518972 0.4782993 0.4686970 0.7458129 0.7959939
## 793 794 795 796 797 798 799 800
## 0.6038632 0.8164390 0.6112104 0.5626949 0.5927549 0.8425459 0.6112104 0.4287008
## 801 802 803 804 805 806 807 808
## 0.2947060 0.4514759 0.2774036 0.7294163 0.8515269 0.7232916 0.5721491 0.5607983
## 809 810 811 812 813 814 815 816
## 0.7779206 0.6382920 0.3932850 0.3768692 0.3176084 0.5983217 0.7896676 0.4725356
## 817 818 819 820 821 822 823 824
## 0.7443497 0.4514759 0.2335293 0.8572763 0.3277097 0.3607313 0.7107889 0.3483914
## 825 826 827 828 829 830 831 832
## 0.7972420 0.7107889 0.5206444 0.8600808 0.8046112 0.7629369 0.4192939 0.5852956
## 833 834 835 836 837 838 839 840
## 0.4667791 0.5187214 0.5607983 0.5512899 0.3466446 0.6436106 0.7263647 0.7076114
## 841 842 843 844 845 846 847 848
## 0.6593510 0.7845038 0.6696551 0.2307828 0.5645896 0.8742665 0.7458129 0.8425459
## 849 850 851 852 853 854 855 856
## 0.8373683 0.4514759 0.6347273 0.4230500 0.7501693 0.7896676 0.6057045 0.2307828
## 857 858 859 860 861 862 863 864
## 0.4136774 0.7501693 0.3027750 0.4572054 0.6831434 0.3841327 0.3536562 0.5983217
## 865 866 867 868 869 870 871 872
## 0.4495688 0.3823119 0.2307828 0.7107889 0.3466446 0.4610315 0.5379166 0.4686970
## 873 874 875 876 877 878 879 880
## 0.8582163 0.4686970 0.5129495 0.6185074 0.5815510 0.5927549 0.6148654 0.7170821
## 881 882 883 884 885 886 887 888
## 0.8384146 0.3192804 0.4457592 0.4706158 0.6001717 0.7458129 0.4648622 0.6696551
## 889 890 891 892 893 894 895 896
## 0.3988130 0.7123700 0.8298902 0.8848690 0.5626949 0.7076114 0.6148654 0.4324784
## 897 898 899 900 901 902 903 904
## 0.8082190 0.6203235 0.4268150 0.3589567 0.4006615 0.6038632 0.6112104 0.2376915
## 905 906 907 908 909 910 911 912
## 0.3823119 0.6347273 0.5815510 0.6679487 0.5033227 0.2433200 0.7186424 0.6112104
## 913 914 915 916 917 918 919 920
## 0.4898426 0.3607313 0.8690970 0.8445791 0.5493835 0.6275537 0.3483914 0.6148654
## 921 922 923 924 925 926 927 928
## 0.3841327 0.2376915 0.8175907 0.4174193 0.7384418 0.6400687 0.6001717 0.6148654
## 929 930 931 932 933 934 935 936
## 0.5321672 0.4343701 0.5815510 0.2899251 0.2979186 0.7399270 0.7201974 0.5436558
## 937 938 939 940 941 942 943 944
## 0.4725356 0.3804943 0.6382920 0.6148654 0.5090995 0.5927549 0.6057045 0.4324784
## 945 946 947
## 0.7472706 0.7217472 0.4552942
target <- Cardiovascular_Disease_Dataset_Depurado$target
serumcholesterol <- Cardiovascular_Disease_Dataset_Depurado$serumcholestrol
dataPlot <- data.frame(serumcholesterol,target)
plot(target~serumcholesterol, data = dataPlot, main = "Modelo RLogS: Serum cholesterol-Target", xlab = "serumCholesterol", ylab = "Target = 0 | Target = 1", col = "gold", pch = "I")
curve(predict(glm(target~serumcholesterol, family = "binomial", data = dataPlot), data.frame(serumcholesterol = x), type = "response"), col = "orange", lwd = 3, add = TRUE)
Complementariamente a los análisis que fueron expuestos en las secciones de estudio de cada modelo tratado en este trabajo, es importante realizar una reflexión global sobre el problema estudiado a la luz de los hallazgos obtenidos.
El análisis realizado demuestra que las variables seleccionadas, particularmente Serum Cholesterol y Target, tienen un impacto significativo en la capacidad predictiva del modelo para determinar la probabilidad de padecer una afección cardiovascular. Se evidenció que a medida que los niveles de colesterol sérico aumentan, la probabilidad de ocurrencia de la condición representada por Target también incrementa, alcanzando niveles de certeza altos (superiores al 90%) en valores elevados de la variable independiente. Sin embargo, el modelo también mostró que ciertas variables alternativas, como Fasting Blood Sugar, pueden ser útiles para complementar el análisis y ampliar el rango de explicaciones.
Aunque las variables trabajadas en este estudio explican una proporción significativa de la variabilidad de la condición cardiovascular, es evidente que no capturan todo el fenómeno. Este espacio de incertidumbre, equivalente al porcentaje de variabilidad no explicada, abre la puerta a futuras investigaciones que incorporen características adicionales, como factores genéticos, estilo de vida, antecedentes familiares, entre otros. Con ello, sería posible construir modelos más robustos y precisos, capaces de proporcionar una evaluación más completa del riesgo cardiovascular.
Por último, es relevante destacar el aspecto técnico del procesamiento estadístico realizado en este estudio. La experiencia de utilizar herramientas como R, RStudio y RMarkdown fue gratificante, ya que estas plataformas no solo facilitaron la implementación eficiente y robusta del análisis, sino que también ofrecieron soporte adecuado para documentar y presentar los resultados de forma profesional. Este aprendizaje no solo refuerza las habilidades técnicas, sino que inspira a pensar en la posibilidad de entrenar modelos más avanzados en el futuro.
Es importante mencionar que, entre los modelos trabajados, el modelo de regresión logística fue considerado el más robusto y entretenido para el análisis de los datos. Su capacidad para capturar relaciones no lineales y traducirlas en probabilidades interpretables fue clave para entender los factores relacionados con la probabilidad de ocurrencia de eventos cardiovasculares.
Como motivación futura,sería interesante considerar el desarrollo de un modelo más complejo que integre una mayor cantidad de características, permitiendo predecir con mayor exactitud si un paciente sufre o no de una afección cardiovascular. Esta perspectiva abre la puerta a un enfoque preventivo y personalizado que podría beneficiar tanto a pacientes como a profesionales de la salud.
Finalmente,se recuerda que este trabajo fue realizado en la Universidad del Valle, seccional Zarzal, en el marco del curso de Gestión de Datos para Ingeniería Industrial, correspondiente al periodo agosto-diciembre de 2024. Por tanto, este proyecto no contará con actualizaciones posteriores…