11/9/2021

Actividad 3: Analisis de Regresión en 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 \(\mathbf{Y}:\) tiempo de respuesta del disco (segundos), la cual se relaciona, posiblemente bajo una dependencia no lineal, de \(\mathbf{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. Los resultados se presentan en la siguiente tabla:

##    Conf Carga Tiempo
## 1     1   1.0    0.9
## 2     0   2.0    0.3
## 3     1   2.4    2.0
## 4     0   3.1    0.8
## 5     1   4.0    2.7
## 6     1   4.3    2.6
## 7     0   5.8    2.5
## 8     0   6.6    3.2
## 9     0   7.5    3.7
## 10    1   8.0    3.9
## 11    0   9.0    5.3
## 12    1   9.2    4.2
## 13    1  10.2    3.9
## 14    1   1.8    1.1
## 15    1   2.0    1.5
## 16    0   2.5    0.5
## 17    0   3.9    1.5
## 18    0   4.2    1.6
## 19    1   5.5    3.3
## 20    0   6.4    3.3
## 21    1   7.0    3.5
## 22    0   8.0    4.3
## 23    1   8.2    4.0
## 24    1   9.1    4.3
## 25    0   9.5    5.8

Para iniciar el análisis de estos ensayos, se carga la base de datos y se renombran los valores de categorica Conf (Tipo de disco duro), por la etiqueta del tipo a que pertenecen.

datos<- read.table("clipboard", header = TRUE, dec = ".")

datos$Conf <- factor(datos$Conf, labels=c("SDD","HDD"))

Luego se realiza un grafico de dispersion con una curva de tendencia de todos los datos, en la cual podemos evidenciar que las variables analizadas tienen una relacion lineal positiva hasta sierto punto, luego tiende a estabilizarse.

library(ggplot2)

ggplot(datos,aes(x=Carga,y=Tiempo))+
  geom_point()+
  geom_smooth()

\(\mathbf{I})\)

Se realiza grafica de dispersion con las variables Carga y Tiempo, diferenciando el tipo de disco duro en los datos con el ajuste de una curva para cada tipo.

ggplot(data=datos)+
  geom_point(aes(y=Tiempo, x=Carga, col=Conf))+
  geom_smooth(aes(y=Tiempo, x=Carga, col=Conf))

Se puede evidenciar una relacion positiva entre la carga del sistema y el tiempo de respuesta del disco duro, es decir, entre mayor es el numero de consultas por minuto del sistema, mayor es el tiempo de respuesta del disco duro, ademas de que las curvas de los datos de ambos tipos de discos se cruzan, lo que significa que en algun momento el rendimiento de estos es igual; al principio se ve que tienen una razon de cambio entre la carga del sistema y el tiempo de respuesta del disco similar (pendientes similares), donde el disco duro tipo SDD presenta un mayor rendimiento que el tipo HDD dado que con el mismo numero de lecturas por minuto el tiempo de respuesta del disco duro SDD es menor, mostrando siempre en este tipo de disco (SDD) una relacion lineal; mientras que a medida que aumentan numero de lecturas por minuto, el tiempo de respuesta de los disco duros tipo HDD tiende a crecer a una razon de cambio cada vez menor, mostrando un comportamiento no lineal, y donde en promedio, aproximadamente a los 9 segundos de carga del sistema tiende a estabilizarse el tiempo de respuesta de los discos duros tipo HDD. Ademas, en promedio, a partir de aproximadamente las 7.4 lecturas por minuto el rendimiento de ambos tipos de discos es igual, y al aumentar el numero de lecturas desde este valor se evidencia un mejor rendimiento por parte de los discos duros tipo HDD ya que en promedio, tiende a estabilizarse en un tiempo de respuesta de 4 segundos, mientras que en los SDD el tiempo de respuesta sigue aumentando a medida que aumenta la carga del sistema

Se realiza el test de Anderson-Darling del supuesto de normalidad de todos los datos de las variables Tiempo y Carga, donde la prueba de hipotesis del test se plantea como:

\(H_{0}:\) La variable Tiempo (Carga) se distriburye de forma normal

\(H_{1}:\) La variable Tiempo (Carga) no se distribuye de forma normal

library(nortest)

ad.test(datos$Tiempo)      
## 
##  Anderson-Darling normality test
## 
## data:  datos$Tiempo
## A = 0.35944, p-value = 0.4221
ad.test(datos$Carga)
## 
##  Anderson-Darling normality test
## 
## data:  datos$Carga
## A = 0.52694, p-value = 0.1617

Tanto para la variable Tiempo como Carga, el P-valor es mayor al \(\alpha\) asociado al nivel de significancia (5%), por lo que no se rechaza la hipotesis nula de que la distribucion de los datos de ambas variables tiende a comportarse de forma normal.

Graficamente lo podemos ver en el histograma comparando la curva de distribucion normal de los datos en cada variable con su curva de funcion de densidad.

#Histograma de los datos de la variable Tiempo

ggplot(data=datos, mapping= aes(x= Tiempo)) +
  geom_histogram(aes(y= ..density..),color= "gray", fill="blue") + 
  stat_function(fun= dnorm, args= list(mean= mean(datos$Tiempo), sd= sd(datos$Tiempo)))+   
  geom_density(fill="black", alpha=0.2)    

#Histograma de los datos de la variable Carga

ggplot(data=datos, mapping= aes(x= Carga)) +
  geom_histogram(aes(y= ..density..),color= "gray", fill="red") + 
  stat_function(fun= dnorm, args= list(mean= mean(datos$Carga), sd= sd(datos$Carga)))+   
  geom_density(fill="black", alpha=0.2)   

Se realiza el test de correlacion de las dos variables con el metodo de Pearson (es para datos con distribucion normal), donde la prueba de hipotesis establece:

\(H_{0}:\) Correlacion ≤ 0

\(H_{1}:\) Correlacion > 0

cor.test(x=datos$Carga,y=datos$Tiempo,alternative = "greater",method="pearson" )
## 
##  Pearson's product-moment correlation
## 
## data:  datos$Carga and datos$Tiempo
## t = 11.783, df = 23, p-value = 1.589e-11
## alternative hypothesis: true correlation is greater than 0
## 95 percent confidence interval:
##  0.8566038 1.0000000
## sample estimates:
##       cor 
## 0.9262224

Hay una fuerte correlacion positiva del 92.62% entre las variables Tiempo y Carga , siendo estadisticamente significativo este dato dado que el P-valor asociado a la prueba es menor al \(\alpha\) de 0.05, por lo que se acepta la hipotesis alternativa.

Ahora se realizara el mismo analisis diferenciando el tipo de disco duro, para ello se realizara el test de normalidad de Anderson-Darling en los datos condicionado el tipo de disco para saber si se debe aplicar el test de correlacion de Pearson o Spearman:

\(H_{0}:\) La variable Tiempo (Carga) se distriburye de forma normal

\(H_{1}:\) La variable Tiempo (Carga) no se distribuye de forma normal

datosSDD <- subset(datos,subset=Conf=="SDD")
datosHDD <- subset(datos,subset=Conf=="HDD")
ad.test(datosSDD$Tiempo) 
## 
##  Anderson-Darling normality test
## 
## data:  datosSDD$Tiempo
## A = 0.23256, p-value = 0.7423
ad.test(datosSDD$Carga)  
## 
##  Anderson-Darling normality test
## 
## data:  datosSDD$Carga
## A = 0.23774, p-value = 0.7238
ad.test(datosHDD$Tiempo) 
## 
##  Anderson-Darling normality test
## 
## data:  datosHDD$Tiempo
## A = 0.50098, p-value = 0.1694
ad.test(datosHDD$Carga)
## 
##  Anderson-Darling normality test
## 
## data:  datosHDD$Carga
## A = 0.40597, p-value = 0.3001

Tanto para los discos duros tipo HDD como para los tipo SDD, el p-valor que resulta del test de normalidad de las variables Tiempo como Carga es mayor al al \(\alpha\) de 0.05, por lo que se acepta hipotesis nula de que los resultados de las pruebas sobre los discos duros tipo HDD y SDD tienden a comportarse con una forma de distribucion normal.

Se procede a realizar el test de correlacion de Pearson entre la variable Tiempo y Carga condicionado el tipo de disco duro.

\(H_{0}:\) Correlacion ≤ 0

\(H_{1}:\) Correlacion > 0

cor.test(x=datosSDD$Tiempo,y=datosSDD$Carga,alternative = "greater",method="pearson" )         
## 
##  Pearson's product-moment correlation
## 
## data:  datosSDD$Tiempo and datosSDD$Carga
## t = 28.334, df = 10, p-value = 3.487e-11
## alternative hypothesis: true correlation is greater than 0
## 95 percent confidence interval:
##  0.9816387 1.0000000
## sample estimates:
##       cor 
## 0.9938293
cor.test(x=datosHDD$Tiempo,y=datosHDD$Carga,alternative = "greater",method="pearson" )
## 
##  Pearson's product-moment correlation
## 
## data:  datosHDD$Tiempo and datosHDD$Carga
## t = 12.024, df = 11, p-value = 5.698e-08
## alternative hypothesis: true correlation is greater than 0
## 95 percent confidence interval:
##  0.9013679 1.0000000
## sample estimates:
##       cor 
## 0.9640003

Se evidencia una casi perfecta correlacion positiva entre el tiempo de respuesta del disco y la carga del sistema en los discos duros tipo SDD (99.38%), y una fuerte correlacion positiva en el caso de los discos duros tipo HDD (96.4%). Los resultados son estadisticamente significativos.

\(\mathbf{II})\)

