1. Planteamiento del problema

Un Data Scientist ha diseñado un modelo de analítica prescriptiva para reducir el tiempo de fallas de las máquinas de un proceso de elaboración de galletas. Luego de validar el modelo, se plantean tres alternativas de mejora que deben ser comparadas con el sistema de mantenimiento actual.

Se cuenta con 30 réplicas para cada una de las siguientes alternativas:

El objetivo es determinar si existen diferencias significativas entre las alternativas y, en caso de existir, identificar cuál debe implementarse.

Se trabajará con un nivel de significancia de 5%:

\[\alpha = 0.05\]

2. Datos

Los datos corresponden a las 30 réplicas entregadas en el enunciado.

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.60,
  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.60,
  21.11, 21.27, 21.03, 17.34, 22.80, 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.50, 16.80, 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.70, 17.57, 19.89,
  19.06, 18.70, 19.39, 19.68, 19.20, 16.85, 19.91, 19.82,
  18.08, 19.38, 20.30, 21.60, 23.39, 19.33
)

datos <- data.frame(
  Replica = 1:30,
  Arbol = arbol,
  Redes_Neuronales = redn,
  Regresion = regresion,
  Sistema_Actual = actual
)

knitr::kable(
  datos,
  digits = 2,
  caption = "Tiempos de falla para las 30 réplicas"
)
Tiempos de falla para las 30 réplicas
Replica Arbol Redes_Neuronales Regresion Sistema_Actual
1 23.81 23.24 16.13 17.09
2 22.13 20.08 17.84 15.77
3 22.64 18.01 18.28 18.45
4 21.69 23.28 15.61 16.55
5 23.58 19.23 17.62 22.23
6 22.14 21.22 16.12 22.11
7 18.73 21.47 17.29 18.26
8 21.59 20.60 16.13 18.04
9 20.36 21.11 16.64 19.66
10 20.53 21.27 15.03 19.76
11 20.11 21.03 18.16 18.74
12 20.34 17.34 16.82 19.02
13 19.19 22.80 17.44 18.54
14 22.92 21.85 16.76 16.70
15 18.65 17.85 17.26 17.57
16 20.60 23.15 15.55 19.89
17 19.83 19.57 17.49 19.06
18 20.09 19.56 18.42 18.70
19 19.43 20.79 17.54 19.39
20 22.06 18.04 17.13 19.68
21 21.15 20.95 15.50 19.20
22 19.26 21.83 16.80 16.85
23 18.08 18.17 18.47 19.91
24 20.24 22.66 18.42 19.82
25 18.75 18.29 18.43 18.08
26 20.69 18.89 15.56 19.38
27 21.62 19.49 16.03 20.30
28 23.69 19.19 15.39 21.60
29 23.93 26.47 15.12 23.39
30 23.19 25.25 17.77 19.33

3. Organización de los datos

Para realizar el análisis estadístico, se convierten los datos a formato largo.

datos_largos <- data.frame(
  Replica = rep(1:30, times = 4),
  Metodo = factor(
    rep(
      c("Arbol", "Redes neuronales", "Regresion", "Sistema actual"),
      each = 30
    )
  ),
  Tiempo = c(arbol, redn, regresion, actual)
)

head(datos_largos, 10)

4. Análisis descriptivo

Primero se calculan los principales estadísticos descriptivos para cada alternativa.

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
resumen <- datos_largos %>%
  group_by(Metodo) %>%
  summarise(
    n = n(),
    Media = mean(Tiempo),
    Desviacion_Estandar = sd(Tiempo),
    Minimo = min(Tiempo),
    Maximo = max(Tiempo)
  )

knitr::kable(
  resumen,
  digits = 4,
  caption = "Estadísticos descriptivos por método"
)
Estadísticos descriptivos por método
Metodo n Media Desviacion_Estandar Minimo Maximo
Arbol 30 21.0340 1.7056 18.08 23.93
Redes neuronales 30 20.7560 2.2243 17.34 26.47
Regresion 30 16.8917 1.1033 15.03 18.47
Sistema actual 30 19.1023 1.7296 15.77 23.39

Los promedios permiten realizar una primera comparación. Como el objetivo del estudio es reducir el tiempo de falla, un menor promedio representa un mejor desempeño.

5. Gráfico comparativo

boxplot(
  Tiempo ~ Metodo,
  data = datos_largos,
  main = "Comparación de los tiempos de falla",
  xlab = "Método",
  ylab = "Tiempo de falla",
  las = 2
)

El gráfico permite observar visualmente la distribución de los tiempos de falla para cada alternativa.

6. Planteamiento de hipótesis

Debido a que se tienen cuatro métodos y 30 réplicas para cada uno, se plantea un ANOVA de bloques, considerando la réplica como bloque.

Las hipótesis para comparar los métodos son:

Hipótesis nula:

\[ H_0: \mu_{Arbol} = \mu_{Redes} = \mu_{Regresion} = \mu_{Actual} \]

Es decir, no existen diferencias significativas entre los tiempos promedio de falla de los cuatro métodos.

Hipótesis alternativa:

\[ H_1: \text{al menos una de las medias es diferente} \]

El nivel de significancia es:

\[ \alpha = 0.05 \]

7. Modelo ANOVA de bloques

Se utiliza la réplica como bloque, ya que cada réplica permite comparar los cuatro métodos bajo una misma condición experimental.

