Taller en Clase

Author

Joel Pucuna

Taller en clase

Se realizó la comprobación de los datos registrados en Excel con el objetivo de determinar si estos presentan un comportamiento paramétrico o no paramétrico. Para ello, se evaluó el supuesto de normalidad, lo que permitió seleccionar correctamente las pruebas estadísticas a aplicar en el análisis posterior.

Ejercicio uno

Una vez realizado un modelo de simulación con cuatro escenarios de producción (1 operador hasta 4 operadores),se registran las unidades producidas en 8h. Determinar si existe diferencia significativa entre los escenarios planteados.

library(readxl)
library(knitr)

datos <- read_excel("C:\\R_2025B_EST_INF\\MARKDOWN\\data_15.xlsx")

kable(summary(datos))
CORR PTERMINADO OPERADORES
Min. : 1.0 Min. :452.0 Length:400
1st Qu.:100.8 1st Qu.:637.5 Class :character
Median :200.5 Median :747.0 Mode :character
Mean :200.5 Mean :706.3 NA
3rd Qu.:300.2 3rd Qu.:813.0 NA
Max. :400.0 Max. :852.0 NA
boxplot(datos$PTERMINADO ~ datos$OPERADORES,
        col = c("lightblue", "lightgreen", "lightcoral", "khaki"))

Se evidencia que el operador 1T presenta los valores más bajos, con una mediana cercana a 500, además de una mayor dispersión relativa en comparación con otros operadores. El operador 2T muestra un incremento notable en los valores, con una mediana alrededor de 700 y una variabilidad moderada.

Por su parte, los operadores 3T y 4T registran los valores más altos de datos terminados. El operador 3T presenta una mediana cercana a 800 y una mayor dispersión, mientras que el operador 4T muestra una mediana ligeramente superior a 820, con una variabilidad menor, lo que indica mayor consistencia en su desempeño.

Verificacion de supuestos

1. NORMALIDAD

(se usa la funcion lillie.test)

library(nortest)
library(knitr)

data1 = datos[datos$OPERADORES %in% "1T", "PTERMINADO"]
test1 = lillie.test(data1$PTERMINADO)

data2 = datos[datos$OPERADORES %in% "2T", "PTERMINADO"] 
test2 = lillie.test(data2$PTERMINADO)

data3 = datos[datos$OPERADORES %in% "3T", "PTERMINADO"] 
test3 = lillie.test(data3$PTERMINADO)

data4 = datos[datos$OPERADORES %in% "4T", "PTERMINADO"]
test4 = lillie.test(data4$PTERMINADO)

resultados <- data.frame(
  Operador = c("1T", "2T", "3T", "4T"),
  D = c(test1$statistic, test2$statistic, test3$statistic, test4$statistic),
  P_valor = c(test1$p.value, test2$p.value, test3$p.value, test4$p.value)
)

kable(resultados, digits = 4)
Operador D P_valor
1T 0.0628 0.4292
2T 0.0514 0.7438
3T 0.0595 0.5177
4T 0.0706 0.2544

La normalidad de la variable PTERMINADO fue evaluada para cada nivel del factor OPERADORES (1T, 2T, 3T y 4T) mediante la prueba de Lilliefors, utilizando un nivel de significancia α. En todos los grupos analizados se obtuvieron valores p superiores a α, por lo que no se rechazó la hipótesis nula de normalidad. Estos resultados indican que la distribución de los datos en cada grupo no difiere significativamente de una distribución normal, cumpliéndose así el supuesto de normalidad requerido para la aplicación de métodos estadísticos paramétricos.

2. LINEALIDAD

ModeloLineal=lm(PTERMINADO~OPERADORES,data=datos)
standarized=rstudent(ModeloLineal)
qqnorm(standarized,
       col = "steelblue",
       pch = 19)
qqline(standarized, col = "darkred", lwd = 2, lty = 2)
abline(0,1)

El gráfico Q–Q normal de los residuos estudentizados del modelo lineal (PTERMINADO ~ OPERADORES) muestra una adecuada alineación de los cuantiles observados con los cuantiles teóricos de la distribución normal, lo que respalda el cumplimiento del supuesto de normalidad de los errores. Las leves desviaciones en los extremos no indican una violación significativa, confirmando la pertinencia del uso de métodos estadísticos paramétricos.

