MÀSTER DE LOGÍSTICA, TRANSPORT I MOBILITAT (UPC). CURS Q1 EXAMEN FINAL 1 Mètodes de Captació, Anàlisi i Interpretació de Dades.

Texto completo

(1)

MÀSTER DE LOGÍSTICA, TRANSPORT I MOBILITAT (UPC).

CURS 13-14 Q1 – EXAMEN FINAL 1

Mètodes de Captació, Anàlisi i Interpretació de Dades .

(Data: 15/1/2014 16:00-19:00 h Lloc: Aula H5.6) Nom de l´alumne:

DNI:

Professor responsable: Lídia Montero Mercadé Localització: Edifici C5 D217

Normativa de l’examen: ÉS PERMÉS DUR EL FORMULARI OFICIAL I APUNTS TEORIA SENSE ANOTACIONS MANUSCRITES, CALCULADORA I TAULES ESTADÍSTIQUES

Durada de l’examen: 2h 30 min

Sortida de notes: Abans del 24 de Gener al Web Docent de MLGz Revisió de l’examen: 24 de Gener a 15:00 h a C5 D217 – Campus Nord

PROBLEMA 1 (5 Punts)

La Highway Safety Research Center en North Carolina ha estudiado la relación entre la gravedad de los daños sufridos por los conductores en un accidente y algunas variables que caracterizan el momento en que sucedió el accidente. Los datos mostrados en la tabla pertenecen a 39024 accidentes ocurridos entre 1966-72 donde sólo estaba involucrado un único vehículo, en carreteras rurales con conductor masculino no ébrio circulando dentro del límite de velocidad. Se quiere analizar el efecto de las condiciones meteorológicas y el periodo del día en la gravedad de los daños.

Weather Conditions

Time of Day Severity of Injury Severe Mild

Good Day 1251 9026

Good Night 2145 12205

Bad Day 620 6621

Bad Night 715 6441

Time of Day Severity of Injury Severe Mild

Day 1871 15647

Night 2860 18646

4731 34293

El modelo de regresión logística con el factor Time of the Day tiene una devianza residual de 165.04.

Se muestran al final un conjunto de modelos calculados sobre los datos de la tabla.

1. Determinar la proporción de los accidentes donde el conductor sufre daños severos. Cuáles son los odds de sufrir daños severos? Cuál es el logit de la probabilidad de sufrir daños severos en un accidente?

> 4731/39024 # Probabilitat [1] 0.1212331

> 4731/34293 # Odd 0.138 a 1 [1] 0.1379582

> log(4731/34293) # logOdd o logit de la probabilitat [1] -1.980805

2. Calcular el modelo de regresión logística nulo para la respuesta positiva definida como sufrir daños severos en un accidente.

𝑙𝑜𝑔𝑖𝑡(𝜋) = 𝜂 = −1.981

> summary(m0)

