El estudio tiene como objetivo evaluar las causas de los efectos del alcohol en el estudio, teniendo en cuenta el análisis de tipo cuantitativo y descriptivo. La muestra incluyó n= 395 estudiantes 53% del sexo femenino y 47% del sexo masculino, con edades entre 15 y 22 años. Esta discriminación existe entre los adolescentes antes de tener experiencias significativas con el consumo de alcohol con el aumento de la edad.
Estos datos abordan el rendimiento de los estudiantes en la educación secundaria de dos escuelas portuguesas (Gabriel PereiraY Mousinho da Silveira). Los atributos de los datos incluyen calificaciones de los estudiantes, características demográficas, sociales y relacionadas con la escuela y se recopilaron mediante el uso de informes y cuestionarios escolares. Se proporcionan dos conjuntos de datos sobre el rendimiento de materia de Matemáticas (MATHS). [Cortez and Silva, 2008].
Teniendo en cuenta la depuración realizad en los modelos de regresión lineal múltiple se consideró las siguientes variables a ser estudiadas en los modelos de regresión logística siendo que contiene en su mayoría variables binarias. Como variables numéricas (cualitativas), adicionalmente se seleccionó como variable de respuesta (Y higher = si los alumnos quieren tomar educación superior)
Lectura de Data
library(readr)
Maths <- read_csv("C:/Users/Admin/Desktop/UNIVERSIDAD/ESPECIALIZACON EN ESTADISTICA/ANALISIS DE REGRESION/TALLERES/Maths.csv")
## Rows: 395 Columns: 33
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (17): school, sex, address, famsize, Pstatus, Mjob, Fjob, reason, guardi...
## dbl (16): age, Medu, Fedu, traveltime, studytime, failures, famrel, freetime...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
##View(Maths2)
str(Maths)
## spec_tbl_df [395 × 33] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ school : chr [1:395] "GP" "GP" "GP" "GP" ...
## $ sex : chr [1:395] "F" "F" "F" "F" ...
## $ age : num [1:395] 18 17 15 15 16 16 16 17 15 15 ...
## $ address : chr [1:395] "U" "U" "U" "U" ...
## $ famsize : chr [1:395] "GT3" "GT3" "LE3" "GT3" ...
## $ Pstatus : chr [1:395] "A" "T" "T" "T" ...
## $ Medu : num [1:395] 4 1 1 4 3 4 2 4 3 3 ...
## $ Fedu : num [1:395] 4 1 1 2 3 3 2 4 2 4 ...
## $ Mjob : chr [1:395] "at_home" "at_home" "at_home" "health" ...
## $ Fjob : chr [1:395] "teacher" "other" "other" "services" ...
## $ reason : chr [1:395] "course" "course" "other" "home" ...
## $ guardian : chr [1:395] "mother" "father" "mother" "mother" ...
## $ traveltime: num [1:395] 2 1 1 1 1 1 1 2 1 1 ...
## $ studytime : num [1:395] 2 2 2 3 2 2 2 2 2 2 ...
## $ failures : num [1:395] 0 0 3 0 0 0 0 0 0 0 ...
## $ schoolsup : chr [1:395] "yes" "no" "yes" "no" ...
## $ famsup : chr [1:395] "no" "yes" "no" "yes" ...
## $ paid : chr [1:395] "no" "no" "yes" "yes" ...
## $ activities: chr [1:395] "no" "no" "no" "yes" ...
## $ nursery : chr [1:395] "yes" "no" "yes" "yes" ...
## $ higher : chr [1:395] "yes" "yes" "yes" "yes" ...
## $ internet : chr [1:395] "no" "yes" "yes" "yes" ...
## $ romantic : chr [1:395] "no" "no" "no" "yes" ...
## $ famrel : num [1:395] 4 5 4 3 4 5 4 4 4 5 ...
## $ freetime : num [1:395] 3 3 3 2 3 4 4 1 2 5 ...
## $ goout : num [1:395] 4 3 2 2 2 2 4 4 2 1 ...
## $ Dalc : num [1:395] 1 1 2 1 1 1 1 1 1 1 ...
## $ Walc : num [1:395] 1 1 3 1 2 2 1 1 1 1 ...
## $ health : num [1:395] 3 3 3 5 5 5 3 1 1 5 ...
## $ absences : num [1:395] 6 4 10 2 4 10 0 6 0 0 ...
## $ G1 : num [1:395] 5 5 7 15 6 15 12 6 16 14 ...
## $ G2 : num [1:395] 6 5 8 14 10 15 12 5 18 15 ...
## $ G3 : num [1:395] 6 6 10 15 10 15 11 6 19 15 ...
## - attr(*, "spec")=
## .. cols(
## .. school = col_character(),
## .. sex = col_character(),
## .. age = col_double(),
## .. address = col_character(),
## .. famsize = col_character(),
## .. Pstatus = col_character(),
## .. Medu = col_double(),
## .. Fedu = col_double(),
## .. Mjob = col_character(),
## .. Fjob = col_character(),
## .. reason = col_character(),
## .. guardian = col_character(),
## .. traveltime = col_double(),
## .. studytime = col_double(),
## .. failures = col_double(),
## .. schoolsup = col_character(),
## .. famsup = col_character(),
## .. paid = col_character(),
## .. activities = col_character(),
## .. nursery = col_character(),
## .. higher = col_character(),
## .. internet = col_character(),
## .. romantic = col_character(),
## .. famrel = col_double(),
## .. freetime = col_double(),
## .. goout = col_double(),
## .. Dalc = col_double(),
## .. Walc = col_double(),
## .. health = col_double(),
## .. absences = col_double(),
## .. G1 = col_double(),
## .. G2 = col_double(),
## .. G3 = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
summary(Maths)
## school sex age address
## Length:395 Length:395 Min. :15.0 Length:395
## Class :character Class :character 1st Qu.:16.0 Class :character
## Mode :character Mode :character Median :17.0 Mode :character
## Mean :16.7
## 3rd Qu.:18.0
## Max. :22.0
## famsize Pstatus Medu Fedu
## Length:395 Length:395 Min. :0.000 Min. :0.000
## Class :character Class :character 1st Qu.:2.000 1st Qu.:2.000
## Mode :character Mode :character Median :3.000 Median :2.000
## Mean :2.749 Mean :2.522
## 3rd Qu.:4.000 3rd Qu.:3.000
## Max. :4.000 Max. :4.000
## Mjob Fjob reason guardian
## Length:395 Length:395 Length:395 Length:395
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## traveltime studytime failures schoolsup
## Min. :1.000 Min. :1.000 Min. :0.0000 Length:395
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:0.0000 Class :character
## Median :1.000 Median :2.000 Median :0.0000 Mode :character
## Mean :1.448 Mean :2.035 Mean :0.3342
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:0.0000
## Max. :4.000 Max. :4.000 Max. :3.0000
## famsup paid activities nursery
## Length:395 Length:395 Length:395 Length:395
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## higher internet romantic famrel
## Length:395 Length:395 Length:395 Min. :1.000
## Class :character Class :character Class :character 1st Qu.:4.000
## Mode :character Mode :character Mode :character Median :4.000
## Mean :3.944
## 3rd Qu.:5.000
## Max. :5.000
## freetime goout Dalc Walc
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:3.000 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000
## Median :3.000 Median :3.000 Median :1.000 Median :2.000
## Mean :3.235 Mean :3.109 Mean :1.481 Mean :2.291
## 3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.:2.000 3rd Qu.:3.000
## Max. :5.000 Max. :5.000 Max. :5.000 Max. :5.000
## health absences G1 G2
## Min. :1.000 Min. : 0.000 Min. : 3.00 Min. : 0.00
## 1st Qu.:3.000 1st Qu.: 0.000 1st Qu.: 8.00 1st Qu.: 9.00
## Median :4.000 Median : 4.000 Median :11.00 Median :11.00
## Mean :3.554 Mean : 5.709 Mean :10.91 Mean :10.71
## 3rd Qu.:5.000 3rd Qu.: 8.000 3rd Qu.:13.00 3rd Qu.:13.00
## Max. :5.000 Max. :75.000 Max. :19.00 Max. :19.00
## G3
## Min. : 0.00
## 1st Qu.: 8.00
## Median :11.00
## Mean :10.42
## 3rd Qu.:14.00
## Max. :20.00
Transfomacion de Data
Maths$school<-as.factor(Maths$school)
Maths$sex<-as.factor(Maths$sex)
Maths$address<-as.factor(Maths$address)
Maths$famsize<-as.factor(Maths$famsize)
Maths$Pstatus<-as.factor(Maths$Pstatus)
Maths$Mjob<-as.factor(Maths$Mjob)
Maths$Fjob<-as.factor(Maths$Fjob)
Maths$reason<-as.factor(Maths$reason)
Maths$guardian<-as.factor(Maths$guardian)
Maths$schoolsup<-as.factor(Maths$schoolsup)
Maths$famsup<-as.factor(Maths$famsup)
Maths$paid<-as.factor(Maths$paid)
Maths$activities<-as.factor(Maths$activities)
Maths$nursery<-as.factor(Maths$nursery)
Maths$higher<-as.factor(Maths$higher)
Maths$internet<-as.factor(Maths$internet)
Maths$romantic<-as.factor(Maths$romantic)
escuela=Maths$school
sexo=Maths$sex
age=Maths$age
Direccion=Maths$address
familia=Maths$famsize
Pstatus=Maths$Pstatus
Medu=Maths$Medu
Federal=Maths$Fedu
Mjob=Maths$Mjob
Fojob=Maths$Fjob
razon=Maths$reason
guardian=Maths$guardian
traveltime=Maths$traveltime
studytime=Maths$studytime
fallas=Maths$failures
escuelas=Maths$schoolsup
famsup=Maths$famsup
pagado=Maths$paid
actividades=Maths$activities
guarderia=Maths$nursery
higher=Maths$higher
Internet=Maths$internet
romantico=Maths$romantic
familia=Maths$famrel
freetime=Maths$freetime
salir=Maths$goout
Dalc=Maths$Dalc
Walc=Maths$Walc
salud=Maths$health
ausencia=Maths$absences
Maths=data.frame(escuela,sexo,age,Direccion,familia,Pstatus,Medu,Federal,Mjob,Fojob,razon,guardian,traveltime,studytime,fallas,escuela,famsup,pagado,actividades,guarderia,higher,Internet,romantico,familia,freetime,salir,Dalc,Walc,salud,ausencia)
summary(age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 15.0 16.0 17.0 16.7 18.0 22.0
summary(Federal)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 2.000 2.000 2.522 3.000 4.000
summary(traveltime)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 1.000 1.448 2.000 4.000
summary(studytime)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 2.000 2.035 2.000 4.000
summary(freetime)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 3.000 3.000 3.235 4.000 5.000
summary(salir)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 3.000 3.109 4.000 5.000
summary(Walc)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 2.000 2.291 3.000 5.000
summary(ausencia)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 0.000 4.000 5.709 8.000 75.000
table(escuela)
## escuela
## GP MS
## 349 46
table(familia)
## familia
## 1 2 3 4 5
## 8 18 68 195 106
table(higher)
## higher
## no yes
## 20 375
table(Internet)
## Internet
## no yes
## 66 329
table(romantico)
## romantico
## no yes
## 263 132
table(guardian)
## guardian
## father mother other
## 90 273 32
hist(familia)
hist(traveltime)
hist(studytime)
hist(freetime)
hist(salir)
hist(Walc)
hist(ausencia)
boxplot(age~salud, col = "red", main= "Box-plot para Años VS Condiciones de salud")
boxplot(age~fallas, col = "green", main= "Box-plot para Años VS fallas de clases")
boxplot(age~freetime, col = "purple", main= "Box-plot para Años VS tiempo libre")
boxplot(age~ausencia, col = "purple", main= "Box-plot para Años VS ausencia")
Box-plot para Años VS Condiciones de salud: En el grafico se evidencia que solo hay un dato atipico en la calificacion baja de condiciones de salud, en promedio en condiciones de salud estan regular.
Box-plot para Años VS fallas de clases: En el grafico se evidencia dos datos atipicos en estudiantes con cero fallas, en promedio en condiciones de salud estan regular.
Box-plot para Años VS tiempo libre:En el grafico se evidencia un dato atipicos en estudiantes con mas o menos tiempo libre.
Box-plot para Años VS ausencia: Se evidencia que hay muchos tados dispersos en la cantidad de las ausencias de los estudiantes.
Para la creacion de de modelos de regresion logistica simple y multiple tendremos en cuenta como variable respuesta (Y higher = si los alumnos quieren tomar educación superior).
mod1= glm(higher ~ escuela, family = binomial, data=Maths)
summary(mod1)
##
## Call:
## glm(formula = higher ~ escuela, family = binomial, data = Maths)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.4584 0.3160 0.3160 0.3160 0.3673
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.9719 0.2487 11.952 <2e-16 ***
## escuelaMS -0.3093 0.6468 -0.478 0.632
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 158.30 on 394 degrees of freedom
## Residual deviance: 158.08 on 393 degrees of freedom
## AIC: 162.08
##
## Number of Fisher Scoring iterations: 5
coef(mod1)
## (Intercept) escuelaMS
## 2.9719216 -0.3093338
exp(coef(mod1))
## (Intercept) escuelaMS
## 19.5294116 0.7339357
Visto los resultados del modelo anterior, se observa que el AIC es de 162.08.
El modelo tiene 5 interacciones.
según el modelo de regresión logística la escuela MS’ - Mousinho da Silveira tiene menor probabilidad en un 0,3093 % que sus alumnos quieran acceder a la educación superior.
\(e^{\hat{\beta_0}}=e^{2.9719}=19.5294\),lo que indica que para la escuela MS la probabilidad de 19.52 veces que sus alumnos no quieran acceder a la educación superior.
\(e^{\hat{\beta_1}}=e^{-0.3093}=0.7339\), el pertenecer al régimen GP el odds de querrer acceder a la educacion superior es de 0.7339%.
mod2=glm(higher~escuela+age, family = binomial, data = Maths)
summary(mod2)
##
## Call:
## glm(formula = higher ~ escuela + age, family = binomial, data = Maths)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.7437 0.1501 0.2166 0.3116 0.9114
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 15.5800 3.3083 4.709 2.48e-06 ***
## escuelaMS 0.6230 0.6948 0.897 0.37
## age -0.7400 0.1883 -3.929 8.53e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 158.30 on 394 degrees of freedom
## Residual deviance: 141.46 on 392 degrees of freedom
## AIC: 147.46
##
## Number of Fisher Scoring iterations: 6
coef(mod2)
## (Intercept) escuelaMS age
## 15.5799932 0.6230042 -0.7399640
exp(coef(mod2))
## (Intercept) escuelaMS age
## 5.838551e+06 1.864521e+00 4.771311e-01
summary(age)
Visto los resultados del modelo anterior, se observa que el AIC es de 147.46 en comparacion con el modelo 1 a simple viste es aceptable.
El modelo tiene 5 interacciones.
según el modelo de regresión logística la escuela MS’ - Mousinho da Silveira aumenta la probabilidad en un 0.6230 % que sus alumnos quieran acceder a la educación superior con relacion a la edad hay menor probabilidad de querrer estudiar en la educacion superior en un 0.7400 %.
Intercepto de la recta: Pensando en la existencia de estudiantes que no quieran entrar a la educacion superior, \(e^{\hat{\beta_0}}=e^{15.5799}=5.8385\) representa el número de veces que es más probable que un alumno quiera entrar a la educacion superior vs. no para un niño de 15 años y bajo el régimen de la escuela \(MS\).
Pendiente de las rectas: Dejando fijo el modelo, por cada año adicional en la edad del niño, la probabilidad (odds) de querrer entrar a la educacion superior (número de veces la probabilidad de estudiar vs. no estudiar) aumenta.
\[100(1-e^{\hat{\beta_2}}) \%=100(1-e^{-0.7399}) \%= 7.13\%\].
Dejando fija los años age, el chance de querrer acceder a la educacion superior de un niño que esté bajo el régimen ‘GP’ - Gabriel Pereira es
\[100(1-e^{\hat{\beta_1}}) \%=100(1-e^{0.623}) \%= 86\%\]
mayor que el chance querrer acceder a la educacion superior que estébajo el régimen ‘MS’ - Mousinho da Silveira
| Modelo 1 | Modelo 2 |
|---|---|
| AIC: 162.08 | AIC: 147.46 |