3. HOMOGENEIDAD

library(carData)
Warning: package 'carData' was built under R version 4.4.3
library(car)
Warning: package 'car' was built under R version 4.4.3
library(knitr)

resultado <- leveneTest(PTERMINADO~OPERADORES, data=datos)
Warning in leveneTest.default(y = y, group = group, ...): group coerced to
factor.
kable(resultado, digits = 4)
Df F value Pr(>F)
group 3 16.8599 0
396 NA NA

El análisis del supuesto de homogeneidad de varianzas. En primer lugar, se cargan las librerías carData y car, y se aplica la prueba de Levene (leveneTest) sobre la variable PTERMINADO en función del factor OPERADORES. Posteriormente, se documenta la interpretación del valor p en relación con el nivel de significancia (𝛼α), indicando que si 𝑝<𝛼p<α se rechaza la hipótesis nula de homogeneidad. Dado que el supuesto no se cumple, el código justifica el uso de una prueba no paramétrica de Kruskal–Wallis, especificando sus hipótesis:𝐻0 H0, no existen diferencias entre grupos, y 𝐻1H1, existen diferencias significativas entre ellos.

library(knitr)

resultado <- kruskal.test(PTERMINADO ~ OPERADORES, data=datos)

kable(data.frame(
  Estadistico = resultado$statistic,
  gl = resultado$parameter,
  P_valor = resultado$p.value
), digits = 4)
Estadistico gl P_valor
Kruskal-Wallis chi-squared 354.7757 3 0

4. HOMOCEDASTICIDAD

Pruebas de Breusch- Pagan

library(lmtest)
Warning: package 'lmtest' was built under R version 4.4.3
Cargando paquete requerido: zoo
Warning: package 'zoo' was built under R version 4.4.3

Adjuntando el paquete: 'zoo'
The following objects are masked from 'package:base':

    as.Date, as.Date.numeric
bptest(ModeloLineal)

    studentized Breusch-Pagan test

data:  ModeloLineal
BP = 41.507, df = 3, p-value = 5.106e-09
anova=aov(datos$PTERMINADO~datos$OPERADORES)
summary(anova)
                  Df  Sum Sq Mean Sq F value Pr(>F)    
datos$OPERADORES   3 6446579 2148860    7861 <2e-16 ***
Residuals        396  108247     273                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(TukeyHSD(anova),
     col = c("red", "blue", "darkgreen"),
     las = 1)

pairwise.t.test(datos$PTERMINADO,datos$OPERADORES,paired = FALSE,
                var.equal=TRUE,p.adjust.method = "bon")

    Pairwise comparisons using t tests with pooled SD 

data:  datos$PTERMINADO and datos$OPERADORES 

   1T     2T     3T    
2T <2e-16 -      -     
3T <2e-16 <2e-16 -     
4T <2e-16 <2e-16 <2e-16

P value adjustment method: bonferroni 

Ejercicio Dos

Una vez realizado un modelo de simulación con cuatro escenarios de producción (1 operador hasta 4 operadores),se registran las unidades producidas en 8h. Determinar si existe diferencia significativa entre los escenarios planteados.

library(readxl)
datos <- read_excel("C:\\R_2025B_EST_INF\\MARKDOWN\\data_15.4.xlsx")

VERIFICACION DE SUPUESTOS

1. NORMALIDAD

library(nortest)

data1=datos[datos$OPERADORES%in%"1T","PTERMINADO"] 
lillie.test(data1$PTERMINADO)

    Lilliefors (Kolmogorov-Smirnov) normality test

data:  data1$PTERMINADO
D = 0.054539, p-value = 0.6574
data2=datos[datos$OPERADORES%in%"2T","PTERMINADO"] 
lillie.test(data2$PTERMINADO)

    Lilliefors (Kolmogorov-Smirnov) normality test

data:  data2$PTERMINADO
D = 0.072634, p-value = 0.2178
data3=datos[datos$OPERADORES%in%"3T","PTERMINADO"] 
lillie.test(data3$PTERMINADO)

    Lilliefors (Kolmogorov-Smirnov) normality test

