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. Los resultados se presentan en la siguiente tabla:

Datos <- read.delim(file.choose("DatosTaller3.txt"))
Carga<-Datos$Carga
Tiempo<-Datos$Tiempo
Conf<- Datos$Conf
head(Datos)
##   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

1.Represente gráficamente la relación entre el tiempo de respuesta y la carga de trabajo diferenciando los dos tipos de disco duro. ¿Se evidencia una relación lineal? Mida la fuerza de esta relación para ambos tipos de disco realizando los test correspondientes test de correlación en cada caso.

library(ggplot2)
ggplot(data = Datos, aes(x = Carga, y = Tiempo, col = Conf)) +
  geom_point() +
  ggtitle("Relacion entre las variables diferenciando el tipo de disco duro")

Al graficar la relación entre las variables según el tipo de disco duro se puede observar que ambos tienen una relación positiva, pero, el disco duro de clase SDD muestra una pendiente más empinada alcanzando un tiempo de respuesta más alto respecto a una carga del sistema menor al ser comparado con el disco de clase HDD. La leve diferencia entre las pendientes no genera mayor preocupación ya que existe una leve tendencia hacia el centro, es decir que no hay datos atipicos que puedan representar una variación muy grande como para afectar significativamente el desempeño de los discos duros, pero, claramente el desempeño del disco clase HDD es mejor al tener un menor tiempo de respuesta respecto a un mayor número de consultas por minuto.

Para determinar la correlación entre las variables primero vamos a observar qué tipo de correlación debe aplicarse observando la normalidad de las variables, si ambas presentan normalidad se realizará la prueba de Pearson pero si una de las dos variables es asimetrica entonces se realiza la prueba de Spearman.

H0: La variable presenta normalidad

H1: La variable no presenta normalidad

shapiro.test(Carga)
## 
##  Shapiro-Wilk normality test
## 
## data:  Carga
## W = 0.9373, p-value = 0.1282
shapiro.test(Tiempo)
## 
##  Shapiro-Wilk normality test
## 
## data:  Tiempo
## W = 0.96267, p-value = 0.4703

En este caso ambos resultados presentan un p-valor mayor a 0.05 por lo cual no hay suficiente información para rechazar la hipotesis nula, es decir que las variables no presentan problemas de normalidad y se puede continuar con la realización de la prueba de Pearson.

Para medir la fuerza de relación para cada tipo de disco se realizaran dos subsets diferenciando la clase del disco.

library(dplyr)
Datos0<- Datos %>% filter(Conf == 0)
Datos1<- Datos %>% filter(Conf == 1)

Prueba de correlación Pearson para el tipo de disco duro DSS:

cor.test(x=Datos0$Carga, y=Datos0$Tiempo, alternative = "less", method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  Datos0$Carga and Datos0$Tiempo
## 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

Prueba de correlación Pearson para el tipo de disco duro HDD:

cor.test(x=Datos1$Carga, y=Datos1$Tiempo, alternative = "less", method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  Datos1$Carga and Datos1$Tiempo
## 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

La correlación para cada clase de disco es positiva y casi perfecta con resultados cercanos a 1, pero no es estadisticamente significativa.

2. Ajuste un primer modelo de regresión simple (Modelo 1) que reproduzca la relación entre la carga y el tiempo de respuesta, sin incluir la configuración del disco duro. Evalúe la bondad de ajuste de este modelo e interprete los resultados obtenidos.

Modelo 1 -> Tiempo = b0 + b1(Carga) + error

library(pander)
Modelo1<- lm(Tiempo~Carga, data = Datos)
pander(summary(Modelo1))
  Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.04838 0.2632 0.1838 0.8558
Carga 0.4921 0.04177 11.78 3.177e-11
Fitting linear model: Tiempo ~ Carga
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
25 0.5837 0.8579 0.8517

Este modelo de regresión lineal simple presenta si existe una relación de dependencia entre el tiempo de respuesta del disco y la carga del sistema, la estimación arroja que si la variable independiente (carga) tomara un valor de cero, el tiempo de respuesta del disco sería 0,048. De igual manera, si la carga del sistema aumentara en una unidad, el tiempo de respuesta aumentaría en promedio 0,49 unidades.

El modelo cuenta con un coeficiente de determinación de 0.85, por lo que se puede decir que el modelo explica el 85% de la variabilidad de los datos o de la variable independiente y cuenta con un buen ajuste lineal, que se puede evidenciar en la siguiente gráfica.

ggplot(data = Datos, aes(x = Carga, y = Tiempo, col = Conf)) +
  geom_point() +
  geom_smooth(method = "lm", col = "cadetblue3") +
  ggtitle("Relacion entre la carga y el tiempo de respuesta")

par(mfrow=c(2,2))
plot(Modelo1)

Se puede observar que probablemente hay presencia de normalidad en los datos ya que los puntos están, en su mayoría, superpuestos a la línea recta, también se puede observar que no hay una tendencia muy marcada entre los residuales y los valores ajustados, pero los valores oscilan entre -1 y 1, es decir que muy cerca al cero y su varianza es constante, sin embargo una gráfica no es concluyente y se recomendaría hacer pruebas formales para verificarlo.

3. Obtenga un nuevo modelo (Modelo 2) en el que incluya el tipo de disco y su interacción con la carga del equipo. Analice los resultados y evalue la bondad de ajuste del nuevo modelo

Modelo 2 -> Tiempo = b0 + b1(Carga) + b2(Conf) + b3(Carga:Conf) + error

Modelo2<-lm(Tiempo ~ Carga + Conf + (Carga*Conf))
pander(summary(Modelo2))
  Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.375 0.209 -6.581 1.62e-06
Carga 0.7198 0.03367 21.38 9.878e-16
Conf 2.264 0.2652 8.536 2.865e-08
Carga:Conf -0.3573 0.04227 -8.454 3.364e-08
Fitting linear model: Tiempo ~ Carga + Conf + (Carga * Conf)
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
25 0.2844 0.9692 0.9648

En este modelo se ve que la bondad de ajuste es mayor que la del primer modelo, puesto que el modelo explica el 96% de la variabilidad de los datos y por ende cuenta con un mejor ajuste lineal.

la estimación de este modelo de regresión lineal múltiple indica que si las variables independientes tomaran un valor de cero, el tiempo de respuesta del disco sería -1,37. Asimismo, si la carga del sistema aumentara en una unidad y todo se mantiene constante, el tiempo de respuesta aumentaría en promedio 0,71 unidades. Además, la configuración 1, es decir el disco HDD tiene una mayor probabilidad de tener un rápido tiempo de respuesta que el disco SDD.

G1<-ggplot(data= Datos) +
  geom_point(aes(x= Carga, y= Tiempo, col = Conf))+
  geom_line(aes(x= Carga, y= predict(Modelo1)),
            color = "cadetblue3") + 
  geom_line(aes(x= Carga, y= predict(Modelo2)),
            color = "darkseagreen3") +
  theme(legend.position = "bottom") 
            
G2<-ggplot(data= Datos) +
  geom_point(aes(x= Carga, y= Tiempo, col = Conf))+
  geom_smooth(aes(x = Carga, y = predict(Modelo1)), color = "cadetblue3") + 
  geom_smooth(aes(x = Carga, y = predict(Modelo2)), color = "darkseagreen3") +
  theme(legend.position = "bottom")


library(cowplot)
plot_grid(G1, G2) + labs(title = "Gráficas de regresión del Modelo 1 y Modelo 2") +theme(plot.title = element_text(face = "bold"))

Al comparar los dos modelos se puede identificar que el segundo modelo se ajusta mejor a los datos en comparación al modelo 1.

par(mfrow=c(2,2))
plot(Modelo2)

4. Escriba la ecuación del modelo 2 y represéntela gráficamente, junto con los datos observados.

Tiempo = −1.375 + 0.719(Carga) + 2.264(Disco) − 0.357(Carga∗Disco) + 0.284

G3<-ggplot(Datos, aes(x= Carga, y= Tiempo, col = Conf)) + 
  geom_point() + 
  geom_line(aes( x = Carga, 
                 y = predict(Modelo2, Datos)), 
            color = "darkseagreen3")+
  theme(legend.position = "bottom")

G4<-ggplot(data= Datos) +
  geom_point(aes(x= Carga, y= Tiempo, col = Conf))+
  geom_smooth(aes(x = Carga, y = predict(Modelo2)), color = "darkseagreen3")+
  theme(legend.position = "bottom")

plot_grid(G3, G4) + labs(title = "Gráficas de regresión del Modelo 2") +theme(plot.title = element_text(face = "bold"))

5. Mediante el test anova, pruebe que la inclusión de la variable cualitativa configuración del disco, mejora significativamente el ajuste del modelo.

H0: Los modelos presentan un ajuste similar

H1: El modelo con más elementos presenta mejor ajuste que el modelo con menos elementos

pander(anova(Modelo1,Modelo2))
Analysis of Variance Table
Res.Df RSS Df Sum of Sq F Pr(>F)
23 7.838 NA NA NA NA
21 1.699 2 6.139 37.94 1.067e-07

La realización del test ANOVA nos permitió comparar el ajuste de nuestros modelos, de aquí se puede inferir por medio del p-valor que la hipotesis nula será rechazada dejando como resultado la aceptación a el anexo del tipo de disco y la interacción con la carga del sistema en el modelo, es decir, estas mejoran el ajuste del modelo inicial.

6. Evalúe el cumplimiento de los supuestos sobre el término error.

Media 0

Media<-mean(residuals(Modelo2))
Media
## [1] -3.192108e-17

Se cumple el supuesto de media 0 en el término de error.

Varianza constante

H0: Homocedasticidad

H1: Heterocedasticidad

library(lmtest)
bptest(Modelo2, studentize = FALSE)
## 
##  Breusch-Pagan test
## 
## data:  Modelo2
## BP = 2.8848, df = 3, p-value = 0.4097

Siendo el p-valor mayor a 0.05 no hay suficiente información para rechazar la hipotesis nula por lo tanto se cumple el supuesto de varianza constante.

Normalidad:

H0: La variable presenta normalidad

H1: La variable no presenta normalidad

library(nortest)
ad.test(residuals(Modelo2))
## 
##  Anderson-Darling normality test
## 
## data:  residuals(Modelo2)
## A = 0.41309, p-value = 0.3132

Nuevamente el p-valor es mayor a alpha por lo que existe normalidad en el término de error.

Autocorrelación:

H0: Ausencia de autocorrelación

H1: Autocorrelación

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

Por ultimo, no se rechaza la hipotesis nula constatando la ausencia de autocorrelación y el cumplimiento de todos los supuestos sobre el término de error.

7. Conclusión

El modelo que mejor representa el desempeño de los discos SDD y HDD es el modelo 2 puesto que al incluir la interacción entre el tipo de disco y la carga del equipo, presenta un mejor ajuste con respecto a los datos, en su estimación se puede observar que todas sus variables son significativas y explican en un 96% la variabilidad de los datos, un 11% más que el modelo 1. Además, cumple con los supuestos sobre el término de error haciendo que los resultados econométricos sean válidos, es decir que es un módelo eficiente que se puede utilizar con propósitos de pronóstico y simulación.