1Considere las siguientes 80 mediciones de tiempo de ciclo de un proceso en días.Las especificaciones son EI=0 y ES=50, siendo en realidad ésta última la que preocupa

# Cargar los datos
data <- c(30, 12, 22, 9, 18, 8, 42, 2, 19, 26, 28, 15, 10, 13, 33, 13,
          13, 40, 8, 10, 14, 22, 27, 39, 12, 16, 16, 34, 13, 22, 13, 5,
          16, 30, 6, 20, 34, 17, 28, 10, 16, 23, 39, 8, 14, 8, 36, 10,
          38, 7, 43, 15, 15, 9, 33, 23, 15, 20, 20, 15, 11, 12, 13, 14,
          12, 19, 10, 23, 22, 25, 30, 9, 15, 19, 5, 34, 16, 8, 23, 21)

# 1. Histograma
hist(data, main="Histograma de los Tiempos de Ciclo", xlab="Días", col="skyblue", border="black")

# Cálculo de la media y desviación estándar
media <- mean(data)
desviacion <- sd(data)

# 2. Prueba de normalidad (Shapiro-Wilk)
shapiro_test <- shapiro.test(data)
shapiro_test
## 
##  Shapiro-Wilk normality test
## 
## data:  data
## W = 0.93453, p-value = 0.0004965
# Especificaciones del proceso
EI <- 0   # Especificación inferior
ES <- 50  # Especificación superior

# 1. Cálculo de Pp, Pi y Ps
Pp <- (ES - EI) / (6 * desviacion)
Pi <- Pp  # Pi es igual a Pp
Ps <- Pp  # Ps también es igual a Pp

# 2. Cálculo de Ppk
Ppk <- min((ES - media) / (3 * desviacion), (media - EI) / (3 * desviacion))

# Resultados
cat("Pp (sin Box-Cox):", Pp, "\n")
## Pp (sin Box-Cox): 0.8362821
cat("Pi (sin Box-Cox):", Pi, "\n")
## Pi (sin Box-Cox): 0.8362821
cat("Ps (sin Box-Cox):", Ps, "\n")
## Ps (sin Box-Cox): 0.8362821
cat("Ppk (sin Box-Cox):", Ppk, "\n")
## Ppk (sin Box-Cox): 0.6326474

#a)Dibuje un histograma y verifique si los datos cumplem el supuesto de normalidad .Aplique algunaprueba de normalidad utilizando un paquete estadistico..

#b)Haga el análisi de capacidad suponiendo normalidad. #c)Usando un paquete estaditico encuentre una distribución que se ajuste razonablemente a los datos.Luego estime losíndices Pp,Pi,Ps y Ppk con el metodo de Box-Cox. #d)Estime los índices del inciso anterior transformando previamente los datos a normalidadcon el metodo de Box-Cox. #e)Compare los resultado obtenodos .¿cuál será la mejor estimación?Argumente

#Análisis de capacidad del proceso

# Cálculos de la media y desviación estándar
media <- mean(data)
desviacion <- sd(data)

# Especificaciones del proceso
EI <- 0   # Especificación inferior
ES <- 50  # Especificación superior

# Calcular Cp y Cpk
Cp <- (ES - EI) / (6 * desviacion)
Cpk <- min((ES - media) / (3 * desviacion), (media - EI) / (3 * desviacion))

Cp
## [1] 0.8362821
Cpk
## [1] 0.6326474

Ajuste de distribuciones

library(fitdistrplus)
## Cargando paquete requerido: MASS
## Cargando paquete requerido: survival
# Ajustar distribuciones
fit_normal <- fitdist(data, "norm")
fit_exponential <- fitdist(data, "exp")
fit_lognormal <- fitdist(data, "lnorm")

# Comparar los ajustes visualmente
par(mfrow = c(1, 3))
plot(fit_normal)

plot(fit_exponential)

plot(fit_lognormal)

# Resumen de los ajustes
summary(fit_normal)
## Fitting of the distribution ' norm ' by maximum likelihood 
## Parameters : 
##       estimate Std. Error
## mean 18.912500  1.1071068
## sd    9.902265  0.7828427
## Loglikelihood:  -296.9362   AIC:  597.8723   BIC:  602.6364 
## Correlation matrix:
##      mean sd
## mean    1  0
## sd      0  1
summary(fit_exponential)
## Fitting of the distribution ' exp ' by maximum likelihood 
## Parameters : 
##        estimate  Std. Error
## rate 0.05287508 0.005909499
## Loglikelihood:  -315.1858   AIC:  632.3717   BIC:  634.7537
summary(fit_lognormal)
## Fitting of the distribution ' lnorm ' by maximum likelihood 
## Parameters : 
##          estimate Std. Error
## meanlog 2.7918848 0.06402015
## sdlog   0.5726137 0.04526846
## Loglikelihood:  -292.2623   AIC:  588.5247   BIC:  593.2888 
## Correlation matrix:
##         meanlog sdlog
## meanlog       1     0
## sdlog         0     1

Transformación Box-Cox

