Sys.setlocale("LC_ALL", "es_ES.UTF-8")
[1] "LC_COLLATE=es_ES.UTF-8;LC_CTYPE=es_ES.UTF-8;LC_MONETARY=es_ES.UTF-8;LC_NUMERIC=C;LC_TIME=es_ES.UTF-8"
El objetivo de esta actividad es la aplicación práctica de los conceptos explicados durante la semana 25 del Máster.
Con el dataset “wine_quality_red.csv”, ¿Qué factores afectan al pH del vino tinto?. Realizad una regresión multilineal y comentad los resultados.
set.seed(123)
Carga y visualización de datos
wine_red <- read_csv("winequality-red.csv", locale = locale(encoding = "UTF-8"))
attach(wine_red)
head(wine_red) %>% kable (format = "html") %>%
kable_styling (bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size= 12)
fixed acidity | volatile acidity | citric acid | residual sugar | chlorides | free sulfur dioxide | total sulfur dioxide | density | pH | sulphates | alcohol | quality |
---|---|---|---|---|---|---|---|---|---|---|---|
7.4 | 0.70 | 0.00 | 1.9 | 0.076 | 11 | 34 | 0.9978 | 3.51 | 0.56 | 9.4 | 5 |
7.8 | 0.88 | 0.00 | 2.6 | 0.098 | 25 | 67 | 0.9968 | 3.20 | 0.68 | 9.8 | 5 |
7.8 | 0.76 | 0.04 | 2.3 | 0.092 | 15 | 54 | 0.9970 | 3.26 | 0.65 | 9.8 | 5 |
11.2 | 0.28 | 0.56 | 1.9 | 0.075 | 17 | 60 | 0.9980 | 3.16 | 0.58 | 9.8 | 6 |
7.4 | 0.70 | 0.00 | 1.9 | 0.076 | 11 | 34 | 0.9978 | 3.51 | 0.56 | 9.4 | 5 |
7.4 | 0.66 | 0.00 | 1.8 | 0.075 | 13 | 40 | 0.9978 | 3.51 | 0.56 | 9.4 | 5 |
Sea necesario o no para el algoritmo que vayamos a utilizar, siempre es bueno escalar las variables numéricas, para que su peso en las predicciones no se vea afectado por las escalas de valores de cada variable.
# Reescalmos las variables
wine_red_z = scale(wine_red, center = T, scale = T) %>% as.data.frame()
#Compronamos como ha quedao el reescalado.
head (wine_red_z) %>% kable (format = "html") %>%
kable_styling (bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size= 12)
fixed acidity | volatile acidity | citric acid | residual sugar | chlorides | free sulfur dioxide | total sulfur dioxide | density | pH | sulphates | alcohol | quality |
---|---|---|---|---|---|---|---|---|---|---|---|
-0.5281944 | 0.9615758 | -1.391037 | -0.4530767 | -0.2436305 | -0.4660467 | -0.3790141 | 0.5580999 | 1.2882399 | -0.5790254 | -0.9599458 | -0.7875763 |
-0.2984541 | 1.9668271 | -1.391037 | 0.0434026 | 0.2238052 | 0.8723653 | 0.6241680 | 0.0282519 | -0.7197081 | 0.1289101 | -0.5845942 | -0.7875763 |
-0.2984541 | 1.2966596 | -1.185699 | -0.1693742 | 0.0963227 | -0.0836433 | 0.2289750 | 0.1342215 | -0.3310730 | -0.0480738 | -0.5845942 | -0.7875763 |
1.6543385 | -1.3840105 | 1.483689 | -0.4530767 | -0.2648775 | 0.1075584 | 0.4113718 | 0.6640695 | -0.9787982 | -0.4610361 | -0.5845942 | 0.4507074 |
-0.5281944 | 0.9615758 | -1.391037 | -0.4530767 | -0.2436305 | -0.4660467 | -0.3790141 | 0.5580999 | 1.2882399 | -0.5790254 | -0.9599458 | -0.7875763 |
-0.5281944 | 0.7381867 | -1.391037 | -0.5240023 | -0.2648775 | -0.2748450 | -0.1966174 | 0.5580999 | 1.2882399 | -0.5790254 | -0.9599458 | -0.7875763 |
A partir de ahora, vamos a empezar a generar modelos predictivos. Estos modelos necesitan primero ser “entrenados” usando unos datos con resultado conocido. Una vez “entrenado”, para verificar que el modelo producido es bueno, necesitamos “validarlo” usando unos datos con resultado conocido diferentes a los usados para el entrenamiento. Por esta razón vamos a dividir todos los resultados de la tabla en dos grupos, el de entrenamiento (80%) y el de validación (20%)
# Dividimos los datos en "train" (entrenamiento) y "test" (validación)
train = createDataPartition(wine_red_z$pH, p = 0.8, list = FALSE)
train.data = wine_red_z[train, ]
test.data = wine_red_z[-train, ]
filas80pct = nrow (train.data)
filas20pct = nrow (test.data)
La cantidad de filas que conforman el 80% del dataset wine_red_z es de 1281, mientras que el otro 20% es de 318
NOTA: La función createDataPartition trata de mantener en la partición la distribución de la variable dependiente.
Ecuación:
\[** y = b_0 + b_1 \times x_1 + b_2 \times
x_2 + b_3 \times x_3 + \dots + b_n \times x_n + e **\]
Donde: - b0 es el intercepto. - b1,
b2, … , bn son los coeficientes de las variables
independientes x1, x2, … , xn.
- e
es el término de error.
Estudio de Multicolinealidad: Factor de Inflación de la Varianza (VIF)
¿Qué es la Multicolinealidad?: La multicolinealidad ocurre cuando las variables independientes en un modelo de regresión lineal están correlacionadas. Esto puede ser problemático porque puede hacer que la estimación de los coeficientes sea menos precisa, lo que a su vez puede afectar a la interpretación del modelo.
Uso del VIF: El VIF mide cuánto se infla la varianza de un coeficiente estimado debido a la multicolinealidad. Un VIF alto para una variable independiente indica una fuerte correlación con otras variables independientes en el modelo, lo que sugiere multicolinealidad.
Interpretación del VIF:
Cómo se Calcula: Para cada variable independiente en el modelo, se ajusta un modelo de regresión lineal usando esa variable como dependiente y las demás independientes del modelo original como predictoras. El VIF se calcula como 1/(1-R²), donde R² es el coeficiente de determinación del modelo ajustado.
Acciones a Tomar en Caso de Multicolinealidad Alta:
VAMOS A CREAR EL MODELO DE REGRESIÓN LINEAL
# Primer Modelo
lm1 = lm(pH ~ . - quality, train.data)# pH marca la variable dependiente, "." nos indica que usemos todas las variables independientes, "- quality" quitamos esta variable del análisis.
vif (lm1)
`fixed acidity` `volatile acidity` `citric acid`
3.796467 1.815624 3.237577
`residual sugar` chlorides `free sulfur dioxide`
1.523592 1.371009 1.902456
`total sulfur dioxide` density sulphates
2.118467 4.025800 1.379428
alcohol
2.167047
Según este estadístico las variables pueden mostrar multicolinealidad con otras variables cuando el valor es > 5. Como se puede observar ninguna de las variables de estudio muestran valores por encima de 5. Se puede pensar que la variable densidad(4.026) puede presentar multicolinealidad al estar próxima a 5, por lo que para ver si el modelo mejora se elimina esta variable y se comparan los valores de AIC.
# Generamos el modelo 2, quitando la variable densidad
lm2 = update (lm1, . ~ . - density)
# Comparamos los AIC de cada modelo para ver cual es el mejor.
AIC (lm1, lm2)
df AIC
lm1 12 2099.120
lm2 11 2624.463
Como se puede ver en los resultados anteriores el modelo lm2 (sin la variable densidad) muestra un valor de AIC de 2624.463 que es mayor que el valor de AIC del modelo con todas las variables (lm1), por lo tanto, se puede asumir que el modelo no mejora al eliminar la variable densidad. El siguiente paso es examinar los residuos del modelo para comprobar si se cumplen los supuestos necesarios de los modelos lineales.
par (mfrow = c(2, 2) ) #En R se pueden hacer varios graficos por ventana. Para ello, antes de ejecutar la función plot(), se puede ejecutar: par(mfrov = c(filas, columnas) ) Los graficos se irdn mostrando en pantalla por filas. En caso de que se quieran mostrar por columnas en la función anterior se sustituye mfrov por mfcol.
plot (lm1, add.smooth = F)
Supuestos que se deben cumplir para un modelo de regresión lineal
1 No hay Patrones en los Residuos - Significado. Los residuos de un modelos de regresión lineal son la diferencia entre los valores observados y los valores predichos por el modelo. Idealmente, estos residuos deben ser aleatorios y no mostrar ningún patrón específico. - Cómo se Verifica en Gráficos. Un gráfico de residuos (residuos vs. valores ajustados) no debe mostrar patrones claros. Si los residuos se distribuyen aleatoriamente y no forman un patrón discernible, esto sugiere que el modelo se ajusta bien a los datos. - Importancia. Los patrones en los residuos pueden indicar que el modelo no captura alguna relación no lineal o que existen variables omitidas que son importantes para el modelo.
2 Distribución normal de los Residuos - Significado. Para la mayoría de las pruebas estadísticas en regresión lineal, se asume que los residuos siguen una distribución normal. - Cómo se Verifica en Gráficos. Un gráfico de normalidad, como un histograma de residuos o un gráfico Q-Q (quantile-quantile), se utiliza para evaluar esto. En un gráfico Q-Q, si los puntos caen aproximadamente sobre la línea recta diagonal, sugiere una distribución normal. - Importancia. La normalidad de los residuos asegura que las estimaciones de los intervalos de confianza y las pruebas de hipótesis sean válidas.
3 No hay Heterocedasticidad - Significado La heterocedasticidad ocurre cuando la varianza de los residuos no es constante a través de todas las observaciones. Idealmente, queremos homocedasticidad, donde la varianza de los residuos es constante. - Cómo se verifica en los gráficos: Se observa en un gráfico de residuos vs valores ajustados(Grafico \(\sqrt{Standarized residuals}\)). Si la dispersión de los residuos es uniforme a lo largo del rango de valores ajustados, indica homocedasticidad. La heterocedasticidad se manifiesta como una dispersión que cambia (por ejemplo, forma de embudo) a lo largo del eje horizontal. - Importancia: La heterocedasticidad puede llevar a estimaciones de los coeficientes menos precisas y a pruebas de significancia poco confiables
4 No hay Valores Extremos
summary(lm1)
Call:
lm(formula = pH ~ . - quality, data = train.data)
Residuals:
Min 1Q Median 3Q Max
-2.08788 -0.33481 -0.00191 0.33516 2.95525
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.002301 0.015268 -0.151 0.8802
`fixed acidity` -1.115664 0.030150 -37.003 < 2e-16 ***
`volatile acidity` 0.035472 0.020481 1.732 0.0835 .
`citric acid` -0.025707 0.027419 -0.938 0.3486
`residual sugar` -0.239932 0.019225 -12.480 < 2e-16 ***
chlorides -0.148355 0.018766 -7.906 5.74e-15 ***
`free sulfur dioxide` 0.110217 0.020634 5.342 1.09e-07 ***
`total sulfur dioxide` -0.149583 0.022024 -6.792 1.70e-11 ***
density 0.803731 0.031602 25.433 < 2e-16 ***
sulphates -0.091186 0.017858 -5.106 3.79e-07 ***
alcohol 0.505517 0.022754 22.217 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5463 on 1270 degrees of freedom
Multiple R-squared: 0.7028, Adjusted R-squared: 0.7004
F-statistic: 300.3 on 10 and 1270 DF, p-value: < 2.2e-16
Pero si queremos obtener el mismo resumen pero con un formato más presentable podemos usar las posibilidad disponibles aquí: https://strengejacke.github.io/sjPlot/articles/tab_model_estimates.html
library (sjPlot)
library (sjmisc)
library (sjlabelled)
# Generamos una tabla formateada con las datos generados por el modelo.
# tab_model(lm1, collapse.ci = TRUE)
tab_model(lm1)
pH | |||
---|---|---|---|
Predictors | Estimates | CI | p |
(Intercept) | -0.00 | -0.03 – 0.03 | 0.880 |
fixed acidity | -1.12 | -1.17 – -1.06 | <0.001 |
volatile acidity | 0.04 | -0.00 – 0.08 | 0.084 |
citric acid | -0.03 | -0.08 – 0.03 | 0.349 |
residual sugar | -0.24 | -0.28 – -0.20 | <0.001 |
chlorides | -0.15 | -0.19 – -0.11 | <0.001 |
free sulfur dioxide | 0.11 | 0.07 – 0.15 | <0.001 |
total sulfur dioxide | -0.15 | -0.19 – -0.11 | <0.001 |
density | 0.80 | 0.74 – 0.87 | <0.001 |
sulphates | -0.09 | -0.13 – -0.06 | <0.001 |
alcohol | 0.51 | 0.46 – 0.55 | <0.001 |
Observations | 1281 | ||
R2 / R2 adjusted | 0.703 / 0.700 |
Una vez generado el modelo, pasamos a generar las Predicciones o validarlo
predictions = lm1 %>% predict (test.data)
data.frame (
R2 = R2 (predictions, test.data$pH),
RMSE = RMSE (predictions, test.data$pH),
MAE = MAE (predictions, test.data$pH),
AIC = AIC (lm1),
BIC = BIC (lm1)
)
R2 RMSE MAE AIC BIC
1 0.6875361 0.5660411 0.4333743 2099.12 2160.985
Ahora nos dan también el dataset “wine_quality_white”. Comparad gráficamente y mediante tests de hipótesis las características de ambos vinos. Intentad que visualmente sea muy claro, es decir, son comparaciones y no se admitirán gráficos individuales o que el lector tenga que ir buscando resultados sueltos por todo el documento. Recordad que todos los gráficos y tablas deben ser autoexplicativos (colores, nombres en los ejes, leyendas, títulos…)
# Cargamos la nueva tabla de datos
wine_white <- read_csv("winequality-white.csv", locale = locale(encoding = "UTF-8"))
# Comprobamos la pinta que tiene la tabla
head (wine_white) %>% kable (format = "html") %>%
kable_styling (bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size= 12)
fixed acidity | volatile acidity | citric acid | residual sugar | chlorides | free sulfur dioxide | total sulfur dioxide | density | pH | sulphates | alcohol | quality |
---|---|---|---|---|---|---|---|---|---|---|---|
7.0 | 0.27 | 0.36 | 20.7 | 0.045 | 45 | 170 | 1.0010 | 3.00 | 0.45 | 8.8 | 6 |
6.3 | 0.30 | 0.34 | 1.6 | 0.049 | 14 | 132 | 0.9940 | 3.30 | 0.49 | 9.5 | 6 |
8.1 | 0.28 | 0.40 | 6.9 | 0.050 | 30 | 97 | 0.9951 | 3.26 | 0.44 | 10.1 | 6 |
7.2 | 0.23 | 0.32 | 8.5 | 0.058 | 47 | 186 | 0.9956 | 3.19 | 0.40 | 9.9 | 6 |
7.2 | 0.23 | 0.32 | 8.5 | 0.058 | 47 | 186 | 0.9956 | 3.19 | 0.40 | 9.9 | 6 |
8.1 | 0.28 | 0.40 | 6.9 | 0.050 | 30 | 97 | 0.9951 | 3.26 | 0.44 | 10.1 | 6 |
Distribución de las distintas variables en función del tipo de vino
# library(ggplot2)
# library(reshape2)
# library(WRS2)
wine_red$wine = "red" # Anadimos una columna con "red" en todas las filas
wine_white$wine = "white" # Añadimos una columna con "white" en todas las filas
#Comprobamos el cambio introducido
head(wine_white) %>% kable(format = "html") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE,
position = "center",
font_size= 12)
fixed acidity | volatile acidity | citric acid | residual sugar | chlorides | free sulfur dioxide | total sulfur dioxide | density | pH | sulphates | alcohol | quality | wine |
---|---|---|---|---|---|---|---|---|---|---|---|---|
7.0 | 0.27 | 0.36 | 20.7 | 0.045 | 45 | 170 | 1.0010 | 3.00 | 0.45 | 8.8 | 6 | white |
6.3 | 0.30 | 0.34 | 1.6 | 0.049 | 14 | 132 | 0.9940 | 3.30 | 0.49 | 9.5 | 6 | white |
8.1 | 0.28 | 0.40 | 6.9 | 0.050 | 30 | 97 | 0.9951 | 3.26 | 0.44 | 10.1 | 6 | white |
7.2 | 0.23 | 0.32 | 8.5 | 0.058 | 47 | 186 | 0.9956 | 3.19 | 0.40 | 9.9 | 6 | white |
7.2 | 0.23 | 0.32 | 8.5 | 0.058 | 47 | 186 | 0.9956 | 3.19 | 0.40 | 9.9 | 6 | white |
8.1 | 0.28 | 0.40 | 6.9 | 0.050 | 30 | 97 | 0.9951 | 3.26 | 0.44 | 10.1 | 6 | white |
# Unimos ambas tablas en una sola.
wines = rbind(wine_red, wine_white)
# Reorganizamos La tabla en una de tres columnas donde aparezca el tipo de vino, las otras variables una tras otra, el valor de dichas variables. Es decir "fundimos" las columnas de las distinas variables en una sola.
wine_r = melt(wines, id.vars = "wine", measure.vars = 1:12)
# Comprobamos como queda la tabla
wine_r %>% head() %>% kable() %>% kable_styling()
wine | variable | value |
---|---|---|
red | fixed acidity | 7.4 |
red | fixed acidity | 7.8 |
red | fixed acidity | 7.8 |
red | fixed acidity | 11.2 |
red | fixed acidity | 7.4 |
red | fixed acidity | 7.4 |
Ahora tenemos una tabla con la que facilmente podemos representar la comparativa de cada una de las variables
ggplot(wine_r, aes(x = wine, y = value)) +
geom_boxplot() +
facet_wrap(~ variable, nrow = 3, ncol = 4, scales = "free")
Se observan muchos outliers, por lo que los tests de hipótesis se recomiendan que sean robustos.
Las comillas invertidas (`) se utilizan en este caso para manejar los nombres de las columnas que pueden contener espacios o caracteres especiales. En R, si tienes un nombre de columna como “fixed acidity”, necesitas usar comillas invertidas para referirte a ella en una fórmula o en otras funciones, de lo contrario R lo interpretara como dos objetos separados, “fixed” y “acidity”. Por lo tanto, “paste0(`variable` wine)” esta asegurando que cada nombre de columna se maneje correctamente en la fórmula, sin importar si contiene espacios o caracteres especiales.
# Recogemos Los nombres de las columnas numéricas en un vector
nombres_columnas <- colnames(wines)[sapply(wines, is.numeric)] # Por si hubiese alguna columna no numerica se aplica el sappLy.
# Creamos un dataframe para almacenar Los resultados.
resultados <- data.frame(
Variable = nombres_columnas,
Estimador = numeric(length(nombres_columnas)),
CI_95_inf = numeric(length(nombres_columnas)),
CI_95_sup = numeric(length(nombres_columnas)),
p_valor = numeric(length(nombres_columnas)),
p_valor_ajustado = numeric(length(nombres_columnas))
)
# Bucle para aplicar el test a cada variable numérica
for(i in 1:length(nombres_columnas)){
variable = nombres_columnas[i]
print(variable)
f = as.formula(paste0("`", variable, "` ~ wine")) # ES un forma de añadirle las comillas invertidas a las nombres de las variables
print(f)# solo para ver como queda f
test = pb2gen(f, data = wines, est = "median")
resultados$Estimador[i] <- test$test
resultados$CI_95_inf[i] <- test$conf.int[1]
resultados$CI_95_sup[i] <- test$conf.int[2]
resultados$p_valor[i] <- test$p.value
}
[1] "fixed acidity"
`fixed acidity` ~ wine
[1] "volatile acidity"
`volatile acidity` ~ wine
[1] "citric acid"
`citric acid` ~ wine
[1] "residual sugar"
`residual sugar` ~ wine
[1] "chlorides"
chlorides ~ wine
[1] "free sulfur dioxide"
`free sulfur dioxide` ~ wine
[1] "total sulfur dioxide"
`total sulfur dioxide` ~ wine
[1] "density"
density ~ wine
[1] "pH"
pH ~ wine
[1] "sulphates"
sulphates ~ wine
[1] "alcohol"
alcohol ~ wine
[1] "quality"
quality ~ wine
# Añadimos el ajuste de Los valores p
resultados$p_valor_ajustado <- p.adjust(resultados$p_valor, method = "bonferroni")
# Mostramos La tabla
resultados %>%
kable(format = "html") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE,
position = "center",
font_size= 12)
Variable | Estimador | CI_95_inf | CI_95_sup | p_valor | p_valor_ajustado |
---|---|---|---|---|---|
fixed acidity | 1.10000 | 1.000000 | 1.20000 | 0.0000000 | 0.0000000 |
volatile acidity | 0.26000 | 0.245000 | 0.27000 | 0.0000000 | 0.0000000 |
citric acid | -0.06000 | -0.080000 | -0.05000 | 0.0000000 | 0.0000000 |
residual sugar | -3.00000 | -3.250000 | -2.80000 | 0.0000000 | 0.0000000 |
chlorides | 0.03600 | 0.035000 | 0.03750 | 0.0000000 | 0.0000000 |
free sulfur dioxide | -20.00000 | -21.000000 | -19.00000 | 0.0000000 | 0.0000000 |
total sulfur dioxide | -96.00000 | -99.000000 | -94.00000 | 0.0000000 | 0.0000000 |
density | 0.00301 | 0.002835 | 0.00314 | 0.0000000 | 0.0000000 |
pH | 0.13000 | 0.120000 | 0.15000 | 0.0000000 | 0.0000000 |
sulphates | 0.15000 | 0.130000 | 0.16000 | 0.0000000 | 0.0000000 |
alcohol | -0.20000 | -0.300000 | -0.10000 | 0.0050083 | 0.0601002 |
quality | 0.00000 | 0.000000 | 0.00000 | 0.9949917 | 1.0000000 |
Realizad un análisis exploratorio, una regresión logística del dataset “diabetes.csv” e intentad predecir la diabetes. La variable dependiente es “Outcome”.
data <- read_csv("diabetes.csv", locale = locale(encoding = "UTF-8"))
kable(head(data, 5), format = "html", escape = FALSE) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size = 12)
Pregnancies | Glucose | BloodPressure | SkinThickness | Insulin | BMI | DiabetesPedigreeFunction | Age | Outcome |
---|---|---|---|---|---|---|---|---|
6 | 148 | 72 | 35 | 0 | 33.6 | 0.627 | 50 | 1 |
1 | 85 | 66 | 29 | 0 | 26.6 | 0.351 | 31 | 0 |
8 | 183 | 64 | 0 | 0 | 23.3 | 0.672 | 32 | 1 |
1 | 89 | 66 | 23 | 94 | 28.1 | 0.167 | 21 | 0 |
0 | 137 | 40 | 35 | 168 | 43.1 | 2.288 | 33 | 1 |
data <- data %>%
mutate(Outcome = ifelse(Outcome == 1, "Positive", "Negative")) %>% # Cambiamos 1 y 0 por positivo o negativo
mutate(Outcome = factor(Outcome, levels = c("Positive", "Negative"), labels = c("Positive", "Negative"))) %>%
relocate(Outcome, .before = Pregnancies)
kable(head(data, 5), format = "html", escape = FALSE) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size = 12)
Outcome | Pregnancies | Glucose | BloodPressure | SkinThickness | Insulin | BMI | DiabetesPedigreeFunction | Age |
---|---|---|---|---|---|---|---|---|
Positive | 6 | 148 | 72 | 35 | 0 | 33.6 | 0.627 | 50 |
Negative | 1 | 85 | 66 | 29 | 0 | 26.6 | 0.351 | 31 |
Positive | 8 | 183 | 64 | 0 | 0 | 23.3 | 0.672 | 32 |
Negative | 1 | 89 | 66 | 23 | 94 | 28.1 | 0.167 | 21 |
Positive | 0 | 137 | 40 | 35 | 168 | 43.1 | 2.288 | 33 |
PRESENTACIÓN DEL MODELO FINAL
A continuación se llevarán a cabo los siguientes pasos:
Selección del Modelo Basado en AIC: Se calculará el AIC (Criterio de Información de Akaike) para cada combinación posible de variables explicativas en el modelo de regresión logística. Esto permitirá identificar la combinación de variables que proporciona el mejor equilibrio entre la complejidad del modelo y el ajuste de los datos.
El AIC combina dos aspectos importantes: qué tan bien el modelo se
ajusta a los datos y cuán complejo es el modelo (cuántos parámetros
tiene).
Un modelo con un mejor ajuste tendrá un AIC más bajo, pero añadir más
parámetros (haciéndolo más complejo) puede aumentar el AIC. Así que el
AIC busca el modelo que tiene el mejor ajuste con la menor complejidad
posible.
El modelo con el AIC más bajo entre un conjunto de modelos es generalmente el considerado mejor.
Construcción y Ajuste del Modelo Final: Una vez identificada la mejor combinación de variables (aquella que tiene el AIC más bajo), se construirá la fórmula del modelo final. Se mostrará también la lista de todas las combinaciones posibles de variables con sus respectivos valores de AIC, ordenados de menor a mayor.
Resumen y Presentación del Modelo Final: Destacaremos aquellos términos estadísticamente significativos en el modelo seleccionado en base al AIC.
#Creamos LA función personalizada para caloular el AIC de un modelo dado
calc_aic <- function(vars, data) {
# Construimos la fórmula del modelo como una cadena de texto
formula <- as.formula (paste ("Outcome ~", paste(vars, collapse = "+")))
#Ajustamos el modelo de regresión logistica
model <- glm(formula, data = data, family = binomial () )
# Calcula el AIC del modelo
AIC (model)
}
# Lista de variables predictoras
predictores <- c('Pregnancies', 'Glucose', 'BloodPressure', 'SkinThickness', 'Insulin' , 'BMI', 'DiabetesPedigreeFunction', 'Age')
# Generamos todas las combinaciones posibles de las variables predictoras
combinaciones <- list ()
for (i in 1:length (predictores)) {
combinaciones <- c(combinaciones, combn(predictores, i, simplify = FALSE))
}
print (combinaciones)
[[1]]
[1] "Pregnancies"
[[2]]
[1] "Glucose"
[[3]]
[1] "BloodPressure"
[[4]]
[1] "SkinThickness"
[[5]]
[1] "Insulin"
[[6]]
[1] "BMI"
[[7]]
[1] "DiabetesPedigreeFunction"
[[8]]
[1] "Age"
[[9]]
[1] "Pregnancies" "Glucose"
[[10]]
[1] "Pregnancies" "BloodPressure"
[[11]]
[1] "Pregnancies" "SkinThickness"
[[12]]
[1] "Pregnancies" "Insulin"
[[13]]
[1] "Pregnancies" "BMI"
[[14]]
[1] "Pregnancies" "DiabetesPedigreeFunction"
[[15]]
[1] "Pregnancies" "Age"
[[16]]
[1] "Glucose" "BloodPressure"
[[17]]
[1] "Glucose" "SkinThickness"
[[18]]
[1] "Glucose" "Insulin"
[[19]]
[1] "Glucose" "BMI"
[[20]]
[1] "Glucose" "DiabetesPedigreeFunction"
[[21]]
[1] "Glucose" "Age"
[[22]]
[1] "BloodPressure" "SkinThickness"
[[23]]
[1] "BloodPressure" "Insulin"
[[24]]
[1] "BloodPressure" "BMI"
[[25]]
[1] "BloodPressure" "DiabetesPedigreeFunction"
[[26]]
[1] "BloodPressure" "Age"
[[27]]
[1] "SkinThickness" "Insulin"
[[28]]
[1] "SkinThickness" "BMI"
[[29]]
[1] "SkinThickness" "DiabetesPedigreeFunction"
[[30]]
[1] "SkinThickness" "Age"
[[31]]
[1] "Insulin" "BMI"
[[32]]
[1] "Insulin" "DiabetesPedigreeFunction"
[[33]]
[1] "Insulin" "Age"
[[34]]
[1] "BMI" "DiabetesPedigreeFunction"
[[35]]
[1] "BMI" "Age"
[[36]]
[1] "DiabetesPedigreeFunction" "Age"
[[37]]
[1] "Pregnancies" "Glucose" "BloodPressure"
[[38]]
[1] "Pregnancies" "Glucose" "SkinThickness"
[[39]]
[1] "Pregnancies" "Glucose" "Insulin"
[[40]]
[1] "Pregnancies" "Glucose" "BMI"
[[41]]
[1] "Pregnancies" "Glucose"
[3] "DiabetesPedigreeFunction"
[[42]]
[1] "Pregnancies" "Glucose" "Age"
[[43]]
[1] "Pregnancies" "BloodPressure" "SkinThickness"
[[44]]
[1] "Pregnancies" "BloodPressure" "Insulin"
[[45]]
[1] "Pregnancies" "BloodPressure" "BMI"
[[46]]
[1] "Pregnancies" "BloodPressure"
[3] "DiabetesPedigreeFunction"
[[47]]
[1] "Pregnancies" "BloodPressure" "Age"
[[48]]
[1] "Pregnancies" "SkinThickness" "Insulin"
[[49]]
[1] "Pregnancies" "SkinThickness" "BMI"
[[50]]
[1] "Pregnancies" "SkinThickness"
[3] "DiabetesPedigreeFunction"
[[51]]
[1] "Pregnancies" "SkinThickness" "Age"
[[52]]
[1] "Pregnancies" "Insulin" "BMI"
[[53]]
[1] "Pregnancies" "Insulin"
[3] "DiabetesPedigreeFunction"
[[54]]
[1] "Pregnancies" "Insulin" "Age"
[[55]]
[1] "Pregnancies" "BMI"
[3] "DiabetesPedigreeFunction"
[[56]]
[1] "Pregnancies" "BMI" "Age"
[[57]]
[1] "Pregnancies" "DiabetesPedigreeFunction"
[3] "Age"
[[58]]
[1] "Glucose" "BloodPressure" "SkinThickness"
[[59]]
[1] "Glucose" "BloodPressure" "Insulin"
[[60]]
[1] "Glucose" "BloodPressure" "BMI"
[[61]]
[1] "Glucose" "BloodPressure"
[3] "DiabetesPedigreeFunction"
[[62]]
[1] "Glucose" "BloodPressure" "Age"
[[63]]
[1] "Glucose" "SkinThickness" "Insulin"
[[64]]
[1] "Glucose" "SkinThickness" "BMI"
[[65]]
[1] "Glucose" "SkinThickness"
[3] "DiabetesPedigreeFunction"
[[66]]
[1] "Glucose" "SkinThickness" "Age"
[[67]]
[1] "Glucose" "Insulin" "BMI"
[[68]]
[1] "Glucose" "Insulin"
[3] "DiabetesPedigreeFunction"
[[69]]
[1] "Glucose" "Insulin" "Age"
[[70]]
[1] "Glucose" "BMI"
[3] "DiabetesPedigreeFunction"
[[71]]
[1] "Glucose" "BMI" "Age"
[[72]]
[1] "Glucose" "DiabetesPedigreeFunction"
[3] "Age"
[[73]]
[1] "BloodPressure" "SkinThickness" "Insulin"
[[74]]
[1] "BloodPressure" "SkinThickness" "BMI"
[[75]]
[1] "BloodPressure" "SkinThickness"
[3] "DiabetesPedigreeFunction"
[[76]]
[1] "BloodPressure" "SkinThickness" "Age"
[[77]]
[1] "BloodPressure" "Insulin" "BMI"
[[78]]
[1] "BloodPressure" "Insulin"
[3] "DiabetesPedigreeFunction"
[[79]]
[1] "BloodPressure" "Insulin" "Age"
[[80]]
[1] "BloodPressure" "BMI"
[3] "DiabetesPedigreeFunction"
[[81]]
[1] "BloodPressure" "BMI" "Age"
[[82]]
[1] "BloodPressure" "DiabetesPedigreeFunction"
[3] "Age"
[[83]]
[1] "SkinThickness" "Insulin" "BMI"
[[84]]
[1] "SkinThickness" "Insulin"
[3] "DiabetesPedigreeFunction"
[[85]]
[1] "SkinThickness" "Insulin" "Age"
[[86]]
[1] "SkinThickness" "BMI"
[3] "DiabetesPedigreeFunction"
[[87]]
[1] "SkinThickness" "BMI" "Age"
[[88]]
[1] "SkinThickness" "DiabetesPedigreeFunction"
[3] "Age"
[[89]]
[1] "Insulin" "BMI"
[3] "DiabetesPedigreeFunction"
[[90]]
[1] "Insulin" "BMI" "Age"
[[91]]
[1] "Insulin" "DiabetesPedigreeFunction"
[3] "Age"
[[92]]
[1] "BMI" "DiabetesPedigreeFunction"
[3] "Age"
[[93]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[[94]]
[1] "Pregnancies" "Glucose" "BloodPressure" "Insulin"
[[95]]
[1] "Pregnancies" "Glucose" "BloodPressure" "BMI"
[[96]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "DiabetesPedigreeFunction"
[[97]]
[1] "Pregnancies" "Glucose" "BloodPressure" "Age"
[[98]]
[1] "Pregnancies" "Glucose" "SkinThickness" "Insulin"
[[99]]
[1] "Pregnancies" "Glucose" "SkinThickness" "BMI"
[[100]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "DiabetesPedigreeFunction"
[[101]]
[1] "Pregnancies" "Glucose" "SkinThickness" "Age"
[[102]]
[1] "Pregnancies" "Glucose" "Insulin" "BMI"
[[103]]
[1] "Pregnancies" "Glucose"
[3] "Insulin" "DiabetesPedigreeFunction"
[[104]]
[1] "Pregnancies" "Glucose" "Insulin" "Age"
[[105]]
[1] "Pregnancies" "Glucose"
[3] "BMI" "DiabetesPedigreeFunction"
[[106]]
[1] "Pregnancies" "Glucose" "BMI" "Age"
[[107]]
[1] "Pregnancies" "Glucose"
[3] "DiabetesPedigreeFunction" "Age"
[[108]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "Insulin"
[[109]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "BMI"
[[110]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "DiabetesPedigreeFunction"
[[111]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "Age"
[[112]]
[1] "Pregnancies" "BloodPressure" "Insulin" "BMI"
[[113]]
[1] "Pregnancies" "BloodPressure"
[3] "Insulin" "DiabetesPedigreeFunction"
[[114]]
[1] "Pregnancies" "BloodPressure" "Insulin" "Age"
[[115]]
[1] "Pregnancies" "BloodPressure"
[3] "BMI" "DiabetesPedigreeFunction"
[[116]]
[1] "Pregnancies" "BloodPressure" "BMI" "Age"
[[117]]
[1] "Pregnancies" "BloodPressure"
[3] "DiabetesPedigreeFunction" "Age"
[[118]]
[1] "Pregnancies" "SkinThickness" "Insulin" "BMI"
[[119]]
[1] "Pregnancies" "SkinThickness"
[3] "Insulin" "DiabetesPedigreeFunction"
[[120]]
[1] "Pregnancies" "SkinThickness" "Insulin" "Age"
[[121]]
[1] "Pregnancies" "SkinThickness"
[3] "BMI" "DiabetesPedigreeFunction"
[[122]]
[1] "Pregnancies" "SkinThickness" "BMI" "Age"
[[123]]
[1] "Pregnancies" "SkinThickness"
[3] "DiabetesPedigreeFunction" "Age"
[[124]]
[1] "Pregnancies" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[[125]]
[1] "Pregnancies" "Insulin" "BMI" "Age"
[[126]]
[1] "Pregnancies" "Insulin"
[3] "DiabetesPedigreeFunction" "Age"
[[127]]
[1] "Pregnancies" "BMI"
[3] "DiabetesPedigreeFunction" "Age"
[[128]]
[1] "Glucose" "BloodPressure" "SkinThickness" "Insulin"
[[129]]
[1] "Glucose" "BloodPressure" "SkinThickness" "BMI"
[[130]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "DiabetesPedigreeFunction"
[[131]]
[1] "Glucose" "BloodPressure" "SkinThickness" "Age"
[[132]]
[1] "Glucose" "BloodPressure" "Insulin" "BMI"
[[133]]
[1] "Glucose" "BloodPressure"
[3] "Insulin" "DiabetesPedigreeFunction"
[[134]]
[1] "Glucose" "BloodPressure" "Insulin" "Age"
[[135]]
[1] "Glucose" "BloodPressure"
[3] "BMI" "DiabetesPedigreeFunction"
[[136]]
[1] "Glucose" "BloodPressure" "BMI" "Age"
[[137]]
[1] "Glucose" "BloodPressure"
[3] "DiabetesPedigreeFunction" "Age"
[[138]]
[1] "Glucose" "SkinThickness" "Insulin" "BMI"
[[139]]
[1] "Glucose" "SkinThickness"
[3] "Insulin" "DiabetesPedigreeFunction"
[[140]]
[1] "Glucose" "SkinThickness" "Insulin" "Age"
[[141]]
[1] "Glucose" "SkinThickness"
[3] "BMI" "DiabetesPedigreeFunction"
[[142]]
[1] "Glucose" "SkinThickness" "BMI" "Age"
[[143]]
[1] "Glucose" "SkinThickness"
[3] "DiabetesPedigreeFunction" "Age"
[[144]]
[1] "Glucose" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[[145]]
[1] "Glucose" "Insulin" "BMI" "Age"
[[146]]
[1] "Glucose" "Insulin"
[3] "DiabetesPedigreeFunction" "Age"
[[147]]
[1] "Glucose" "BMI"
[3] "DiabetesPedigreeFunction" "Age"
[[148]]
[1] "BloodPressure" "SkinThickness" "Insulin" "BMI"
[[149]]
[1] "BloodPressure" "SkinThickness"
[3] "Insulin" "DiabetesPedigreeFunction"
[[150]]
[1] "BloodPressure" "SkinThickness" "Insulin" "Age"
[[151]]
[1] "BloodPressure" "SkinThickness"
[3] "BMI" "DiabetesPedigreeFunction"
[[152]]
[1] "BloodPressure" "SkinThickness" "BMI" "Age"
[[153]]
[1] "BloodPressure" "SkinThickness"
[3] "DiabetesPedigreeFunction" "Age"
[[154]]
[1] "BloodPressure" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[[155]]
[1] "BloodPressure" "Insulin" "BMI" "Age"
[[156]]
[1] "BloodPressure" "Insulin"
[3] "DiabetesPedigreeFunction" "Age"
[[157]]
[1] "BloodPressure" "BMI"
[3] "DiabetesPedigreeFunction" "Age"
[[158]]
[1] "SkinThickness" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[[159]]
[1] "SkinThickness" "Insulin" "BMI" "Age"
[[160]]
[1] "SkinThickness" "Insulin"
[3] "DiabetesPedigreeFunction" "Age"
[[161]]
[1] "SkinThickness" "BMI"
[3] "DiabetesPedigreeFunction" "Age"
[[162]]
[1] "Insulin" "BMI"
[3] "DiabetesPedigreeFunction" "Age"
[[163]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "Insulin"
[[164]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "BMI"
[[165]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "DiabetesPedigreeFunction"
[[166]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "Age"
[[167]]
[1] "Pregnancies" "Glucose" "BloodPressure" "Insulin"
[5] "BMI"
[[168]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "Insulin"
[5] "DiabetesPedigreeFunction"
[[169]]
[1] "Pregnancies" "Glucose" "BloodPressure" "Insulin"
[5] "Age"
[[170]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "BMI"
[5] "DiabetesPedigreeFunction"
[[171]]
[1] "Pregnancies" "Glucose" "BloodPressure" "BMI"
[5] "Age"
[[172]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "DiabetesPedigreeFunction"
[5] "Age"
[[173]]
[1] "Pregnancies" "Glucose" "SkinThickness" "Insulin"
[5] "BMI"
[[174]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "Insulin"
[5] "DiabetesPedigreeFunction"
[[175]]
[1] "Pregnancies" "Glucose" "SkinThickness" "Insulin"
[5] "Age"
[[176]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "BMI"
[5] "DiabetesPedigreeFunction"
[[177]]
[1] "Pregnancies" "Glucose" "SkinThickness" "BMI"
[5] "Age"
[[178]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "DiabetesPedigreeFunction"
[5] "Age"
[[179]]
[1] "Pregnancies" "Glucose"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction"
[[180]]
[1] "Pregnancies" "Glucose" "Insulin" "BMI" "Age"
[[181]]
[1] "Pregnancies" "Glucose"
[3] "Insulin" "DiabetesPedigreeFunction"
[5] "Age"
[[182]]
[1] "Pregnancies" "Glucose"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[183]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "Insulin"
[5] "BMI"
[[184]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "DiabetesPedigreeFunction"
[[185]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "Insulin"
[5] "Age"
[[186]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "BMI"
[5] "DiabetesPedigreeFunction"
[[187]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "BMI"
[5] "Age"
[[188]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "DiabetesPedigreeFunction"
[5] "Age"
[[189]]
[1] "Pregnancies" "BloodPressure"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction"
[[190]]
[1] "Pregnancies" "BloodPressure" "Insulin" "BMI"
[5] "Age"
[[191]]
[1] "Pregnancies" "BloodPressure"
[3] "Insulin" "DiabetesPedigreeFunction"
[5] "Age"
[[192]]
[1] "Pregnancies" "BloodPressure"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[193]]
[1] "Pregnancies" "SkinThickness"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction"
[[194]]
[1] "Pregnancies" "SkinThickness" "Insulin" "BMI"
[5] "Age"
[[195]]
[1] "Pregnancies" "SkinThickness"
[3] "Insulin" "DiabetesPedigreeFunction"
[5] "Age"
[[196]]
[1] "Pregnancies" "SkinThickness"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[197]]
[1] "Pregnancies" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[198]]
[1] "Glucose" "BloodPressure" "SkinThickness" "Insulin"
[5] "BMI"
[[199]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "DiabetesPedigreeFunction"
[[200]]
[1] "Glucose" "BloodPressure" "SkinThickness" "Insulin"
[5] "Age"
[[201]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "BMI"
[5] "DiabetesPedigreeFunction"
[[202]]
[1] "Glucose" "BloodPressure" "SkinThickness" "BMI"
[5] "Age"
[[203]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "DiabetesPedigreeFunction"
[5] "Age"
[[204]]
[1] "Glucose" "BloodPressure"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction"
[[205]]
[1] "Glucose" "BloodPressure" "Insulin" "BMI"
[5] "Age"
[[206]]
[1] "Glucose" "BloodPressure"
[3] "Insulin" "DiabetesPedigreeFunction"
[5] "Age"
[[207]]
[1] "Glucose" "BloodPressure"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[208]]
[1] "Glucose" "SkinThickness"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction"
[[209]]
[1] "Glucose" "SkinThickness" "Insulin" "BMI"
[5] "Age"
[[210]]
[1] "Glucose" "SkinThickness"
[3] "Insulin" "DiabetesPedigreeFunction"
[5] "Age"
[[211]]
[1] "Glucose" "SkinThickness"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[212]]
[1] "Glucose" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[213]]
[1] "BloodPressure" "SkinThickness"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction"
[[214]]
[1] "BloodPressure" "SkinThickness" "Insulin" "BMI"
[5] "Age"
[[215]]
[1] "BloodPressure" "SkinThickness"
[3] "Insulin" "DiabetesPedigreeFunction"
[5] "Age"
[[216]]
[1] "BloodPressure" "SkinThickness"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[217]]
[1] "BloodPressure" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[218]]
[1] "SkinThickness" "Insulin"
[3] "BMI" "DiabetesPedigreeFunction"
[5] "Age"
[[219]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "Insulin" "BMI"
[[220]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "Insulin" "DiabetesPedigreeFunction"
[[221]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "Insulin" "Age"
[[222]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "BMI" "DiabetesPedigreeFunction"
[[223]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "BMI" "Age"
[[224]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "DiabetesPedigreeFunction" "Age"
[[225]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[[226]]
[1] "Pregnancies" "Glucose" "BloodPressure" "Insulin"
[5] "BMI" "Age"
[[227]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "Insulin"
[5] "DiabetesPedigreeFunction" "Age"
[[228]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[229]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[[230]]
[1] "Pregnancies" "Glucose" "SkinThickness" "Insulin"
[5] "BMI" "Age"
[[231]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "Insulin"
[5] "DiabetesPedigreeFunction" "Age"
[[232]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[233]]
[1] "Pregnancies" "Glucose"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[234]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[[235]]
[1] "Pregnancies" "BloodPressure" "SkinThickness" "Insulin"
[5] "BMI" "Age"
[[236]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "DiabetesPedigreeFunction" "Age"
[[237]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[238]]
[1] "Pregnancies" "BloodPressure"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[239]]
[1] "Pregnancies" "SkinThickness"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[240]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[[241]]
[1] "Glucose" "BloodPressure" "SkinThickness" "Insulin"
[5] "BMI" "Age"
[[242]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "DiabetesPedigreeFunction" "Age"
[[243]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[244]]
[1] "Glucose" "BloodPressure"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[245]]
[1] "Glucose" "SkinThickness"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[246]]
[1] "BloodPressure" "SkinThickness"
[3] "Insulin" "BMI"
[5] "DiabetesPedigreeFunction" "Age"
[[247]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "Insulin" "BMI"
[7] "DiabetesPedigreeFunction"
[[248]]
[1] "Pregnancies" "Glucose" "BloodPressure" "SkinThickness"
[5] "Insulin" "BMI" "Age"
[[249]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "Insulin" "DiabetesPedigreeFunction"
[7] "Age"
[[250]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "BMI" "DiabetesPedigreeFunction"
[7] "Age"
[[251]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[7] "Age"
[[252]]
[1] "Pregnancies" "Glucose"
[3] "SkinThickness" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[7] "Age"
[[253]]
[1] "Pregnancies" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[7] "Age"
[[254]]
[1] "Glucose" "BloodPressure"
[3] "SkinThickness" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[7] "Age"
[[255]]
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "SkinThickness"
[5] "Insulin" "BMI"
[7] "DiabetesPedigreeFunction" "Age"
Calculamos ahora el AIC para cada comlanación de variables
# Calculamos ahora el AIC para cada comlanación de variables
aic_vals <- sapply (combinaciones, calc_aic, data = data)
aic_vals
[1] 960.2099 812.7196 994.1276 993.1890 984.8104 924.7142 974.8609 954.7203
[9] 790.9500 961.2553 955.3627 945.3401 887.1438 936.4855 947.0981 814.5946
[17] 813.0668 813.7694 777.4030 802.9874 803.3621 993.0831 984.4124 926.6531
[25] 974.1017 956.6631 986.4636 924.8473 975.3182 948.1391 922.5638 969.0193
[33] 941.0204 912.5037 881.6754 935.1037 792.0621 789.9204 792.7769 752.1249
[41] 779.2744 792.0834 957.1700 946.9929 887.3348 937.9182 949.0640 946.4545
[49] 888.5193 935.4908 940.2193 882.5455 927.4275 931.7618 872.8374 873.3333
[57] 925.2260 814.6791 815.6765 777.0661 804.8254 804.2896 811.8371 778.2007
[65] 804.4607 801.9037 775.7865 802.8060 805.1738 770.8709 763.6846 793.6857
[73] 986.3133 926.8398 975.2200 949.9084 924.4602 968.9094 942.9899 914.4484
[81] 879.8930 937.0948 918.7780 971.0133 941.2639 910.9413 883.4654 932.7015
[89] 912.3720 877.7959 926.8503 870.0069 790.0628 793.9369 748.4285 780.2095
[97] 792.8617 790.1088 753.5999 779.9315 790.5786 752.4279 780.4989 793.9880
[105] 744.3059 752.0995 780.6077 948.2765 888.9702 937.3233 941.9259 882.3473
[113] 929.2218 933.7002 872.9567 870.7854 927.2254 880.5702 929.2752 932.0934
[121] 873.0775 875.1755 922.7824 870.8009 868.4742 915.6898 860.2278 813.3188
[129] 778.2337 806.1477 801.5442 775.4810 804.6953 806.1720 770.5636 759.5887
[137] 794.5402 777.7229 802.2643 801.8169 770.5938 765.3455 794.0058 767.5500
[145] 763.9777 794.8213 757.2337 920.7755 970.8758 943.0419 912.9413 881.8709
[153] 934.5315 914.2895 875.4573 928.8018 868.3643 907.1214 877.3072 928.1656
[161] 871.0400 868.4942 790.0907 750.2982 780.1796 789.9463 748.8900 781.5465
[169] 794.8170 740.5596 746.9861 781.2408 754.3985 779.4930 790.9478 745.0586
[177] 753.7527 780.9795 743.5062 752.7533 781.9854 744.5088 881.0546 931.1239
[185] 933.8083 873.6613 872.7834 924.5488 870.6060 865.2376 917.5926 857.7617
[193] 867.4738 867.9545 917.1144 861.3496 857.8949 777.4792 803.8132 801.3315
[201] 770.8049 761.5588 793.9574 767.2653 760.1704 795.8361 753.2664 769.2725
[209] 765.9777 793.1387 758.2431 756.2950 909.1206 875.8138 930.0006 869.8990
[217] 866.4310 866.9614 750.8479 779.5629 790.1895 742.0039 748.9714 780.6210
[225] 739.9706 747.9176 782.7657 739.4617 745.3142 754.7446 780.7205 745.5228
[233] 744.1287 868.0758 865.6726 918.8826 859.4162 854.8692 856.2389 769.1649
[241] 762.0105 792.9581 754.9180 752.6929 758.2216 865.8970 741.9676 749.7849
[249] 780.2247 741.1871 739.4534 745.9930 854.3724 754.6780 741.4454
Seleccionamos la combinación con el AIC más bajo
# Seleccionamos la combinación con el AIC más bajo
mejor_modelo <- combinaciones [[which.min(aic_vals) ]]
mejor_modelo
[1] "Pregnancies" "Glucose"
[3] "BloodPressure" "Insulin"
[5] "BMI" "DiabetesPedigreeFunction"
[7] "Age"
Construimos la formula de mejor modelo
# Construimos la formula de mejor modelo
formula_mejor_modelo <- paste ("Outcome ~", paste (mejor_modelo, collapse = "+") )
Ajusta el modelo final con la mejor combinación de variables
# Ajusta el modelo final con la mejor combinación de variables
modelo_final <- glm(as.formula(formula_mejor_modelo), data = data, family = binomial())
Crea un dataframe que incluye la formula de todos los modelos y el AIC correspondiente
# Crea un dataframe que incluye la formula de todos los modelos y el AIC correspondiente
modelos_aic <- data.frame (
Formula = sapply (combinaciones, function(vars) paste("Outcome ~", paste(vars, collapse = "+"))),
AIC = aic_vals
)
kable(modelos_aic, format = "html", escape = FALSE) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size = 12)
Formula | AIC |
---|---|
Outcome ~ Pregnancies | 960.2099 |
Outcome ~ Glucose | 812.7196 |
Outcome ~ BloodPressure | 994.1276 |
Outcome ~ SkinThickness | 993.1890 |
Outcome ~ Insulin | 984.8104 |
Outcome ~ BMI | 924.7142 |
Outcome ~ DiabetesPedigreeFunction | 974.8609 |
Outcome ~ Age | 954.7203 |
Outcome ~ Pregnancies+Glucose | 790.9500 |
Outcome ~ Pregnancies+BloodPressure | 961.2553 |
Outcome ~ Pregnancies+SkinThickness | 955.3627 |
Outcome ~ Pregnancies+Insulin | 945.3401 |
Outcome ~ Pregnancies+BMI | 887.1438 |
Outcome ~ Pregnancies+DiabetesPedigreeFunction | 936.4855 |
Outcome ~ Pregnancies+Age | 947.0981 |
Outcome ~ Glucose+BloodPressure | 814.5946 |
Outcome ~ Glucose+SkinThickness | 813.0668 |
Outcome ~ Glucose+Insulin | 813.7694 |
Outcome ~ Glucose+BMI | 777.4030 |
Outcome ~ Glucose+DiabetesPedigreeFunction | 802.9874 |
Outcome ~ Glucose+Age | 803.3621 |
Outcome ~ BloodPressure+SkinThickness | 993.0831 |
Outcome ~ BloodPressure+Insulin | 984.4124 |
Outcome ~ BloodPressure+BMI | 926.6531 |
Outcome ~ BloodPressure+DiabetesPedigreeFunction | 974.1017 |
Outcome ~ BloodPressure+Age | 956.6631 |
Outcome ~ SkinThickness+Insulin | 986.4636 |
Outcome ~ SkinThickness+BMI | 924.8473 |
Outcome ~ SkinThickness+DiabetesPedigreeFunction | 975.3182 |
Outcome ~ SkinThickness+Age | 948.1391 |
Outcome ~ Insulin+BMI | 922.5638 |
Outcome ~ Insulin+DiabetesPedigreeFunction | 969.0193 |
Outcome ~ Insulin+Age | 941.0204 |
Outcome ~ BMI+DiabetesPedigreeFunction | 912.5037 |
Outcome ~ BMI+Age | 881.6754 |
Outcome ~ DiabetesPedigreeFunction+Age | 935.1037 |
Outcome ~ Pregnancies+Glucose+BloodPressure | 792.0621 |
Outcome ~ Pregnancies+Glucose+SkinThickness | 789.9204 |
Outcome ~ Pregnancies+Glucose+Insulin | 792.7769 |
Outcome ~ Pregnancies+Glucose+BMI | 752.1249 |
Outcome ~ Pregnancies+Glucose+DiabetesPedigreeFunction | 779.2744 |
Outcome ~ Pregnancies+Glucose+Age | 792.0834 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness | 957.1700 |
Outcome ~ Pregnancies+BloodPressure+Insulin | 946.9929 |
Outcome ~ Pregnancies+BloodPressure+BMI | 887.3348 |
Outcome ~ Pregnancies+BloodPressure+DiabetesPedigreeFunction | 937.9182 |
Outcome ~ Pregnancies+BloodPressure+Age | 949.0640 |
Outcome ~ Pregnancies+SkinThickness+Insulin | 946.4545 |
Outcome ~ Pregnancies+SkinThickness+BMI | 888.5193 |
Outcome ~ Pregnancies+SkinThickness+DiabetesPedigreeFunction | 935.4908 |
Outcome ~ Pregnancies+SkinThickness+Age | 940.2193 |
Outcome ~ Pregnancies+Insulin+BMI | 882.5455 |
Outcome ~ Pregnancies+Insulin+DiabetesPedigreeFunction | 927.4275 |
Outcome ~ Pregnancies+Insulin+Age | 931.7618 |
Outcome ~ Pregnancies+BMI+DiabetesPedigreeFunction | 872.8374 |
Outcome ~ Pregnancies+BMI+Age | 873.3333 |
Outcome ~ Pregnancies+DiabetesPedigreeFunction+Age | 925.2260 |
Outcome ~ Glucose+BloodPressure+SkinThickness | 814.6791 |
Outcome ~ Glucose+BloodPressure+Insulin | 815.6765 |
Outcome ~ Glucose+BloodPressure+BMI | 777.0661 |
Outcome ~ Glucose+BloodPressure+DiabetesPedigreeFunction | 804.8254 |
Outcome ~ Glucose+BloodPressure+Age | 804.2896 |
Outcome ~ Glucose+SkinThickness+Insulin | 811.8371 |
Outcome ~ Glucose+SkinThickness+BMI | 778.2007 |
Outcome ~ Glucose+SkinThickness+DiabetesPedigreeFunction | 804.4607 |
Outcome ~ Glucose+SkinThickness+Age | 801.9037 |
Outcome ~ Glucose+Insulin+BMI | 775.7865 |
Outcome ~ Glucose+Insulin+DiabetesPedigreeFunction | 802.8060 |
Outcome ~ Glucose+Insulin+Age | 805.1738 |
Outcome ~ Glucose+BMI+DiabetesPedigreeFunction | 770.8709 |
Outcome ~ Glucose+BMI+Age | 763.6846 |
Outcome ~ Glucose+DiabetesPedigreeFunction+Age | 793.6857 |
Outcome ~ BloodPressure+SkinThickness+Insulin | 986.3133 |
Outcome ~ BloodPressure+SkinThickness+BMI | 926.8398 |
Outcome ~ BloodPressure+SkinThickness+DiabetesPedigreeFunction | 975.2200 |
Outcome ~ BloodPressure+SkinThickness+Age | 949.9084 |
Outcome ~ BloodPressure+Insulin+BMI | 924.4602 |
Outcome ~ BloodPressure+Insulin+DiabetesPedigreeFunction | 968.9094 |
Outcome ~ BloodPressure+Insulin+Age | 942.9899 |
Outcome ~ BloodPressure+BMI+DiabetesPedigreeFunction | 914.4484 |
Outcome ~ BloodPressure+BMI+Age | 879.8930 |
Outcome ~ BloodPressure+DiabetesPedigreeFunction+Age | 937.0948 |
Outcome ~ SkinThickness+Insulin+BMI | 918.7780 |
Outcome ~ SkinThickness+Insulin+DiabetesPedigreeFunction | 971.0133 |
Outcome ~ SkinThickness+Insulin+Age | 941.2639 |
Outcome ~ SkinThickness+BMI+DiabetesPedigreeFunction | 910.9413 |
Outcome ~ SkinThickness+BMI+Age | 883.4654 |
Outcome ~ SkinThickness+DiabetesPedigreeFunction+Age | 932.7015 |
Outcome ~ Insulin+BMI+DiabetesPedigreeFunction | 912.3720 |
Outcome ~ Insulin+BMI+Age | 877.7959 |
Outcome ~ Insulin+DiabetesPedigreeFunction+Age | 926.8503 |
Outcome ~ BMI+DiabetesPedigreeFunction+Age | 870.0069 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness | 790.0628 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin | 793.9369 |
Outcome ~ Pregnancies+Glucose+BloodPressure+BMI | 748.4285 |
Outcome ~ Pregnancies+Glucose+BloodPressure+DiabetesPedigreeFunction | 780.2095 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Age | 792.8617 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin | 790.1088 |
Outcome ~ Pregnancies+Glucose+SkinThickness+BMI | 753.5999 |
Outcome ~ Pregnancies+Glucose+SkinThickness+DiabetesPedigreeFunction | 779.9315 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Age | 790.5786 |
Outcome ~ Pregnancies+Glucose+Insulin+BMI | 752.4279 |
Outcome ~ Pregnancies+Glucose+Insulin+DiabetesPedigreeFunction | 780.4989 |
Outcome ~ Pregnancies+Glucose+Insulin+Age | 793.9880 |
Outcome ~ Pregnancies+Glucose+BMI+DiabetesPedigreeFunction | 744.3059 |
Outcome ~ Pregnancies+Glucose+BMI+Age | 752.0995 |
Outcome ~ Pregnancies+Glucose+DiabetesPedigreeFunction+Age | 780.6077 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin | 948.2765 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI | 888.9702 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+DiabetesPedigreeFunction | 937.3233 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Age | 941.9259 |
Outcome ~ Pregnancies+BloodPressure+Insulin+BMI | 882.3473 |
Outcome ~ Pregnancies+BloodPressure+Insulin+DiabetesPedigreeFunction | 929.2218 |
Outcome ~ Pregnancies+BloodPressure+Insulin+Age | 933.7002 |
Outcome ~ Pregnancies+BloodPressure+BMI+DiabetesPedigreeFunction | 872.9567 |
Outcome ~ Pregnancies+BloodPressure+BMI+Age | 870.7854 |
Outcome ~ Pregnancies+BloodPressure+DiabetesPedigreeFunction+Age | 927.2254 |
Outcome ~ Pregnancies+SkinThickness+Insulin+BMI | 880.5702 |
Outcome ~ Pregnancies+SkinThickness+Insulin+DiabetesPedigreeFunction | 929.2752 |
Outcome ~ Pregnancies+SkinThickness+Insulin+Age | 932.0934 |
Outcome ~ Pregnancies+SkinThickness+BMI+DiabetesPedigreeFunction | 873.0775 |
Outcome ~ Pregnancies+SkinThickness+BMI+Age | 875.1755 |
Outcome ~ Pregnancies+SkinThickness+DiabetesPedigreeFunction+Age | 922.7824 |
Outcome ~ Pregnancies+Insulin+BMI+DiabetesPedigreeFunction | 870.8009 |
Outcome ~ Pregnancies+Insulin+BMI+Age | 868.4742 |
Outcome ~ Pregnancies+Insulin+DiabetesPedigreeFunction+Age | 915.6898 |
Outcome ~ Pregnancies+BMI+DiabetesPedigreeFunction+Age | 860.2278 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin | 813.3188 |
Outcome ~ Glucose+BloodPressure+SkinThickness+BMI | 778.2337 |
Outcome ~ Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction | 806.1477 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Age | 801.5442 |
Outcome ~ Glucose+BloodPressure+Insulin+BMI | 775.4810 |
Outcome ~ Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction | 804.6953 |
Outcome ~ Glucose+BloodPressure+Insulin+Age | 806.1720 |
Outcome ~ Glucose+BloodPressure+BMI+DiabetesPedigreeFunction | 770.5636 |
Outcome ~ Glucose+BloodPressure+BMI+Age | 759.5887 |
Outcome ~ Glucose+BloodPressure+DiabetesPedigreeFunction+Age | 794.5402 |
Outcome ~ Glucose+SkinThickness+Insulin+BMI | 777.7229 |
Outcome ~ Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction | 802.2643 |
Outcome ~ Glucose+SkinThickness+Insulin+Age | 801.8169 |
Outcome ~ Glucose+SkinThickness+BMI+DiabetesPedigreeFunction | 770.5938 |
Outcome ~ Glucose+SkinThickness+BMI+Age | 765.3455 |
Outcome ~ Glucose+SkinThickness+DiabetesPedigreeFunction+Age | 794.0058 |
Outcome ~ Glucose+Insulin+BMI+DiabetesPedigreeFunction | 767.5500 |
Outcome ~ Glucose+Insulin+BMI+Age | 763.9777 |
Outcome ~ Glucose+Insulin+DiabetesPedigreeFunction+Age | 794.8213 |
Outcome ~ Glucose+BMI+DiabetesPedigreeFunction+Age | 757.2337 |
Outcome ~ BloodPressure+SkinThickness+Insulin+BMI | 920.7755 |
Outcome ~ BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 970.8758 |
Outcome ~ BloodPressure+SkinThickness+Insulin+Age | 943.0419 |
Outcome ~ BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 912.9413 |
Outcome ~ BloodPressure+SkinThickness+BMI+Age | 881.8709 |
Outcome ~ BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 934.5315 |
Outcome ~ BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 914.2895 |
Outcome ~ BloodPressure+Insulin+BMI+Age | 875.4573 |
Outcome ~ BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 928.8018 |
Outcome ~ BloodPressure+BMI+DiabetesPedigreeFunction+Age | 868.3643 |
Outcome ~ SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 907.1214 |
Outcome ~ SkinThickness+Insulin+BMI+Age | 877.3072 |
Outcome ~ SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 928.1656 |
Outcome ~ SkinThickness+BMI+DiabetesPedigreeFunction+Age | 871.0400 |
Outcome ~ Insulin+BMI+DiabetesPedigreeFunction+Age | 868.4942 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin | 790.0907 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI | 750.2982 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction | 780.1796 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Age | 789.9463 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI | 748.8900 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction | 781.5465 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+Age | 794.8170 |
Outcome ~ Pregnancies+Glucose+BloodPressure+BMI+DiabetesPedigreeFunction | 740.5596 |
Outcome ~ Pregnancies+Glucose+BloodPressure+BMI+Age | 746.9861 |
Outcome ~ Pregnancies+Glucose+BloodPressure+DiabetesPedigreeFunction+Age | 781.2408 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI | 754.3985 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction | 779.4930 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+Age | 790.9478 |
Outcome ~ Pregnancies+Glucose+SkinThickness+BMI+DiabetesPedigreeFunction | 745.0586 |
Outcome ~ Pregnancies+Glucose+SkinThickness+BMI+Age | 753.7527 |
Outcome ~ Pregnancies+Glucose+SkinThickness+DiabetesPedigreeFunction+Age | 780.9795 |
Outcome ~ Pregnancies+Glucose+Insulin+BMI+DiabetesPedigreeFunction | 743.5062 |
Outcome ~ Pregnancies+Glucose+Insulin+BMI+Age | 752.7533 |
Outcome ~ Pregnancies+Glucose+Insulin+DiabetesPedigreeFunction+Age | 781.9854 |
Outcome ~ Pregnancies+Glucose+BMI+DiabetesPedigreeFunction+Age | 744.5088 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI | 881.0546 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 931.1239 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+Age | 933.8083 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 873.6613 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI+Age | 872.7834 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 924.5488 |
Outcome ~ Pregnancies+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 870.6060 |
Outcome ~ Pregnancies+BloodPressure+Insulin+BMI+Age | 865.2376 |
Outcome ~ Pregnancies+BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 917.5926 |
Outcome ~ Pregnancies+BloodPressure+BMI+DiabetesPedigreeFunction+Age | 857.7617 |
Outcome ~ Pregnancies+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 867.4738 |
Outcome ~ Pregnancies+SkinThickness+Insulin+BMI+Age | 867.9545 |
Outcome ~ Pregnancies+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 917.1144 |
Outcome ~ Pregnancies+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 861.3496 |
Outcome ~ Pregnancies+Insulin+BMI+DiabetesPedigreeFunction+Age | 857.8949 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI | 777.4792 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 803.8132 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+Age | 801.3315 |
Outcome ~ Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 770.8049 |
Outcome ~ Glucose+BloodPressure+SkinThickness+BMI+Age | 761.5588 |
Outcome ~ Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 793.9574 |
Outcome ~ Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 767.2653 |
Outcome ~ Glucose+BloodPressure+Insulin+BMI+Age | 760.1704 |
Outcome ~ Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 795.8361 |
Outcome ~ Glucose+BloodPressure+BMI+DiabetesPedigreeFunction+Age | 753.2664 |
Outcome ~ Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 769.2725 |
Outcome ~ Glucose+SkinThickness+Insulin+BMI+Age | 765.9777 |
Outcome ~ Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 793.1387 |
Outcome ~ Glucose+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 758.2431 |
Outcome ~ Glucose+Insulin+BMI+DiabetesPedigreeFunction+Age | 756.2950 |
Outcome ~ BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 909.1206 |
Outcome ~ BloodPressure+SkinThickness+Insulin+BMI+Age | 875.8138 |
Outcome ~ BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 930.0006 |
Outcome ~ BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 869.8990 |
Outcome ~ BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 866.4310 |
Outcome ~ SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 866.9614 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI | 750.8479 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 779.5629 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+Age | 790.1895 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 742.0039 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI+Age | 748.9714 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 780.6210 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 739.9706 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+Age | 747.9176 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 782.7657 |
Outcome ~ Pregnancies+Glucose+BloodPressure+BMI+DiabetesPedigreeFunction+Age | 739.4617 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 745.3142 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI+Age | 754.7446 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 780.7205 |
Outcome ~ Pregnancies+Glucose+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 745.5228 |
Outcome ~ Pregnancies+Glucose+Insulin+BMI+DiabetesPedigreeFunction+Age | 744.1287 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 868.0758 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI+Age | 865.6726 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 918.8826 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 859.4162 |
Outcome ~ Pregnancies+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 854.8692 |
Outcome ~ Pregnancies+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 856.2389 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 769.1649 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI+Age | 762.0105 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 792.9581 |
Outcome ~ Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 754.9180 |
Outcome ~ Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 752.6929 |
Outcome ~ Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 758.2216 |
Outcome ~ BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 865.8970 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 741.9676 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI+Age | 749.7849 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 780.2247 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 741.1871 |
Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 739.4534 |
Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 745.9930 |
Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 854.3724 |
Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 754.6780 |
Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 741.4454 |
Ordena el dataframe por AIC de forma ascendente
# Ordena el dataframe por AIC de forma ascendente
modelos_aic <- modelos_aic[order (modelos_aic$AIC), ]
# Mostramos el dataframe
kable(modelos_aic, format = "html", escape = FALSE) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size = 12)
Formula | AIC | |
---|---|---|
251 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 739.4534 |
228 | Outcome ~ Pregnancies+Glucose+BloodPressure+BMI+DiabetesPedigreeFunction+Age | 739.4617 |
225 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 739.9706 |
170 | Outcome ~ Pregnancies+Glucose+BloodPressure+BMI+DiabetesPedigreeFunction | 740.5596 |
250 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 741.1871 |
255 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 741.4454 |
247 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 741.9676 |
222 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 742.0039 |
179 | Outcome ~ Pregnancies+Glucose+Insulin+BMI+DiabetesPedigreeFunction | 743.5062 |
233 | Outcome ~ Pregnancies+Glucose+Insulin+BMI+DiabetesPedigreeFunction+Age | 744.1287 |
105 | Outcome ~ Pregnancies+Glucose+BMI+DiabetesPedigreeFunction | 744.3059 |
182 | Outcome ~ Pregnancies+Glucose+BMI+DiabetesPedigreeFunction+Age | 744.5088 |
176 | Outcome ~ Pregnancies+Glucose+SkinThickness+BMI+DiabetesPedigreeFunction | 745.0586 |
229 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 745.3142 |
232 | Outcome ~ Pregnancies+Glucose+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 745.5228 |
252 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 745.9930 |
171 | Outcome ~ Pregnancies+Glucose+BloodPressure+BMI+Age | 746.9861 |
226 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+Age | 747.9176 |
95 | Outcome ~ Pregnancies+Glucose+BloodPressure+BMI | 748.4285 |
167 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI | 748.8900 |
223 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI+Age | 748.9714 |
248 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI+Age | 749.7849 |
164 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+BMI | 750.2982 |
219 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+BMI | 750.8479 |
106 | Outcome ~ Pregnancies+Glucose+BMI+Age | 752.0995 |
40 | Outcome ~ Pregnancies+Glucose+BMI | 752.1249 |
102 | Outcome ~ Pregnancies+Glucose+Insulin+BMI | 752.4279 |
244 | Outcome ~ Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 752.6929 |
180 | Outcome ~ Pregnancies+Glucose+Insulin+BMI+Age | 752.7533 |
207 | Outcome ~ Glucose+BloodPressure+BMI+DiabetesPedigreeFunction+Age | 753.2664 |
99 | Outcome ~ Pregnancies+Glucose+SkinThickness+BMI | 753.5999 |
177 | Outcome ~ Pregnancies+Glucose+SkinThickness+BMI+Age | 753.7527 |
173 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI | 754.3985 |
254 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 754.6780 |
230 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+BMI+Age | 754.7446 |
243 | Outcome ~ Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 754.9180 |
212 | Outcome ~ Glucose+Insulin+BMI+DiabetesPedigreeFunction+Age | 756.2950 |
147 | Outcome ~ Glucose+BMI+DiabetesPedigreeFunction+Age | 757.2337 |
245 | Outcome ~ Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 758.2216 |
211 | Outcome ~ Glucose+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 758.2431 |
136 | Outcome ~ Glucose+BloodPressure+BMI+Age | 759.5887 |
205 | Outcome ~ Glucose+BloodPressure+Insulin+BMI+Age | 760.1704 |
202 | Outcome ~ Glucose+BloodPressure+SkinThickness+BMI+Age | 761.5588 |
241 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI+Age | 762.0105 |
71 | Outcome ~ Glucose+BMI+Age | 763.6846 |
145 | Outcome ~ Glucose+Insulin+BMI+Age | 763.9777 |
142 | Outcome ~ Glucose+SkinThickness+BMI+Age | 765.3455 |
209 | Outcome ~ Glucose+SkinThickness+Insulin+BMI+Age | 765.9777 |
204 | Outcome ~ Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 767.2653 |
144 | Outcome ~ Glucose+Insulin+BMI+DiabetesPedigreeFunction | 767.5500 |
240 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 769.1649 |
208 | Outcome ~ Glucose+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 769.2725 |
135 | Outcome ~ Glucose+BloodPressure+BMI+DiabetesPedigreeFunction | 770.5636 |
141 | Outcome ~ Glucose+SkinThickness+BMI+DiabetesPedigreeFunction | 770.5938 |
201 | Outcome ~ Glucose+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 770.8049 |
70 | Outcome ~ Glucose+BMI+DiabetesPedigreeFunction | 770.8709 |
132 | Outcome ~ Glucose+BloodPressure+Insulin+BMI | 775.4810 |
67 | Outcome ~ Glucose+Insulin+BMI | 775.7865 |
60 | Outcome ~ Glucose+BloodPressure+BMI | 777.0661 |
19 | Outcome ~ Glucose+BMI | 777.4030 |
198 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+BMI | 777.4792 |
138 | Outcome ~ Glucose+SkinThickness+Insulin+BMI | 777.7229 |
64 | Outcome ~ Glucose+SkinThickness+BMI | 778.2007 |
129 | Outcome ~ Glucose+BloodPressure+SkinThickness+BMI | 778.2337 |
41 | Outcome ~ Pregnancies+Glucose+DiabetesPedigreeFunction | 779.2744 |
174 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction | 779.4930 |
220 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 779.5629 |
100 | Outcome ~ Pregnancies+Glucose+SkinThickness+DiabetesPedigreeFunction | 779.9315 |
165 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction | 780.1796 |
96 | Outcome ~ Pregnancies+Glucose+BloodPressure+DiabetesPedigreeFunction | 780.2095 |
249 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 780.2247 |
103 | Outcome ~ Pregnancies+Glucose+Insulin+DiabetesPedigreeFunction | 780.4989 |
107 | Outcome ~ Pregnancies+Glucose+DiabetesPedigreeFunction+Age | 780.6077 |
224 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 780.6210 |
231 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 780.7205 |
178 | Outcome ~ Pregnancies+Glucose+SkinThickness+DiabetesPedigreeFunction+Age | 780.9795 |
172 | Outcome ~ Pregnancies+Glucose+BloodPressure+DiabetesPedigreeFunction+Age | 781.2408 |
168 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction | 781.5465 |
181 | Outcome ~ Pregnancies+Glucose+Insulin+DiabetesPedigreeFunction+Age | 781.9854 |
227 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 782.7657 |
38 | Outcome ~ Pregnancies+Glucose+SkinThickness | 789.9204 |
166 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Age | 789.9463 |
93 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness | 790.0628 |
163 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin | 790.0907 |
98 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin | 790.1088 |
221 | Outcome ~ Pregnancies+Glucose+BloodPressure+SkinThickness+Insulin+Age | 790.1895 |
101 | Outcome ~ Pregnancies+Glucose+SkinThickness+Age | 790.5786 |
175 | Outcome ~ Pregnancies+Glucose+SkinThickness+Insulin+Age | 790.9478 |
9 | Outcome ~ Pregnancies+Glucose | 790.9500 |
37 | Outcome ~ Pregnancies+Glucose+BloodPressure | 792.0621 |
42 | Outcome ~ Pregnancies+Glucose+Age | 792.0834 |
39 | Outcome ~ Pregnancies+Glucose+Insulin | 792.7769 |
97 | Outcome ~ Pregnancies+Glucose+BloodPressure+Age | 792.8617 |
242 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 792.9581 |
210 | Outcome ~ Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 793.1387 |
72 | Outcome ~ Glucose+DiabetesPedigreeFunction+Age | 793.6857 |
94 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin | 793.9369 |
203 | Outcome ~ Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 793.9574 |
104 | Outcome ~ Pregnancies+Glucose+Insulin+Age | 793.9880 |
143 | Outcome ~ Glucose+SkinThickness+DiabetesPedigreeFunction+Age | 794.0058 |
137 | Outcome ~ Glucose+BloodPressure+DiabetesPedigreeFunction+Age | 794.5402 |
169 | Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+Age | 794.8170 |
146 | Outcome ~ Glucose+Insulin+DiabetesPedigreeFunction+Age | 794.8213 |
206 | Outcome ~ Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 795.8361 |
200 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+Age | 801.3315 |
131 | Outcome ~ Glucose+BloodPressure+SkinThickness+Age | 801.5442 |
140 | Outcome ~ Glucose+SkinThickness+Insulin+Age | 801.8169 |
66 | Outcome ~ Glucose+SkinThickness+Age | 801.9037 |
139 | Outcome ~ Glucose+SkinThickness+Insulin+DiabetesPedigreeFunction | 802.2643 |
68 | Outcome ~ Glucose+Insulin+DiabetesPedigreeFunction | 802.8060 |
20 | Outcome ~ Glucose+DiabetesPedigreeFunction | 802.9874 |
21 | Outcome ~ Glucose+Age | 803.3621 |
199 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 803.8132 |
62 | Outcome ~ Glucose+BloodPressure+Age | 804.2896 |
65 | Outcome ~ Glucose+SkinThickness+DiabetesPedigreeFunction | 804.4607 |
133 | Outcome ~ Glucose+BloodPressure+Insulin+DiabetesPedigreeFunction | 804.6953 |
61 | Outcome ~ Glucose+BloodPressure+DiabetesPedigreeFunction | 804.8254 |
69 | Outcome ~ Glucose+Insulin+Age | 805.1738 |
130 | Outcome ~ Glucose+BloodPressure+SkinThickness+DiabetesPedigreeFunction | 806.1477 |
134 | Outcome ~ Glucose+BloodPressure+Insulin+Age | 806.1720 |
63 | Outcome ~ Glucose+SkinThickness+Insulin | 811.8371 |
2 | Outcome ~ Glucose | 812.7196 |
17 | Outcome ~ Glucose+SkinThickness | 813.0668 |
128 | Outcome ~ Glucose+BloodPressure+SkinThickness+Insulin | 813.3188 |
18 | Outcome ~ Glucose+Insulin | 813.7694 |
16 | Outcome ~ Glucose+BloodPressure | 814.5946 |
58 | Outcome ~ Glucose+BloodPressure+SkinThickness | 814.6791 |
59 | Outcome ~ Glucose+BloodPressure+Insulin | 815.6765 |
253 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 854.3724 |
238 | Outcome ~ Pregnancies+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 854.8692 |
239 | Outcome ~ Pregnancies+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 856.2389 |
192 | Outcome ~ Pregnancies+BloodPressure+BMI+DiabetesPedigreeFunction+Age | 857.7617 |
197 | Outcome ~ Pregnancies+Insulin+BMI+DiabetesPedigreeFunction+Age | 857.8949 |
237 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 859.4162 |
127 | Outcome ~ Pregnancies+BMI+DiabetesPedigreeFunction+Age | 860.2278 |
196 | Outcome ~ Pregnancies+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 861.3496 |
190 | Outcome ~ Pregnancies+BloodPressure+Insulin+BMI+Age | 865.2376 |
235 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI+Age | 865.6726 |
246 | Outcome ~ BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 865.8970 |
217 | Outcome ~ BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age | 866.4310 |
218 | Outcome ~ SkinThickness+Insulin+BMI+DiabetesPedigreeFunction+Age | 866.9614 |
193 | Outcome ~ Pregnancies+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 867.4738 |
194 | Outcome ~ Pregnancies+SkinThickness+Insulin+BMI+Age | 867.9545 |
234 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 868.0758 |
157 | Outcome ~ BloodPressure+BMI+DiabetesPedigreeFunction+Age | 868.3643 |
125 | Outcome ~ Pregnancies+Insulin+BMI+Age | 868.4742 |
162 | Outcome ~ Insulin+BMI+DiabetesPedigreeFunction+Age | 868.4942 |
216 | Outcome ~ BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction+Age | 869.8990 |
92 | Outcome ~ BMI+DiabetesPedigreeFunction+Age | 870.0069 |
189 | Outcome ~ Pregnancies+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 870.6060 |
116 | Outcome ~ Pregnancies+BloodPressure+BMI+Age | 870.7854 |
124 | Outcome ~ Pregnancies+Insulin+BMI+DiabetesPedigreeFunction | 870.8009 |
161 | Outcome ~ SkinThickness+BMI+DiabetesPedigreeFunction+Age | 871.0400 |
187 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI+Age | 872.7834 |
55 | Outcome ~ Pregnancies+BMI+DiabetesPedigreeFunction | 872.8374 |
115 | Outcome ~ Pregnancies+BloodPressure+BMI+DiabetesPedigreeFunction | 872.9567 |
121 | Outcome ~ Pregnancies+SkinThickness+BMI+DiabetesPedigreeFunction | 873.0775 |
56 | Outcome ~ Pregnancies+BMI+Age | 873.3333 |
186 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 873.6613 |
122 | Outcome ~ Pregnancies+SkinThickness+BMI+Age | 875.1755 |
155 | Outcome ~ BloodPressure+Insulin+BMI+Age | 875.4573 |
214 | Outcome ~ BloodPressure+SkinThickness+Insulin+BMI+Age | 875.8138 |
159 | Outcome ~ SkinThickness+Insulin+BMI+Age | 877.3072 |
90 | Outcome ~ Insulin+BMI+Age | 877.7959 |
81 | Outcome ~ BloodPressure+BMI+Age | 879.8930 |
118 | Outcome ~ Pregnancies+SkinThickness+Insulin+BMI | 880.5702 |
183 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+BMI | 881.0546 |
35 | Outcome ~ BMI+Age | 881.6754 |
152 | Outcome ~ BloodPressure+SkinThickness+BMI+Age | 881.8709 |
112 | Outcome ~ Pregnancies+BloodPressure+Insulin+BMI | 882.3473 |
52 | Outcome ~ Pregnancies+Insulin+BMI | 882.5455 |
87 | Outcome ~ SkinThickness+BMI+Age | 883.4654 |
13 | Outcome ~ Pregnancies+BMI | 887.1438 |
45 | Outcome ~ Pregnancies+BloodPressure+BMI | 887.3348 |
49 | Outcome ~ Pregnancies+SkinThickness+BMI | 888.5193 |
109 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+BMI | 888.9702 |
158 | Outcome ~ SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 907.1214 |
213 | Outcome ~ BloodPressure+SkinThickness+Insulin+BMI+DiabetesPedigreeFunction | 909.1206 |
86 | Outcome ~ SkinThickness+BMI+DiabetesPedigreeFunction | 910.9413 |
89 | Outcome ~ Insulin+BMI+DiabetesPedigreeFunction | 912.3720 |
34 | Outcome ~ BMI+DiabetesPedigreeFunction | 912.5037 |
151 | Outcome ~ BloodPressure+SkinThickness+BMI+DiabetesPedigreeFunction | 912.9413 |
154 | Outcome ~ BloodPressure+Insulin+BMI+DiabetesPedigreeFunction | 914.2895 |
80 | Outcome ~ BloodPressure+BMI+DiabetesPedigreeFunction | 914.4484 |
126 | Outcome ~ Pregnancies+Insulin+DiabetesPedigreeFunction+Age | 915.6898 |
195 | Outcome ~ Pregnancies+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 917.1144 |
191 | Outcome ~ Pregnancies+BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 917.5926 |
83 | Outcome ~ SkinThickness+Insulin+BMI | 918.7780 |
236 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 918.8826 |
148 | Outcome ~ BloodPressure+SkinThickness+Insulin+BMI | 920.7755 |
31 | Outcome ~ Insulin+BMI | 922.5638 |
123 | Outcome ~ Pregnancies+SkinThickness+DiabetesPedigreeFunction+Age | 922.7824 |
77 | Outcome ~ BloodPressure+Insulin+BMI | 924.4602 |
188 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 924.5488 |
6 | Outcome ~ BMI | 924.7142 |
28 | Outcome ~ SkinThickness+BMI | 924.8473 |
57 | Outcome ~ Pregnancies+DiabetesPedigreeFunction+Age | 925.2260 |
24 | Outcome ~ BloodPressure+BMI | 926.6531 |
74 | Outcome ~ BloodPressure+SkinThickness+BMI | 926.8398 |
91 | Outcome ~ Insulin+DiabetesPedigreeFunction+Age | 926.8503 |
117 | Outcome ~ Pregnancies+BloodPressure+DiabetesPedigreeFunction+Age | 927.2254 |
53 | Outcome ~ Pregnancies+Insulin+DiabetesPedigreeFunction | 927.4275 |
160 | Outcome ~ SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 928.1656 |
156 | Outcome ~ BloodPressure+Insulin+DiabetesPedigreeFunction+Age | 928.8018 |
113 | Outcome ~ Pregnancies+BloodPressure+Insulin+DiabetesPedigreeFunction | 929.2218 |
119 | Outcome ~ Pregnancies+SkinThickness+Insulin+DiabetesPedigreeFunction | 929.2752 |
215 | Outcome ~ BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction+Age | 930.0006 |
184 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 931.1239 |
54 | Outcome ~ Pregnancies+Insulin+Age | 931.7618 |
120 | Outcome ~ Pregnancies+SkinThickness+Insulin+Age | 932.0934 |
88 | Outcome ~ SkinThickness+DiabetesPedigreeFunction+Age | 932.7015 |
114 | Outcome ~ Pregnancies+BloodPressure+Insulin+Age | 933.7002 |
185 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin+Age | 933.8083 |
153 | Outcome ~ BloodPressure+SkinThickness+DiabetesPedigreeFunction+Age | 934.5315 |
36 | Outcome ~ DiabetesPedigreeFunction+Age | 935.1037 |
50 | Outcome ~ Pregnancies+SkinThickness+DiabetesPedigreeFunction | 935.4908 |
14 | Outcome ~ Pregnancies+DiabetesPedigreeFunction | 936.4855 |
82 | Outcome ~ BloodPressure+DiabetesPedigreeFunction+Age | 937.0948 |
110 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+DiabetesPedigreeFunction | 937.3233 |
46 | Outcome ~ Pregnancies+BloodPressure+DiabetesPedigreeFunction | 937.9182 |
51 | Outcome ~ Pregnancies+SkinThickness+Age | 940.2193 |
33 | Outcome ~ Insulin+Age | 941.0204 |
85 | Outcome ~ SkinThickness+Insulin+Age | 941.2639 |
111 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Age | 941.9259 |
79 | Outcome ~ BloodPressure+Insulin+Age | 942.9899 |
150 | Outcome ~ BloodPressure+SkinThickness+Insulin+Age | 943.0419 |
12 | Outcome ~ Pregnancies+Insulin | 945.3401 |
48 | Outcome ~ Pregnancies+SkinThickness+Insulin | 946.4545 |
44 | Outcome ~ Pregnancies+BloodPressure+Insulin | 946.9929 |
15 | Outcome ~ Pregnancies+Age | 947.0981 |
30 | Outcome ~ SkinThickness+Age | 948.1391 |
108 | Outcome ~ Pregnancies+BloodPressure+SkinThickness+Insulin | 948.2765 |
47 | Outcome ~ Pregnancies+BloodPressure+Age | 949.0640 |
76 | Outcome ~ BloodPressure+SkinThickness+Age | 949.9084 |
8 | Outcome ~ Age | 954.7203 |
11 | Outcome ~ Pregnancies+SkinThickness | 955.3627 |
26 | Outcome ~ BloodPressure+Age | 956.6631 |
43 | Outcome ~ Pregnancies+BloodPressure+SkinThickness | 957.1700 |
1 | Outcome ~ Pregnancies | 960.2099 |
10 | Outcome ~ Pregnancies+BloodPressure | 961.2553 |
78 | Outcome ~ BloodPressure+Insulin+DiabetesPedigreeFunction | 968.9094 |
32 | Outcome ~ Insulin+DiabetesPedigreeFunction | 969.0193 |
149 | Outcome ~ BloodPressure+SkinThickness+Insulin+DiabetesPedigreeFunction | 970.8758 |
84 | Outcome ~ SkinThickness+Insulin+DiabetesPedigreeFunction | 971.0133 |
25 | Outcome ~ BloodPressure+DiabetesPedigreeFunction | 974.1017 |
7 | Outcome ~ DiabetesPedigreeFunction | 974.8609 |
75 | Outcome ~ BloodPressure+SkinThickness+DiabetesPedigreeFunction | 975.2200 |
29 | Outcome ~ SkinThickness+DiabetesPedigreeFunction | 975.3182 |
23 | Outcome ~ BloodPressure+Insulin | 984.4124 |
5 | Outcome ~ Insulin | 984.8104 |
73 | Outcome ~ BloodPressure+SkinThickness+Insulin | 986.3133 |
27 | Outcome ~ SkinThickness+Insulin | 986.4636 |
22 | Outcome ~ BloodPressure+SkinThickness | 993.0831 |
4 | Outcome ~ SkinThickness | 993.1890 |
3 | Outcome ~ BloodPressure | 994.1276 |
Resumir el modelo final
#Resumir el modelo final
resumen_final <- tidy (modelo_final, conf.int = TRUE) %>%
filter (term != "(Intercept) ") %>%
mutate (odds.ratio = round (exp (estimate) , 2),
CI_lower = round (exp (conf.low), 2),
CI_upper = round (exp (conf.high), 2) ) %>%
select (term, odds.ratio, CI_lower, CI_upper, p.value)
#Aplicar formato condicional a los valores p
bold_if_significant <- function (p_value) {
p_value_rounded <- round (p_value, 4)
if (p_value < 0.05) {
cell_spec (p_value_rounded, format = "html", bold = TRUE, color = "#8B0AB0")
}
else{
as.character (p_value_rounded)
}
}
resumen_final$p.value <- sapply (resumen_final$p.value, bold_if_significant)
# Imprimir el resumen del modelo final usando la variable fórmula
cat ("El Modelo Final se compone de las siguiente variables:", formula_mejor_modelo, ": \n")
El Modelo Final se compone de las siguiente variables: Outcome ~ Pregnancies+Glucose+BloodPressure+Insulin+BMI+DiabetesPedigreeFunction+Age :
kable(resumen_final, format = "html", escape = FALSE) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"),
full_width = FALSE,
position = "center",
font_size = 12)
term | odds.ratio | CI_lower | CI_upper | p.value |
---|---|---|---|---|
(Intercept) | 4469.97 | 1151.02 | 19165.57 | 0 |
Pregnancies | 0.88 | 0.83 | 0.94 | 1e-04 |
Glucose | 0.97 | 0.96 | 0.97 | 0 |
BloodPressure | 1.01 | 1.00 | 1.02 | 0.0103 |
Insulin | 1.00 | 1.00 | 1.00 | 0.1553 |
BMI | 0.91 | 0.89 | 0.94 | 0 |
DiabetesPedigreeFunction | 0.39 | 0.21 | 0.69 | 0.0015 |
Age | 0.99 | 0.97 | 1.00 | 0.1114 |