if (!require(stests)) {
  install.packages("devtools")   # solo si tampoco está instalado
  devtools::install_github("fhernanb/stests")
}

if (!require(nortest)) {
  install.packages("nortest")   # se baja desde CRAN
  library(nortest)
} else {
  library(nortest)
}
library(stests)
library(stats)
library(nortest)

1 24.4 Prueba de hipótesis para la varianza \(σ^2\) de una población normal

Para realizar este tipo de prueba se usa la función var.test del paquete stests.
La función var.test tiene la siguiente estructura:

stests::var.test(
  x,
  alternative = "two.sided",
  null.value  = 1,
  conf.level  = 0.95
)

Ejemplo

Para verificar si el proceso de llenado de bolsas de café está operando con la variabilidad permitida se toman aleatoriamente muestras de tamaño diez cada cuatro horas. Una muestra de bolsas está compuesta por las siguientes observaciones: 502, 501, 497, 491, 496, 501, 502, 500, 489, 490. El proceso de llenado está bajo control si presenta una varianza de 40 o menos. ¿Está el proceso llenando bolsas conforme lo dice la envoltura? Use un nivel de significancia del 5%.

Solución

En un ejemplo anterior se comprobó que la muestra proviene de una población normal así que se puede proceder con la prueba de hipótesis sobre \(σ^2\).

En este ejemplo nos interesa estudiar el siguiente conjunto de hipótesis:

\[ \small H_0: \sigma^2 \le 40\\ \small H_1: \sigma^2 > 40 \]

contenido <- c(510, 492, 494, 498, 492,
               496, 502, 491, 507, 496)

stests::var.test(x=contenido, alternative='greater',
                 null.value=40, conf.level=0.95)
## 
##  X-squared test for variance
## 
## data:  contenido
## X-squared = 9.64, df = 9, p-value = 0.3804
## alternative hypothesis: true variance is greater than 40
## 95 percent confidence interval:
##    0.000 115.966
## sample estimates:
## variance of x 
##      42.84444

2 24.5 Prueba de hipótesis para el cociente de varianzas

El parámetro de interés es:

\[ \frac{\sigma_1^2}{\sigma_2^2} \]

Ejemplo

Se realiza un estudio para comparar los tratamientos:

La variable respuesta es el tiempo de cocción (min).
¿Son las varianzas iguales? Usar \[\alpha = 0.05.\]

T1: 76, 85, 74, 78, 82, 75, 82
T2: 57, 67, 55, 64, 61, 63, 63

2.0.1 Solución

Las hipótesis son:

\[ H_0:\ \frac{\sigma_{T1}^2}{\sigma_{T2}^2} = 1 \]

\[ H_1:\ \frac{\sigma_{T1}^2}{\sigma_{T2}^2} \neq 1 \]

Ingreso de datos

T1 <- c(76, 85, 74, 78, 82, 75, 82)
T2 <- c(57, 67, 55, 64, 61, 63, 63)
require(nortest)  # Se debe tener instalado
lillie.test(T1)$p.value
## [1] 0.520505
stats::var.test(x=T1, y=T2, null.value=1, 
                alternative="two.sided",
                conf.level=0.95)
## 
##  F test to compare two variances
## 
## data:  T1 and T2
## F = 1.011, num df = 6, denom df = 6, p-value = 0.9897
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  0.1737219 5.8838861
## sample estimates:
## ratio of variances 
##           1.011019

Ejemplo 2 El arsénico en agua potable es un posible riesgo para la salud. Un artículo reportó concentraciones de arsénico en agua potable (ppb) para diez comunidades urbanas y diez comunidades rurales.

Urbana: 3, 7, 25, 10, 15, 6, 12, 25, 15, 7

Rural: 48, 44, 40, 38, 33, 21, 20, 12, 1, 18

¿Son las varianzas de las concentraciones iguales o diferentes? Usar \[\alpha = 0.05.\]

En este problema interesa probar:

\[ H_0:\ \frac{\sigma_{\text{Urb}}^2}{\sigma_{\text{Rur}}^2} = 1 \]

\[ H_1:\ \frac{\sigma_{\text{Urb}}^2}{\sigma_{\text{Rur}}^2} \neq 1 \]

Ingreso de los datos

urb <- c(3, 7, 25, 10, 15, 6, 12, 25, 15, 7)
rur <- c(48, 44, 40, 38, 33, 21, 20, 12, 1, 18)
require(nortest)  # Se debe tener instalado
lillie.test(urb)$p.value
## [1] 0.5522105
lillie.test(rur)$p.value
## [1] 0.6249628
stests::var.test(x=urb, y=rur, null.value=1, 
                 alternative="two.sided",
                 conf.level=0.95)
## 
##  F test to compare two variances
## 
## data:  urb  and  rur
## F = 0.24735, num df = 9, denom df = 9, p-value = 0.04936
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  0.06143758 0.99581888
## sample estimates:
## ratio of variances 
##          0.2473473