Call: glm(formula = cbind(Severity.Severe, Severity.Mild) ~ 1, family = binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.98080 0.01551 -127.7 <2e-16 ***

(2)

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 228.05 on 3 degrees of freedom Residual deviance: 228.05 on 3 degrees of freedom AIC: 264.72

3. Calcular el modelo probit nulo para la respuesta positiva definida como sufrir daños severos en un accidente.

𝑝𝑟𝑜𝑏𝑖𝑡(𝜋) = 𝐹

−1

(0.1212) = 𝜂 = −1.169

> qnorm(4731/39024) [1] -1.168845

> summary(p0)

Call:

glm(formula = cbind(Severity.Severe, Severity.Mild) ~ 1, family = binomial(link = probit),

data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.1688 0.0082 -142.5 <2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 228.05 on 3 degrees of freedom Residual deviance: 228.05 on 3 degrees of freedom AIC: 264.72

>

4. Calcular el modelo de regresión logística con el efecto bruto del factor ‘Time of the Day’ para la respuesta positiva definida como sufrir daños severos en un accidente.

𝑙𝑜𝑔𝑖𝑡(𝜋

𝑖

) = 𝜂 + 𝛼

𝑖

𝑜𝑛 𝛼

1≝𝑑𝑎𝑦

= 0

> eta<-log(1871/15647);eta [1] -2.123806

> alfa2<-log(2860/18646)-eta;alfa2 [1] 0.2489961

> summary(m1) Call:

glm(formula = cbind(Severity.Severe, Severity.Mild) ~ TimeDay, family

= binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -2.12381 0.02446 -86.821 < 2e-16 ***

TimeDayNight 0.24900 0.03165 7.867 3.62e-15 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 228.05 on 3 degrees of freedom Residual deviance: 165.42 on 2 degrees of freedom AIC: 204.09

(3)

5. Interpretar el efecto de las condiciones meteorológicas adversas en el modelo logit aditivo (m2) en la escala logit, en términos de los odds y el efecto aproximado en la escala de las probabilidades.

Si les condicions meteorològiques són dolentes el logit de la probabilitat de patir accident sever es decrementa en 0.43 unitats respecte el grup de referència (condicions meteorològiques bones) dins del mateix nivel de l’altre factor present al model (TimeDay).

Si les condicions meteorològiques són dolentes els odds de la probabilitat de patir accident sever es decrementa en un 35% respecte el grup de referencia (condicions meteorològiques bones) dins del mateix nivell de l’altre factor present al model (TimeDay). O si voleu els odds d’accident sever si fa mal temps són 0.65 vegades els odds quan fa bon temps, all else being equal.

L’efecte aproximat en l’escala de les probabilitats donada una probabilitat marginal de patir un accident sever de 0.12 : si les condicions meteorològiques són dolentes la probabilitat de patir accident sever es decrementa en 0.045 unitats absolutes de probabilitat respecte el grup de referència de bon temps, ceteris paribus.

> summary(m2)

Call:

glm(formula = cbind(Severity.Severe, Severity.Mild) ~ Weather + TimeDay, family = binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.96340 0.02705 -72.596 < 2e-16 ***

WeatherBad -0.43000 0.03428 -12.545 < 2e-16 ***

TimeDayNight 0.21695 0.03180 6.822 8.95e-12 ***

---

> coef(m2)[2]

WeatherBad -0.4299975

> exp(coef(m2)[2]) WeatherBad

0.6505107

> 100*(1-exp(coef(m2)[2])) WeatherBad

34.94893

>> 0.12*(1-0.12)*coef(m2)[2]

WeatherBad -0.04540774

>

6. Examinar el coeficiente correspondiente a la variable dummy para las condiciones meteorológicas adversas en el modelo m1. Posteriormente examinar el efecto del mal tiempo en el modelo aditivo m2. ¿Cómo interpretáis el hecho que el coeficiente para la dummy de mal tiempo no haya cambiado demasiado después de introducir ‘Time of the Day’ en el modelo?

> m1<-glm(cbind(Severity.Severe,Severity.Mild)~Weather,family=binomial,data=acc)

> m2<-

glm(cbind(Severity.Severe,Severity.Mild)~Weather+TimeDay,family=binomial,data=acc)

> coef(m2)[2]

WeatherBad -0.4299975

> coef(m1)[2]

WeatherBad -0.4479119

>

(4)

La semblança dels dos coeficients en el model per l’efecte brut on només intervé el Weather i el coeficient en el model aditiu on intervé Weather més TimeDay indica que els dos factors no están associats (independencia entre els regressors).

7. Contrastar estadísticamente si el efecto neto de cada uno de los factores es estadísticamente significativo. Ordenar en importancia el efecto neto de los factores.

> anova(m1,m2,test="Chisq") Analysis of Deviance Table

Model 1: cbind(Severity.Severe, Severity.Mild) ~ Weather

Model 2: cbind(Severity.Severe, Severity.Mild) ~ Weather + TimeDay Resid. Df Resid. Dev Df Deviance Pr(>Chi)

1 2 47.958 2 1 0.949 1 47.009 7.067e-12 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> anova(m10,m2,test="Chisq") Analysis of Deviance Table

Model 1: cbind(Severity.Severe, Severity.Mild) ~ TimeDay

Model 2: cbind(Severity.Severe, Severity.Mild) ~ Weather + TimeDay Resid. Df Resid. Dev Df Deviance Pr(>Chi)

1 2 165.423 2 1 0.949 1 164.47 < 2.2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

>

Els dos efectes nets són estadísticament significatius, donat que es rebutjen clarament ambdues hipótesis nul.les. L’efecte net més important és el del temps Weather doncs el pvalor del contrast és més petit que el p valor del contrast de l’efecte net del TimeDay. En l’enunciat fixeu-vos que la deviança del model

cbind(Severity.Severe, Severity.Mild) ~ TimeDay

és 165.04 tal i com apareix en negreta al principi de l’enunciat, en la resta del resultats del final només apareixen les dades de m1, m2.

8. Calcular el valor del estadístico de Pearson generalizado para el modelo logit aditivo y contrastar la bondad del ajuste.

Disposeu de les dades dels residus de Pearson en l’apartat de resultats. El goodness of fit pren per hipòtesi nul.la ‘El model s’ajusta bé a les dades’, el valor de l’estadístic de Pearson calculat com la suma de quadrats dels residus de Pearson és 0.95 amb 4-3=1 grau de llibertat i per tant el pvalor del contrast és 0.33 el que indica que no hi ha evidencia per rebutjar la H0 i per tant s’accepta i el model proposat m2 és bo per les dades.

> resid(m2,type="pearson")

1 2 3 4 -0.4230920 0.3308226 0.5980583 -0.5506987

> df.residual(m2) [1] 1

> X2P<-sum(resid(m2,type="pearson")^2)/df.residual(m2)

> X2P

[1] 0.9493931

> 1-pchisq(X2P,1) [1] 0.3298738

>

9. Calcular según m2 un estimador puntual de la probabilidad de padecer daños severos en un

accidente nocturno con buenas condiciones meteorológicas. Qué información adicional necesitarías para calcular un intervalo de confianza para esta probabilidad.

En l’escala logit el valor predit per un accident nocturn i amb bones condicions meteorològiques és -

1.746451 (suma del coeficient de la constant més la dummy de nit), usant la funció resposta per

(5)

l’enllaç logit es passa a l’escala de la probabilitat i la probabilitat predita d’accident sever en cas d’esdevenir per la nit i quan fa bon temps és quasi del 15%.

La informació necesària per calcular un interval de confiança és la variança de la suma dels estimadors corresponents a la constant més la dummy de TimeDay nit i això no està disponible doncs només es troben les variances de cadascun dels coeficients (quadrat de l’estandar error que treu R en la taula del model), però no hi ha indicació sobre les covariances entres els estimadors dels 2 termes.

> summary(m2)

Call: glm(formula = cbind(Severity.Severe, Severity.Mild) ~ Weather + TimeDay, family = binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.96340 0.02705 -72.596 < 2e-16 ***

WeatherBad -0.43000 0.03428 -12.545 < 2e-16 ***

TimeDayNight 0.21695 0.03180 6.822 8.95e-12 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> pl<-coef(m2)[1]+coef(m2)[3];pl (Intercept)

-1.746451

> probpl<-exp(pl)/(1+exp(pl));probpl (Intercept)

0.1484953

>

10. Consideráis que hay evidencia para afirmar que el incremento en los odds de padecer un accidente severo cuando este sucede por la noche depende de las condiciones meteorológicas? Justificar la respuesta a partir de un contraste.

Clarament està demanant per la significació de les interaccions entre els factor TimeDay i Weather.

El p valor de la hipòtesi nul.la H0: ‘Interaccions no significatives’ pot extreure’s de la taula del model m3. El pvalor és 0.33, per tant no hi ha evidencia per rebutjar la H0, l’acceptem i amb això afirmem que l’increment en els odds de patir un accident sever per la nit –respecte el dia - no depen de les condicions meteorològiques .

> summary(m3)

Call:

glm(formula = cbind(Severity.Severe, Severity.Mild) ~ Weather * TimeDay, family = binomial, data = acc)

Deviance Residuals:

[1] 0 0 0 0

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.97617 0.03017 -65.504 < 2e-16 ***

WeatherBad -0.39212 0.05171 -7.583 3.38e-14 ***

TimeDayNight 0.23746 0.03819 6.218 5.03e-10 ***

WeatherBad:TimeDayNight -0.06733 0.06911 -0.974 0.33 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1)

Null deviance: 2.2805e+02 on 3 degrees of freedom Residual deviance: -2.4583e-12 on 0 degrees of freedom AIC: 42.67

> anova(m2,m3,test="Chisq")

(6)

Analysis of Deviance Table

Model 1: cbind(Severity.Severe, Severity.Mild) ~ Weather + TimeDay Model 2: cbind(Severity.Severe, Severity.Mild) ~ Weather * TimeDay Resid. Df Resid. Dev Df Deviance Pr(>Chi)

1 1 0.94903 2 0 0.00000 1 0.94903 0.33

>

11. Calcular la tabla de confusión correspondiente al modelo aditivo y determinar a partir de ésta la capacidad predictiva del modelo m2. Comparar la cifra con la capacidad predictiva del modelo nulo.

Es faciliten les dades de les prediccions per totes les clases de la covariable i que són 4 i sempre es fa la predicció de no sever Severity.Mild, tant en el model m2 com en el model nul (que sempre fa la predicció de la majoria que en aquest cas és Severity.Mild). La capacitat predictiva del model és de quasi el 88%, però òbviament no fa cap predicció correcte de danys severs, per tant la sensibilitat del model és nula. No és útil per finalitats predictives.

> attach(acc)

> ifelse(predict(m2,type="response")>0.5,"Pred_yes","Pred_no") 1 2 3 4

"Pred_no" "Pred_no" "Pred_no" "Pred_no"

> ifelse(predict(m0,type="response")>0.5,"Pred_yes","Pred_no") 1 2 3 4

"Pred_no" "Pred_no" "Pred_no" "Pred_no"

> Pred.Severe<-rep(0,4)

> Pred.Mild<-Severity.Severe+Severity.Mild

> cbind(Severity.Severe,Severity.Mild,Pred.Severe, Pred.Mild ) Severity.Severe Severity.Mild Pred.Severe Pred.Mild [1,] 1251 9026 0 10277 [2,] 2145 12205 0 14350 [3,] 620 6621 0 7241 [4,] 715 6441 0 7156

> cpc<-sum(Severity.Mild)/39024;cpc [1] 0.8787669

>

RESULTATS PER PROBLEMA 1

> acc$Weather<-factor(acc$Weather,levels=c("Good","Bad"))

> summary(acc)

Weather TimeDay Severity.Severe Severity.Mild Good:2 Day :2 Min. : 620.0 Min. : 6441 Bad :2 Night:2 1st Qu.: 691.2 1st Qu.: 6576 Median : 983.0 Median : 7824 Mean :1182.8 Mean : 8573 3rd Qu.:1474.5 3rd Qu.: 9821 Max. :2145.0 Max. :12205

> apply(acc[,3:4],2,sum)

Severity.Severe Severity.Mild 4731 34293

> xtabs(cbind(Severity.Severe,Severity.Mild)~ TimeDay, data=acc)

TimeDay Severity.Severe Severity.Mild Day 1871 15647 Night 2860 18646

>

> summary(m1)

Call: glm(formula = cbind(Severity.Severe, Severity.Mild) ~ Weather, family = binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.83286 0.01848 -99.17 <2e-16 ***

WeatherBad -0.44791 0.03416 -13.11 <2e-16 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Null deviance: 228.048 on 3 degrees of freedom Residual deviance: 47.958 on 2 degrees of freedom

(7)

AIC: 86.628

Number of Fisher Scoring iterations: 3

> summary(m2)

Call: glm(formula = cbind(Severity.Severe, Severity.Mild) ~ Weather + TimeDay, family = binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.96340 0.02705 -72.596 < 2e-16 ***

WeatherBad -0.43000 0.03428 -12.545 < 2e-16 ***

TimeDayNight 0.21695 0.03180 6.822 8.95e-12 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Null deviance: 228.04789 on 3 degrees of freedom Residual deviance: 0.94903 on 1 degrees of freedom AIC: 41.619

> summary(m3)

Call: glm(formula = cbind(Severity.Severe, Severity.Mild) ~ Weather * TimeDay, family = binomial, data = acc)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) -1.97617 0.03017 -65.504 < 2e-16 ***

WeatherBad -0.39212 0.05171 -7.583 3.38e-14 ***

TimeDayNight 0.23746 0.03819 6.218 5.03e-10 ***

WeatherBad:TimeDayNight -0.06733 0.06911 -0.974 0.33 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

….

> resid(m2,type="pearson")

1 2 3 4 -0.4230920 0.3308226 0.5980583 -0.5506987

> ifelse(predict(m2,type="response")>0.5,"Pred_yes","Pred_no") 1 2 3 4

"Pred_no" "Pred_no" "Pred_no" "Pred_no"

(8)

PROBLEMA 2 (5 Punts)

Se dispone en el IDRE de UCLA (http://www.ats.ucla.edu/stat) de datos relativos a asistencia al instituto de 314 jóvenes pertenecientes a 2 institutos urbanos. La variable de respuesta es Daysabs (días de absentismo a clase) y las variables explicativas disponibles son el género (gender), la nota normalizada de matemáticas (math) y el programa educativo prog en que se matricula el estudiante (en 3 grupos - General, Académico, Vocacional). Responded a las siguientes preguntas argumentadamente.

1. ¿Pensáis que la respuesta numérica Daysabs tiene una distribución razonablemente normal? Razonad la respuesta en base a mínimo dos argumentos.

A la vista de l’histograma i la sobreposició de la corba normal, no hi ha cap dubte que daysabs no té una distribució normal a més el Shapiro-Wilk test mostra un p valor 0 per la H0 – ‘Les dades són normals’, per tant hi ha evidencia per rebutjar la H0 i afirmem que la distribució de daysabs no és normal.

> shapiro.test(dat$daysabs)

Shapiro-Wilk normality test

data: dat$daysabs

W = 0.7794, p-value < 2.2e-16

2. Valorad la relación lineal entre las variables numéricas disponibles. A la vista de los resultados de los contrastes disponibles, resulta globalmente significativa la asociación entre la respuesta Daysabs y la variable numérica math.

La correlació entre les 2 variables numèriques és -0.2349, el que indica una associació feble i negativa, és a dir a valors creixent de la nota de math, es troben valors decreixents d’absentisme.

Donada la manca de normalitat cal emprar el coeficient de correlació d’Spearman. El contrast amb H0: Coeficient d’Spearman igual a 0 té un pvalor de 2.59 e-5 i per tant, hi ha evidencia per rebutjar la H0 i afirmar que les dues variables están relacionades (encara que sigui amb feblesa).

> cor(dat[,4:3],method="spearman") daysabs math daysabs 1.0000000 -0.2349996 math -0.2349996 1.0000000

> cor.test(daysabs,math,method="spearman",data=dat)$p.value [1] 2.5918e-05

>

3. Valorad a partir de los gráficos disponibles la asociación global de los días de absentismo con el género (gender) y el programa educativo (prog).

A la vista dels gràfics disponibles la resposta daysabs té una distribució similar en tendencia i rang de

valors més freqüents en els 2 grups definits per genere. En canvi la tendencia central i la dispersió de

la resposta daysabs sembla marcadament diferent en els 3 grups definit pel programa de matriculació

prog.

(9)

4. A la vista de los resultados de los contrastes disponibles, resulta globalmente significativa la asociación entre la respuesta Daysabs y los factores disponibles.

Es disposa dels contrastos per mitjana de daysabs segons el génere i segons el programa de matriculació. Donada la resposta clarament no normal cal emprar els pvalors calculats pels contrastos de mitjanes no paramètrics.

> kruskal.test(daysabs~gender)

Kruskal-Wallis rank sum test

data: daysabs by gender

Kruskal-Wallis chi-squared = 2.4496, df = 1, p-value = 0.1176

> kruskal.test(daysabs~prog)

Kruskal-Wallis rank sum test

data: daysabs by prog

Kruskal-Wallis chi-squared = 63.2798, df = 2, p-value = 1.815e-14

>

La hipòtesi nula H0: La mitjana de daysabs és la mateixa en els 2 gèneres té un pvalor de 11.76% i per tant no hi ha evidencia per rebutjar la H0, com ja s’havia observar en els boxplot pels 2 grups.

La hipòtesi nula H0: La mitjana de daysabs és la mateixa en els 3 programes de matriculació prog té un pvalor de 1.8 e-14 i per tant hi ha evidencia per rebutjar la H0, i com ja s’havia observar en els boxplot pels 3 grups, la mitjana d’absentisme no és igual en tots 3 grups definits per les categories de prog.

5. A la vista de los resultados disponibles la media del absentismo es significativamente distinta para cada uno de los niveles del factor prog.

La pregunta fa referencia a si la mitjana de daysabs és significativament diferent 2 a 2 entre totes les categories, per això cal mirar els resultats del pairwise test no paramètric de Wilcoxon, que cal llegar com que 2 a 2 les mitjanes d’absentisme són diferents entre elles. I més concretament amb els resultats disponibles es pot veure que la mitjana d’absentisme en prog==General > prog==Academic

> prog==Vocational.

> pairwise.wilcox.test(daysabs,prog)

Pairwise comparisons using Wilcoxon rank sum test data: daysabs and prog

General Academic Academic 0.00059 - Vocational 1.1e-12 5.2e-09

> pairwise.wilcox.test(daysabs,prog,alternative="greater")

(10)

Pairwise comparisons using Wilcoxon rank sum test data: daysabs and prog

General Academic Academic 1 - Vocational 1 1

>

6. A la vista del gráfico y del resultado del contraste de independencia, pensáis que la matriculación en el programa educativo (prog) depende del género del estudiante.

Está demanant si hi ha una asociación global entre el gènere i el programa de matriculació prog. En els diagrames de mosaïc, s’aprecia que els matriculats en prog==General tenen una major representativitat les dones molt lleugerament, però en general no semblen globalment associades. El test d’independència de la Chi quadrat per la taula de contingencia definida per gender i prog indica un p valor de la H0 : Independència entre gènere i prog de 0.83 i per tant no hi ha evidencia per rebutjar la H0. Aleshores acceptem que els 2 factors no están associats.

> par(mfrow=c(1,2))

> plot(gender~prog,col=c(3,2))

> plot(prog~gender,col=c(3,2,4))

> chisq.test(prog,gender)

Pearson's Chi-squared test data: prog and gender X-squared = 0.3756, df = 2, p-value = 0.8288

7. La libreria FactoMineR de R incluye unos procedimientos rápidos para la caracterización de los perfiles de la variable de respuesta Daysabs (condes()). Estos procedimientos se han presentado durante este curso en la asignatura. Indicad el perfil asociado a los estudiantes con una medía de ausencias en un curso significativamente superior a la media y el perfil para la respuesta significativamente inferior a la media.

El resultat de la caracterització dels perfils hauria de sortir de la funció condes(). Els resultats indica que significativament només hi ha una associació global entre la resposta daysabs i math. No troba evidències per caracteritzar per sobre o per sota de la mitjana global de daysabs cap dels grups de definits pels factors per tant no es pot extreure cap perfil a priori pels estudiants que ‘fan campana’

Se ajustan diversos modelos de respuesta normal para explicar la respuesta daysabs según el programa (prog), el género y la nota de matemáticas (math).

8. A la vista de los resultados relativos al modelo aditivo con las 3 variables explicativas, son los efectos netos de las variables estadísticamente significativos? Indicad de más a menos importante el orden de los efectos netos.

Es pot emprar directament la funció Anova(ma) de la llibreria car que fa directament un contrast per

efectes nets. Per cada factor planteja la hipòtesi nul.la ‘Factor X té un efecte net no significatiu’ i

(11)

calcula un pvalor que en tots 3 casos és inferior al 10% i al 5% (en tots tret de gender que té p valor 0.052) i per tant hi ha evidencia per rebutjar les H0s. Podriem afirmar còmodament que tots 3 efectes nets són significatius.

> ma<-lm(daysabs ~ math + prog+gender,data=dat)

> Anova(ma)

Anova Table (Type II tests)

Response: daysabs

Sum Sq Df F value Pr(>F) math 357.8 1 8.6390 0.003538 **

prog 1665.2 2 20.1026 6.203e-09 ***

gender 156.6 1 3.7811 0.052743 . Residuals 12797.9 309 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> maa1<-lm(daysabs ~ math + prog,data=dat)

> maa2<-lm(daysabs ~ math +gender,data=dat)

> maa3<-lm(daysabs ~ prog+gender,data=dat)

> anova(maa1,ma)

Analysis of Variance Table

Model 1: daysabs ~ math + prog

Model 2: daysabs ~ math + prog + gender Res.Df RSS Df Sum of Sq F Pr(>F) 1 310 12954 2 309 12798 1 156.6 3.7811 0.05274 . ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> anova(maa2,ma)

Analysis of Variance Table

Model 1: daysabs ~ math + gender

Model 2: daysabs ~ math + prog + gender

Res.Df RSS Df Sum of Sq F Pr(>F) 1 311 14463 2 309 12798 2 1665.2 20.103 6.203e-09 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> anova(maa3,ma)

Analysis of Variance Table

Model 1: daysabs ~ prog + gender

Model 2: daysabs ~ math + prog + gender

Res.Df RSS Df Sum of Sq F Pr(>F) 1 310 13156 2 309 12798 1 357.8 8.639 0.003538 **

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

>

9. Resulta necesaria añadir alguna pareja de interacciones al modelo aditivo. Justificar la respuesta en función de los contrastes disponibles.

A la vista dels resultats disponibles dels contrastos individuals de cada parell d’interaccions amb el model additiu, totes les H0 d’equivalència dels diferents models ma1, ma2, ma3 amb ma (model additiu) tenen p valors superiors al llindar habitual del 5% i per tant en tots 3 casos no hi ha evidencia per rebutjar les hipótesis nul.les per tant cap parella d’interacció és estadísticament significativa.

> ma1<-lm(daysabs ~ math * prog+gender,data=dat)

> ma2<-lm(daysabs ~ math * gender+ prog,data=dat)

> ma3<-lm(daysabs ~ math + gender*prog,data=dat)

>

> anova(ma,ma1)

Analysis of Variance Table

(12)

Model 1: daysabs ~ math + prog + gender Model 2: daysabs ~ math * prog + gender Res.Df RSS Df Sum of Sq F Pr(>F) 1 309 12798 2 307 12666 2 132.17 1.6018 0.2032

> anova(ma,ma2)

Analysis of Variance Table

Model 1: daysabs ~ math + prog + gender Model 2: daysabs ~ math * gender + prog Res.Df RSS Df Sum of Sq F Pr(>F) 1 309 12798 2 308 12798 1 0.35869 0.0086 0.926

> anova(ma,ma3)

Analysis of Variance Table

Model 1: daysabs ~ math + prog + gender Model 2: daysabs ~ math + gender * prog Res.Df RSS Df Sum of Sq F Pr(>F) 1 309 12798 2 307 12688 2 109.86 1.329 0.2663

>

10. Interpretar el modelo ma1. ¿Cuál es el número previsto de ausencias para un estudiante hombre matriculado en un programa vocacional y con una calificación en matemáticas en la tendencia central?

El model conté una covariant (math) i els factor gender i prog aquest darrer interacciona amb la covariant, per tant l’equació del model seria amb:

𝛽

𝑖

𝑝𝑒𝑙𝑠 𝑒𝑓𝑒𝑐𝑡𝑒𝑠 𝑝𝑟𝑖𝑛𝑐𝑖𝑝𝑎𝑙𝑠 𝑑𝑒𝑙 𝑔è𝑛𝑒𝑟𝑒 , γ

𝑗

𝑝𝑒𝑙𝑠 𝑒𝑓𝑒𝑐𝑡𝑒𝑠 𝑝𝑟𝑖𝑛𝑐𝑖𝑝𝑎𝑙𝑠 𝑑𝑒 𝑝𝑟𝑜𝑔 i

(𝜂γ)

𝑗

𝑝𝑒𝑟 𝑚𝑜𝑑𝑒𝑙𝑎𝑟 𝑙

𝑒𝑓𝑒𝑐𝑡𝑒 𝑎𝑑𝑖𝑡𝑖𝑢 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑝𝑒𝑛𝑑𝑒𝑛𝑡 𝜂 segons els nivells del factor prog (modela la interacció).

𝑦� = 𝛼 + 𝛽

𝑖

+ γ

𝑗

+ �𝜂 + (𝜂γ)

𝑗

�math Gràficament:

La tendencia central de la nota de matemàtiques (math) és 48.27 segons el summary inicial, per tant el model faria una predicció puntual de 1.9252 dies d’absència.

> summary(ma1)

Call:

lm(formula = daysabs ~ math * prog + gender, data = dat) Residuals:

(13)

Min 1Q Median 3Q Max -9.022 -3.614 -1.818 1.730 26.925

Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) 14.52630 1.91697 7.578 4.18e-13 ***

math -0.07206 0.03557 -2.026 0.0437 * progAcademic -4.52139 2.12967 -2.123 0.0345 * progVocational -11.20943 2.64569 -4.237 3.00e-05 ***

gendermale -1.43639 0.72595 -1.979 0.0488 * math:progAcademic 0.01692 0.04070 0.416 0.6779 math:progVocational 0.07298 0.04644 1.572 0.1171 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.423 on 307 degrees of freedom Multiple R-squared: 0.1828, Adjusted R-squared: 0.1669 F-statistic: 11.45 on 6 and 307 DF, p-value: 1.476e-11

>

> coef(ma1)

(Intercept) math progAcademic progVocational 14.52629737 -0.07205629 -4.52138717 -11.20943373 gendermale math:progAcademic math:progVocational

-1.43638708 0.01692294 0.07298232

> coef(ma1)[1] +coef(ma1)[4] +coef(ma1)[5] +(coef(ma1)[2]+coef(ma1)[7] )*48.27 (Intercept)

1.925176

> newdata<-data.frame(gender="male",math=48.27,prog="Vocational")

> predict(ma1,newdata) 1

1.925176

>

11. A la vista de los gráficos de diagnosis por defecto del R para el modelo lineal, cuáles de las hipótesis imprescindibles para obtener modelos de regresión con buenas propiedades no se cumplen?

Clarament els residus no tenen una distribució normal segons el Normal Q-Q. L’allisat del corba

inferior esquerra indica un increment de la variança que s’estabilitza pels valors predits superiors a 6

és a dir hi ha clarament heterocedasticitat. El patró dels residus del gràfic superior esquer indica un

patró no aleatori i de fet la raó és que els dies d’absència és un comptatge, un model normal no

funciona correctament, a banda que pot donar prediccions negatives !!! La regressió normal no és

adient.

(14)

RESULTATS PEL PROBLEMA 2

> summary(dat)

id gender math daysabs prog 1001 : 1 female:160 Min. : 1.00 Min. : 0.000 General : 40 1002 : 1 male :154 1st Qu.:28.00 1st Qu.: 1.000 Academic :167 1003 : 1 Median :48.00 Median : 4.000 Vocational:107 1004 : 1 Mean :48.27 Mean : 5.955 1005 : 1 3rd Qu.:70.00 3rd Qu.: 8.000 1006 : 1 Max. :99.00 Max. :35.000 (Other):308

> plot(density(daysabs),lwd=3)

> mm=mean(daysabs);std=sd(daysabs)

> curve(dnorm(x,mm,std),col=2,add=T,lwd=2)

> percentils<-seq(0,1,by=0.05)

> ointervals<-quantile(daysabs,percentils)

> ointervals[1]<-0

> hist(daysabs,freq=F,ointervals,add=T)

> shapiro.test(daysabs)

Shapiro-Wilk normality test data: daysabs W = 0.7794, p-value < 2.2e-16

> cor(dat[,4:3],method="spearman") daysabs math daysabs 1.0000000 -0.2349996 math -0.2349996 1.0000000

> cor(dat[,4:3])

daysabs math daysabs 1.0000000 -0.2358878 math -0.2358878 1.0000000

> cor.test(daysabs,math,data=dat)$p.value [1] 2.410546e-05

> cor.test(daysabs,math,

method="spearman")$p.value [1] 2.5918e-05

> oneway.test(daysabs~gender)$p.value [1] 0.07074771

> oneway.test(daysabs~prog)$p.value [1] 1.62596e-11

> kruskal.test(daysabs~gender)$p.value [1] 0.1175519

> kruskal.test(daysabs~prog)$p.value [1] 1.815392e-14

> pairwise.t.test(daysabs,prog) General Academic Academic 0.0014 - Vocational 6.0e-10 5.3e-07

> pairwise.wilcox.test(daysabs,prog) General Academic

Academic 0.00059 - Vocational 1.1e-12 5.2e-09

> pairwise.wilcox.test(daysabs,prog,alternative="greater")

General Academic Academic 1 - Vocational 1 1

> par(mfrow=c(1,2))

> plot(gender~prog,col=c(3,2))

> plot(prog~gender,col=c(3,2,4))

> chisq.test(prog,gender)$p.value [1] 0.8287856

> prop.table(table(prog,gender),1) gender

prog female male General 0.5500000 0.4500000 Academic 0.4970060 0.5029940 Vocational 0.5140187 0.4859813

>

(15)

> condes(dat[,2:4],3)

$quanti

correlation p.value math -0.2358878 2.410546e-05

>

> ma<-lm(daysabs ~ math + prog+gender,data=dat)

> Anova(ma)

Anova Table (Type II tests)

Response: daysabs

Sum Sq Df F value Pr(>F) math 357.8 1 8.6390 0.003538 **

prog 1665.2 2 20.1026 6.203e-09 ***

gender 156.6 1 3.7811 0.052743 . Residuals 12797.9 309 ---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> ma1<-lm(daysabs ~ math * prog+gender,data=dat)

> ma2<-lm(daysabs ~ math * gender+ prog,data=dat)

> ma3<-lm(daysabs ~ math + gender*prog,data=dat)

> anova(ma,ma1)

Analysis of Variance Table

Model 1: daysabs ~ math + prog + gender Model 2: daysabs ~ math * prog + gender Res.Df RSS Df Sum of Sq F Pr(>F) 1 309 12798 2 307 12666 2 132.17 1.6018 0.2032

> anova(ma,ma2)

Analysis of Variance Table

Model 1: daysabs ~ math + prog + gender Model 2: daysabs ~ math * gender + prog Res.Df RSS Df Sum of Sq F Pr(>F) 1 309 12798 2 308 12798 1 0.35869 0.0086 0.926

> anova(ma,ma3)

Analysis of Variance Table

Model 1: daysabs ~ math + prog + gender Model 2: daysabs ~ math + gender * prog Res.Df RSS Df Sum of Sq F Pr(>F) 1 309 12798 2 307 12688 2 109.86 1.329 0.2663

> summary(ma1)

Call:lm(formula = daysabs ~ math * prog + gender, data = dat) Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) 14.52630 1.91697 7.578 4.18e-13 ***

math -0.07206 0.03557 -2.026 0.0437 * progAcademic -4.52139 2.12967 -2.123 0.0345 * progVocational -11.20943 2.64569 -4.237 3.00e-05 ***

gendermale -1.43639 0.72595 -1.979 0.0488 * math:progAcademic 0.01692 0.04070 0.416 0.6779 math:progVocational 0.07298 0.04644 1.572 0.1171 ---

Residual standard error: 6.423 on 307 degrees of freedom Multiple R-squared: 0.1828, Adjusted R-squared: 0.1669 F-statistic: 11.45 on 6 and 307 DF, p-value: 1.476e-11

(16)

Figure

Actualización...

Referencias

Actualización...