Se ajusta un modelo de regresión simple (modelo 1) que reproduce la relación entre la carga y el tiempo de respuesta, sin incluir la configuración del disco duro.

mod1 <- lm(datos$Tiempo ~datos$Carga)
summary(mod1)
## 
## Call:
## lm(formula = datos$Tiempo ~ datos$Carga)
## 
## 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    
## datos$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

Primero se puede analizar que el p-valor (3.177e-11) es menor al \(\alpha\) de 0.05 (nivel de significancia del 5%) y muy cercano al cero, por lo tanto el ajuste del modelo es adecuado, el R-cuadrado es del 85.79%, por lo tanto la variable Carga explica el 85.79% de la variabilidad de la variable Tiempo; el intercepto del modelo es 0.04, y no es estadisticamente significativo dado que tiene un p-valor (0.85) mayor al \(\alpha\) de 0.05, esto se interpreta como que es probable que el valor del intercepto dado los datos que con los que se calcula haya sido debido al azar, y el valor del intercepto se puede interpretar como que en promedio, el tiempo de respuesta del disco duro es de 0.04 segundos cuando no se realiza ninguna consulta por minuto en la carga del sistema. La pendiente del modelo es de 0.49, es decir que en promedio, por cada carga adicional del sistema aumenta el tiempo de respuesta del disco duro en 0.49 segundos; y es este valor es estadisticamente significativo (P-valor = 3.18e-11 y muy cercano a cero).