3 24.6 Prueba de hipótesis para la diferencia de medias \(\mu_1 - \mu_2\) con varianzas iguales

Para comparar las medias de dos grupos independientes bajo el supuesto de que las varianzas poblacionales son desconocidas pero iguales, se utiliza la función t.test.

La estructura general de la función es:

t.test(x, y = NULL,
       alternative = c("two.sided", "less", "greater"),
       mu = 0, paired = FALSE, var.equal = FALSE,
       conf.level = 0.95)

3.1 Parámetros principales

  • x: vector numérico correspondiente a la muestra 1
  • y: vector numérico correspondiente a la muestra 2
  • alternative: tipo de hipótesis alterna ("two.sided", "less", "greater")
  • mu: valor teórico bajo \(H_0\)
  • paired: indica si las muestras son dependientes (TRUE) o independientes (FALSE)
  • var.equal = TRUE: asume varianzas iguales
  • conf.level: nivel de confianza del intervalo (por defecto 95%)

Ejemplo

Se quiere determinar si existe diferencia significativa entre los tiempos de cocción de fríjoles tratados con T1 y T2 al 5% de significancia.

Se crea primero un gráfico tipo boxplot:

datos <- data.frame(tiempo = c(T1, T2),
                    trat   = rep(1:2, each = 7))

boxplot(tiempo ~ trat, data = datos, las = 1,
        xlab = "Tratamiento", ylab = "Tiempo (min)")

El diagrama sugiere diferencias visibles entre ambos tratamientos, donde el tratamiento T1 presenta tiempos mayores.

Se plantean las hipótesis:

\[ H_0 : \mu_1 - \mu_2 = 0 \]

\[ H_1 : \mu_1 - \mu_2 \neq 0 \]

t.test(x = T1, y = T2,
       alternative = "two.sided", mu = 0,
       paired = FALSE, var.equal = TRUE,
       conf.level = 0.97)

3.1.1 Interpretación

El valor p = 4.737e-06 es significativamente menor al nivel de significancia (0.05), por lo que se rechaza la hipótesis nula.
Se concluye que existe diferencia estadísticamente significativa entre los tiempos promedio de cocción.

Si el objetivo es minimizar el tiempo, el tratamiento recomendado es T2.

3.2 24.7 Prueba de hipótesis para la diferencia de medias \(\mu_1 - \mu_2\) (varianzas diferentes)

Ejemplo Retomando el ejemplo de la concentración de arsénico en el agua, ¿existen diferencias entre las concentraciones de arsénico de la zona urbana y rural? Usar un nivel de significancia del 5%.

Primero se construirá un boxplot comparativo para las concentraciones de arsénico diferenciando por la zona donde se tomaron las muestras. Abajo el código para obtener el boxplot. De esta figura se observa si las cajas del boxplot se traslapan o no; esto da un indicio de si las medias poblacionales, \(\mu_1\) y \(\mu_2\), son diferentes.

datos <- data.frame(Concentracion=c(urb, rur),
                    Zona=rep(c('Urbana', 'Rural'), each=10))
boxplot(Concentracion ~ Zona, data=datos, las=1,
        xlab='Zona', ylab='Concentración arsénico (ppb)')

\[ H_0 : \mu_1 - \mu_2 = 0 \]

\[ H_1 : \mu_1 - \mu_2 \neq 0 \]

t.test(x=urb, y=rur, alternative="two.sided", mu=0, 
       paired=FALSE, var.equal=FALSE, conf.level=0.95)
## 
##  Welch Two Sample t-test
## 
## data:  urb and rur
## t = -2.7669, df = 13.196, p-value = 0.01583
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -26.694067  -3.305933
## sample estimates:
## mean of x mean of y 
##      12.5      27.5

De la prueba se obtiene un valor-P pequeño, por lo tanto, podemos concluir que si hay diferencias significativas entre las concentraciones de arsénico del agua entre las dos zonas. La zona que presenta mayor concentración media de arsénico en el agua es la rural.

4 24.8 Prueba de hipótesis para la diferencia de proporciones \(p_1 - p_2\)

Para comparar proporciones entre dos poblaciones independientes se emplea la función prop.test.

Ejemplo

Se quiere comparar la proporción de piezas defectuosas antes y después de implementar un nuevo método de fabricación.

Grupo Defectuosas Analizadas
Antes 75 1500
Después 80 2000

Nivel de significancia: 10%

Se plantean las hipótesis:

\[ H_0 : p_{\text{antes}} - p_{\text{después}} = 0 \]

\[ H_1 : p_{\text{antes}} - p_{\text{después}} > 0 \]

prop.test(x = c(75, 80), n = c(1500, 2000),
          alternative = "greater", conf.level = 0.90)

4.0.1 Interpretación

El p-valor es 0.09011, valor ligeramente mayor al nivel de significancia (0.10), por lo que no se rechaza \(H_0\).
Con los datos disponibles no existe evidencia estadística suficiente para afirmar que la proporción de defectuosos disminuyó con el nuevo método.