Un ingeniero está analizando la resistencia a la compresión de piezas que son utilizadas en la fabricación de motores para vehículos. La resistencia a la compresión se distribuye normalmente con σ2 = 1000 (psi)^2. Una muestra aleatoria de 12 piezas presenta una media en la resistencia de compresión x̄ = 3250 psi.
# Datos
sigma2 <- 1000
sigma <- sqrt(sigma2)
xbar <- 3250
n <- 12
# a) IC 95% (sigma conocido -> z)
alpha <- 0.05
z <- qnorm(1 - alpha/2)
se <- sigma / sqrt(n)
ic95 <- xbar + c(-1,1) * z * se
# b) IC 90% y 99%
z90 <- qnorm(1 - 0.10/2)
z99 <- qnorm(1 - 0.01/2)
ic90 <- xbar + c(-1,1) * z90 * se
ic99 <- xbar + c(-1,1) * z99 * se
# c) Tamaño muestral para E=15, confianza 99%
E <- 15
z_99 <- qnorm(1 - 0.01/2)
n_req <- ceiling((z_99 * sigma / E)^2)
list(ic95=ic95, ic90=ic90, ic99=ic99, n_req=n_req)
## $ic95
## [1] 3232.108 3267.892
##
## $ic90
## [1] 3234.985 3265.015
##
## $ic99
## [1] 3226.486 3273.514
##
## $n_req
## [1] 30
Interpretación:
- Los intervalos se calculan en el chunk anterior; revisar los números
resultantes (al knit). Observación general: el IC del 90% será el más
estrecho y el del 99% el más amplio.
- El tamaño de muestra requerido para E = 15 y 99% de confianza se
calcula en el chunk y aparece en n_req (resultado numérico al
compilar).
Una marca de margarina dietética fue analizada para determinar el nivel de ácido graso poliinsaturado en porcentaje. En una muestra de seis paquetes se obtuvieron los siguientes datos: 16.8, 17.2, 17.4, 16.9, 16.5, 17.1.
x : 16.8, 17.2, 17.4, 16.9, 16.5, 17.1
media : 16.98333
desviación estándar : 0.3188521
x <- c(16.8, 17.2, 17.4, 16.9, 16.5, 17.1)
n <- length(x)
media <- mean(x)
sd_x <- sd(x)
# Normalidad
sh <- shapiro.test(x)
# IC 99% t
alpha <- 0.01
t_crit <- qt(1 - alpha/2, df = n-1)
se <- sd_x / sqrt(n)
ic99 <- media + c(-1,1) * t_crit * se
list(media=media, sd=sd_x, shapiro=sh, ic99=ic99)
## $media
## [1] 16.98333
##
## $sd
## [1] 0.3188521
##
## $shapiro
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.98779, p-value = 0.9831
##
##
## $ic99
## [1] 16.45847 17.50820
Interpretación:
- Consultar el p-valor del test de Shapiro-Wilk (salida del chunk). Si p
> 0.05 no hay evidencia suficiente para rechazar normalidad; si p
< 0.05 se cuestionaría la normalidad.
- El IC del 99% para la media está en ic99 (ver valores al compilar) y
debe interpretarse como el rango en el que, bajo el supuesto de
normalidad, se encuentra la media poblacional con 99% de confianza.
El porcentaje de titanio contenido en una aleación fue medido en 51 partes aleatorias; la desviación estándar muestral es s = 0.37.
n <- 51
s <- 0.37
alpha <- 0.05
chi_lo <- qchisq(1 - alpha/2, df = n-1)
chi_hi <- qchisq(alpha/2, df = n-1)
var_lo <- (n-1) * s^2 / chi_lo
var_hi <- (n-1) * s^2 / chi_hi
ic_sigma <- sqrt(c(var_lo, var_hi))
list(ic_sigma=ic_sigma, var_interval=c(var_lo,var_hi))
## $ic_sigma
## [1] 0.3095824 0.4599389
##
## $var_interval
## [1] 0.09584124 0.21154381
Comentario:
- El chunk devuelve el intervalo para σ; si aumentamos n, el intervalo
tiende a estrecharse, indicando mayor precisión (esto se puede verificar
cambiando n en el chunk).
De 1000 casos de cáncer de pulmón seleccionados al azar, 823 resultaron en muerte dentro de los 10 años posteriores a su detección.
n <- 1000
x <- 823
phat <- x / n
z <- qnorm(0.975)
se <- sqrt(phat*(1-phat)/n)
ic95 <- phat + c(-1,1) * z * se
# Tamaño muestral para E=0.03
E <- 0.03
p0 <- 0.5
n_req <- ceiling((z^2 * p0 * (1-p0)) / E^2)
list(phat=phat, ic95=ic95, n_req_worst=n_req)
## $phat
## [1] 0.823
##
## $ic95
## [1] 0.7993444 0.8466556
##
## $n_req_worst
## [1] 1068
Interpretación:
- El chunk calcula phat e ic95; interpretar el intervalo como el rango
plausible para la proporción poblacional con 95% de confianza.
Se tomaron 30 unidades de tabaco habano para medir su contenido de alquitrán. Datos: (lista dada)
media = 1.529367
desviación estándar = 0.05625526
n = 30
x <- c(1.542,1.622,1.440,1.459,1.598,1.585,1.466,1.608,1.533,1.498,
1.532,1.546,1.520,1.532,1.600,1.466,1.494,1.523,1.504,1.499,
1.548,1.542,1.397,1.545,1.611,1.626,1.511,1.487,1.558,1.489)
n <- length(x)
media <- mean(x); sd_x <- sd(x)
shapiro <- shapiro.test(x)
alpha <- 0.01
tcrit <- qt(1 - alpha/2, df = n-1)
se <- sd_x / sqrt(n)
ic99 <- media + c(-1,1) * tcrit * se
list(media=media, sd=sd_x, shapiro=shapiro, ic99=ic99)
## $media
## [1] 1.529367
##
## $sd
## [1] 0.05625526
##
## $shapiro
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.97383, p-value = 0.6482
##
##
## $ic99
## [1] 1.501056 1.557677
Interpretación:
- Revisar el p-valor del test de Shapiro-Wilk (salida del chunk). Si p
> 0.05 no hay evidencia fuerte contra normalidad.
- El IC del 99% para la media aparece en ic99 (ver valor al
compilar).
Tiempos de secado (en horas) de 15 muestras de pintura: (lista
dada)
media = 3.786667, sd = 0.9709102, n = 15
x <- c(3.4,2.5,4.8,2.9,3.6,2.8,3.3,5.6,3.7,2.8,4.4,4.0,5.2,3.0,4.8)
n <- length(x)
media <- mean(x); s <- sd(x)
# IC 95% media (t)
alpha1 <- 0.05
tcrit <- qt(1 - alpha1/2, df = n-1)
ic95_media <- media + c(-1,1)*tcrit*(s/sqrt(n))
# IC 98% para varianza (chi2)
alpha2 <- 0.02
chi_lo <- qchisq(1 - alpha2/2, df = n-1)
chi_hi <- qchisq(alpha2/2, df = n-1)
var_lo <- (n-1)*var(x)/chi_lo
var_hi <- (n-1)*var(x)/chi_hi
ic98_var <- c(var_lo, var_hi)
list(ic95_media=ic95_media, ic98_var=ic98_var)
## $ic95_media
## [1] 3.248995 4.324339
##
## $ic98_var
## [1] 0.4528748 2.8317875
Interpretación:
- Los intervalos se muestran en los objetos ic95_media e ic98_var; la
interpretación es estándar (IC para la media y para la varianza
respectivamente).
El director de una fábrica desea estimar el tiempo promedio que toma perforar tres agujeros. ¿Cuál debe ser el tamaño de la muestra para que el IC del 95% esté dentro de 5 segundos de la media real, sabiendo que σ = 40?
sigma <- 40
E <- 5
z <- qnorm(0.975)
n_req <- ceiling((z * sigma / E)^2)
n_req
## [1] 246
Respuesta:
- El chunk calcula n_req; con σ = 40 y E = 5 el resultado numérico
aparece al compilar (valor esperado: alrededor de 246).
Comparación de dos procesos (cada uno con n = 12). Datos de tensiones (listados).
x1 <- c(428,419,458,439,441,456,463,429,438,445,441,463)
x2 <- c(462,448,435,465,429,472,453,459,427,468,452,447)
n1 <- length(x1); n2 <- length(x2)
m1 <- mean(x1); m2 <- mean(x2)
s1 <- var(x1); s2 <- var(x2)
# Asumir var igual -> pooled
sp2 <- ((n1-1)*s1 + (n2-1)*s2) / (n1 + n2 - 2)
sp <- sqrt(sp2)
se_diff <- sp * sqrt(1/n1 + 1/n2)
df <- n1 + n2 - 2
tcrit <- qt(0.975, df = df)
ic_diff <- (m1 - m2) + c(-1,1) * tcrit * se_diff
# t-test (Welch) para diferencia
tt <- t.test(x1, x2, var.equal = FALSE)
list(means=c(m1,m2), ic_diff=ic_diff, ttest=tt)
## $means
## [1] 443.3333 451.4167
##
## $ic_diff
## [1] -20.455121 4.288454
##
## $ttest
##
## Welch Two Sample t-test
##
## data: x1 and x2
## t = -1.355, df = 21.955, p-value = 0.1892
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -20.456585 4.289919
## sample estimates:
## mean of x mean of y
## 443.3333 451.4167
Interpretación:
- Revisar ic_diff y el objeto ttest (p-valor). Si p < 0.05 hay
evidencia de diferencia entre medias; la conveniencia depende del
objetivo (mayor media = mayor tensión de ruptura si eso se desea).
Muestra de 87 estaciones, 13 con fuga.
n <- 87; x <- 13
phat <- x / n
z <- qnorm(0.975)
se <- sqrt(phat*(1-phat)/n)
ic95 <- phat + c(-1,1) * z * se
# Tamaño muestral para E=0.03, 95% y sin info previa -> p=0.5 (peor caso)
E <- 0.03
p0 <- 0.5
n_req <- ceiling((z^2 * p0 * (1-p0)) / E^2)
list(phat=phat, ic95=ic95, n_req_worst=n_req)
## $phat
## [1] 0.1494253
##
## $ic95
## [1] 0.07451236 0.22433821
##
## $n_req_worst
## [1] 1068
Comentario:
- Si no hay información previa usar p = 0.5 (maxima varianza). Si la
población es finita y conocida, aplicar corrección por población
finita.
Datos (7 observaciones) de eficiencia millas/galón. Construir IC 95% para la media por bootstrap con k = 1000 réplicas. Implementar dos métodos: percentil y basic.
x <- c(7.69,4.97,4.56,6.49,4.34,6.24,4.45)
k <- 1000
n <- length(x)
boot_means <- replicate(k, mean(sample(x, size = n, replace = TRUE)))
# Método 1: percentil
ic_p <- quantile(boot_means, c(0.025, 0.975))
# Método 2: basic (2*mean - quantiles)
xbar <- mean(x)
ic_basic <- 2*xbar - rev(ic_p)
list(sample_mean=xbar, ic_percentile=ic_p, ic_basic=ic_basic, boot_sd=sd(boot_means))
## $sample_mean
## [1] 5.534286
##
## $ic_percentile
## 2.5% 97.5%
## 4.748393 6.508643
##
## $ic_basic
## 97.5% 2.5%
## 4.559929 6.320179
##
## $boot_sd
## [1] 0.4463224
Interpretación:
- Comparar ambos intervalos: ic_percentile e ic_basic. El método
percentil usa directamente los percentiles de la distribución bootstrap;
el método basic corrige por sesgo.