Code
tiempos <- c(
48,55,60,52,50,47,58,53,56,49,51,62,54,57,50,46,59,55,52,
48,51,58,60,53,47,49,50,54,56,52,57,48,59,55,51,53,50,46,60,58
)
length(tiempos) # comprobamos que n = 40[1] 40
Una empresa afirma que el tiempo medio de ensamblaje de una pieza es de 50 minutos.Estudios previos establecen que la desviación típica poblacional es conocida y vale \(\sigma = 8\) minutos. Se toma una muestra aleatoria de \(n = 40\) trabajadores con los tiempos:
48,55,60,52,50,47,58,53,56,49,51,62,54,57,50,46,59,55,52, 48,51,58,60,53,47,49,50,54,56,52,57,48,59,55,51,53,50,46,60,58
Se desea contrastar, con \(\alpha= 0.05\), si el tiempo medio difiere del declarado (50 minutos). (Nota: Al tratarse de una varianza poblacional conocida, debe utilizarse la prueba z para la media mediante la función z.test del paquete BSDA)
tiempos <- c(
48,55,60,52,50,47,58,53,56,49,51,62,54,57,50,46,59,55,52,
48,51,58,60,53,47,49,50,54,56,52,57,48,59,55,51,53,50,46,60,58
)
length(tiempos) # comprobamos que n = 40[1] 40
1. Formulación de hipótesis
Queremos contrastar si el tiempo medio difiere del valor declarado de 50 minutos:
\(H_0 : \mu = 50\)
\(H_1 : \mu \neq 50\)
Se trata de un contraste bilateral con nivel de significación \(\alpha = 0.05\).
2. Estadístico de contraste
Como la desviación típica poblacional es conocida \(\sigma = 8\), se utiliza un contraste z:
\[ Z_{exp} = \frac{\bar X - \mu_0}{\sigma / \sqrt{n}} \] Cálculo manual con R
sigma <- 8
mu0 <-50
n <- length(tiempos)
media_muestral <- mean(tiempos)
error_estandar <- sigma / sqrt(n)
z_exp <- (media_muestral - mu0) / error_estandar
media_muestral[1] 53.225
z_exp[1] 2.549586
3. Regla de decisión
Para un contraste bilateral con \(\alpha = 0.05\):
\[ z_{0.025} = 1.96 \]
Regla de decisión:
Solución con función z.test
if (!require(BSDA)) {
install.packages("BSDA")
library(BSDA)
}
z.test(
tiempos,
mu = 50,
sigma.x = 8,
alternative = "two.sided",
conf.level = 0.95
)
One-sample z-Test
data: tiempos
z = 2.5496, p-value = 0.01079
alternative hypothesis: true mean is not equal to 50
95 percent confidence interval:
50.74582 55.70418
sample estimates:
mean of x
53.225
p-valor del contraste manual con R
pvalor <- 2 * (1 - pnorm(abs(z_exp)))
pvalor[1] 0.01078508
Como \(Z_{exp}\)>1.96 y el p-valor es menor que 0.05,
p-value = 0.01079
rechazamos la hipótesis nula. Para un nivel de significación del 5%, existe evidencia estadística suficiente para concluir que la media difiere de 50 minutos.
Una empresa quiere comprobar si el tiempo medio de respuesta de su servicio técnico es de 30 minutos. Se toma una muestra aleatoria de n = 15 tiempos de respuesta (minutos):
28, 35, 32, 30, 27, 29, 33, 31, 36, 34, 29, 28, 32, 30, 31
Se desea contrastar con \(\alpha=0.05\) si el tiempo medio es menor que el declarado por la empresa (30 min).
# Datos de la muestra del servicio técnico
tiempos <- c(
28, 35, 32, 30, 27, 29, 33, 31, 36, 34, 29, 28, 32, 30, 31
)
length(tiempos) # comprobamos que n = 15[1] 15
1. Formulación de hipótesis
Queremos contrastar si el tiempo medio de respuesta es menor que el valor declarado por la empresa (30 minutos). Por tanto:
\(H_0 : \mu = 30\)
\(H_1 : \mu < 30\)
Se trata de un contraste unilateral a la izquierda con nivel de significación \(\alpha = 0.05\).
2. Estadístico de contraste
Como la desviación típica poblacional es desconocida, utilizamos un contraste t de Student:
\[ T_{exp} = \frac{\bar X - \mu_0}{S / \sqrt{n}} \]
Cálculo manual con R:
tiempos <- c(
28, 35, 32, 30, 27, 29, 33, 31, 36, 34, 29, 28, 32, 30, 31
)
mu0 <- 30
n <- length(tiempos)
media_muestral <- mean(tiempos)
s_muestral <- sd(tiempos)*sqrt((n-1)/n)
error_estandar <- s_muestral / sqrt(n-1)
t_exp <- (media_muestral - mu0) / error_estandar
media_muestral[1] 31
s_muestral[1] 2.581989
t_exp[1] 1.449138
3. Regla de decisión
Para un contraste unilateral a la izquierda con \(\alpha = 0.05\) y
grados de libertad \(gl = n - 1 = 14\):
gl <- n - 1
t_critico <- qt(0.05, df = gl) # percentil del 5% (cola izquierda)
t_critico[1] -1.76131
La región crítica es:
4. Contraste con t.test
t.test(
tiempos,
mu = 30,
alternative = "less", # cola izquierda
conf.level = 0.95
)
One Sample t-test
data: tiempos
t = 1.4491, df = 14, p-value = 0.9153
alternative hypothesis: true mean is less than 30
95 percent confidence interval:
-Inf 32.21542
sample estimates:
mean of x
31
p-valor calculado manualmente
pvalor <- pt(t_exp, df = gl) # cola izquierda
pvalor[1] 0.9153363
4. Conclusión
Estadístico observado:
\(T_{exp} = 1.4491\)
Valor crítico:
\(t_{0.05,14} = -1.76131\)
p-valor:
\(p = 0.9153363\)
Dado que el estadístico observado no es menor que el valor crítico y el p-valor es mayor que 0.05, (\(p-value=0.9153\)) no rechazamos \(H_0\).
No existe evidencia estadística suficiente para afirmar que el tiempo medio de respuesta sea menor que 30 minutos.
Una máquina de llenado envasa botellas de refresco. Históricamente, el proceso está bien ajustado cuando la desviación típica poblacional del volumen es \(\sigma_0 = 2ml\). Tras un cambio en la línea de producción, se sospecha que la variabilidad ha aumentado. Para comprobarlo, se toma una muestra aleatoria de \(n = 12\) botellas y se miden sus volúmenes (en ml):
51, 47, 55, 49, 52, 56, 50, 53, 54, 48, 57, 52
Suponiendo que los volúmenes se distribuyen aproximadamente normales, contrasta, con \(\alpha = 0.05\), si la varianza ha aumentado respecto al valor objetivo.
(Nota: Puedes utilizar la librería TeachingDemos o (sigma.test) o la librería EnvStats (Var.Test).
Datos
# Datos de volúmenes (ml)
volumenes <- c(51, 47, 55, 49, 52, 56, 50, 53, 54, 48, 57, 52)
length(volumenes)[1] 12
1. Formulación de hipótesis
Históricamente, el proceso está bien ajustado cuando la desviación típica poblacional es
\(\sigma_0 = 2\) ml, por lo que la varianza objetivo es \(\sigma_0^2 = 4\) ml\(^2\).
Tras un cambio en la línea, se sospecha que la variabilidad ha aumentado. Por tanto:
\(H_0 : \sigma^2 = 4\)
\(H_1 : \sigma^2 > 4\)
Se trata de un contraste unilateral a la derecha sobre la varianza, con nivel de significación \(\alpha = 0.05\).
2. Estadístico de contraste
En un contraste clásico de varianza, usando la varianza muestral \(S^2\) (divisor \(n-1\)), el estadístico es:
\[ \chi^2 = \frac{(n-1) S^2}{\sigma_0^2} \sim \chi^2_{n-1}. \]
Como tú defines la varianza muestral como
\(s_n^2 = \frac{1}{n}\sum (x_i - \bar x)^2\),
sabemos que:
\[ S^2 = \frac{n}{n-1}\, s_n^2 \]
y por tanto el estadístico puede escribirse directamente como:
\[ \chi^2_{\text{exp}} = \frac{n\, s_n^2}{\sigma_0^2}. \]
volumenes <- c(51, 47, 55, 49, 52, 56, 50, 53, 54, 48, 57, 52)
n <- length(volumenes)
mu0 <- 2
sigma0_2 <- mu0^2
media_muestral <- mean(volumenes)
# Tu definición: varianza muestral con divisor n
s_n2 <- sum((volumenes - media_muestral)^2) / n
s_n <- sqrt(s_n2)
chi_exp <- n * s_n2 / sigma0_2
media_muestral[1] 52
s_n2[1] 9.166667
chi_exp[1] 27.5
3. Regla de decisión
Los grados de libertad son:
\(gl = n - 1 = 11\)
Para un contraste unilateral a la derecha con \(\alpha = 0.05\):
gl <- n - 1
chi_critico <- qchisq(0.95, df = gl) # contraste unilateral a la derecha
chi_critico[1] 19.67514
La región crítica es:
4. Contraste usando varTest (EnvStats)
if (!require(EnvStats)) {
install.packages("EnvStats")
library(EnvStats)
}
varTest(
x = volumenes,
alternative = "greater", # cola derecha
sigma.squared = sigma0_2,
conf.level = 0.95
)$statistic
Chi-Squared
27.5
$parameters
df
11
$p.value
[1] 0.003859337
$estimate
variance
10
$null.value
variance
4
$alternative
[1] "greater"
$method
[1] "Chi-Squared Test on Variance"
$data.name
[1] "volumenes"
$conf.int
LCL UCL
5.590812 Inf
attr(,"conf.level")
[1] 0.95
attr(,"class")
[1] "htestEnvStats"
5. p-valor calculado manualmente
pvalor <- 1 - pchisq(chi_exp, df = gl)
pvalor[1] 0.003859337
6. Conclusión
Estadístico observado: \(\chi^2_{\text{exp}} = 27.5\)
Valor crítico: \(\chi^2_{0.95,11} = 19.675\)
p-valor: \(p = 0.00386\)
Dado que \(\chi^2_{\text{exp}}\) supera el valor crítico y el p-valor es menor que 0.05, rechazamos \(H_0\).
Concluimos que la variabilidad del proceso ha aumentado respecto al valor objetivo.
Una empresa quiere comparar la productividad semanal (número de unidades producidas) entre dos turnos de trabajo: Turno A y Turno B. Se toman muestras independientes de trabajadores de cada turno: • Turno A (n = 12): 45, 50, 47, 52, 49, 46, 51, 48, 53, 47, 50, 49 • Turno B (n = 10): 40, 42, 39, 45, 44, 41, 43, 40, 46, 42 Se desea contrastar, con α = 0.05, si el turno A tiene una media de productividad mayor que el turno B. Datos
# Datos de productividad semanal
turnoA <- c(45, 50, 47, 52, 49, 46, 51, 48, 53, 47, 50, 49)
turnoB <- c(40, 42, 39, 45, 44, 41, 43, 40, 46, 42)
nA <- length(turnoA)
nB <- length(turnoB)
mediaA <- mean(turnoA)
mediaB <- mean(turnoB)
nA; nB[1] 12
[1] 10
mediaA; mediaB[1] 48.91667
[1] 42.2
1. Formulación de hipótesis
Queremos comprobar si la productividad media del turno A es mayor que la del turno B.
Planteamos:
\(H_0 : \mu_A = \mu_B\)
\(H_1 : \mu_A > \mu_B\)
Es un contraste de medias de dos poblaciones normales, varianzas desconocidas pero iguales, unilateral a la derecha, con nivel de significación \(\alpha = 0.05\).
2. Estadístico de contraste
Suponiendo varianzas poblacionales iguales, el estadístico es
\[ T = \frac{(\bar X_A - \bar X_B)-(\mu_A-\mu_B)_0} {\sqrt{S_p^2\left(\frac{1}{n_A} + \frac{1}{n_B}\right)}}, \]
donde \(S_p^2\) es la varianza combinada (pooled):
\[ S_p^2 = \frac{n_AS_A^2 + n_BS_B^2}{n_A + n_B - 2}. \] Cálculo con R:
turnoA <- c(45, 50, 47, 52, 49, 46, 51, 48, 53, 47, 50, 49)
turnoB <- c(40, 42, 39, 45, 44, 41, 43, 40, 46, 42)
nA <- length(turnoA)
nB <- length(turnoB)
mediaA <- mean(turnoA)
mediaB <- mean(turnoB)
# Varianzas con la definición de varianza muestral (divisor n)
SA2_n <- sum((turnoA - mediaA)^2) / nA
SB2_n <- sum((turnoB - mediaB)^2) / nB
# Varianza combinada usando SA^2_n y SB^22_n
Sp2 <- (nA * SA2_n + nB * SB2_n) / (nA + nB - 2)
# Error estándar y estadístico T
error_estandar <- sqrt(Sp2 * (1/nA + 1/nB))
t_exp <- (mediaA - mediaB) / error_estandar
mediaA; mediaB[1] 48.91667
[1] 42.2
SA2_n; SB2_n[1] 5.409722
[1] 4.76
Sp2[1] 5.625833
t_exp[1] 6.613626
Los grados de libertad son:
\[ gl = n_A + n_B - 2. \]
gl <- nA + nB - 2
gl[1] 20
3. Regla de decisión
Para un contraste unilateral a la derecha con \(\alpha = 0.05\) y \(gl = n_A + n_B - 2\):
t_critico <- qt(0.95, df = gl)
t_critico[1] 1.724718
La regla de decisión es:
4. Contraste con t.test (varianzas desconocidas pero iguales)
t.test(
turnoA, turnoB,
alternative = "greater", # turno A mayor
var.equal = TRUE, # asumimos varianzas iguales
conf.level = 0.95
)
Two Sample t-test
data: turnoA and turnoB
t = 6.6136, df = 20, p-value = 9.644e-07
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
4.965077 Inf
sample estimates:
mean of x mean of y
48.91667 42.20000
5. p-valor calculado manualmente
pvalor <- (pt(t_exp, df = gl, lower.tail=FALSE)) # cola derecha
pvalor[1] 9.644384e-07
6. Conclusión
t_exp[1] 6.613626
t_critico[1] 1.724718
pvalor[1] 9.644384e-07
Estadístico observado: \(T_{exp} = 6.6136\)
Valor crítico: \(t_{0.95,gl} = 1.7247\)
p-valor: \(p = 9.6444e-07\)
Como \(T_{exp} > t_{0.95,gl}\) y el p-valor es menor que 0.05, rechazamos \(H_0\) y concluimos que la productividad media del turno A es mayor que la del turno B.
Si no se cumple, entonces no existe evidencia estadística suficiente para afirmar que el turno A es más productivo.
Un centro de atención telefónica afirma que el 80% de las llamadas se resuelven en menos de 3 minutos. Una auditoría externa sospecha que el porcentaje puede ser menor. Para comprobarlo, se toma una muestra aleatoria de n = 200 llamadas, de las cuales 148 se resolvieron en menos de 3 minutos. Con α = 0.05, contrasta si la proporción real es menor que la declarada por el centro.
Datos
# Datos del ejercicio
n <- 200 # tamaño muestral
x <- 148 # éxitos = llamadas resueltas < 3 minutos
p0 <- 0.80 # proporción declarada1. Formulación de la hipótesis
La empresa declara que el 80% de las llamadas se resuelven en menos de 3 minutos. La auditoría sospecha que la proporción real es menor.
Por tanto, planteamos:
\(H_0 : p = 0.80\)
\(H_1 : p < 0.80\)
Se trata de un contraste unilateral a la izquierda con nivel de significación \(\alpha = 0.05\).
2. Estadístico de contraste
Sea \(\hat{p} = x/n\) la proporción muestral.
El estadístico para contrastar proporciones es:
\[ Z = \frac{\hat{p} - p_0}{\sqrt{p_0 q_0/n}} \]
n <- 200 # tamaño muestral
x <- 148 # éxitos
p0 <- 0.80 # proporción declarada
phat <- x/n
error_estandar <- sqrt(p0 * (1 - p0) / n)
z_exp <- (phat - p0) / error_estandar
phat[1] 0.74
z_exp[1] -2.12132
3. Regla de decisión
Para un contraste unilateral a la izquierda con \(\alpha = 0.05\):
z_critico <- qnorm(0.05) # cola izquierda
z_critico[1] -1.644854
La región crítica es:
Rechazar \(H_0\) si \(Z_{\text{exp}} < z_{0.05}\)
No rechazar \(H_0\) si \(Z_{\text{exp}} \ge z_{0.05}\)
4. Contraste con prop.test() Este contraste aunque realiza el mismo test que nosotros hacemos no lo hace exactamente igual y lo hace mediante una chi cuadrado con correción de continuidad, por lo los resultados numéricos no son exáctamente iguales pero si el resultado final.
prop.test(
x = x,
n = n,
p = p0,
alternative = "less",
conf.level = 0.95,
correct = FALSE # para que coincida con el cálculo manual
)
1-sample proportions test without continuity correction
data: x out of n, null probability p0
X-squared = 4.5, df = 1, p-value = 0.01695
alternative hypothesis: true p is less than 0.8
95 percent confidence interval:
0.0000000 0.7875732
sample estimates:
p
0.74
5. p-valor calculado manualmente
Para un contraste unilateral a la izquierda:
pvalor <- pnorm(z_exp) # cola izquierda
pvalor[1] 0.01694743
6. Conclusión
z_exp[1] -2.12132
z_critico[1] -1.644854
pvalor[1] 0.01694743
Estadístico observado: \(Z_{{exp} = -2.1213\)
Valor crítico unilateral: \(z_{0.05} = -1.6449\)
p-valor: \(p = 0.01695\)
Si \(Z_{\text{exp}} < z_{0.05}\) y el p-valor es menor que 0.05, rechazamos \(H_0\) y concluimos que la proporción real de llamadas resueltas en menos de 3 minutos es menor que la declarada.
Si no se cumple, entonces no hay evidencia estadística suficiente para afirmar que la proporción real sea menor que el 80%.
Una empresa tecnológica lanza dos versiones de su página web (A y B) y quiere comparar el porcentaje de usuarios que completan una compra. Tras una semana de prueba, se obtienen los siguientes datos: • Versión A: Usuarios que compran = 210 de 500 visitantes. • Versión B: Usuarios que compran = 260 de 520 visitantes. La empresa quiere saber, con un nivel de significación α = 0.05, si la versión B consigue un porcentaje mayor de compras que la versión A.
Datos
# Datos del ejercicio
xA <- 210 # compras en versión A
nA <- 500 # visitantes versión A
xB <- 260 # compras en versión B
nB <- 520 # visitantes versión B1. Formulación de la hipótesis
Sea:
La empresa quiere comprobar si la versión B consigue una tasa de compras mayor que la versión A. Por tanto, las hipótesis se formulan como:
\(H_0 : p_A = p_B\)
\(H_1 : p_A < p_B\)
Es un contraste unilateral a la derecha, ya que planteamos que la proporción en B es mayor que la de A.
2. Estadístico de contraste (NO POOLED)
*(Nota: Este estadístico no coincide con prop.test() porque:
prop.test() siempre usa pooled proportions bajo \(H_0: p_A = p_B\)Pero ambos son válidos dependiendo del enfoque.)*
El estadístico de contraste que utilizamos es:
\[ P_{\text{exp}} = \frac{ (\hat p_A - \hat p_B) - (p_A-p_B)_0 }{ \sqrt{ \frac{\hat p_A \hat q_A}{n_A} + \frac{\hat p_B \hat q_B}{n_B} } } \sim N(0,1) \]
donde:
xA <- 210; nA <- 500
xB <- 260; nB <- 520
phatA <- xA/nA
phatB <- xB/nB
qhatA <- 1 - phatA
qhatB <- 1 - phatB
# Error estándar SIN POOLED
se_np <- sqrt( (phatA*qhatA)/nA + (phatB*qhatB)/nB )
# Estadístico P_exp NO POOLED
P_exp <- (phatA - phatB) / se_np
P_exp[1] -2.571338
3. Regla de decisión
El contraste es unilateral a la izquierda porque hemos planteado:
\(H_1 : p_A < p_B\)
Por tanto, la región crítica viene dada por:
\[ \text{Rechazar } H_0 \quad \text{si} \quad P_{\text{exp}} < z_{0.05}, \]
donde \(z_{0.05}\) es el percentil 5% de la normal estándar.
z_critico <- qnorm(0.05) # cola izquierda
z_critico[1] -1.644854
4. p-valor del contraste (versión manual, NO POOLED)
El p-valor para un contraste unilateral a la izquierda es:
\[ p\text{-valor} = P\left(Z < P_{\text{exp}}\right) \]
pvalor_np <- pnorm(P_exp) # cola izquierda
pvalor_np[1] 0.005065316
5. Contraste con prop.test() (versión POOLED)
prop.test() realiza el contraste asumiendo igualdad de proporciones bajo \(H_0\), usando la proporción combinada (pooled). Como nuestras hipótesis son \(H_1: p_A < p_B\), se usa:
prop_res <- prop.test(
x = c(xA, xB),
n = c(nA, nB),
alternative = "less", # H1: pA < pB
correct = FALSE # sin corrección de continuidad para equivalencia con Z manual
)
prop_res
2-sample test for equality of proportions without continuity correction
data: c(xA, xB) out of c(nA, nB)
X-squared = 6.5659, df = 1, p-value = 0.005198
alternative hypothesis: less
95 percent confidence interval:
-1.00000000 -0.02882498
sample estimates:
prop 1 prop 2
0.42 0.50
Para obtener el estadístico tipo Z equivalente (prop.test devuelve Chi-cuadrado):
chi_pooled <- prop_res$statistic
Z_pooled <- sqrt(chi_pooled) * sign(phatA - phatB)
Z_pooledX-squared
-2.562397
pvalor_pooled <- pnorm(Z_pooled)
pvalor_pooled X-squared
0.005197616
6. Conclusión
P_exp[1] -2.571338
Z_pooledX-squared
-2.562397
pvalor_np[1] 0.005065316
pvalor_pooled X-squared
0.005197616
z_critico[1] -1.644854
Estadístico NO POOLED (el que usamos en nuestros apuntes): \(P_{\text{exp}} =-2.5713\)
Estadístico POOLED (prop.test): \(Z_{\text{pooled}} = -2.5624\)
Valor crítico unilateral: \(z_{0.05} = -1.6449\)
p-valor NO POOLED: \(p_{\text{np}} = 0.00506\)
p-valor POOLED (prop.test): \(p_{\text{pooled}} = 0.00520\)
Decisión: Si el estadístico cae en la región crítica (\(P_{\text{exp}} < z_{0.05}\)) y el p-valor < 0.05, rechazamos \(H_0\) y concluimos que la tasa de conversión en la versión B es mayor que en la versión A (es decir, \(p_A < p_B\)). Si no se cumple, no hay evidencia suficiente para afirmarlo.