# Instalar y cargar el paquete necesario
install.packages("MASS")
## Warning: package 'MASS' is in use and will not be installed
library(MASS)

# Realizar la transformación Box-Cox
boxcox_trans <- boxcox(data ~ 1, lambda = seq(-2, 2, by = 0.1))  # Encontrar el lambda óptimo

lambda_optima <- boxcox_trans$x[which.max(boxcox_trans$y)]  # El valor de lambda óptimo
data_transformed <- (data^lambda_optima - 1) / lambda_optima  # Aplicar la transformación Box-Cox

# Cálculo de los índices de capacidad
media_transformed <- mean(data_transformed)
desviacion_transformed <- sd(data_transformed)

# Especificaciones del proceso
EI <- 0   # Especificación inferior
ES <- 50  # Especificación superior

# Calcular los índices de capacidad
Pp <- (ES - EI) / (6 * desviacion_transformed)
Ppk <- min((ES - media_transformed) / (3 * desviacion_transformed), 
           (media_transformed - EI) / (3 * desviacion_transformed))

# Para Pi y Ps, generalmente se usan los mismos cálculos de Pp y Ppk
Pi <- Pp  # Suponiendo que se use el mismo cálculo
Ps <- Pp  # Suponiendo que se use el mismo cálculo

# Resultados
cat("Pp (después de Box-Cox):", Pp, "\n")
## Pp (después de Box-Cox): 5.694922
cat("Ppk (después de Box-Cox):", Ppk, "\n")
## Ppk (después de Box-Cox): 1.099523
cat("Pi (después de Box-Cox):", Pi, "\n")
## Pi (después de Box-Cox): 5.694922
cat("Ps (después de Box-Cox):", Ps, "\n")
## Ps (después de Box-Cox): 5.694922

Comparación de los resultados obtenidos: Antes de la transformación Box-Cox (Valores calculados sin Box-Cox):

Pp = 0.836 Pi = 0.836 Ps = 0.836 Ppk = 0.633 Después de la transformación Box-Cox (Valores obtenidos después de Box-Cox):

Pp = 5.69 Pi = 5.69 Ps = 5.69 Ppk = 1.10 Interpretación de los resultados: Pp, Pi, Ps: Sin Box-Cox: El valor de Pp, Pi, y Ps es bajo (0.836), lo que indica que la capacidad de variabilidad del proceso no es óptima. Esto sugiere que el proceso tiene una dispersión significativa en relación con las especificaciones (el rango entre EI y ES). Con Box-Cox: Los valores de Pp, Pi, y Ps son mucho mayores (5.69), lo que indica una excelente capacidad de variabilidad. Esto sugiere que el proceso tiene una baja variabilidad respecto a las especificaciones, es decir, que el proceso tiene un control adecuado en términos de dispersión. Comparación de los resultados

e)Compare los resultado obtenodos .¿cuál será la mejor estimación?Argumente Sin Box-Cox: El valor de Pp, Pi, y Ps es bajo (0.836), lo que indica que la capacidad de variabilidad del proceso no es óptima. Esto sugiere que el proceso tiene una dispersión significativa en relación con las especificaciones (el rango entre EI y ES). Con Box-Cox: Los valores de Pp, Pi, y Ps son mucho mayores (5.69), lo que indica una excelente capacidad de variabilidad. Esto sugiere que el proceso tiene una baja variabilidad respecto a las especificaciones, es decir, que el proceso tiene un control adecuado en términos de dispersión. ara centrado: El valor de Ppk también mejora con la transformación Box-Cox, pasando de 0.633 a 1.10, lo que sugiere que el proceso se ha acercado más a los límites de especificación, pero aún no está perfectamente centrado (idealmente Ppk debería ser mayor a 1.33).

Conclusión:

La mejor estimación en cuanto a variabilidad es la obtenida después de aplicar Box-Cox, ya que muestra una mejora considerable en Pp, Pi, y Ps. La mejor estimación en cuanto a centrado también es la obtenida después de Box-Cox, aunque aún se podría trabajar para mejorar aún más el valor de Ppk.

# Cargar ggplot2
library(ggplot2)

# Especificaciones del proceso
EI <- 0   # Especificación inferior
ES <- 50  # Especificación superior

# Crear un dataframe con los datos
data_frame <- data.frame(valores = data)

# Graficar
ggplot(data_frame, aes(x = valores)) +
  geom_histogram(binwidth = 5, fill = "skyblue", color = "black", alpha = 0.7) + # Histograma
  geom_vline(xintercept = EI, color = "red", linetype = "dashed", size = 1) +    # Línea de EI
  geom_vline(xintercept = ES, color = "green", linetype = "dashed", size = 1) +  # Línea de ES
  labs(
    title = "Histograma de los Datos con Líneas de Especificaciones",
    x = "Valores",
    y = "Frecuencia"
  ) +
  annotate("text", x = EI + 2, y = 5, label = "EI", color = "red", angle = 90, vjust = -0.5) +  # Etiqueta EI
  annotate("text", x = ES - 2, y = 5, label = "ES", color = "green", angle = 90, vjust = -0.5) + # Etiqueta ES
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.