modelo <- aov(Tiempo ~ Metodo + factor(Replica), data = datos_largos)

summary(modelo)
##                 Df Sum Sq Mean Sq F value  Pr(>F)    
## Metodo           3  326.4  108.81  36.867 1.8e-15 ***
## factor(Replica) 29   93.1    3.21   1.088   0.371    
## Residuals       87  256.8    2.95                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

8. Decisión estadística

Para la prueba del factor Método, se compara el valor p obtenido con el nivel de significancia:

Para obtener directamente el valor p:

anova_tabla <- summary(modelo)[[1]]

p_valor <- anova_tabla["Metodo", "Pr(>F)"]

p_valor
## [1] 1.800308e-15
if (p_valor < 0.05) {
  cat("Decisión: se rechaza H0.\n")
  cat("Existe evidencia estadísticamente significativa de diferencias entre los métodos.\n")
} else {
  cat("Decisión: no se rechaza H0.\n")
  cat("No existe evidencia estadísticamente significativa de diferencias entre los métodos.\n")
}
## Decisión: se rechaza H0.
## Existe evidencia estadísticamente significativa de diferencias entre los métodos.

9. Interpretación del ANOVA

El análisis ANOVA permite determinar si las diferencias observadas entre los promedios de los cuatro métodos pueden atribuirse al azar o si existe evidencia estadística de que el método utilizado afecta el tiempo de falla.

De acuerdo con el resultado del análisis, se obtiene un valor p inferior a 0.05. Por lo tanto, se rechaza la hipótesis nula al 5% de significancia.

Esto indica que existen diferencias estadísticamente significativas entre los métodos de mantenimiento evaluados.

Sin embargo, el ANOVA solamente indica que existe al menos una diferencia. Para determinar exactamente entre qué métodos se presentan las diferencias, se realiza una prueba de comparaciones múltiples.

10. Prueba de Tukey

Se utiliza la prueba de Tukey para identificar cuáles pares de métodos presentan diferencias significativas.

tukey <- TukeyHSD(modelo, "Metodo")

tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Tiempo ~ Metodo + factor(Replica), data = datos_largos)
## 
## $Metodo
##                                      diff       lwr        upr     p adj
## Redes neuronales-Arbol          -0.278000 -1.439874  0.8838742 0.9232087
## Regresion-Arbol                 -4.142333 -5.304208 -2.9804591 0.0000000
## Sistema actual-Arbol            -1.931667 -3.093541 -0.7697924 0.0002094
## Regresion-Redes neuronales      -3.864333 -5.026208 -2.7024591 0.0000000
## Sistema actual-Redes neuronales -1.653667 -2.815541 -0.4917924 0.0019136
## Sistema actual-Regresion         2.210667  1.048792  3.3725409 0.0000185

También se puede visualizar gráficamente:

plot(tukey)

11. Interpretación de la prueba de Tukey

La prueba de Tukey permite realizar comparaciones entre cada par de métodos.

En particular, se debe observar la comparación del método Regresión con:

Si el intervalo de confianza de la diferencia no contiene el cero, existe una diferencia estadísticamente significativa entre ambos métodos.

De acuerdo con los resultados obtenidos, el método de Regresión presenta un tiempo promedio de falla significativamente menor que las demás alternativas evaluadas.

12. Comparación de medias

medias <- aggregate(
  Tiempo ~ Metodo,
  data = datos_largos,
  FUN = mean
)

medias <- medias[order(medias$Tiempo), ]

knitr::kable(
  medias,
  digits = 4,
  caption = "Tiempo promedio de falla ordenado de menor a mayor"
)
Tiempo promedio de falla ordenado de menor a mayor
Metodo Tiempo
3 Regresion 16.8917
4 Sistema actual 19.1023
2 Redes neuronales 20.7560
1 Arbol 21.0340

El promedio de cada alternativa es aproximadamente:

Por lo tanto, la alternativa con menor tiempo promedio de falla es Métodos de regresión.

13. Conclusión

Considerando un nivel de significancia del 5%, el análisis ANOVA permite rechazar la hipótesis nula, por lo que existen diferencias estadísticamente significativas entre los cuatro métodos evaluados.

La comparación de medias muestra que el método de Regresión presenta el menor tiempo promedio de falla, aproximadamente 16.89, frente a 19.10 para el sistema actual, 20.76 para redes neuronales y 21.03 para árbol de clasificación.

Además, la prueba de Tukey permite identificar que el método de Regresión presenta diferencias significativas respecto de las demás alternativas.

Por lo tanto, se recomienda implementar la propuesta basada en Métodos de regresión, ya que es la alternativa que presenta el menor tiempo promedio de falla y, de acuerdo con el análisis estadístico realizado al 5% de significancia, su desempeño es significativamente mejor que las otras alternativas consideradas.

14. Respuesta final

La propuesta que debería implementarse es la de Métodos de regresión.

Esta decisión se sustenta en:

  1. El ANOVA muestra diferencias significativas entre los métodos al 5%.
  2. El método de Regresión tiene el menor tiempo promedio de falla.
  3. La prueba de Tukey confirma diferencias significativas entre Regresión y las demás alternativas.
  4. Por tanto, Regresión es la alternativa que mejor cumple el objetivo de reducir el tiempo de fallas de las máquinas.