La base de datos se ingresa manualmente a partir de los resultados del modelo de mantenimiento actual y los 3 modelos propuestos
arbol <-c(23.81, 22.13, 22.64, 21.69, 23.58, 22.14, 18.73, 21.59,
20.36, 20.53, 20.11, 20.34, 19.19, 22.92, 18.65, 20.6,
19.83, 20.09, 19.43, 22.06, 21.15, 19.26, 18.08, 20.24,
18.75, 20.69, 21.62, 23.69, 23.93, 23.19)
redn <-c(23.24, 20.08, 18.01, 23.28, 19.23, 21.22, 21.47, 20.6,
21.11, 21.27, 21.03, 17.34, 22.8, 21.85, 17.85, 23.15,
19.57, 19.56, 20.79, 18.04, 20.95, 21.83, 18.17, 22.66,
18.29, 18.89, 19.49, 19.19, 26.47, 25.25)
regresion <-c(16.13, 17.84, 18.28, 15.61, 17.62, 16.12, 17.29, 16.13,
16.64, 15.03, 18.16, 16.82, 17.44, 16.76, 17.26, 15.55,
17.49, 18.42, 17.54, 17.13, 15.5, 16.8, 18.47, 18.42,
18.43, 15.56, 16.03, 15.39, 15.12, 17.77)
actual <-c(17.09, 15.77, 18.45, 16.55, 22.23, 22.11, 18.26, 18.04,
19.66, 19.76, 18.74, 19.02, 18.54, 16.7, 17.57, 19.89,
19.06, 18.7, 19.39, 19.68, 19.2, 16.85, 19.91, 19.82, 18.08,
19.38, 20.3, 21.6, 23.39, 19.33)
data2 <- data.frame(ÁrbolC =arbol, Red_N = redn, Regresion = regresion, SActual = actual)
La base de datos generada describe el comportamiento de 4 atributos y de 30 registros.
dim(data2)
## [1] 30 4
A continuación se definen las principales medidas estadísticas
summary(data2)
## ÁrbolC Red_N Regresion SActual
## Min. :18.08 Min. :17.34 Min. :15.03 Min. :15.77
## 1st Qu.:19.89 1st Qu.:19.20 1st Qu.:16.05 1st Qu.:18.12
## Median :20.64 Median :20.87 Median :16.98 Median :19.13
## Mean :21.03 Mean :20.76 Mean :16.89 Mean :19.10
## 3rd Qu.:22.14 3rd Qu.:21.84 3rd Qu.:17.73 3rd Qu.:19.80
## Max. :23.93 Max. :26.47 Max. :18.47 Max. :23.39
A continuacion se realiza una funcion para poder evaluar visualmente los resultados obtenidos en cada modelo, todas en formato de gráfico de histograma
data2_BDN <- NULL
data2_BDC <- NULL
dimension <-dim(data2)
par(mfrow=c(2,dimension[2]/2))
#############################################################################
###################### exploracion de los datos #############################
library(qcc)
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.
for(j in 1:dimension[2]) {
texto <- paste('Modelo ',colnames(data2)[j])
hist(data2[,j],col=j,main = texto)
}
A continuacion se genera un vector “media” en el cual se almacenerá la media de cada modelo, y posteriormente se asignará a un dataframe para su posterior uso
medias <- apply(data2,2,mean)
medias
## ÁrbolC Red_N Regresion SActual
## 21.03400 20.75600 16.89167 19.10233
Con la finalidad de realizar comparaciones de los valores “reales” de las medias de cada modelo, aplicaremos el cálculo de los intervalos de confianza con un nivel de significancia del 5%
Para eso usaremos la siguiente fórmula (IC) = ‾X ± Z(S ÷ √n)
n <- nrow(data2) #número de registros
int_Sig <- 0.05 #intervalo de significancia
#Para el cálculo de la desviación estándar usaremos la muestral, ya que los 30 registros solo una muestra de todo el proceso, no la población completa de todos los escenarios posibles
#Usaremos la función "apply" para mantener los nombres de las columnas (modelos)
desviaciones_estandar <- apply(data2,2,sd)
desviaciones_estandar
## ÁrbolC Red_N Regresion SActual
## 1.705609 2.224344 1.103312 1.729648
# Calculo del error estándar dividiendo la desviación estándar por la raíz cuadrada del tamaño de la muestra
error_estandar <- desviaciones_estandar/sqrt(n)
error_estandar
## ÁrbolC Red_N Regresion SActual
## 0.3114001 0.4061079 0.2014363 0.3157890
#Ya que la muestra es pequeña (30 registros en cada una de las 4 columnas), usaremos la variable de T student
#Para eso aplicaremos la siguiente formula t= qt(1−a/2,df=n−1), siendo "a" el nivel de significancia y "df" los grados de libertad (igual al tamaño de la muestra - 1)
t_student <- qt(1-int_Sig/2,df=n-1)
t_student
## [1] 2.04523
#Ahora hagamos el cálculo de los intervalos de confianza, el cuál nos dará los límites inferiores y superiores
intervalo_confianza <- cbind(medias-t_student*error_estandar,medias+t_student*error_estandar)
print(intervalo_confianza)
## [,1] [,2]
## ÁrbolC 20.39712 21.67088
## Red_N 19.92542 21.58658
## Regresion 16.47968 17.30365
## SActual 18.45647 19.74819
#-----------------------------------------------------------------------------------------------------------------
### COMENTARIO:LOS INTERVALOS DE CONFIANZA NO SE SOBREPONEN LOS UNOS CON LOS OTROS, POR LO QUE NO ES SUFICIENTE INFORMACIÓN PARA DECIDIRNOS POR UN MODELO, AHORA USEMOS EL T-TEST PARA COMPARAR LAS MEDIAS DE CADA MODELO
#-----------------------------------------------------------------------------------------------------------------
Con la finalidad de realizar comparaciones de las medias de los tiempos de los modelos, usemos el T-TEST para compararlos.
#Generemos una matriz para comparar los T.TEST de cada modelo
matrizT_Test <- matrix("NO APLICA",nrow = 4,ncol = 4)
colnames(matrizT_Test) <- c("Arbol","Redn","Regresion","Actual")
rownames(matrizT_Test) <- colnames(matrizT_Test)
#Compararemos uno a uno,siempre y cuando no sea el mismo
for (i in 1:4) {
for (j in 1:4) {
if (i != j) {
modelo1 <- switch(i,arbol,redn,regresion,actual)
modelo2 <- switch(j,arbol,redn,regresion,actual)
#Realizar el T-TEST
t_test_result <- t.test(modelo1,modelo2)
#Almacenar el p-value del T-TEST en la matriz para su comparación
matrizT_Test[i,j] <- t_test_result$p.value
}
}
}
# Imprimir los valores p
print(matrizT_Test)
## Arbol Redn Regresion
## Arbol "NO APLICA" "0.58919416000587" "3.76403458686842e-15"
## Redn "0.58919416000587" "NO APLICA" "9.62454743615969e-11"
## Regresion "3.76403458686842e-15" "9.62454743615969e-11" "NO APLICA"
## Actual "5.47898258970088e-05" "0.00219400154831336" "3.26018839020562e-07"
## Actual
## Arbol "5.47898258970088e-05"
## Redn "0.00219400154831336"
## Regresion "3.26018839020562e-07"
## Actual "NO APLICA"
Tomando en cuenta el nivel de significancia del 5% y como hipotesis nula (H0): “No hay diferencia significativa entre los tiempos de falla de las máquinas para los diferentes modelos”, siendo el valor <5% aquellos que rechazan H0
Según la matriz construida a partir de los valores T-TEST, el modelo de REGRESIÓN rechaza esta hipótesis nula, es decir, que está sí tiene diferencia significativa con los otros modelos, y al ser este el de menor media, MODELO DE REGRESIÓN sería la mejor opción.