#Grafica del modelo 1

ggplot(datos,aes(x=Carga,y=Tiempo))+
  geom_point()+
  geom_line(aes(x=datos$Carga, y=predict(mod1)),
            col="red")

Graficamente se ve una distribucion de los datos bastante uniforme alrededor de la curva de regresion del modelo, lo que indica un buen ajuste del modelo dado que las diferencias entre los datos observados y la media esperada del modelo de regresion no presentan mucha variabilidad. Tambien el modelo 1 tiene un error estandar residual de 0.58, lo que significa, que en promedio, los datos observados se alejan del valor esperado en 0.58 unidades, lo que es un valor muy pequeño y nos permite inferir un buen ajuste del modelo.

Se realizara un analisis de los supuestos sobre el error del modelo 1 a partir de la inspeccion visual del comportamiento de los residuales.

# SUPUESTOS SOBRE EL TERMINO DE ERROR:

# ✓ Media cero (Linealidad): La media de los errores debe ser cero o cercana a cero.

# ✓ Homogeneidad de varianzas (Homocedasticidad): La varianza de los errores es la misma para cualquier combinacion de valores de las variables independientes.

# ✓ Independencia (No correlacion): Los errores deben ser independientes unos de otros, la covarianza de los errores debe ser cero.

# ✓ Normalidad: Se tiene que distribuir de forma normal entorno a cero los errores de la funcion de regresion (Residuos).
par(mfrow=c(2,2))
plot(mod1)

