Este documento presenta un caso de estudio para ejemplificar como se realiza e interpreta una prueba de hipótesis estadística, utilizando R como lenguaje de análisis de los datos. Se asume que existe un conocimiento previo de estadística básica.
Una empresa produce bolsas de té por medio de un proceso automatizado por medio del cual se preparan las hojas de té y se embolsan; la empresa labora en dos turnos (matutino y vespertino) y posee 4 máquinas (A, B, C y D).
Todos los días, como parte del control de calidad de la empresa, se toma una muestra aleatoria de 150 bolsas de té, se pesan y se registra el turno y la máquina que le corresponde. Con estos datos, se realiza un análisis para determinar que el proceso esté embolsando acorde a las especificaciones establecidas, es decir, 5.5 gramos de té en promedio por bolsa.
Descarga el archivo de datos aquí
Se procede al análisis de los datos recabados, haciendo los pasos necesarios para clasificar correctamente las variables de interés en función de su tipo de datos y su nivel de medición.
# Se leen los datos del archivo y se cargan en un data frame
muestra <- read.csv(file='teabags.csv')
str(muestra)
## 'data.frame': 150 obs. of 3 variables:
## $ peso : num 5.25 5.29 5.32 5.32 5.34 5.36 5.4 5.4 5.4 5.41 ...
## $ turno : int 1 2 1 2 1 2 1 2 1 2 ...
## $ maquina: int 1 2 3 4 1 2 3 4 1 2 ...
Los datos del turno y de la máquina se capturaron codificados, por lo tanto, R los carga y clasifica como variables de tipo cuantitativo, cuando en realidad son de tipo cualitativo. Se realizan los pasos necesarios para convertir estas variables a factores en R.
Codificación del turno: (1) Matutino, (2) Vespertino.
Codificación de la máquina: (1) Máquina A, (2) Máquina B, (3) Máquina C, (4) Máquina D.
# Se hace la preparación y limpieza necesaria acorde a los tipos de variable y niveles de medición
muestra$turno = factor(muestra$turno, labels=c('matutino','vespertino'))
muestra$maquina = factor(muestra$maquina, labels=c('A','B','C','D'))
str(muestra)
## 'data.frame': 150 obs. of 3 variables:
## $ peso : num 5.25 5.29 5.32 5.32 5.34 5.36 5.4 5.4 5.4 5.41 ...
## $ turno : Factor w/ 2 levels "matutino","vespertino": 1 2 1 2 1 2 1 2 1 2 ...
## $ maquina: Factor w/ 4 levels "A","B","C","D": 1 2 3 4 1 2 3 4 1 2 ...
# Se despliega las primeras 6 observaciones
head(muestra)
summary(muestra)
## peso turno maquina
## Min. :5.250 matutino :75 A:38
## 1st Qu.:5.440 vespertino:75 B:38
## Median :5.515 C:37
## Mean :5.501 D:37
## 3rd Qu.:5.570
## Max. :5.770
Vemos que no hay datos faltantes, por lo tanto, los datos están listos para ser analizados.
Este tipo de prueba se realiza cuando la creencia acerca del fenómeno estudiado involucra una sola característica, pero dicha característica puede analizarse considerando una segunda característica que permita identificar 2 subgrupos de manera que las dos submuestras pertenecen al mismo fenómeno en particular.
La verdad asumida se representa como una igualdad de medias, considerando que, si ambas submuestras pertenecen al mismo fenómeno, sus medias aritméticas serán la misma. Esto se representa con la hipótesis nula (Ho) y se escribe:
Ho: \(\mu\)1 = \(\mu\)2
La hipótesis alterna (Ha) establece que sí son diferentes las medias aritméticas y se escribe:
Ha: \(\mu\)1 \(\neq\) \(\mu\)2
Esta prueba se denomina de 2 colas, porque la diferencia entre las medias poblacionales puede ser porque la primera sea mayor que la segunda (cola 1) o que la primera sea menor que la segunda (cola 2).
Este tipo de prueba tiene 4 supuestos que deben cumplirse para que considerar que es válido aplicarla:
Se supone que todo el proceso cumple con las especificaciones de embolsado sin importar en que turno se produjeron las bolsas de té, por lo tanto, se desea determinar que ambos turnos son iguales, es decir, producen bolsas de té con las mismas características.
La variable peso es cuantitativa continua y de nivel de razón (se cumple el supuesto 1), dadas las características del proceso automatizado se puede asumir que la cantidad de té de una bolsa es independiente de las demás bolsas (se cumple el supuesto 2).
Se analizará entonces la variable peso en función de cada turno, obteniendo el análisis estadístico descriptivo de la primera en función de la segunda.
# Es necesaria la librería moments
library(moments)
# Se analizan submuestras por turno.
muestra.matutina <- muestra[muestra$turno == 'matutino',]
summary(muestra.matutina$peso)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.250 5.440 5.510 5.496 5.570 5.670
sd(muestra.matutina$peso)
## [1] 0.1028597
skewness(muestra.matutina$peso)
## [1] -0.4809904
kurtosis(muestra.matutina$peso)-3
## [1] -0.2514623
muestra.vespertina <- muestra[muestra$turno == 'vespertino',]
summary(muestra.vespertina$peso)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.290 5.440 5.520 5.506 5.570 5.770
sd(muestra.vespertina$peso)
## [1] 0.1077866
skewness(muestra.vespertina$peso)
## [1] 0.1283858
kurtosis(muestra.vespertina$peso)-3
## [1] 0.08906747
Se aprecia que la asimetría y la curtosis son cercanas a cero y dentro del rango aceptable (-3 a +3), por lo que no hay evidencia para suponer que la media aritmética no sea confiable como valor representativo (supuesto 3).
Nota: La función de curtosis de la librería moments usa la fórmula de Pearson, sin embargo, para este documento, se usa el exceso de curtosis (se le resta 3) para usar la misma referencia que el coeficiente de asimetría.
# Es necesaria la librería ggplot2
library(ggplot2)
# Se realiza la gráfica
ggplot(muestra) +
geom_histogram(aes(x=peso,y=..density..),
breaks = seq(5.3,5.7,by=0.05),
colour='black',
fill='green') +
stat_function(fun=dnorm, args=list(mean=mean(muestra$peso), sd=sd(muestra$peso)),
colour = 'blue', lwd = 1) +
geom_vline(xintercept = mean(muestra$peso),
linetype = 'dotted') +
scale_y_continuous('Densidad') +
facet_wrap(~turno)
El histograma nos indica que es válido suponer que los datos de la muestra tienen un comportamiento normal (supuesto 3), nótese que las barras del histograma siguen la forma de la distribución ideal (línea azul).
ggplot(muestra) +
geom_boxplot(aes(y=peso), fill='green') +
coord_flip() +
theme(axis.text.y=element_blank()) +
facet_wrap(~turno)
La gráfica de caja y bigotes muestra que no hay valores atípicos de importancia (supuesto 4).
El supuesto es que la producción de ambos turnos es la misma, lo que significa que las medias aritméticas de todas las bolsas de té por cada turno (las poblaciones) son iguales. Planteamos esto en términos de hipótesis estadísticas.
Ho: \(\mu\)1 = \(\mu\)2
Ha: \(\mu\)1 \(\neq\) \(\mu\)2
Se decide usar 95% como nivel de confianza de la prueba, lo que implica 5% de nivel de significancia. Nota: En los estudios de las ciencias sociales, es común utilizar 95% como nivel de confianza.
Nivel de confianza: 1 - \(\alpha\) = 0.95
Nivel de significancia: \(\alpha\) = 0.05
Se analizan los valores de la muestra y se realiza la prueba de hipótesis de una muestra de dos colas.
equal.variances = !(bartlett.test(peso ~ turno, data = muestra)$p.value < 0.05)
model <- t.test(peso ~ turno, data = muestra, var.equal = equal.variances, alternative = "two.sided", conf.level=0.95)
model
##
## Two Sample t-test
##
## data: peso by turno
## t = -0.58126, df = 148, p-value = 0.5619
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.04399701 0.02399701
## sample estimates:
## mean in group matutino mean in group vespertino
## 5.4964 5.5064
El intervalo de confianza correspondiente a esta prueba es:
model$conf.int
## [1] -0.04399701 0.02399701
## attr(,"conf.level")
## [1] 0.95
Y el valor-p correspondiente es:
model$p.value
## [1] 0.5619469
El criterio del valor p establece que el valor p obtenido es menor que la significancia establecida, la hipótesis nula se rechaza; en caso contrario se sigue aceptando como válida la hipótesis nula.
| Resultado | Interpretación |
|---|---|
| p-value < \(\alpha\) | Ho se rechaza |
| p-value >= \(\alpha\) | Ho se sigue aceptando como válida |
Para este problema, el nivel de significancia se estableció en 5% o 0.05, por lo que haciendo la comparación:
model$p.value < 0.05
## [1] FALSE
La conclusión es que se sigue aceptando la hipótesis nula, lo que significa en el contexto del problema: ambos turnos se comportan igual o el turno no afecta el peso promedio de las bolsas de té.
[EOF]