Se asume que \(X_1,\ldots,X_n\) es una muestra aleatoria tal que \(X_i\stackrel{\text{IID}}{\sim} \textsf{N}(\mu, \sigma^2)\), para \(i=1,\ldots,n\).
Antes de implementar los intervalos, es indispensable verificar que la distribución de la variable aleatoria objeto de estudio tenga distribución Normal, de lo contrario, se deben utilizar otras técnicas de inferencia (e.g., Bootstrap).
La variable aleatoria pivote es:
\[ Z=\frac{\bar{X}-\mu}{\sigma/\sqrt{n}}\sim \textsf{N}(0,1) \]
curve(expr = dnorm(x), from = -4, to = 4, lwd = 2, xlab = "z", ylab = "Densidad", main = "Z")
abline(v = 0, col = 16, lty = 1)
abline(v = qnorm(p = c(0.050,0.950)), col = 2, lty = 2)
abline(v = qnorm(p = c(0.025,0.975)), col = 3, lty = 3)
abline(v = qnorm(p = c(0.005,0.995)), col = 4, lty = 4)
Entonces: \[ \textsf{Pr}\left(\bar{X}-z_{1-\alpha/2}\frac{\sigma}{\sqrt{n}}\leq\mu\leq \bar{X}+z_{1-\alpha/2}\frac{\sigma}{\sqrt{n}}\right)=1-\alpha \] donde \(z_{1-\alpha/2}\) es el percentil \(1-\alpha/2\) de una distribución Normal estÔndar.
En virtud del Teorema del LĆmite Central, este intervalo de confianza aplica incluso si la población no tiene distribución Normal, siempre que el tamaƱo de la muestra \(n\) sea grande.
La variable aleatoria pivote es:
\[ T=\frac{\bar{X}-\mu}{S/\sqrt{n}}\sim \textsf{t}_{n-1} \] donde \(S\) es la desviación estÔndar muestral y \(\textsf{t}_{\nu}\) denota la distribución \(\textsf{t}\) con \(\nu\) grados de libertad (William Sealy Gosset).
Si \(X\sim \textsf{t}_{\nu}\), entonces la función de densidad de \(X\) es: \[ f_X(x) = \frac{\Gamma\left( \frac{\nu+1}{2} \right)}{\sqrt{\nu\pi}\,\Gamma\left( \frac{\nu}{2} \right)}\,\left(1 + \frac{x^2}{\nu}\right)^{-\frac{\nu+1}{2}}\,,\qquad-\infty<x<\infty\,, \qquad \nu \in\{1,2,\ldots\}\,. \]
curve(expr = dnorm(x), from = -4, to = 4, col = "lightgray", lwd = 2, xlab = "t", ylab = "Densidad", main = "t")
abline(v = 0, col = 16, lty = 1)
curve(expr = dt(x, df = 1), col = 1, add = TRUE)
curve(expr = dt(x, df = 2), col = 2, add = TRUE)
curve(expr = dt(x, df = 3), col = 3, add = TRUE)
curve(expr = dt(x, df = 4), col = 4, add = TRUE)
curve(expr = dt(x, df = 5), col = 5, add = TRUE)
legend("topright", legend = c(expression(nu == 1),expression(nu == 2),expression(nu == 3),expression(nu == 4),expression(nu == 5),"Z"), col = c(1,2,3,4,5,"lightgray"), lwd = 2, bty = "n")
La distribución \(\textsf{t}\) tiene colas mÔs pesadas que la distribución \(Z\).
curve(expr = dnorm(x), from = -4, to = 4, col = "lightgray", lwd = 2, xlab = "t", ylab = "Densidad", main = "t")
abline(v = 0, col = 16, lty = 1)
curve(expr = dt(x, df = 30), col = 2, add = TRUE)
legend("topright", legend = c(expression(nu == 30),"Z"), col = c(2,"lightgray"), lwd = 2, bty = "n")
\(\textsf{t}_{\nu}\approx Z\), cuando \(n\) es grande.
Entonces: \[ \textsf{Pr}\left(\bar{X}-\textsf{t}_{n-1,1-\alpha/2}\frac{S}{\sqrt{n}}\leq\mu\leq \bar{X}+\textsf{t}_{n-1,1-\alpha/2}\frac{S}{\sqrt{n}}\right)=1-\alpha \] donde \(\textsf{t}_{n-1,1-\alpha/2}\) es el percentil \(1-\alpha/2\) de una distribución \(\textsf{t}\) con \(n-1\) grados de libertad.
Los percentiles de la distribución \(\textsf{t}\) se calculan en R
con la función qt
.
En el archivo geriatra.txt
se presentan los datos de un
estudio con individuos de por lo menos 65 aƱos de edad en buenas
condiciones fĆsicas. Las variables del estudio son:
# datos
datos <- read.table("geriatra.txt")
names(datos) <- c("caidas", "intervencion", "sexo", "balance", "fuerza")
# inspeccion de los datos
class(datos)
## [1] "data.frame"
dim(datos)
## [1] 100 5
head(datos)
## caidas intervencion sexo balance fuerza
## 1 1 1 0 45 70
## 2 1 1 0 62 66
## 3 2 1 1 43 64
## 4 0 1 1 76 48
## 5 2 1 0 51 72
## 6 1 1 1 73 39
# balance
y <- datos$balance
# descripcion
summary(y)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 13.00 39.00 51.50 52.83 66.25 98.00
# grafico
par(mfrow = c(1,2))
# histograma
hist(x = y, freq = F, col = "white", xlim = c(0,100), ylim = c(0,0.02), xlab = "Balance", ylab = "Densidad", main = "")
curve(expr = dnorm(x, mean = mean(y), sd = sd(y)), col = 2, add = TRUE)
# grfico cuantil-cuantil
qqnorm(y, xlab = "Cuantiles normales", ylab = "Cuantiles observados", main = "")
qqline(y, col = 2)
# tamaƱo de la muestra
n <- length(y)
n
## [1] 100
# promedio muestral
xb <- mean(y)
xb
## [1] 52.83
# desviacion estandar
s <- sd(y)
s
## [1] 19.25588
# percentil t
t975 <- qt(p = 0.975, df = n-1)
t975
## [1] 1.984217
# percentil z
z975 <- qnorm(p = 0.975)
z975
## [1] 1.959964
# margen de error t
met <- t975*s/sqrt(n)
met
## [1] 3.820785
# margen de error z
mez <- z975*s/sqrt(n)
mez
## [1] 3.774084
# IC t
xb + c(-1,1)*met
## [1] 49.00922 56.65078
# IC z
xb + c(-1,1)*mez
## [1] 49.05592 56.60408
t.test(x = y, mu = 46, conf.level = 0.95)
##
## One Sample t-test
##
## data: y
## t = 3.547, df = 99, p-value = 0.0005973
## alternative hypothesis: true mean is not equal to 46
## 95 percent confidence interval:
## 49.00922 56.65078
## sample estimates:
## mean of x
## 52.83
Como el intervalo de confianza correspondiente no contiene a 46, entonces existe suficiente evidencia empĆrica para declarar diferencias significativas entre el promedio poblacional del balance y el valor de referencia 46.
En un estudio de National Retail Foundation se encontró que las familias estaban dispuestas a gastar en promedio $649 durante las vacaciones decembrinas (The Wall Street Journal, 2 de diciembre de 2002). En el estudio participaron 600 familias y que la desviación estÔndar muestral fue $175.
Los salarios anuales iniciales de estudiantes que acaban de terminar una carrera especĆfica se espera que estĆ©n entre $ 30000 y $ 45000. Suponga que quiere dar un intervalo de confianza de 95% para estimar la media poblacional de los salarios iniciales. El valor planeado de la desviación estĆ”ndar poblacional es $ 3500. ĀæCuĆ”n grande deberĆ” ser la muestra si quiere que el margen de error sea:
La variable aleatoria pivote es:
\[ \chi^2=\frac{(n-1)S^2}{\sigma^2}\sim\chi^2_{n-1} \]
donde \(S\) es la desviación estÔndar muestral y \(\chi^2_{\nu}\) denota la distribución \(\chi^2\) con \(\nu\) grados de libertad.
Si \(X\sim \chi^2_{\nu}\), entonces la función de densidad de \(X\) es: \[ f_X(x) = \frac{1}{2^{\nu/2}\,\Gamma(\nu/2)}\,x^{\nu/2-1}\,e^{-x/2} \,,\qquad x > 0\,, \qquad \nu \in\{1,2,\ldots\}\,. \]
curve(expr = dchisq(x, df = 3), from = 0, to = 20, col = 3, xlab = expression(chi^2), ylab = "Densidad", main = expression(chi^2))
curve(expr = dchisq(x, df = 4), col = 4, add = TRUE)
curve(expr = dchisq(x, df = 5), col = 5, add = TRUE)
curve(expr = dchisq(x, df = 6), col = 6, add = TRUE)
curve(expr = dchisq(x, df = 7), col = 7, add = TRUE)
legend("topright", legend = c(expression(nu == 3),expression(nu == 4),expression(nu == 5),expression(nu == 6),expression(nu == 7)), col = c(3,4,5,6,7), lwd = 2, bty = "n")
Entonces: \[ \textsf{Pr}\left( \frac{(n-1)S^2}{\chi^2_{n-1,1-\alpha/2}} \leq\sigma^2\leq \frac{(n-1)S^2}{\chi^2_{n-1,\alpha/2}} \right)=1-\alpha \] donde \(\chi^2_{n-1,1-\alpha/2}\) es el percentil \(1-\alpha/2\) de una distribución \(\chi^2\) con \(n-1\) grados de libertad.
Los percentiles de la distribución \(\chi^2\) se calculan en R
con
la función qchisq
.
Simular 100K de muestras aleatorias de tamaño \(n=10\) de una población Normal con media \(\mu=10\) y desviación estÔndar \(\sigma=1\), y para cada muestra aleatoria, calcular la estimación y el intervalo de confianza para \(\sigma^2\) al 95% de confianza correspondiente. ¿CuÔl es la distribución muestral de la variable pivote? ¿Qué proporción de intervalos contiene el valor de \(\sigma^2\)?
# parametros de la poblacion (modelo)
mu <- 10
sigma <- 1
# tamaƱo de la muestra
n <- 10
# percentiles
chi025 <- qchisq(p = 0.025, df = n-1)
chi025
## [1] 2.700389
chi975 <- qchisq(p = 0.975, df = n-1)
chi975
## [1] 19.02277
# numero de simulaciones
M <- 100000
# objeto para almacenar los promedios
S2 <- matrix(data = NA, nrow = M, ncol = 1)
IC <- matrix(data = NA, nrow = M, ncol = 2)
# simulacion
set.seed(1)
for (i in 1:M) {
x <- rnorm(n = n, mean = mu, sd = sigma)
S2[i,1] <- var(x)
IC[i,1] <- (n-1)*var(x)/chi975
IC[i,2] <- (n-1)*var(x)/chi025
}
# inspeccion
dim(S2)
## [1] 100000 1
head(S2)
## [,1]
## [1,] 0.6093144
## [2,] 1.1438620
## [3,] 0.9131859
## [4,] 0.6537768
## [5,] 0.3549372
## [6,] 1.0291688
mean(S2)
## [1] 1.000833
hist(x = (n-1)*S2/sigma^2, freq = F, col = "white", xlab = expression(chi^2), ylab = "Densidad", main = "")
curve(expr = dchisq(x, df = n-1), col = 2, add = TRUE)
# inspeccion
dim(IC)
## [1] 100000 2
head(IC)
## [,1] [,2]
## [1,] 0.2882772 2.030755
## [2,] 0.5411809 3.812323
## [3,] 0.4320440 3.043514
## [4,] 0.3093131 2.178942
## [5,] 0.1679269 1.182953
## [6,] 0.4869175 3.430068
# cobertura
tmp <- (IC[,1] < sigma^2) & (sigma^2 < IC[,2])
head(tmp)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE
# proporcion
mean(tmp)
## [1] 0.95045
Simular 100K de muestras aleatorias de tamaño \(n=10\) de una población Exponencial con media \(\lambda=2\), y para cada muestra aleatoria, calcular la estimación y el intervalo de confianza para \(\sigma^2\) al 95% de confianza correspondiente. ¿CuÔl es la distribución muestral de la variable pivote? ¿Qué proporción de intervalos contiene el valor de \(\sigma^2=1/\lambda^2\)?
# parametros de la poblacion (modelo)
lambda <- 2
# tamaƱo de la muestra
n <- 10
# percentiles
chi025 <- qchisq(p = 0.025, df = n-1)
chi025
## [1] 2.700389
chi975 <- qchisq(p = 0.975, df = n-1)
chi975
## [1] 19.02277
# numero de simulaciones
M <- 100000
# objeto para almacenar los promedios
S2 <- matrix(data = NA, nrow = M, ncol = 1)
IC <- matrix(data = NA, nrow = M, ncol = 2)
# simulacion
set.seed(1)
for (i in 1:M) {
x <- rexp(n = n, rate = lambda)
S2[i,1] <- var(x)
IC[i,1] <- (n-1)*var(x)/chi975
IC[i,2] <- (n-1)*var(x)/chi025
}
# inspeccion
dim(S2)
## [1] 100000 1
head(S2)
## [,1]
## [1,] 0.17272093
## [2,] 0.34332761
## [3,] 0.36857623
## [4,] 0.06093308
## [5,] 0.06029804
## [6,] 0.22648688
mean(S2)
## [1] 0.2503829
hist(x = (n-1)*S2/(1/lambda^2), freq = F, col = "white", nclass = 50, xlim = c(0,50), ylim = c(0,0.1), xlab = expression(chi^2), ylab = "Densidad", main = "")
curve(expr = dchisq(x, df = n-1), col = 2, add = TRUE)
# inspeccion
dim(IC)
## [1] 100000 2
head(IC)
## [,1] [,2]
## [1,] 0.08171725 0.5756534
## [2,] 0.16243422 1.1442603
## [3,] 0.17437978 1.2284102
## [4,] 0.02882849 0.2030810
## [5,] 0.02852804 0.2009645
## [6,] 0.10715486 0.7548474
# cobertura
tmp <- (IC[,1] < (1/lambda^2)) & ((1/lambda^2) < IC[,2])
head(tmp)
## [1] TRUE TRUE TRUE FALSE FALSE TRUE
# proporcion
mean(tmp)
## [1] 0.76969
Para analizar el riesgo o la volatilidad al invertir en las acciones comunes de Chevron Corpotation se toma una muestra de rendimiento porcentual total mensual. A continuación se presentan los rendimientos de los 12 meses de 2005 (Compustat, 24 de febrero de 2006). El rendimiento total es el precio mÔs cualquier dividendo pagado.
Mes | Rendimiento (%) | Mes | Rendimiento (%) |
---|---|---|---|
Enero | 3.60 | Julio | 3.74 |
Febrero | 14.86 | Agosto | 6.62 |
Marzo | -6.07 | Septiembre | 5.42 |
Abril | -10.82 | Octubre | -11.83 |
Mayo | 4.29 | Noviembre | 1.21 |
Junio | 3.98 | Diciembre | -0.94 |
# datos
x <- c(3.60, 3.74, 14.86, 6.62, -6.07, 5.42, -10.82, -11.83, 4.29, 1.21, 3.98, -0.94)
# varianza
s2 <- var(x)
s2
## [1] 57.72298
# desviacion estandar
s <- sd(x)
s
## [1] 7.597564
# tamaƱo de la muestra
n <- length(x)
n
## [1] 12
# percentiles
chi025 <- qchisq(p = 0.025, df = n-1)
chi025
## [1] 3.815748
chi975 <- qchisq(p = 0.975, df = n-1)
chi975
## [1] 21.92005
# intervalo de confianza
c(sqrt((n-1)*var(x)/chi975), sqrt((n-1)*var(x)/chi025))
## [1] 5.382077 12.899737
# descripcion
summary(x)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -11.830 -2.223 3.670 1.172 4.572 14.860
# grafico
par(mfrow = c(1,2))
# histograma
hist(x = x, freq = F, col = "white", xlim = c(-15,15), ylim = c(0,0.1), xlab = "Balance", ylab = "Densidad", main = "")
curve(expr = dnorm(x, mean = mean(x), sd = sd(x)), col = 2, add = TRUE)
# grfico cuantil-cuantil
qqnorm(x, xlab = "Cuantiles normales", ylab = "Cuantiles observados", main = "")
qqline(x, col = 2)
Una pieza debe fabricarse con medidas de tolerancia muy estrechas para que sea aceptada por el cliente. Las especificaciones de producción indican que la varianza mÔxima en la longitud de la pieza debe ser 0.0004. Suponga que en 30 piezas la varianza muestral encontrada es 0.0005. Use una confiabilidad del 95% para probar si se estÔ violando la especificación de la varianza poblacional. ¿Qué es necesario suponer para que estas inferencias tengan validez?
Se tiene una muestra aleatoria \(X_1,\ldots,X_n\), con \(X_i \stackrel{\text{IID}}{\sim} \textsf{Bernoulli}(\pi)\), para \(i=1,\ldots,n\).
La variable aleatoria pivote es:
\[ Z = \frac{P-\pi}{\sqrt{\frac{P(1-P)}{n}}}\sim \textsf{N}(0,1) \] donde \(P=\frac{1}{n}\sum_{i=1}^n X_i\) es la proporción muestral, siempre que \(n\) sea grande (en virtud del Teorema del LĆmite Central y otro teorema de similar importancia). AdemĆ”s, empĆricamente se ha visto que esta aproximación es aceptable siempre que \(n p \geq 5\) y \(n(1 - p) \geq 5\).
Entonces: \[ \textsf{Pr}\left(P-z_{1-\alpha/2}\sqrt{\frac{P(1-P)}{n}}\leq\pi\leq P+z_{1-\alpha/2}\sqrt{\frac{P(1-P)}{n}}\right)=1-\alpha \] donde \(z_{1-\alpha/2}\) es el percentil \(1-\alpha/2\) de una distribución Normal estÔndar.
Simular 100K de muestras aleatorias de tamaño \(n=30\) de una población Bernoulli con media \(\pi=0.3\), y para cada muestra aleatoria, calcular la estimación y el intervalo de confianza para \(\pi\) al 95% de confianza correspondiente. ¿CuÔl es la distribución muestral de la variable pivote? ¿Qué proporción de intervalos contiene el valor de \(\pi\)?
# parametros de la poblacion (modelo)
pii <- 0.3
# tamaƱo de la muestra
n <- 30
# percentiles
z975 <- qnorm(p = 0.975)
# numero de simulaciones
M <- 100000
# objeto para almacenar los promedios
PI <- matrix(data = NA, nrow = M, ncol = 1)
IC <- matrix(data = NA, nrow = M, ncol = 2)
# simulacion
set.seed(1)
for (i in 1:M) {
x <- rbinom(n = n, size = 1, prob = pii)
p <- mean(x)
PI[i,1] <- p
IC[i,1] <- p - z975*sqrt(p*(1-p)/n)
IC[i,2] <- p + z975*sqrt(p*(1-p)/n)
}
# inspeccion
dim(PI)
## [1] 100000 1
head(PI)
## [,1]
## [1,] 0.3000000
## [2,] 0.2666667
## [3,] 0.3666667
## [4,] 0.3000000
## [5,] 0.2333333
## [6,] 0.3000000
mean(PI)
## [1] 0.2997037
hist(x = (PI-pii)/sqrt(PI*(1-PI)/n), freq = F, col = "white", xlim = c(-4,4), xlab = "z", ylab = "Densidad", main = "")
curve(expr = dnorm(x), col = 2, add = TRUE)
# inspeccion
dim(IC)
## [1] 100000 2
head(IC)
## [,1] [,2]
## [1,] 0.13601765 0.4639824
## [2,] 0.10842438 0.4249090
## [3,] 0.19422614 0.5391072
## [4,] 0.13601765 0.4639824
## [5,] 0.08198448 0.3846822
## [6,] 0.13601765 0.4639824
# cobertura
tmp <- (IC[,1] < pii) & (pii < IC[,2])
head(tmp)
## [1] TRUE TRUE TRUE TRUE TRUE TRUE
# proporcion
mean(tmp)
## [1] 0.95339
Considere el conjunto de datos birthwt
de la libreria
MASS
de R
. Este conjunto de datos incluye el
peso al nacer (en gramos) de 189 reciƩn nacidos junto con algunas
caracterĆsticas de sus madres (e.g., edad). Los datos se recopilaron en
Baystate Medical Center, Springfield, MA, durante 1986.
Encontrar el intervalo de confianza al 95% para la proporción
poblacional de madres que fuman durante su embarazo
(birthwt$smoke
).
Las concentraciones de contaminantes atmosfĆ©ricos, como monóxido de carbono (CO), se pueden medir con un espectrómetro. En una prueba de calibración, se hicieron 50 mediciones de una muestra de gas del laboratorio que se sabĆa tenĆa una concentración de CO de 70 partes por millón (ppm). Se considera que una medición es satisfactoria si estĆ” dentro de 5 ppm de la concentración verdadera. De las 50 mediciones, 37 fueron satisfactorias.