library(plyr)
residuales.mod1 <- residuals(mod1)
residuales_rezagados.mod1<-dplyr::lag(residuales.mod1)
plot(residuales_rezagados.mod1,residuales.mod1)

  • Residuales vs Valores ajustados (Residuals vs Fitted): Los residuales oscilan alrededor de la media cero con patrones detectables (entre los valores ajustados de 3 y 4, los residuales son muy cercanos a la media cero, mientras que en el resto de los valores se alejan), lo que indica que los residuos no tienen una varianza constante en ese intervalo, sin embargo son los residuales en el resto de valores ajustados estan dispersos de manera casi uniforme y la curva roja se ajusta ese comportamiento, por lo que se podria inferir que se cumple el el supuesto de homocedasticidad, sin embargo hay que realizar el test correspondiente para confirmar el supuesto. Tambien se ve que el modelo se comporta de forma lineal (la linea roja se ubica de forma casi perfecta sobre la media cero) dado que la media del comportamiento de los residuales es cercano a cero, por lo que puede inferir cumplimiento el supuesto de media cero o linealidad.

  • Grafico de normalidad (Normal Q-Q): Los residuales estandarizados se ajustan de forma casi perfecta sobre la linea teorica de normalidad, por lo que se puede decir que se cumple el supuesto de normalidad.

  • Escala-Ubicacion (Scale-Location): Se puede ver que los residuales estandarizados tienden a distribuirse a lo largo de los rangos predictores por igual, ya que estan distribuidos de forma uniforma a los largo de la linea roja, sin embargo, la linea roja no presenta un comportamiento lineal en toda su extension dado que como lo habiamos visto en la grafica de Residuales vs Valores ajustados, hay una parte en donde los residuales estan menos dispersos entre si (mas cerca a la media cero) que en el resto de su distribucion, por lo que es necesario el test de homocedasticidad para aceptar o no este supuesto.

  • Residuales vs Apalancamiento (Residuals vs Leverage): Podemos ver que en la grafica 3 se identifican ciertas observaciones (11, 25, 13), sin embargo, ninguna cruza la curva roja de distancia (0.5), por lo tanto no tenemos problema de valores influyentes.

  • Residuales rezagados vs Residuales: Graficamente podemos ver que a medida que aumentan los residuales rezagados (o de periodos anteriores), los residuales del periodo actual no varian su comportamiento, lo que nos indica independencia entre estos o no correlacion.

A traves del comportamiento de los residuales se podria inferir que se cumplen todos los supuestos del error del modelo menos el de homocedasticidad, por lo que se realiza el test de Breusch-Pagan para aceptar o no la homocedasticidad en los errores:

\(H_{0}:\) Hay homocedasticidad en los errores

\(H_{1}:\) No hay homocedasticidad en los errores

library(lmtest)
bptest(mod1)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod1
## BP = 0.43435, df = 1, p-value = 0.5099

Los resultados del test muestran que el P-valor es mayor al \(\alpha\) de 0.05, por lo que no se rechaza la hipotesis nula y se acepta que el modelo 1 si cumple el supuesto de homocedasticidad de los errores.

\(\mathbf{III})\)

Se ajusta un modelo de regresión (modelo 2) que incluye el tipo de disco y su interacción con la carga del equipo.

Dado que al ser Tipo de disco una variable dicotomica en la cual evidenciamos graficamente que los valores esperados de la variable Tiempo con respecto a la variable carga condicionado la categoria (SDD y HDD) se cruzan en un punto, se ajusta el modelo con una variable cuantitativa \(\mathbf{X_{1}}\) y una variable dicotomica \(\mathbf{X_{2}}\) con esta estructura:

\[Y = B_{0} + B_{1}X_{1} + B_{2}X_{2} + B_{3}X_{1}X_{2}\]

mod2 <- lm(datos$Tiempo ~ datos$Carga + datos$Conf + datos$Carga*datos$Conf)
summary(mod2)
## 
## Call:
## lm(formula = datos$Tiempo ~ datos$Carga + datos$Conf + datos$Carga * 
##     datos$Conf)
## 
## 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 ***
## datos$Carga                0.71979    0.03367  21.376 9.88e-16 ***
## datos$ConfHDD              2.26391    0.26520   8.536 2.86e-08 ***
## datos$Carga:datos$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

