library(ggplot2)
library(carData)
library(car)
library(nortest)
library(normtest)
names(DatosTaller)
## [1] "Conf" "Carga" "Tiempo"
str(DatosTaller)
## 'data.frame': 25 obs. of 3 variables:
## $ Conf : int 1 0 1 0 1 1 0 0 0 1 ...
## $ Carga : num 1 2 2.4 3.1 4 4.3 5.8 6.6 7.5 8 ...
## $ Tiempo: num 0.9 0.3 2 0.8 2.7 2.6 2.5 3.2 3.7 3.9 ...
class(DatosTaller$Conf)
## [1] "integer"
class(DatosTaller$Carga)
## [1] "numeric"
class(DatosTaller$Tiempo)
## [1] "numeric"
DatosTaller$Conf<- factor(DatosTaller$Conf, labels= c("SDD", "HDD"))
conf<-DatosTaller$Conf
carga<-DatosTaller$Carga
tiempo<-DatosTaller$Tiempo
DatosT1<-data.frame(conf,carga,tiempo)
## conf carga tiempo
## SDD:12 Min. : 1.000 Min. :0.300
## HDD:13 1st Qu.: 3.100 1st Qu.:1.500
## Median : 5.800 Median :3.200
## Mean : 5.648 Mean :2.828
## 3rd Qu.: 8.000 3rd Qu.:3.900
## Max. :10.200 Max. :5.800
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
Gráficamente podemos evidenciar que entre el tiempo de respuesta y la carga del sistema existe una relación positiva, es decir a mayor carga del sistema , mayor tiempo de respuesta. sin embargo, correremos algunas pruebas formales para respaldar las gráficas.
antes de correr las prueba observaremos si las variables siguen o no una distribucion normal, para asi mismo seleccionar el test (Spearman o Pearson)
## [1] 7 1
## [1] 1 8
## [1] 12 1
## [1] 12 6
Pruebas de Hipotesis Tests (Shapiro-Wilk)
-H0: Los datos siguen una distribución Normal
-H1: Los datos no siguen una distribución Normal
Rechazamos H0 si p-valor<0.05, de lo contrario no rechazamos H0
shapiro.test(SDD$tiempo)
##
## Shapiro-Wilk normality test
##
## data: SDD$tiempo
## W = 0.94783, p-value = 0.6055
shapiro.test(SDD$carga)
##
## Shapiro-Wilk normality test
##
## data: SDD$carga
## W = 0.94901, p-value = 0.6225
shapiro.test(HDD$tiempo)
##
## Shapiro-Wilk normality test
##
## data: HDD$tiempo
## W = 0.89801, p-value = 0.1256
shapiro.test(HDD$carga)
##
## Shapiro-Wilk normality test
##
## data: HDD$carga
## W = 0.92028, p-value = 0.2531
A traves de los graficos (qqplot) y las pruebas formales ( Sahpiro-Wilk) concluimos que ambas variables tiempo de respuesta y carga del sistema siguen una distribucion normal, por lo tanto, utilizaremos el test de correlacion de Pearson.
cor.test(x= SDD$tiempo, y=SDD$carga, alternative = "less", method = "pearson" )
##
## Pearson's product-moment correlation
##
## data: SDD$tiempo and SDD$carga
## 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
cor.test(x= HDD$tiempo, y=HDD$carga, alternative = "less", method = "pearson" )
##
## Pearson's product-moment correlation
##
## data: HDD$tiempo and HDD$carga
## 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
El test de Pearson nos confirma que la correlacion entre el “tiempo de respuesta” y la “carga del sistema” es una correlacion fuerte para ambos tipos de disco arrojando un valor de 0.9938293 para el SDD y 0.9640003 para el HDD.
Estimamos un primer modelo simple que nos indique la relación entre la carga y el tiempo de respuesta.
El Modelo:
\(Tiempo=B_0+B_1carga+error\)
modelo1<-lm(tiempo~carga)
##
## Call:
## lm(formula = tiempo ~ 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
## 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
R-cuadrado de este modelo como podiamos intuir desde el test de correlacion de pearson nos dice que este modelo explica aproximadamente en un 85% las variaciones en el tiempo de respuesta.
tenemos unos valores valores estimados para bo de 0.04838 lo cual podemos interpretar que a falta de variables explicativas el tiempo promedeio de respuesta sera aproximadamente de 0.048 segundos, pero este intercepto realmente no nos dio significativo. por otro lado el estimador de B1 (0.49214) con un nivel de confianza del 99,9% nos indica que tras el aumento de una unidad de carga el tiempo de respuesta del disco aumentará en promedio 0.49 segundos.
\(Tiempo=B_0+B_1carga+B_2conf+B_3carga*conf+error\)
modelo2<-lm(tiempo ~ carga + conf+ carga*conf)
##
## Call:
## lm(formula = tiempo ~ carga + conf + carga * 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 ***
## 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
Dado que este modelo (Modelo 2) es un modelo de múltiples variables tenemos que prestar mayor atención al R2 ajustado sobre R2, ya que este último tiende a aumentar conforme añadimos variables. Por otro lado, el primero ajusta la efectividad que tienen las variables independientes en explicar la variable dependiente. El R2 ajustado nos indica que este modelo logra explicar aproximadamente el 96% de las variaciones en el tiempo de respuesta del sistema.
El valor estimado del intercepto tiene un valor de -1.37549, lo que indica que a falta de variables explicativas el tiempo de respuesta del disco duro será en promedio de -1.37 segundos. Análogamente, el estimador correspondiente a la variable carga que arrojo un valor de 0.71979. Nos quiere decir que, ante el aumento de una unidad de carga del sistema, el tiempo de respuesta del disco aumentará en promedio 0.72 segundos aproximadamente.
La estimación que arroja el modelo para el parámetro de ConfHDD igual a 2.26391 señala que HDD o sea el grupo base en comparación con el disco SDD, el primero tiene en promedio un tiempo de respuesta superior de 2.26 segundos. La interacción Carga: ConfHDD (-0.35734) muestra que un aumento de carga dado un disco de configuración HDD disminuye en promedio el tiempo de respuesta en 0.35 segundos.
Tenemos que la ecucacion del modelo 2 originalmente es:
\(Tiempo=B_0+B_1carga+B_2conf+B_3carga*conf+error\)
Donde la variable configuracion es una variable dicotomica.
0: SDD
1: HDD
\(Tiempo=-1.37549+ 0.71979carga+ 2.26391 (1) + -0.35734carga (1) +error\)
\(E[Tiempo] = 0.88842 +0.36245carga\)
\(Tiempo=-1.37549+ 0.71979carga+ 2.26391 (0) + -0.35734carga (0) +error\)
\(E[Tiempo]=-1.37549+ 0.71979carga\)
H0: El modelo mas sencillo es más adecuado que el más complejo
H1: El modelo más complejo es más adecuado que el sencillo
anova(modelo1, modelo2)
## Analysis of Variance Table
##
## Model 1: tiempo ~ carga
## Model 2: tiempo ~ carga + conf + 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
La prueba nos dice que el segundo modelo o el modelo más complejo se adecua más a la hora de describir las variaciones del tiempo de respuesta. Este test solo afirma una conclusión que ya se veía venir al momento de comparar los R2 ajustado de ambos modelos.
x11()
par(mfrow=c(2,2))
plot(modelo2)
Residuales <- residuals(modelo2)
mean(Residuales)
## [1] -3.192108e-17
con este valor es tan pequeño que asumimos que es cero, por lo tanto el supuesto de media cero se cumple.Este supuesto se observaba intuitivamente desde el acercamiento gráfico.
H0: los errores siguem una distribucion normal
H1: los errores no siguen una distribucion normal
ad.test(Residuales)
##
## Anderson-Darling normality test
##
## data: Residuales
## A = 0.41309, p-value = 0.3132
shapiro.test(Residuales)
##
## Shapiro-Wilk normality test
##
## data: Residuales
## W = 0.95551, p-value = 0.3323
jb.norm.test(Residuales)
##
## Jarque-Bera test for normality
##
## data: Residuales
## JB = 2.1277, p-value = 0.1315
En la prueba grafica los residuales no se ajustan a la perfeccion a la línea de normalidad por lo que corrimos Las tres pruebas formales nos dan un p-valor > 0.05, entonces no rechazamos la hipotesis nula, la cual es que los errores siguen una distribucion normal, siendo asi el supuesto de normalidad tambien se cumple.
H0:los errores tienen varianza constante.
H1: los errores no tienen varianza constante
bptest(modelo2)
##
## studentized Breusch-Pagan test
##
## data: modelo2
## BP = 2.6825, df = 3, p-value = 0.4432
El test de Breusch-Pagan detecta formas lineales de heterocedasticidad, lo cual se ajusta a nuestro modelo. Despues de correr el test hallamos que el p-valor > 0.05, no tenemos suficiente evidencia para rechazar la hipotesis nula y concluimos que el supuesto de homocedasticidad tambien se cumple.
H0: No hay autocorrelación en ningún orden menor o igual a p.
H1: Existe autocorrelación en algún orden menor o igual a p.
bgtest(modelo2)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: modelo2
## LM test = 2.1059, df = 1, p-value = 0.1467
Al igual que las anteriores pruebas tenemos que la prueba Breusch-Godfrey nos arroja un p-valor > 0.05, indica que no hay suficiente evidencia para rechazar la hipotesis nula. Esto se podia intuir ya que este supuesto no causa problemas con datos de corte transversal.
El objetivo inicial de este ejercicio era plantear un modelo que explicara las variaciones en el tiempo de respuesta del sistema, hallamos que, aunque el modelo inicial (simple) logra hacer una buena descripción de la variable dependiente (tiempo) agregar una la variable dicotómica configuración y la interacción entre carga y conf, nos da un poco más de información relevante para la descripción de las variaciones en el tiempo de carga. los resultados obtenidos arrojaron un modelo mucho más diciente permitió dar mejores interpretaciones y conocer más a fondo la dinámica entre este tipo de datos. Este modelo es un modelo bien comportado que cumple con la mayoría de los supuestos del Modelo clásico de regresión lineal.
También concluimos que:
En Cargas mas bajas el desempeño del los discos SDD es mejor en comparación con los HDD refiriéndonos a que los primeros tienen un tiempo de respuesta mas bajo, pero a cargas mas altas se invierte la situación y los discos HDD tienen un mejor desempeño.