data:  data3$PTERMINADO
D = 0.048882, p-value = 0.8061
data4=datos[datos$OPERADORES%in%"4T","PTERMINADO"] 
lillie.test(data4$PTERMINADO)

    Lilliefors (Kolmogorov-Smirnov) normality test

data:  data4$PTERMINADO
D = 0.058951, p-value = 0.5337
resultados <- data.frame(
  Operador = c("1T", "2T", "3T", "4T"),
  D = c(test1$statistic, test2$statistic, test3$statistic, test4$statistic),
  P_valor = c(test1$p.value, test2$p.value, test3$p.value, test4$p.value)
)

kable(resultados, digits = 4)
Operador D P_valor
1T 0.0628 0.4292
2T 0.0514 0.7438
3T 0.0595 0.5177
4T 0.0706 0.2544

Para la evaluación del supuesto de normalidad, se emplea la librería nortest y se aplica la prueba de Lilliefors (lillie.test) sobre la variable PTERMINADO, considerando de manera separada cada nivel del factor OPERADORES (1T, 2T, 3T y 4T). Este procedimiento permite analizar la normalidad de la distribución dentro de cada grupo de forma independiente.

Finalmente, los resultados obtenidos se organizan en una estructura tipo data frame, con el objetivo de consolidar la información por operador, lo que facilita su interpretación, comparación entre grupos y posterior presentación de resultados.

2. LINEALIDAD

ModeloLineal=lm(PTERMINADO~OPERADORES,data=datos)
standarized=rstudent(ModeloLineal)
qqnorm(standarized,
       col = "steelblue",
       pch = 19)
qqline(standarized, col = "darkred", lwd = 2, lty = 2)
abline(0,1)

El gráfico corresponde a un Q–Q plot normal, donde se comparan los cuantiles muestrales con los cuantiles teóricos de una distribución normal estándar. La mayoría de los puntos se alinean estrechamente con la recta de referencia, lo que indica que los datos presentan un comportamiento aproximadamente normal. Las ligeras desviaciones observadas en los extremos sugieren pequeñas discrepancias en las colas, sin evidenciar una violación significativa del supuesto de normalidad.

3. HOMOGENEIDAD

library(carData)
library(car)
library(knitr)

resultado <- leveneTest(PTERMINADO~OPERADORES, data=datos)
Warning in leveneTest.default(y = y, group = group, ...): group coerced to
factor.
kable(resultado, digits = 4)
Df F value Pr(>F)
group 3 1.9276 0.1245
396 NA NA

El fragmento muestra la ejecución de la prueba de Levene para contrastar el supuesto de homocedasticidad de la variable PTERMINADO entre los niveles del factor OPERADORES. El estadístico obtenido es 𝐹=1.9276F=1.9276 con 3 grados de libertad en el numerador y 396 en el denominador, y un valor p = 0.1245.

Dado que 𝑝>𝛼=0.05p>α=0.05, no se rechaza la hipótesis nula de igualdad de varianzas, lo que indica que no existe evidencia estadísticamente significativa de heterocedasticidad entre los grupos. Por tanto, el supuesto de homogeneidad de varianzas se considera satisfecho para la aplicación de métodos paramétricos.

4. HOMOCEDASTICIDAD

library(lmtest)
bptest(ModeloLineal)

    studentized Breusch-Pagan test

data:  ModeloLineal
BP = 8.044, df = 3, p-value = 0.04511
anova=aov(datos$PTERMINADO~datos$OPERADORES)
summary(anova)
                  Df  Sum Sq Mean Sq F value Pr(>F)    
datos$OPERADORES   3 6035072 2011691    4659 <2e-16 ***
Residuals        396  170990     432                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(TukeyHSD(anova))

pairwise.t.test(datos$PTERMINADO,datos$OPERADORES,paired = FALSE,
                var.equal=TRUE,p.adjust.method = "bon")

    Pairwise comparisons using t tests with pooled SD 

data:  datos$PTERMINADO and datos$OPERADORES 

   1T     2T     3T  
2T <2e-16 -      -   
3T <2e-16 <2e-16 -   
4T <2e-16 <2e-16 0.03

P value adjustment method: bonferroni 

d = FALSE, var.equal=TRUE,p.adjust.method = “bon”)