Primero se puede analizar que el P-valor es menor al \(\alpha\) de 0.05, por lo tanto el ajuste del modelo es significativo, analizamos R-cuadrado ajustado es del 96,92%, lo que significa que el modelo explica el 96,92% de la variabilidad de la variable Tiempo, y tambien indica una fuerte correlacion entre el tipo de disco duro y tiempo de carga del sistema con el tiempo de respuesta del disco duro, dado que ademas el P-valor es muy cercano al cero.

Se tienen los coeficientes del modelo 2 con estructura: \[Y = B_{0} + B_{1}X_{1} + B_{2}X_{2} + B_{3}X_{1}X_{2}\]

\(\mathbf{B_{0} = -1.37549,}\) \(\mathbf{B_{1} = 0.71979,}\) \(\mathbf{B_{2} = 2.26391,}\) \(\mathbf{B_{3} = -0.35734}\)

Se puede resaltar, que en este modelo, todos los coeficientes son estadisticamente significativos, caso contrario al modelo 1, en donde el intercepto no lo era, y esto es porque como se puede ver en la grafica del modelo 2, este incluye dos interceptos dado el valor que tome la variable dummy (X2=0 o X2=1) de la categorica Conf (tipo de disco), y por lo que la inclusion de la variable Tipo de disco al hacer estadisticamente significativo el intercepto del modelo, hace que este (o estos, son dos interceptos) valor tenga una baja probabilidad de ocurrir al azar.

#Grafica del modelo 2

ggplot(data=datos)+
  geom_point(aes(x=Carga, y=Tiempo))+
  geom_line(aes(x=Carga, y=predict(mod2), col=Conf)
  )

Graficamente se ve una distribucion de los datos bastante uniforme alrededor de las curvas de regresion del modelo tanto para el tipo de disco SDD como para los HDD; ademas de que en este modelo, el valor esperado es mucho mas cercano a los datos observados, lo que indica mayor capacidad de prediccion del modelo y terminos de error menores al del modelo 1. Esto es posible verlo tambien comparando el error estandar residual del modelo 2 (0.28) con el del modelo 1 (0.58), donde es mas pequeño el del modelo 2, lo que indica un mejor ajuste del modelo sobre los datos, dado que la diferencia promedio entre los datos observados y el valor esperado es mas cercano a cero (cuando el error estandar residual es igual a cero, el modelo se ajusta perfectamente a los datos).

Ahora se va a analizar el ajuste del modelo condicionado el tipo de disco duro.

El modelo al incluir todos los valores (SDD:0, HDD:1) de la variable Conf (Tipo de disco) tiene la estructura:

\[Y = B_{0} + B_{1}X_{1} + B_{2}X_{2} + B_{3}X_{1}X_{2}\]

\(\mathbf{Y}\)=Tiempo, \(\mathbf{X_{1}}\)=Carga, \(\mathbf{X_{2}}\)=Conf

  • Cuando \(\mathbf{X_{2}}\)=0 (discos duros tipo SDD) el modelo tiene la estructura:

\[E[Y] = B_{0} + B_{1}X_{1} + B_{2}*0 + B_{3}X_{1}*0\] \[E[Y] = B_{0} + B_{1}X_{1}\]

Por lo tanto

\[E[Y] = -1.37549 + 0.71979X_{1}\]

En el modelo 2, el intercepto para los discos duros tipo SDD es -1.37, lo que indica que el disco duro empieza a responder cuando en promedio, la carga del sistema es mayor a 1.9 consultas por minuto (corte en el eje Carga); la pendiente es de 0.71, lo que indica que en promedio, ante el aumento de una consulta por minuto cuando carga el sistema, el tiempo de respuesta del disco duro tipo SDD aumenta 0.71 segundos.

  • Cuando \(\mathbf{X_{2}}\)=1 (discos duros tipo HDD) el modelo tiene la estructura:

\[E[Y] = B_{0} + B_{1}X_{1} + B_{2}*1 + B_{3}X_{1}*1\] \[E[Y] = (B_{0} + B_{2}) + (B_{1} + B_{3})X_{1}\]

Por lo tanto:

\[E[Y] = (-1.37549 + 2.26391) + (0.71979 - 0.35734)X_{1}\] \[E[Y] = 0.88842 + 0.36245X_{1}\]

Para los discos duros tipo HDD, el intercepto es 0.88, lo que indica que en promedio, cuando inician las lecturas por minuto del sistema, con una lectura por minuto mayor a cero, el disco duro actua con un tiempo de respuesta mayor a 0.88 segundos; la pendiente es de 0.36, lo que indica que en promedio, ante el aumento de una consulta por minuto cuando carga el sistema, el tiempo de respuesta del disco duro tipo SDD aumenta 0.88 segundos.

Se realizara un analisis de los supuestos sobre el error del modelo 2 a partir de la inspeccion visual del comportamiento de los residuales.

# SUPUESTOS SOBRE EL TERMINO DE ERROR:

# ✓ Media cero (Linealidad): La media de los errores debe ser cero o cercana a cero.

# ✓ Homogeneidad de varianzas (Homocedasticidad): La varianza de los errores es la misma para cualquier combinacion de valores de las variables independientes.

# ✓ Independencia (No correlacion): Los errores deben ser independientes unos de otros, la covarianza de los errores debe ser cero.

# ✓ Normalidad: Se tiene que distribuir de forma normal entorno a cero los errores de la funcion de regresion (Residuos).
par(mfrow=c(2,2))
plot(mod2)

residuales.mod2 <- residuals(mod2)
residuales_rezagados.mod2<-dplyr::lag(residuales.mod2)
plot(residuales_rezagados.mod2,residuales.mod2)

  • Residuales vs Valores ajustados (Residuals vs Fitted): Los residuales oscilan alrededor de la media cero con patrones detectables (en los valores bajos y valores altos se encuentran menos dispersos, mientras que en los valores medios se distribuyen con mas dispersion), lo que indica un poco de variabilidad en la varianza de los residuos. Tambien podemos notar que la curva roja tiende a ajustarse de forma horizontal sobre la media cero, lo que indica sierta linealidad en la estrucutura del modelo, aunque en la esquina izquierda (o para valores altos), tiende a subir lo que podria indicar la presencia de valores ajustados atipicos altos de las variables independientes (recordemos que en los valores altos del modelo 2, las curvas de valores esperados del tipo de disco SDD y HDD se separan y ambas son lineales, pero, la tendencia de la relacion entre las variables Tiempo y Carga para los discos duros tipos SDD tiende a ser lineal, mientras que en los discos duros tipo HDD tiende a ser lineal en un principio y luego en valores altos toma una forma de rendimientos decrecientes, por lo que el modelo 2 no simula el comportamiento de forma completa para esta relacion en los discos duros tipo HDD, y esa variacion influye en la no perfecta linealidad del modelo 2 sobre los valores ajustados altos). Ademas se ve que el modelo se ajusta a una forma menos lineal que el modelo 1 dado el comportamiento de los residuos un poco oscilante sobre la media cero de los residuos del modelo 2.

  • Grafico de normalidad (Normal Q-Q): Los residuales estandarizados no se ajustan sobre la curva teorica de distribucion para los valores bajos (o en los primeros dos cuantiles), por lo que se debe verificar el supuesto de normalidad a traves de un test para estar seguros si se cumple o no.

  • Escala-Ubicacion (Scale-Location): Se puede ver que los residuales estandarizados tienden a distribuirse a lo largo de los rangos predictores por igual, ya que estan distribuidos de manera casi uniforme a los largo de la linea roja; la linea roja presenta un comportamiento que tiende a ser lineal dado que como lo habiamos visto en la grafica de Residuales vs Valores ajustados.

  • Residuales vs Apalancamiento (Residuals vs Leverage): Podemos ver que en la grafica 3 se identifican ciertas observaciones (14, 13, 25), y de estos, la observacion 13 cruza la curva roja de distancia (0.5), por lo que es un valor influyente, es decir su inclusion o no en los datos del modelo genera cambios significativos en la prediccion (Posi).

  • Residuales rezagados vs Residuales: Graficamente podemos ver que a medida que aumentan los residuales rezagados (o de periodos anteriores), los residuales del periodo actual no varian su comportamiento o no se detectan patrones de comportamiento en los datos, lo que nos indicaria una no correlacion entre los terminos de error.

