Considere la base de datos birthwt, la cuál provee información acerca del peso al nacer de bebés y factores de riesgo asociados a la madre,aplicando modelo logístico binomial.
Comenzamos con las librerias:
library(stats)
library(MASS)
library(dplyr)
library(ggplot2)
library(GGally)
library(car)
library(ISLR)
library(tidyverse)
library(vcd)
library(gmodels)
library(ggeffects)
library(ggplot2)
library(carData)
La base de datos
library(MASS)
data("birthwt")
dataex <- subset(birthwt, select = -c(race,bwt))
head(dataex)
| low | age | lwt | smoke | ptl | ht | ui | ftv | |
|---|---|---|---|---|---|---|---|---|
| 85 | 0 | 19 | 182 | 0 | 0 | 0 | 1 | 0 |
| 86 | 0 | 33 | 155 | 0 | 0 | 0 | 0 | 3 |
| 87 | 0 | 20 | 105 | 1 | 0 | 0 | 0 | 1 |
| 88 | 0 | 21 | 108 | 1 | 0 | 0 | 1 | 2 |
| 89 | 0 | 18 | 107 | 1 | 0 | 0 | 1 | 0 |
| 91 | 0 | 21 | 124 | 0 | 0 | 0 | 0 | 0 |
str(dataex)
## 'data.frame': 189 obs. of 8 variables:
## $ low : int 0 0 0 0 0 0 0 0 0 0 ...
## $ age : int 19 33 20 21 18 21 22 17 29 26 ...
## $ lwt : int 182 155 105 108 107 124 118 103 123 113 ...
## $ smoke: int 0 0 1 1 1 0 0 0 1 1 ...
## $ ptl : int 0 0 0 0 0 0 0 0 0 0 ...
## $ ht : int 0 0 0 0 0 0 0 0 0 0 ...
## $ ui : int 1 0 0 1 1 0 0 0 0 0 ...
## $ ftv : int 0 3 1 2 0 0 1 1 1 0 ...
Las variables consideradas son:
low: Indicador de bajo peso al nacer, VARIABLE DICOTOMICA y toma los siguientes valores: \(0\) No, \(1\) Si(<2.5kg)
Edad: Variable continua, Edad de la madre (años)
lwt:Variable continua, Peso de la madre antes del embarazo (libras)
Smoke: Variable dicotomica. Si la madre fumó durante el embarazo, que toma los siguientes valores: \(0=No\) \(1=Si\)
plt:Variable continua, es el número de partos prematuros previos.
ht: Variable dicotomica. Antecedentes de hipertensión,que toma los siguientes valores: \(1=Si\), \(0=No\)
ui:Variable dicotomica. Presencia de irritabilidad uterina, que toma los siguientes valores: \(0= No\), \(1=Si\)
ftv: Variable continua. Es el número de visitas al médico durante el primer trimestre.
Se abordara el problema con regresión logística binomial.
dataex$low<- as.factor(dataex$low)
dataex$age<-as.numeric(dataex$age)
dataex$lwt<-as.numeric(dataex$lwt)
dataex$smoke<-as.factor(dataex$smoke)
dataex$ptl<- as.numeric(dataex$ptl)
dataex$ht<-as.factor(dataex$ht)
dataex$ui<-as.factor(dataex$ui)
dataex$ftv<-as.numeric(dataex$ftv)
str(dataex)
## 'data.frame': 189 obs. of 8 variables:
## $ low : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
## $ age : num 19 33 20 21 18 21 22 17 29 26 ...
## $ lwt : num 182 155 105 108 107 124 118 103 123 113 ...
## $ smoke: Factor w/ 2 levels "0","1": 1 1 2 2 2 1 1 1 2 2 ...
## $ ptl : num 0 0 0 0 0 0 0 0 0 0 ...
## $ ht : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
## $ ui : Factor w/ 2 levels "0","1": 2 1 1 2 2 1 1 1 1 1 ...
## $ ftv : num 0 3 1 2 0 0 1 1 1 0 ...
summary(dataex)
## low age lwt smoke ptl ht
## 0:130 Min. :14.00 Min. : 80.0 0:115 Min. :0.0000 0:177
## 1: 59 1st Qu.:19.00 1st Qu.:110.0 1: 74 1st Qu.:0.0000 1: 12
## Median :23.00 Median :121.0 Median :0.0000
## Mean :23.24 Mean :129.8 Mean :0.1958
## 3rd Qu.:26.00 3rd Qu.:140.0 3rd Qu.:0.0000
## Max. :45.00 Max. :250.0 Max. :3.0000
## ui ftv
## 0:161 Min. :0.0000
## 1: 28 1st Qu.:0.0000
## Median :0.0000
## Mean :0.7937
## 3rd Qu.:1.0000
## Max. :6.0000
De acuerdo con el resumen estadistico tenemos que : Se tiene que \(130\) bebés con peso normal, \(59\) bebés con con bajo peso.
También tenemos que la age:edad de la madre es de minimo \(14\) años, con un promedio de \(23\) años y maximo de \(45\) años.
Notamos que el lwt: El peso de la madre antes del embarazo un peso minimo de \(80\) libras, un promedio \(129.8\) libras, y un peso máximo de \(250\) libras.
Tambien tenemos que \(115\) No son fumadoras, \(74\) Son fumadoras.
Se tiene que plt: Numero de partos prematuros previos, se tiene como minimo de \(0\) partos prematuros previos y máximo de \(3\) partos prematuros previos
También tenemos que \(177\) no tienen antecedentes de hipertension y \(12\) tienen antecedentes hipertensión.
De igual forma se tiene que \(161\) no tienen irritabilidad uterina y \(28\) tienen irritabilidad uterina.
Para ftv: número de visitas al médico durante el primer trimestre, se tiene un minimo \(0\) visitas durante el primer trimestre y como máximo \(6\) visitas durante el primer trimestre.
El objetivo es analizar qué variable tuvierón más significancia en explicar Que un recien nacido tenga bajo peso al nacer.
Comenzamos con un análisis descriptivo unitario, viendo la relación entre la variable dependiente (low) y la independientes (age,lwt,smoke,ptl,ht,ui,ftw) por separado.
Cuando la variable independiente sea no métrica (cualitativa) se utiliza tablas cruzadas y cuando sea métrica (cuantitativa) se puede comparar la media entre los grupos que considera la variable dependiente.
El modelo logístico que se estima esta dado en la siguiente instrucción
Para las variables cualitativas se plantean los siguientes contrastes de hipótesis:
$ H_{0}: El bajo peso del bebé es independiente de si la madre fumó durante el embarazo $
$ H_{1}: El bajo peso del bebé no es independiente de si la madre fumó durante el embarazo $
CrossTable(dataex$smoke,dataex$low,chisq = TRUE,prop.c=FALSE, prop.chisq = FALSE,prop.t = FALSE)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Row Total |
## |-------------------------|
##
##
## Total Observations in Table: 189
##
##
## | dataex$low
## dataex$smoke | 0 | 1 | Row Total |
## -------------|-----------|-----------|-----------|
## 0 | 86 | 29 | 115 |
## | 0.748 | 0.252 | 0.608 |
## -------------|-----------|-----------|-----------|
## 1 | 44 | 30 | 74 |
## | 0.595 | 0.405 | 0.392 |
## -------------|-----------|-----------|-----------|
## Column Total | 130 | 59 | 189 |
## -------------|-----------|-----------|-----------|
##
##
## Statistics for All Table Factors
##
##
## Pearson's Chi-squared test
## ------------------------------------------------------------
## Chi^2 = 4.923705 d.f. = 1 p = 0.02649064
##
## Pearson's Chi-squared test with Yates' continuity correction
## ------------------------------------------------------------
## Chi^2 = 4.235929 d.f. = 1 p = 0.03957697
##
##
Del total de \(189\) observaciones(las madres):
Tenemos \(115\) No fumarón durante el embarazo, de los cuáles \(86\) Bebés NO tuvieron bajo peso al nacer y \(29\) Bebés SI tuvieron bajo peso al nacer
Tenemos \(74\) Si fumarón durante el embarazo, de los cuáles \(44\) Bebés NO tuvieron bajo peso al nacer y \(30\) Bebés SI tuvieron bajo peso al nacer
De los \(130\) bebés que NO tuvieron bajo peso al nacer, \(86\) tienen Madres que No fumaron durante el embarazo y \(44\) Madres que Si fumaron durante el ambarazo.
De los \(59\) bebés que Si tuvieron bajo peso al nacer, \(29\) tienen Madres que No fumaron durante el embarazo y \(30\) Madres que Si fumaron durante el ambarazo.
Tomando en cuenta nuestra prueba, tenemos un \(p-valor=0.02649064\) siendo menor a \(0.05\), es decir se tiene evidencia estadististicamente significativa para RECHAZAR LA HIPÓTESIS NULA, es decir, La el bajo peso del bebé ES DEPENDIENTE de si la madre fumó durante el embarazo.
$ H_{0}: El bajo peso del bebé es independiente de si la madre tiene antecedente de hipertensión$
$ H_{1}: El bajo peso del bebé no es independiente de si la madre tiene antecedente de hipertensión$
CrossTable(dataex$ht,dataex$low,chisq = TRUE,prop.c=FALSE, prop.chisq = FALSE,prop.t = FALSE)
## Warning in chisq.test(t, correct = TRUE, ...): Chi-squared approximation may be
## incorrect
## Warning in chisq.test(t, correct = FALSE, ...): Chi-squared approximation may
## be incorrect
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Row Total |
## |-------------------------|
##
##
## Total Observations in Table: 189
##
##
## | dataex$low
## dataex$ht | 0 | 1 | Row Total |
## -------------|-----------|-----------|-----------|
## 0 | 125 | 52 | 177 |
## | 0.706 | 0.294 | 0.937 |
## -------------|-----------|-----------|-----------|
## 1 | 5 | 7 | 12 |
## | 0.417 | 0.583 | 0.063 |
## -------------|-----------|-----------|-----------|
## Column Total | 130 | 59 | 189 |
## -------------|-----------|-----------|-----------|
##
##
## Statistics for All Table Factors
##
##
## Pearson's Chi-squared test
## ------------------------------------------------------------
## Chi^2 = 4.387955 d.f. = 1 p = 0.0361937
##
## Pearson's Chi-squared test with Yates' continuity correction
## ------------------------------------------------------------
## Chi^2 = 3.143065 d.f. = 1 p = 0.07625038
##
##
Del total de \(189\) observaciones(las madres):
Tenemos \(177\) madres No tienen antecedentes de hipertensión, de los cuáles \(125\) Bebés NO tuvieron bajo peso al nacer y \(52\) Bebés SI tuvieron bajo peso al nacer
Tenemos \(12\) madres Si tienen antecedentes de hipertensión, de los cuáles \(5\) Bebés NO tuvieron bajo peso al nacer y \(7\) Bebés SI tuvieron bajo peso al nacer
De los \(130\) bebés que NO tuvieron bajo peso al nacer, \(125\) tienen Madres que No tienen antecedentes de hipertensión y \(5\) Madres que Si tienen antecedentes de hipertensión.
De los \(59\) bebés que Si tuvieron bajo peso al nacer, \(57\) tienen Madres que No tienen antecedentes de hipertensión y \(2\) Madres que Si tienen antecedentes de hipertensión.
Tomando en cuenta nuestra prueba, tenemos un \(p-valor=0.0361937\) siendo menor a \(0.05\), es decir se tiene evidencia estadististicamente significativa para RECHAZAR LA HIPÓTESIS NULA, es decir, La el bajo peso del bebé ES DEPENDIENTE de si la madre tienen antecedentes de hipertensión.
$ H_{0}: El bajo peso del bebé es independiente de si la madre tiene presencia de irritabilidad uterina$
$ H_{1}: El bajo peso del bebé no es independiente de si la madre tiene presencia de irritabilidad uterina $
CrossTable(dataex$ui,dataex$low,chisq = TRUE,prop.c=FALSE, prop.chisq = FALSE,prop.t = FALSE)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Row Total |
## |-------------------------|
##
##
## Total Observations in Table: 189
##
##
## | dataex$low
## dataex$ui | 0 | 1 | Row Total |
## -------------|-----------|-----------|-----------|
## 0 | 116 | 45 | 161 |
## | 0.720 | 0.280 | 0.852 |
## -------------|-----------|-----------|-----------|
## 1 | 14 | 14 | 28 |
## | 0.500 | 0.500 | 0.148 |
## -------------|-----------|-----------|-----------|
## Column Total | 130 | 59 | 189 |
## -------------|-----------|-----------|-----------|
##
##
## Statistics for All Table Factors
##
##
## Pearson's Chi-squared test
## ------------------------------------------------------------
## Chi^2 = 5.400765 d.f. = 1 p = 0.02012792
##
## Pearson's Chi-squared test with Yates' continuity correction
## ------------------------------------------------------------
## Chi^2 = 4.422673 d.f. = 1 p = 0.03546443
##
##
Del total de \(189\) observaciones(las madres):
Tenemos \(161\) madres No tienen presencia de irritabilidad uterina, de los cuáles \(116\) Bebés NO tuvieron bajo peso al nacer y \(45\) Bebés SI tuvieron bajo peso al nacer
Tenemos \(28\) madres Si tienen presencia de irritabilidad uterin, de los cuáles \(14\) Bebés NO tuvieron bajo peso al nacer y \(14\) Bebés SI tuvieron bajo peso al nacer
De los \(130\) bebés que NO tuvieron bajo peso al nacer, \(116\) tienen Madres que No tienen presencia de irritabilidad uterina y \(14\) Madres que Si tienen presencia de irritabilidad uterina.
De los \(59\) bebés que Si tuvieron bajo peso al nacer, \(45\) tienen Madres que No tienen presencia de irritabilidad uterina y \(14\) Madres que Si tienen presencia de irritabilidad uterina.
Tomando en cuenta nuestra prueba, tenemos un \(p-valor=0.02012792\) siendo menor a \(0.05\), es decir se tiene evidencia estadististicamente significativa para RECHAZAR LA HIPÓTESIS NULA, es decir, La el bajo peso del bebé ES DEPENDIENTE de si la madre tienen presencia de irritabilidad uterina.
De acuerdo con el p-valor el Si la madre fumó durante el embarazo (Smoke) así como su Antecedentes de hipertensión (ht) y La presencia de irritabilidad uterina esta relacionada con la probabilidad de que el bebé tenga bajo peso al nacer
Para las variables cuantitativas se plantean los siguientes contrastes de hipótesis:
Ahora si consideramos la edad de la madre el contraste de hipoteis
\(H_{0}:La\ edad\ promedio\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\ es\ igual\ a\ la\ edad\ promedio\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(H_{1}:La\ edad\ promedio\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso \ al\ nacer\ es\ diferente \ a\ la\ edad\ promedio\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al \nacer\)
o bien, sean :
\(\mu_{1}: Edad\ promedio\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(\mu_{2}: Edad\ promedio\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
entonces el contrate de hipotesis es:
\(H_0: \mu_{1} = \mu_{2}\)
\(H_{1}: \mu_{1}\neq \mu_{2}\)
t.test(dataex$age ~ dataex$low)
##
## Welch Two Sample t-test
##
## data: dataex$age by dataex$low
## t = 1.7737, df = 136.94, p-value = 0.07834
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -0.1558349 2.8687423
## sample estimates:
## mean in group 0 mean in group 1
## 23.66154 22.30508
Se tiene un \(p-valor = 0.07834\) siendo Mayor al nivel de \(0.05\) de significancia NO SE RECHAZA LA HIPOTESIS NULA , por lo que no se tiene suficiente evidencia en los datos que nos haga rechazar el supuesto de que la edad promedio de las mamás que tuvieron hijos con bajo peso, no difiere de forma significativa estadisticamente de la edad promediode las mamás que No tuvieron hijos con bajo peso.
Gráficamente
boxplot(age ~ low, data = dataex,
main = "Distribución de edad de la madre por\n Indicador de bajo peso del bebé al nacer ",
xlab = "Indicado del bajo peso del bebé 0=No, 1=Si ",
ylab = "edad",
col = c("green", "red"),
border = "gray40")
Ahora si consideramos el peso de la madre antes del embarazo el contraste de hipoteis
\(H_{0}:El\ peso\ promedio\ de\ las\ madres\ antes\ del\ embarazo\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\ es\ igual\ a\ el\ peso\ promedio\ de\ las\ madres\ antes\ del\ embarazo\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(H_{1}:El\ peso\ promedio\ de\ las\ madres\ antes\ del\ embarazo\ que\ tuvieron\ bebés\ con \ bajo\ peso \ al\ nacer\ es\ diferente \ a\ el \ peso\ promedio\ de\ las\ madres\ antes\ del\ embarazo\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al \nacer\)
o bien, sean :
\(\mu_{1}: Peso\ promedio\ de\ las\ madres\ antes\ del\ embarazo\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(\mu_{2}: Peso\ promedio\ de\ las\ madres\ antes\ del\ embarazo \ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
entonces el contrate de hipotesis es:
\(H_0: \mu_{1} = \mu_{2}\)
\(H_{1}: \mu_{1}\neq \mu_{2}\)
t.test(dataex$lwt ~ dataex$low)
##
## Welch Two Sample t-test
##
## data: dataex$lwt by dataex$low
## t = 2.5155, df = 132.46, p-value = 0.01308
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## 2.38552 19.94329
## sample estimates:
## mean in group 0 mean in group 1
## 133.3000 122.1356
Se tiene un \(p-valor = 0.01308\) siendo Menor al nivel de \(0.05\) de significancia SE RECHAZA LA HIPOTESIS NULA , por lo que se tiene suficiente evidencia en los datos que nos haga rechazar el supuesto de que el peso promedio de las mamás antes del embarazo que tuvieron hijos con bajo peso, difiere de forma significativa estadisticamente del peso promedio de las mamás antes del embarazo que No tuvieron hijos con bajo peso.
Gráficamente
boxplot(lwt ~ low, data = dataex,
main = "Distribución de peso promedio de la madre por\n Indicador de bajo peso del bebé al nacer ",
xlab = "Indicado del bajo peso del bebé 0=No, 1=Si ",
ylab = "Peso",
col = c("blue", "purple"),
border = "gray40")
Ahora si consideramos el numero de partos prematuros previos de la madre el contraste de hipoteis
\(H_{0}:El\ numero\ de\ partos\ prematuros\ previos\ promedio\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\ es\ igual\ a\ el\ numero\ de\ partos\ prematuros\ previos\ promedio\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(H_{1}:El\ numero\ de\ partos\ prematuros\ previos\ promedio\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso \ al\ nacer\ es\ diferente \ a\ el \ numero\ de\ partos\ prematuros\ previos\ promedio\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al \nacer\)
o bien, sean :
\(\mu_{1}: numero\ de\ partos\ prematuros\ previos\ promedio\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(\mu_{2}: numero\ de\ partos\ prematuros\ previos\ promedio\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
entonces el contrate de hipotesis es:
\(H_0: \mu_{1} = \mu_{2}\)
\(H_{1}: \mu_{1}\neq \mu_{2}\)
t.test(dataex$ptl ~ dataex$low)
##
## Welch Two Sample t-test
##
## data: dataex$ptl by dataex$low
## t = -2.5573, df = 96.287, p-value = 0.01211
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -0.36982196 -0.04660568
## sample estimates:
## mean in group 0 mean in group 1
## 0.1307692 0.3389831
Se tiene un \(p-valor = 0.01211\) siendo Menor al nivel de \(0.05\) de significancia SE RECHAZA LA HIPOTESIS NULA , por lo que se tiene suficiente evidencia en los datos que nos haga rechazar el supuesto de que el numero de partos prematuros previos promedio de las mamás que tuvieron hijos con bajo peso, difiere de forma significativa estadisticamente del numero de partos prematuros previos promedio de las mamás que No tuvieron hijos con bajo peso.
Gráficamente
boxplot(ptl ~ low, data = dataex,
main = "Distribución de numero\n de partos prematuros de la madre por\n Indicador de bajo peso del bebé al nacer ",
xlab = "Indicado del bajo peso del bebé 0=No, 1=Si ",
ylab = "No. partos prematuros",
col = c("orange", "yellow"),
border = "gray40")
Ahora si consideramos el numero de partos prematuros previos de la madre el contraste de hipoteis
\(H_{0}:El\ numero\ de\ visitas\ promedio\ al\ medico\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\ es\ igual\ al\ numero\ de\ visitas\ promedio\ al\ medico\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(H_{1}:El\ numero\ de\ visitas\ promedio\ al\ medico de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso \ al\ nacer\ es\ diferente \ al \ numero\ de\ de\ visitas\ promedio\ al\ medico\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al \nacer\)
o bien, sean :
\(\mu_{1}: numero\ de\ visitas\ promedio\ al\ medico\ de\ las\ madres\ que\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
\(\mu_{2}: numero\ de\ visitas\ promedio\ al\ medico\ de\ las\ madres\ que\ no\ tuvieron\ bebés\ con \ bajo\ peso\ al\ nacer\)
entonces el contrate de hipotesis es:
\(H_0: \mu_{1} = \mu_{2}\)
\(H_{1}: \mu_{1}\neq \mu_{2}\)
t.test(dataex$ftv ~ dataex$low)
##
## Welch Two Sample t-test
##
## data: dataex$ftv by dataex$low
## t = 0.87249, df = 115.32, p-value = 0.3848
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -0.1823368 0.4694293
## sample estimates:
## mean in group 0 mean in group 1
## 0.8384615 0.6949153
Se tiene un \(p-valor = 0.3848\) siendo Mayor al nivel de \(0.05\) de significancia NO SE RECHAZA LA HIPOTESIS NULA , por lo que no se tiene suficiente evidencia en los datos que nos haga rechazar el supuesto de que el numero de visitas promedio al medico de las mamás que tuvieron hijos con bajo peso, no difiere de forma significativa estadisticamente de el numero de visitas promedio al medico de las mamás que No tuvieron hijos con bajo peso.
Gráficamente
boxplot(ftv ~ low, data = dataex,
main = "Distribución de numero\n de visitas promedio al medico de la madre por\n Indicador de bajo peso del bebé al nacer ",
xlab = "Indicado del bajo peso del bebé 0=No, 1=Si ",
ylab = "No. visitas al medico",
col = c("blue4", "pink4"),
border = "gray40")
De acuerdo con el p-valor el variable edad(age) así como su numero de visitas promedio al medico durante el primer trimestre (ftv) esta relacionada con la probabilidad de que el bebé tenga bajo peso al nacer
El modelo logístico que se estima está dado en la siguiente instrucción:
# modelo logistico simple
modelex <- glm(low ~ smoke + ht + ui+ age+ ftv,
data = dataex, family = binomial)
modelex
##
## Call: glm(formula = low ~ smoke + ht + ui + age + ftv, family = binomial,
## data = dataex)
##
## Coefficients:
## (Intercept) smoke1 ht1 ui1 age ftv
## -0.30241 0.66649 1.40040 0.99366 -0.04409 -0.03025
##
## Degrees of Freedom: 188 Total (i.e. Null); 183 Residual
## Null Deviance: 234.7
## Residual Deviance: 218 AIC: 230
library(stargazer)
##
## Please cite as:
## Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
## R package version 5.2.3. https://CRAN.R-project.org/package=stargazer
stargazer(modelex, type= "text")
##
## =============================================
## Dependent variable:
## ---------------------------
## low
## ---------------------------------------------
## smoke1 0.666**
## (0.332)
##
## ht1 1.400**
## (0.628)
##
## ui1 0.994**
## (0.434)
##
## age -0.044
## (0.034)
##
## ftv -0.030
## (0.163)
##
## Constant -0.302
## (0.794)
##
## ---------------------------------------------
## Observations 189
## Log Likelihood -109.004
## Akaike Inf. Crit. 230.007
## =============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
El modelo logistico es el siguente
\(Bebé bajo peso = -0.30241 + 0.66649*smoke1 + 1.40040*ht1 + 0.99366*ui1 - 0.04409*Edad-0.03025*ftv\)
Veamos que NO todas las variables son significativas, los coeficientes negativos, por ejemplo el coeficiente de edad,implica que ser más joven aumenta la probabilidad de que el bebé nazca con bajo peso (al ser una variable cuantitativa). Para interpretar una variable cualitativa se necesita ser más cuidadoso, por ejemplo el signo negativo del smoke, recordemos que la Si la madre NO fumó durante el embarazo tiene etiqueta O y Si la madre fumó durante el embarazo etiqueta 1; el signo positivo implica que ser Si la madre fumó durante el embarazo aumenta la probabilidad de que el bebé nazca con bajo peso.
Un razonamiento similar se aplica a la variable Antecedentes de hipertensión. Si es de segunda o tercera clase tenemos menos probabilidad de que sobreviva, recordemos que la Si la madre NO tiene antecedentes de hipertensión tiene etiqueta O y Si la madre tiene antecedentes de hipertensión etiqueta 1; el signo positivo implica que ser Si la madre tiene antecedentes de hipertensión aumenta la probabilidad de que el bebé nazca con bajo peso.
La primera cuestion que hay que analizar es la significatividad global del modelo mediante la diferencia entre la deviance del modelo nulo y la deviance del modelo estimado, esta prueba la ralizamos con el estadistico ji-cuadrado
deviance.modelex<-modelex$deviance
deviance.base<-modelex$null.deviance
chi<-deviance.base - deviance.modelex
gl_chi <- modelex$df.null - modelex$df.residual
sig.chi <- 1-pchisq(chi, df= gl_chi)
cat("Deviance del Modelo:", deviance.modelex, "\n",
"Deviance base:", deviance.base, "\n",
"Estadístico Ji-cuadrado:", chi, "\n",
"Grados de libertad:", gl_chi, "\n",
"p-valor:", sig.chi, "\n")
## Deviance del Modelo: 218.007
## Deviance base: 234.672
## Estadístico Ji-cuadrado: 16.66497
## Grados de libertad: 5
## p-valor: 0.005181037
Notemos que el \(pvalor =0.005\) es MENOR al nivel de significancia \(0.05\) por lo que el modelo ES SIGNIFICATIVO GLOBAL
Ahora, determinemos que variables individuales tienen un efecto significativo en que los bebés nazacan con bajo peso (test de Wald), el sentido de esta (signo de los coeficientes no estándarizadas) y la importancia de cada una (odd ratio).
\(H_0: \beta_{1} = \beta_{2}= \beta_{3}= \beta_{4}= \beta_{5}\)
\(H_{1}: al \ menos\ \beta_{i}\neq \ 0\)
# modelo logistico simple
summary(modelex)
##
## Call:
## glm(formula = low ~ smoke + ht + ui + age + ftv, family = binomial,
## data = dataex)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.30241 0.79381 -0.381 0.7032
## smoke1 0.66649 0.33153 2.010 0.0444 *
## ht1 1.40040 0.62787 2.230 0.0257 *
## ui1 0.99366 0.43357 2.292 0.0219 *
## age -0.04409 0.03382 -1.304 0.1923
## ftv -0.03025 0.16274 -0.186 0.8526
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 234.67 on 188 degrees of freedom
## Residual deviance: 218.01 on 183 degrees of freedom
## AIC: 230.01
##
## Number of Fisher Scoring iterations: 4
Notemos que las variables no son tan significativas, como ya habiamos notado anteriormente
Anova(modelex)
| LR Chisq | Df | Pr(>Chisq) | |
|---|---|---|---|
| smoke | 4.0468545 | 1 | 0.0442537 |
| ht | 5.0233161 | 1 | 0.0250082 |
| ui | 5.1579823 | 1 | 0.0231398 |
| age | 1.7498354 | 1 | 0.1858974 |
| ftv | 0.0347734 | 1 | 0.8520712 |
Notemos que las variables significativas son las variables smoke, ht, ui.
Quitando la variable ftv
# modelo logistico simple
modelex1 <- glm(low ~ smoke + ht + ui+ age,
data = dataex, family = binomial)
modelex1
##
## Call: glm(formula = low ~ smoke + ht + ui + age, family = binomial,
## data = dataex)
##
## Coefficients:
## (Intercept) smoke1 ht1 ui1 age
## -0.29665 0.66850 1.41114 0.99846 -0.04547
##
## Degrees of Freedom: 188 Total (i.e. Null); 184 Residual
## Null Deviance: 234.7
## Residual Deviance: 218 AIC: 228
library(stargazer)
stargazer(modelex1, type= "text")
##
## =============================================
## Dependent variable:
## ---------------------------
## low
## ---------------------------------------------
## smoke1 0.669**
## (0.331)
##
## ht1 1.411**
## (0.626)
##
## ui1 0.998**
## (0.432)
##
## age -0.045
## (0.033)
##
## Constant -0.297
## (0.793)
##
## ---------------------------------------------
## Observations 189
## Log Likelihood -109.021
## Akaike Inf. Crit. 228.042
## =============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Notemos que la variable edad no es significativa en el modelo.
La primera cuestion que hay que analizar es la significatividad global del modelo mediante la diferencia entre la deviance del modelo nulo y la deviance del modelo estimado, esta prueba la ralizamos con el estadistico ji-cuadrado
deviance.modelex1<-modelex1$deviance
deviance.base1<-modelex1$null.deviance
chi1<-deviance.base1 - deviance.modelex1
gl_chi1 <- modelex1$df.null - modelex1$df.residual
sig.chi1 <- 1-pchisq(chi, df= gl_chi)
cat("Deviance del Modelo:", deviance.modelex1, "\n",
"Deviance base:", deviance.base1, "\n",
"Estadístico Ji-cuadrado:", chi1, "\n",
"Grados de libertad:", gl_chi1, "\n",
"p-valor:", sig.chi1, "\n")
## Deviance del Modelo: 218.0418
## Deviance base: 234.672
## Estadístico Ji-cuadrado: 16.6302
## Grados de libertad: 4
## p-valor: 0.005181037
Notemos que el \(pvalor =0.0051\) es MENOR al nivel de significancia \(0.05\) por lo que el modelo sigue siendo SIGNIFICATIVO GLOBAL
Ahora, determinemos que variables individuales tienen un efecto significativo en que los bebés nazacan con bajo peso (test de Wald), el sentido de esta (signo de los coeficientes no estándarizadas) y la importancia de cada una (odd ratio).
# modelo logistico simple
summary(modelex1)
##
## Call:
## glm(formula = low ~ smoke + ht + ui + age, family = binomial,
## data = dataex)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.29665 0.79256 -0.374 0.7082
## smoke1 0.66850 0.33130 2.018 0.0436 *
## ht1 1.41114 0.62596 2.254 0.0242 *
## ui1 0.99846 0.43247 2.309 0.0210 *
## age -0.04547 0.03299 -1.378 0.1682
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 234.67 on 188 degrees of freedom
## Residual deviance: 218.04 on 184 degrees of freedom
## AIC: 228.04
##
## Number of Fisher Scoring iterations: 4
Notemos que no todas las variables son significativas.
Anova(modelex1)
| LR Chisq | Df | Pr(>Chisq) | |
|---|---|---|---|
| smoke | 4.078102 | 1 | 0.0434424 |
| ht | 5.119323 | 1 | 0.0236608 |
| ui | 5.239539 | 1 | 0.0220791 |
| age | 1.963900 | 1 | 0.1610968 |
Notemos que la variable edad no es significativa en el modelo
Quitando la variable ftv y age
# modelo logistico simple
modelex2 <- glm(low ~ smoke + ht + ui,
data = dataex, family = binomial)
modelex2
##
## Call: glm(formula = low ~ smoke + ht + ui, family = binomial, data = dataex)
##
## Coefficients:
## (Intercept) smoke1 ht1 ui1
## -1.3551 0.6831 1.4174 1.0384
##
## Degrees of Freedom: 188 Total (i.e. Null); 185 Residual
## Null Deviance: 234.7
## Residual Deviance: 220 AIC: 228
library(stargazer)
stargazer(modelex2, type= "text")
##
## =============================================
## Dependent variable:
## ---------------------------
## low
## ---------------------------------------------
## smoke1 0.683**
## (0.329)
##
## ht1 1.417**
## (0.624)
##
## ui1 1.038**
## (0.428)
##
## Constant -1.355***
## (0.241)
##
## ---------------------------------------------
## Observations 189
## Log Likelihood -110.003
## Akaike Inf. Crit. 228.006
## =============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
Notemos que todas las variables son significativas.
El modelo logistico es el siguente
$Bebé bajo peso = -1.355 + 0.6831smoke1 + 1.4174ht1 + 1.0384*ui1 $
Veamos que TODAS las variables son significativas, Para interpretar una variable cualitativa se necesita ser más cuidadoso, por ejemplo el signo positivo del smoke, recordemos que la Si la madre NO fumó durante el embarazo tiene etiqueta O y Si la madre fumó durante el embarazo etiqueta 1; el signo positivo implica que ser Si la madre fumó durante el embarazo aumenta la probabilidad de que el bebé nazca con bajo peso.
Un razonamiento similar se aplica a la variable Antecedentes de hipertensión. Si es de segunda o tercera clase tenemos menos probabilidad de que sobreviva, recordemos que la Si la madre NO tiene antecedentes de hipertensión tiene etiqueta O y Si la madre tiene antecedentes de hipertensión etiqueta 1; el signo positivo implica que ser Si la madre tiene antecedentes de hipertensión aumenta la probabilidad de que el bebé nazca con bajo peso.
La primera cuestion que hay que analizar es la significatividad global del modelo mediante la diferencia entre la deviance del modelo nulo y la deviance del modelo estimado, esta prueba la ralizamos con el estadistico ji-cuadrado
deviance.modelex2<-modelex2$deviance
deviance.base2<-modelex2$null.deviance
chi2<-deviance.base2 - deviance.modelex2
gl_chi2 <- modelex2$df.null - modelex2$df.residual
sig.chi2 <- 1-pchisq(chi, df= gl_chi)
cat("Deviance del Modelo:", deviance.modelex2, "\n",
"Deviance base:", deviance.base2, "\n",
"Estadístico Ji-cuadrado:", chi2, "\n",
"Grados de libertad:", gl_chi2, "\n",
"p-valor:", sig.chi, "\n")
## Deviance del Modelo: 220.0057
## Deviance base: 234.672
## Estadístico Ji-cuadrado: 14.6663
## Grados de libertad: 3
## p-valor: 0.005181037
Notemos que el \(pvalor =0.0051\) es MENOR al nivel de significancia \(0.05\) por lo que el modelo sigue siendo SIGNIFICATIVO GLOBAL
Ahora, determinemos que variables individuales tienen un efecto significativo en que los bebés nazacan con bajo peso (test de Wald), el sentido de esta (signo de los coeficientes no estándarizadas) y la importancia de cada una (odd ratio).
# modelo logistico simple
summary(modelex2)
##
## Call:
## glm(formula = low ~ smoke + ht + ui, family = binomial, data = dataex)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.3551 0.2415 -5.611 2.01e-08 ***
## smoke1 0.6831 0.3293 2.075 0.0380 *
## ht1 1.4174 0.6235 2.273 0.0230 *
## ui1 1.0384 0.4280 2.426 0.0153 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 234.67 on 188 degrees of freedom
## Residual deviance: 220.01 on 185 degrees of freedom
## AIC: 228.01
##
## Number of Fisher Scoring iterations: 4
Notemos que todas las variables son significativas en el modelo como ya habiamos notado anteriormente
Anova(modelex2)
| LR Chisq | Df | Pr(>Chisq) | |
|---|---|---|---|
| smoke | 4.314927 | 1 | 0.0377794 |
| ht | 5.205188 | 1 | 0.0225196 |
| ui | 5.786236 | 1 | 0.0161521 |
modelex2$coefficients
## (Intercept) smoke1 ht1 ui1
## -1.3550869 0.6831291 1.4174223 1.0383944
# Exponencial de los coeficientes estimados
# Solo es del beta i correspondiente
exp(modelex2$coefficients)
## (Intercept) smoke1 ht1 ui1
## 0.2579249 1.9800639 4.1264700 2.8246780
Seleccionamos tres personas de la base de datos para estimar la probabilidad que un bebe nazca con bajo peso con base al modelo logistico:
dataex[c(25,100,150),]
| low | age | lwt | smoke | ptl | ht | ui | ftv | |
|---|---|---|---|---|---|---|---|---|
| 111 | 0 | 25 | 120 | 0 | 0 | 0 | 1 | 2 |
| 195 | 0 | 30 | 137 | 0 | 0 | 0 | 0 | 1 |
| 31 | 1 | 20 | 125 | 0 | 0 | 0 | 1 | 0 |
Para el primer madre seleccionada “25”, el bebé NO tuvo bajo peso al nacer, la madre de 25 años, con un peso de 120 libras antes del embarazo, con 0 partos prematuros, y sin antecedentes de hipertensión, con presencia de irritabilidad uterina ,con 2 visitas al medico durante el primer trimestre.
Para el segunda madre seleccionado “100”, el bebé NO tuvo bajo peso al nacer, la madre de 30 años, con un peso de 137 libras antes del embarazo,no fumó durante el embarazo, con 0 partos prematuros, y sin antecedentes de hipertensión, Sin presencia de irritabilidad uterina ,con 1 visita al medico durante el primer trimestre.
Para el tercera madre seleccionado “150”, el bebé SI tuvo bajo peso al nacer, la madre de 20 años, con un peso de 137 libras antes del embarazo,no fumó durante el embarazo, con 0 partos prematuros, y sin antecedentes de hipertensión, Con presencia de irritabilidad uterina ,con 0 visita al medico durante el primer trimestre.
$Bebé bajo peso = -1.355 + 0.6831smoke1 + 1.4174ht1 + 1.0384*ui1 $
odd_m25<- exp(-1.355 + 0.6831*0 + 1.4174*0 + 1.0384*1)
cat("Razon odd madre 25:", odd_m25, "\n")
## Razon odd madre 25: 0.7286221
odd_m100<- exp(-1.355 + 0.6831*0+ 1.4174*0 + 1.0384*0)
cat("Razon odd madre100:", odd_m100, "\n")
## Razon odd madre100: 0.2579473
odd_m150<- exp(-1.355 + 0.6831*0 + 1.4174*0 + 1.0384*1)
cat("Razon odd madre 150:", odd_m150, "\n")
## Razon odd madre 150: 0.7286221
Recuerde que el odd de un acontecimiento se define como la razón entre su probabilidad de ocurrencia y la de no ocurrencia.
\(\dfrac{\pi_i}{1-\pi_i}=\ e^{-1.355 + 0.6831*smoke1 + 1.4174*ht1 + 1.0384*ui1}\)
Con la cuál se obtuvieron las odd de los madres \(25,100 y 150\).
Para la odd de la madre \(25\), es MENOR A 1, entonces la probabilidad de de que el bebé NO tenga un bajo peso al nacer es mayor a la probabilidad de que el bebé nazca con bajo peso.
Sucede lo mismo que anteriormente para la madre \(100\), es MENOR A 1, entonces la probabilidad de que el bebé NO tenga un bajo peso al nacer es mayor a la probabilidad de que el bebé nazca con bajo peso.
Mientras que para la madre \(150\) tiene una razon odd es MENOR A 1, entonces la probabilidad de que el bebé NO tenga un bajo peso al nacer es mayor a la probabilidad de que el bebé nazca con bajo peso.
Veamos las probabilidades estimadas
dataex1<- data.frame(dataex, modelex2$fitted.values)
head(dataex1)
| low | age | lwt | smoke | ptl | ht | ui | ftv | modelex2.fitted.values | |
|---|---|---|---|---|---|---|---|---|---|
| 85 | 0 | 19 | 182 | 0 | 0 | 0 | 1 | 0 | 0.4214820 |
| 86 | 0 | 33 | 155 | 0 | 0 | 0 | 0 | 3 | 0.2050400 |
| 87 | 0 | 20 | 105 | 1 | 0 | 0 | 0 | 1 | 0.3380586 |
| 88 | 0 | 21 | 108 | 1 | 0 | 0 | 1 | 2 | 0.5905977 |
| 89 | 0 | 18 | 107 | 1 | 0 | 0 | 1 | 0 | 0.5905977 |
| 91 | 0 | 21 | 124 | 0 | 0 | 0 | 0 | 0 | 0.2050400 |
dataex$ProbEstimbaj<- as.numeric(modelex2$fitted.values)
head(dataex)
| low | age | lwt | smoke | ptl | ht | ui | ftv | ProbEstimbaj | |
|---|---|---|---|---|---|---|---|---|---|
| 85 | 0 | 19 | 182 | 0 | 0 | 0 | 1 | 0 | 0.4214820 |
| 86 | 0 | 33 | 155 | 0 | 0 | 0 | 0 | 3 | 0.2050400 |
| 87 | 0 | 20 | 105 | 1 | 0 | 0 | 0 | 1 | 0.3380586 |
| 88 | 0 | 21 | 108 | 1 | 0 | 0 | 1 | 2 | 0.5905977 |
| 89 | 0 | 18 | 107 | 1 | 0 | 0 | 1 | 0 | 0.5905977 |
| 91 | 0 | 21 | 124 | 0 | 0 | 0 | 0 | 0 | 0.2050400 |
Veamos las probabilidades de que el bebé nazca con bajo peso de las madres \(111\),\(195\) y \(31\)
dataex[c(25,100,150), c("low","ProbEstimbaj")]
| low | ProbEstimbaj | |
|---|---|---|
| 111 | 0 | 0.421482 |
| 195 | 0 | 0.205040 |
| 31 | 1 | 0.421482 |
La mamá \(25\) NO tuvo un hijo con bajo peso y su probabilidad estimada era de \(0.4214\)
La mamá \(100\)NO tuvo un hijo con bajo peso y su probabilidad estimada era de \(0.2050\)
La mamá \(150\) SI tuvo un hijo con bajo peso y su probabilidad estimada era de \(0.4214\)
Al término \(e^{\beta_{i}}\) se le conoce como odd ratio y su interpretación es:
odd ratio es el factor en que se incrementa la odd cuando la variable independiente \(i-ésima\) se incrementa en una unidad y el resto permanece constante.
Recordemos el modelo:
$Bebé bajo peso = -1.355 + 0.6831smoke1 + 1.4174ht1 + 1.0384*ui1 $
Calculamos la probabilidad de sobrevivir de cada pasajero así como la probabilidad de no sobrevivir.
NO_baj<-1-dataex$ProbEstimbaj
dataex$ProbFrac<-NO_baj
dataex$Odd<- (dataex$ProbEstimbaj)/(dataex$ProbFrac)
head(dataex)
| low | age | lwt | smoke | ptl | ht | ui | ftv | ProbEstimbaj | ProbFrac | Odd | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 85 | 0 | 19 | 182 | 0 | 0 | 0 | 1 | 0 | 0.4214820 | 0.5785180 | 0.7285548 |
| 86 | 0 | 33 | 155 | 0 | 0 | 0 | 0 | 3 | 0.2050400 | 0.7949600 | 0.2579249 |
| 87 | 0 | 20 | 105 | 1 | 0 | 0 | 0 | 1 | 0.3380586 | 0.6619414 | 0.5107078 |
| 88 | 0 | 21 | 108 | 1 | 0 | 0 | 1 | 2 | 0.5905977 | 0.4094023 | 1.4425850 |
| 89 | 0 | 18 | 107 | 1 | 0 | 0 | 1 | 0 | 0.5905977 | 0.4094023 | 1.4425850 |
| 91 | 0 | 21 | 124 | 0 | 0 | 0 | 0 | 0 | 0.2050400 | 0.7949600 | 0.2579249 |
dataex[c(25,10,150),]
| low | age | lwt | smoke | ptl | ht | ui | ftv | ProbEstimbaj | ProbFrac | Odd | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 111 | 0 | 25 | 120 | 0 | 0 | 0 | 1 | 2 | 0.4214820 | 0.5785180 | 0.7285548 |
| 95 | 0 | 26 | 113 | 1 | 0 | 0 | 0 | 0 | 0.3380586 | 0.6619414 | 0.5107078 |
| 31 | 1 | 20 | 125 | 0 | 0 | 0 | 1 | 0 | 0.4214820 | 0.5785180 | 0.7285548 |
Vemos nuevamente que el modelo ajusta bien la probabilidad con algunas muestras pero hay algunos en los que falla, obtenemos la matriz de confunsion que muestra la calidad de estimación del modelo, el punto de corte será 0.5.
library(gmodels)
predict.modelex2<- modelex$fitted.values
predict.modelex2[predict.modelex2>=0.5]<-1
predict.modelex2[predict.modelex2<0.5]<-0
CrossTable(dataex$low, predict.modelex2, prop.chisq = FALSE,
prop.c = FALSE, prop.r = FALSE)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 189
##
##
## | predict.modelex2
## dataex$low | 0 | 1 | Row Total |
## -------------|-----------|-----------|-----------|
## 0 | 120 | 10 | 130 |
## | 0.635 | 0.053 | |
## -------------|-----------|-----------|-----------|
## 1 | 46 | 13 | 59 |
## | 0.243 | 0.069 | |
## -------------|-----------|-----------|-----------|
## Column Total | 166 | 23 | 189 |
## -------------|-----------|-----------|-----------|
##
##
Considerando el punto de corte de 0.5 se tiene 10 madres mal asignados mal asignados, es decir el modelo predice el bebé Nacerá con peso bajo, pero en realidad No. Y 46 madres que el modelo estima que Si naceran con pesos bajos pero en realidad No.
De los \(130\) que no nacen con pesos bajos, el modelo dice que los que No nacen con pesos bajos son \(120\), es decir, se tienen 10 madres que tienen hijos con pesos bajos
De los \(59\) madres que sus hijo nacen con Pesos bajos, el modelo dice que los que si nacen asi fueron \(13\), es decir, se tienen 46 madres mal asignados que No tienen hijos con pesos bajos.
De la matriz de confusión se obtiene
3.5.1.2.1.1.1 Sensibilidad
Es el % de Positivos que logran clasificar correctamente; en nuestro caso es el % de Madres que tienen hijos con bajos pesos y que fueron clasificados correctamente como madres que tienen bebés con bajos pesos
\[Sensibilidad= {\dfrac{13}{59}}= 0.220339\]. Entonces \(22\)% de las madres que tienen bebés con bajos pesos y fueron clasificados correctamente como madres con bebés cde bajos pesos.
3.5.1.2.1.1.2 Especificidad
Es el % de Negativos que logran clasificar correctamente; en nuestro caso es el % de madres que no tienen bebés con bajos pesos y que fueron clasificados correctamente al grupo 0 (grupo que de madres que no tienen bebes con bajos pesos)
\[Especificidad= {\dfrac{120}{130}}=0.9230769\]. Entonces \(92.30\)% de madres que no tienen bebés con bajos pesoshan sido correctamente clasificados por el modelo.
3.5.1.2.1.1.3 Exactitud
Es el % porcentaje de clasificados correctamente
\[Exactitud ={\dfrac{120+13}{189}}= 0.7037037\], esto es, \(70.37\)% del total de los datos han sido clasificados correctamente.
3.5.1.2.1.1.4 Tasa de Error
Es el % que se clasifica incorrectamente
\[Exactitud ={\dfrac{10+46}{189}}= 0.2962963\], es decir, \(29.62\)% de las madres son clasificados incorrectamente por el modelo.
3.5.1.2.1.1.5 Falsos Positivos
¿Cuál es el % de falsos positivos?
Un falso positivo es la madre que el modelo estima nazca el bebé con bajo peso pero No nace con bajo peso \(\dfrac{10}{130}= 0.07692308\), entonces el % de falsos positivos es de \(7.69\)%
Graficos de las probabilidades estimadas contra las variables explicativas
Boxplot(modelex2$fitted.values ~ dataex$low, col="bisque",
main = "probabilidades predichas bajo el modelo logistico",
xlab = "Bebés con bajo peso al nacer y peso Normal ", ylab = "probabilidades predichas")
## [1] "88" "89" "132" "133" "144" "187" "188" "197"
Las probabilidades estimadas para los que no tienen bajo peso al nacer estan por arriba de \(0.2\), sin embargo están en un rango de \((0.2,0.5)\) pero hay valores extremos. Las probabilidades estimadas para los que SI tienen bajo peso al nacer están con una dispersión muy grande que va de \((0.2,1)\)
library(Epi)
ROC(data=dataex, form= low ~ smoke+ ht+ui )
Este punto optimo sugerido es para incrementar el éxito
MATRIZ DE CONFUSION
library(gmodels)
predict.modelex2<- modelex2$fitted.values
predict.modelex2[predict.modelex2>=0.205]<-1
predict.modelex2[predict.modelex2<0.205]<-0
CrossTable(dataex$low, predict.modelex2, prop.chisq = FALSE,
prop.c = FALSE, prop.r = FALSE)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 189
##
##
## | predict.modelex2
## dataex$low | 1 | Row Total |
## -------------|-----------|-----------|
## 0 | 130 | 130 |
## | 0.688 | |
## -------------|-----------|-----------|
## 1 | 59 | 59 |
## | 0.312 | |
## -------------|-----------|-----------|
## Column Total | 189 | 189 |
## -------------|-----------|-----------|
##
##
La sensibilidad es de \[Sensibilidad= {\dfrac{59}{59}}= 1\].Ciertamente se incrementa la sensibilidad de un \(22\)% aproximadamente a un \(100\)%
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.