Este documento contiene el desarrollo del Laboratorio 4 (Regresión lineal) en la asignatura Métodos Cuantitativos para el Análisis de la Información de la Maestría en Analítica e Inteligencia de Negocios de la Universidad del Valle. Aquí pueden consultar el enunciado del ejercicio y el código empleado para generar los resultados en el software R.
Con la intención de comparar el desempeño de dos clases de discos duros (0 : SDD, 1: HDD). Este desempeño es medido a través de la variable Y: tiempo de respuesta del disco (segundos), la cual se relaciona, posiblemente bajo una dependencia no lineal, de X: la carga del sistema (Número de consultas por minuto).
Se han realizado múltiples ensayos bajo ambas configuraciones y bajo variación de la carga del sistema.
Preparación de los datos:
## tibble [25 × 3] (S3: tbl_df/tbl/data.frame)
## $ conf : num [1:25] 1 0 1 0 1 1 0 0 0 1 ...
## $ carga : num [1:25] 1 2 2.4 3.1 4 4.3 5.8 6.6 7.5 8 ...
## $ tiempo: num [1:25] 0.9 0.3 2 0.8 2.7 2.6 2.5 3.2 3.7 3.9 ...
Correlaciones entre la carga de trabajo y tiempo de respuesta por tipo de disco duro:
##
## Pearson's product-moment correlation
##
## data: tiempo[conf == "SDD"] and carga[conf == "SDD"]
## t = 28.334, df = 10, p-value = 1
## alternative hypothesis: true correlation is less than 0
## 95 percent confidence interval:
## -1.0000000 0.9979347
## sample estimates:
## cor
## 0.9938293
##
## Pearson's product-moment correlation
##
## data: tiempo[conf == "HDD"] and carga[conf == "HDD"]
## t = 12.024, df = 11, p-value = 1
## alternative hypothesis: true correlation is less than 0
## 95 percent confidence interval:
## -1.0000000 0.9871297
## sample estimates:
## cor
## 0.9640003
Disco duro tipo SDD:
El valor de cor = 0.99 lo que nos indica una muy fuerte correlación positiva entre carga y tiempo para este tipo de disco duro, es decir, entre la variable carga aumenta, el tiempo también aumenta.
Ahora bien, con respecto al p-valor=1 como es mayor al 0.05 no hay suficiente evidencia para rechazar la hipótesis nula, así que se acepta la hipótesis nula. Esto quiere decir que la probabilidad de observar una correlación tan fuerte por azar es muy alta.
Disco duro tipo HDD:
El valor de cor = 0.96 lo que nos indica una muy fuerte correlación positiva entre carga y tiempo para este tipo de disco duro, es decir, entre la variable carga aumenta, el tiempo también aumenta.
Ahora bien, con respecto al p-valor=1 como es mayor al 0.05 no hay suficiente evidencia para rechazar la hipótesis nula, así que se acepta la hipótesis nula. Esto quiere decir que la probabilidad de observar una correlación tan fuerte por azar es muy alta.
Modelo 1
##
## Call:
## lm(formula = tiempo ~ carga, data = data)
##
## Coefficients:
## (Intercept) carga
## 0.04838 0.49214
## Analysis of Variance Table
##
## Response: tiempo
## Df Sum Sq Mean Sq F value Pr(>F)
## carga 1 47.313 47.313 138.84 3.177e-11 ***
## Residuals 23 7.838 0.341
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Call:
## lm(formula = tiempo ~ carga, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.16824 -0.40281 -0.03945 0.43541 1.07627
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.04838 0.26321 0.184 0.856
## carga 0.49214 0.04177 11.783 3.18e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5837 on 23 degrees of freedom
## Multiple R-squared: 0.8579, Adjusted R-squared: 0.8517
## F-statistic: 138.8 on 1 and 23 DF, p-value: 3.177e-11
Interpretación Modelo 1
Se construye un primer modelo lineal que me indica el tiempo en función de la variable carga. El modelo de regresión lineal estimado es: tiempo= 0.04838 + 0.49214(carga)
El coeficiente de la variable carga es 0.49214, lo que significa que por cada unidad de aumento en la carga, se espera un aumento de 0.49214 en el tiempo.
Ahora bien, El ANOVA muestra que el modelo es significativo con un valor p muy pequeño; lo que indica que la variable carga tiene un efecto significativo sobre la variable respuesta de tiempo.
Según la gráfica, el modelo funciona, es decir, se ajusta a un modelo lineal.
Ahora se va a verificar la forma de los residuos para confirmar lo que dice el modelo.
El valor p es muy pequeño, lo que indica un efecto significativo en la predicción de la variable respuesta (tiempo).
El coeficiente de R-cuadrado ajustado es 0.8517, lo que sugiere que la variable tiempo puede ser explicada por el modelo.
## [1] 47.94816
Modelo 2
##
## Call:
## lm(formula = tiempo ~ carga * conf, data = data)
##
## Coefficients:
## (Intercept) carga confHDD carga:confHDD
## -1.3755 0.7198 2.2639 -0.3573
## Analysis of Variance Table
##
## Response: tiempo
## Df Sum Sq Mean Sq F value Pr(>F)
## carga 1 47.313 47.313 584.8051 < 2.2e-16 ***
## conf 1 0.357 0.357 4.4132 0.04791 *
## carga:conf 1 5.782 5.782 71.4618 3.364e-08 ***
## Residuals 21 1.699 0.081
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Call:
## lm(formula = tiempo ~ carga * conf, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.68547 -0.11333 0.06881 0.15302 0.41807
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.37549 0.20902 -6.581 1.62e-06 ***
## carga 0.71979 0.03367 21.376 9.88e-16 ***
## confHDD 2.26391 0.26520 8.536 2.86e-08 ***
## carga:confHDD -0.35734 0.04227 -8.454 3.36e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2844 on 21 degrees of freedom
## Multiple R-squared: 0.9692, Adjusted R-squared: 0.9648
## F-statistic: 220.2 on 3 and 21 DF, p-value: 5.042e-16
Interpretación Modelo 2
Se construye unmodelo multivariado que indica la relación entre carga y tiempo cuando conf es 0, o sea, disco SDD.
El modelo es: tiempo = -1.3755 + 0.7198(carga) + 2.2639 (conf) - 0.3573(carga*conf)
Ahora bien, El ANOVA muestra que el modelo es significativo con un valor p muy pequeño para carga y carga x conf lo que indica que estas variables tienen un efecto significativo sobre la variable respuesta de tiempo. Ahora bien, el p-valor de conf si bien es menor 0.05 aporta en menor proporción que las dos variables anteriores
Ahora se va a verificar la forma de los residuos para confirmar lo que dice el modelo.
El valor p es muy pequeño para todas las variables del modelo, lo que indica un efecto significativo en la predicción de la variable respuesta (tiempo).
El coeficiente de R-cuadrado ajustado es 0.96, lo que sugiere que la variable tiempo puede ser explicada por el modelo.
## Analysis of Variance Table
##
## Model 1: tiempo ~ carga
## Model 2: tiempo ~ carga * conf
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 23 7.8375
## 2 21 1.6990 2 6.1386 37.938 1.067e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Como se evidencia en el Test Anova al comparar los dos modelos el p-valor es pequeño; por tanto se rechaza la Ho y lo que indica que el modelo 2 explica mejor los datos que el modelo 1.
##
## One Sample t-test
##
## data: residuos
## t = -0.14652, df = 24, p-value = 0.8847
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.4994321 0.4332192
## sample estimates:
## mean of x
## -0.03310641
##
## studentized Breusch-Pagan test
##
## data: Modelo2
## BP = 2.6825, df = 3, p-value = 0.4432
##
## Durbin-Watson test
##
## data: Modelo2
## DW = 1.3285, p-value = 0.03421
## alternative hypothesis: true autocorrelation is greater than 0
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.92407, p-value = 0.06348
## [1] 13.72568
Según las gráficas y los resultados de p-valor para las diferentes pruebas de hipótesis se evidencia:
Finalmente, al comparar los dos modelos: el AIC del modelo 2 es 13.72, en comparación al modelo 1 que es 47.94.
El modelo 2 tiene un coeficiente de R-cuadrado ajustado mejor con 0.96, o sea que explica mejor el modelo.
Para estimar el rendimiento del tiempo según la carga es necesario incluir al tipo de disco. El tipo de disco que mejor respuesta tiene según el modelo es el HDD.
Una compañía de seguros de automóvil desea caracterizar la siniestralidad de sus asegurados durante el último año. Para ello dispone información de una muestra aleatoria de 35 asegurados con la siguiente información (accidentes.xlsx): Acc : Exp : Edad : Pot : Sexo : haber tenido algún accidente en el último año (0:no; 1:sí). años de experiencia. edad del conductor. potencia del motor. 1 (mujer), 2 (hombre).
Análisis exploratorio
## [[1]]
## NULL
##
## [[2]]
## NULL
##
## [[3]]
## NULL
##
## Call:
## glm(formula = Acc ~ Exp, family = "binomial")
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.9419 0.9816 1.978 0.0479 *
## Exp -0.2456 0.1044 -2.354 0.0186 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47.804 on 34 degrees of freedom
## Residual deviance: 40.006 on 33 degrees of freedom
## AIC: 44.006
##
## Number of Fisher Scoring iterations: 4
##
## Call:
## glm(formula = Acc ~ Exp + Sexo, family = "binomial")
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.8890 1.2252 0.726 0.46808
## Exp -0.2400 0.1176 -2.040 0.04131 *
## SexoM 2.9866 1.0683 2.796 0.00518 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47.804 on 34 degrees of freedom
## Residual deviance: 29.249 on 32 degrees of freedom
## AIC: 35.249
##
## Number of Fisher Scoring iterations: 5
## AIC deviance R2
## Modelo1_2 44.00583 40.00583 0.1631205
## AIC deviance R2
## Modelo2_2 35.24875 29.24875 0.3881471
## Analysis of Deviance Table
##
## Model: binomial, link: logit
##
## Response: Acc
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 34 47.804
## Exp 1 7.7977 33 40.006 0.005231 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Analysis of Deviance Table
##
## Model: binomial, link: logit
##
## Response: Acc
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 34 47.804
## Exp 1 7.7977 33 40.006 0.005231 **
## Sexo 1 10.7571 32 29.249 0.001039 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Setting levels: control = No, case = Sí
## Setting direction: controls < cases
##
## Call:
## roc.default(response = data2$Acc, predictor = Prob1_2, auc = TRUE, ci = TRUE)
##
## Data: Prob1_2 in 20 controls (data2$Acc No) < 15 cases (data2$Acc Sí).
## Area under the curve: 0.7983
## 95% CI: 0.6297-0.967 (DeLong)
## Setting levels: control = No, case = Sí
## Setting direction: controls < cases
##
## Call:
## roc.default(response = data2$Acc, predictor = Prob2_2, auc = TRUE, ci = TRUE)
##
## Data: Prob2_2 in 20 controls (data2$Acc No) < 15 cases (data2$Acc Sí).
## Area under the curve: 0.8683
## 95% CI: 0.7507-0.986 (DeLong)
El modelo 2 con AIC (35.24) disminuye con respecto al modelo 1 (44.00).
En cuanto al ROC, el AUC del modelo 2 (0.86) también es mejor que del model 1 (0.79)
En el test de verosimilitud al analizar los p-valor, para cada modelo se rechaza la hipótesis nula; lo que permite afirmar que los datos para cada modelo tiene similitud y los datos se adecuan al modelo.
Por tanto, se selecciona el modelo 2.
## Waiting for profiling to be done...
## Coef 2.5 % 97.5 %
## (Intercept) 0.8890341 -1.3776790 3.64897083
## Exp -0.2399985 -0.5285605 -0.04017264
## SexoM 2.9865699 1.1292126 5.58840807
## e-beta 2.5 % 97.5 %
## (Intercept) 2.432779 0.2521631 38.4350894
## Exp 0.786629 0.5894529 0.9606236
## SexoM 19.817589 3.0932200 267.3097416
Como se observa los e-beta de Exp están entre 0.58 y 0.96, es decir, que son menores a 1. Por tanto, el incremento en x lleva a un disminución en la probabilidad de y. En otras palabras, el incremento en la edad para cualquiera de los dos sexos lleva a una disminución de la probabilidad de acciedentes.
## Setting levels: control = No, case = Sí
## Setting direction: controls < cases
##
## Call:
## roc.default(response = data2$Acc, predictor = Prob2_2, auc = TRUE, ci = TRUE)
##
## Data: Prob2_2 in 20 controls (data2$Acc No) < 15 cases (data2$Acc Sí).
## Area under the curve: 0.8683
## 95% CI: 0.7507-0.986 (DeLong)
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Sí
## No 20 6
## Sí 0 9
##
## Accuracy : 0.8286
## 95% CI : (0.6635, 0.9344)
## No Information Rate : 0.5714
## P-Value [Acc > NIR] : 0.001202
##
## Kappa : 0.6316
##
## Mcnemar's Test P-Value : 0.041227
##
## Sensitivity : 0.6000
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.7692
## Prevalence : 0.4286
## Detection Rate : 0.2571
## Detection Prevalence : 0.2571
## Balanced Accuracy : 0.8000
##
## 'Positive' Class : Sí
##
El punto de corte del modelo 2 despúes de realizar el ROC y AUC es 0.845.
El modelo me indica que tiene: Especificidad de 1, por tanto es capaz de clasificar perfectamente los verdaderos negativos, es decir, lo que no se accidentan de acuerdo con la experiencia y sexo. Sensibilidad del 0.6, es capaza de clasificar en un 60% los verdaderos positivos, es decir, los que que si se accidentan de acuerdo con experiencia y sexo.
Por tanto, es un modelo más específico que sensible.
Realmente las variables entre sí no tienen una relación signficativa.
## The following objects are masked from data2 (pos = 3):
##
## Acc, Edad, Exp, Pot, Sexo
##
## Call:
## glm(formula = Acc ~ ., family = "binomial", data = data2)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -19.97398 9.23723 -2.162 0.0306 *
## Exp -0.47952 0.33645 -1.425 0.1541
## Edad -0.02585 0.08801 -0.294 0.7689
## Pot 0.24687 0.10715 2.304 0.0212 *
## SexoM 3.04940 2.36426 1.290 0.1971
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47.804 on 34 degrees of freedom
## Residual deviance: 12.700 on 30 degrees of freedom
## AIC: 22.7
##
## Number of Fisher Scoring iterations: 8
## Analysis of Deviance Table
##
## Model 1: Acc ~ Exp + Sexo
## Model 2: Acc ~ Exp + Edad + Pot + Sexo
## Resid. Df Resid. Dev Df Deviance Pr(>Chi)
## 1 32 29.249
## 2 30 12.700 2 16.549 0.0002549 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Setting levels: control = No, case = Sí
## Setting direction: controls < cases
##
## Call:
## roc.default(response = data2$Acc, predictor = Prob_SAT, auc = TRUE, ci = TRUE)
##
## Data: Prob_SAT in 20 controls (data2$Acc No) < 15 cases (data2$Acc Sí).
## Area under the curve: 0.9667
## 95% CI: 0.9054-1 (DeLong)
## Confusion Matrix and Statistics
##
## Reference
## Prediction No Sí
## No 19 1
## Sí 1 14
##
## Accuracy : 0.9429
## 95% CI : (0.8084, 0.993)
## No Information Rate : 0.5714
## P-Value [Acc > NIR] : 1.128e-06
##
## Kappa : 0.8833
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9333
## Specificity : 0.9500
## Pos Pred Value : 0.9333
## Neg Pred Value : 0.9500
## Prevalence : 0.4286
## Detection Rate : 0.4000
## Detection Prevalence : 0.4286
## Balanced Accuracy : 0.9417
##
## 'Positive' Class : Sí
##
Teniendo en cuenta los resultados del modelo saturado, se puede concluir que este es mejor que el modelo 2, puesto que: AIC disminuye a 22.7, en el Anova el p-valor es pequeño, por tanto se rechaza Ho.
Además,los indicadores de bonda de clasificación del modelo saturado son: Especificidad de 0.95, por tanto es capaz de clasificar casi perfectamente los verdaderos negativos, es decir, los que no se accidentan de acuerdo con la experiencia, sexo, edad y potencia. Sensibilidad del 0.93, es capaza de clasificar en un 93% los verdaderos positivos, es decir, los que que sí se accidentan de acuerdo con todas las variables:experiencia, sexo, edad y potencia.
Los hallazgos prinicipales para al Compañía de seguros son: 1. La potencia del motor es la variable que según el análisis exploratorio y el modelo saturado explica mejor la accidentalidad. 2.Si bien la edad y la experiencia tienen relación entre ellas, no explican por completo la accidentalidad, pues presentan varios datos atípicos. 3. Finalmente, las mujeres tienden a accidentarse menos que los hombres según el modelo y el análisis exploratorio.