Como se vio una observacion influyente en la grafica de Residuales vs Apalancamiento (Residuals vs Leverage), se analizara:

\(\mathbf{IV})\)

Conociendo tanto los interceptos como los coeficientes del del modelo 2:

\(\mathbf{B_{0} = -1.37549,} \mathbf{B_{1} = 0.71979,} \mathbf{B_{2} = 2.26391,} \mathbf{B_{3} = -0.35734}\)

La ecuacion general del modelo 2 es:

\[Y = -1.37549 + 0.71979X_{1} + 2.26391X_{2} + -0.35734X_{1}X_{2}\] con \(\mathbf{Y}\)=Tiempo, \(\mathbf{X_{1}}\)=Carga, \(\mathbf{X_{2}}\)=Conf

  • Cuando \(\mathbf{X_{2}}\)=0 (discos duros tipo SDD) la ecuacion del modelo 2 es:

\[E[Y] = -1.37549 + 0.71979X_{1}\]

  • Cuando \(\mathbf{X_{2}}\)=1 (discos duros tipo HDD) la ecuacion del modelo 2 es:

\[E[Y] = 0.88842 + 0.36245X_{1}\]

#Grafica del modelo 2

ggplot(data=datos)+
  geom_point(aes(x=Carga, y=Tiempo))+
  geom_line(aes(x=Carga, y=predict(mod2), col=Conf)
  )

\(\mathbf{V})\)

Se realiza el test anova para comparar los ajustes de cada modelo.

anova(mod1,mod2)
## Analysis of Variance Table
## 
## Model 1: datos$Tiempo ~ datos$Carga
## Model 2: datos$Tiempo ~ datos$Carga + datos$Conf + datos$Carga * datos$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

Mediante el test anova, se comprueba que la inclusión de la variable cualitativa Tipo del disco, mejora significativamente el ajuste del modelo, dado que los puntos de explicacion que se ganan son estadisticamente significativos siendo, el P-valor menor al \(\alpha\) asociado al nivel de significancia del 5% y muy cercano al cero.

Mas detallado, el coeficiente de determinacion (R-cuadrado) del modelo 1 es de 0.8579 (explica un 85.79% de la variabilidad del tiempo de respuesta de los discos duros), y el del modelo 2 es de 0.9692 (explica un 96.92% de la variabilidad del tiempo de respuesta de los discos duros), por lo que con la inclusion de la variable Tipo de disco en el ajuste del modelo se explica un 11.13% mas de la variabilidad del tiempo de respuesta de los discos duros, y como se menciono anteriormente, este porcentaje de mas en el R-cuadrado es estadisticamente significativo.

\(\mathbf{VI})\)

A traves del comportamiento de los residuales en el modelo 2 se ha realizado un analisis sobre los supuestos del termino error de este, ahora se validaran o no los supuestos a traves de los test correspondientes.

SUPUESTOS SOBRE EL TERMINO DE ERROR:

  • MEDIA CERO (LINEALIDAD): La media de los errores debe ser cero o cercana a cero.
mean(residuales.mod2)
## [1] -3.192108e-17

La media de los residuales tiende a cero, por lo que se cumple el supuesto de media = 0.

  • HOMOGENEIDAD DE VARIANZAS (HOMOCEDASTICIDAD): La varianza de los errores es la misma para cualquier combinacion de valores de las variables independientes.

Test de heterocedasticidad de Breusch-Pagan:

\(H_{0}:\) Hay homocedasticidad en los errores

\(H_{1}:\) No hay homocedasticidad en los errores

library(lmtest)
bptest(mod2)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod2
## BP = 2.6825, df = 3, p-value = 0.4432

La prueba de hipotesis del test de Breusch-Pagan no rechaza la hipotesis nula dado que el P-valor es mayor al \(\alpha\) de 0.05, por lo aceptamos que se cumple el supuesto de homocedasticidad.

  • INDEPENDENCIA (NO CORRELACION) Los errores deben ser independientes unos de otros, la covarianza de los errores debe ser cero.

