Cargamos las librerias necesarias
library(ggplot2)
library(carData)
library(car)
library(nortest)
library(normtest)
Observamos la composicion de la Base de Datos
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"
Transformamos La Vble Conf
DatosTaller$Conf<- factor(DatosTaller$Conf, labels= c("SDD", "HDD"))
Creacion de una nueva Base de Datos
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

Punto I

¿Existe una relacion entre el tiempo de respuesta y la carga de trabajo?

## `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)

Normalidad

Graficos de cuantiles
## [1] 7 1

## [1] 1 8

## [1] 12  1

## [1] 12  6

Pruebas Formales Sahpiro-Wilk

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

Sahpiro-Wilk
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.

Test de correlacion de Pearson

Disco duro estado solido
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
Disco duro mecanico
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.

Punto II

Estimamos un Primer Modelo

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.

Punto III

\(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.

Punto IV

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

Configuracion = HDD(1)

\(Tiempo=-1.37549+ 0.71979carga+ 2.26391 (1) + -0.35734carga (1) +error\)

\(E[Tiempo] = 0.88842 +0.36245carga\)

Configuracion = SDD(0)

\(Tiempo=-1.37549+ 0.71979carga+ 2.26391 (0) + -0.35734carga (0) +error\)

\(E[Tiempo]=-1.37549+ 0.71979carga\)

Punto V: Anova

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.

Punto 6:cumplimiento de los supuestos sobre el termino error.

Acercamiento Grafico

x11()
par(mfrow=c(2,2))
plot(modelo2)

Pruebas Formales

Media Cero
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.

Normalidad

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.

Varianza constante

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.

No autocorrelacion

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.

Punto 7: Conclusiones

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.