Test de Durbin-Watson para evaluar el supuesto no correlacion en series de tiempo en los residuales:

\(H_{0}:\) No hay autocorrelacion en los residuos

\(H_{1}:\) Hay autocorrelacion en los residuos

library(lmtest)
dwtest(mod2, alternative = "two.sided", data=datos)
## 
##  Durbin-Watson test
## 
## data:  mod2
## DW = 1.3285, p-value = 0.06843
## alternative hypothesis: true autocorrelation is not 0

La prueba de hipotesis del test de Durbin-Watson no rechaza la hipotesis nula dado que el P-valor es mayor al \(\alpha\) de 0.05, por lo aceptamos que se cumple este supuesto de no correlacion.

  • NORMALIDAD: Se tiene que distribuir de forma normal entorno a cero los errores de la funcion de regresion (Residuos).

Test de normalidad de Shapiro-Wilk:

\(H_{0}:\) Los residuos se distribuyen de forma normal

\(H_{1}:\) Los residuos no se distribuyen de forma normal

library(MASS)

residuales_studentizados <- studres(mod2) #Residuales studentizados para garantizar la identificacion de valores atipicos
shapiro.test(residuales_studentizados)
## 
##  Shapiro-Wilk normality test
## 
## data:  residuales_studentizados
## W = 0.92407, p-value = 0.06348

La prueba de hipotesis del test de Shapirp-Wilk no rechaza la hipotesis nula dado que el P-valor es mayor al \(\alpha\) de 0.05, por lo aceptamos que se cumple este supuesto de normalidad.

El modelo 2 cumple con los supuestos sobre el termino de error, por lo tanto podemos afirmar que el modelo se ajusta sobre los datos de forma adecuada y las inferencias de este son validas.

\(\mathbf{VII})\)

Dado que el modelo 2 explica un 11.13% mas de la variabilidad del tiempo de respuesta de los discos duros que el modelo 1, y este porcentaje es estadisticamente significativo, ademas de que cumple los supuestos sobre el termino de error, destacando ademas que todos los coeficientes del modelo 2 presentan un nivel de significancia bastante alto, mientras que en el modelo 1 el intercepto no es estadisticamente significativo, se puede concluir que el modelo 2 presenta un mejor ajuste de bondad que el modelo 1, y permite predecir mejor el desempeño de las dos clases de discos duros (La relacion entre la carga del sistema o numero de consultas por minuto y el tiempo de respuesta del disco duro condicionado el tipo de disco (SDD, HDD)), dado que un modelo que explique un 96.92% de la variabilidad de una variable y sea significativo es un indicio de un buen ajuste de modelo sobre los datos.

Tambien podemos concluir que el tiempo de respuesta para los discos duros tipo SDD se relaciona bajo una dependencia lineal positiva con la carga del sistema, mientras que en el disco duro tipo HDD se presenta un valor atipico (Valor #13 en la tabla de datos) que influye en el residual de ese valor ya que la curva de tendencia de los datos del tipo de disco HDD muestra que hay una relacion semilineal con rendimientos decrecientes entre Tiempo y Carga, y en el modelo se establece una relacion lineal para este tipo de disco que es aceptada por los ajustes de bondad del modelo, sin embargo se destaca ese valor atipico e influyente en el modelo; por ello, se podrian realizar mas pruebas sobre este tipo de disco sometido a cargas de sistema mayores a 10.2 (10.2 lecturas por minuto, que es donde se presenta el valor atipico en tiempo de respuesta del disco duro tipo HDD), para confirmar si este tipo de disco presenta este rendimiento realmente o simplemente se da esa curva de tendencia sobre el rendimiento de este tipo por la ausencia de datos (recordemos que esta prueba se realizo 25 veces, 12 veces en los discos tipo SDD y 13 veces en los tipo HDD, por lo que se considera una muestra pequeña), y en el caso de persistir ese comportamiento no lineal, se podria ajustar aun mas el modelo con la inclusion de una variable que explique ese comportamiento no lineal en el rendimiento de los discos tipo HDD.