Este resultado es de carácter teórico y proporciona una cota superior para la probabilidad de que una variable aleatoria tome un valor que diste de su media en más de una cierta cantidad \(\epsilon\) arbitraria.
Sea \(X\) una variable aleatoria con media \(\mu\) y varianza finita \(\sigma^2\). Para cualquier número real \(\epsilon>0\) se tiene que,
Ejemplo). Sea \(\mu=2\), \(\sigma=4\) y \(\epsilon=2\).
\[ \small{ \begin{align*} &\textrm{P}(|X-2|>4\cdot2) \leq \frac{1}{2^2} \\ &\textrm{P}(-8>X-2>8) \leq \frac{1}{4} \\ &\textrm{P}(-6>X>10) \leq \frac{1}{4} \\ &\textrm{P}(X<-6)+ \textrm{P}(X>10) \leq \frac{1}{4} \\ &\textrm{P}(X<-6)+ [1-\textrm{P}(X<10)]\leq \frac{1}{4} \end{align*} } \]
mu <- 2
sigma <- 4
epsilon <- 2
1/(epsilon^2)
#[1] 0.25
pnorm(-6, mean = mu, sd = sigma) + (1-pnorm(10,mean = mu, sd = sigma))
#[1] 0.04550026En general para cualquier \(\mu\), \(\sigma\) y \(\epsilon\), se tiene que,
\[ \small{ \begin{align*} &\textrm{P}(|X-\mu|>\sigma\epsilon) \leq \frac{1}{\epsilon^2} \\ &\textrm{P}(-\sigma\epsilon>X-\mu>\sigma\epsilon) \leq \frac{1}{\epsilon^2} \\ &\textrm{P}(-\sigma\epsilon+\mu>X>\sigma\epsilon+\mu) \leq \frac{1}{\epsilon^2} \\ &\textrm{P}(X<\mu-\sigma\epsilon)+ \textrm{P}(X>\mu+\sigma\epsilon)\leq \frac{1}{\epsilon^2} \end{align*} } \]
El código para comprobar dicho resultado es una generalización del hecho en el ejemplo, y se presenta a continuación.
mu <- 0
sigma <- 1
epsilon <- 2
1/(epsilon^2)
A <- mu-(sigma*epsilon)
B <- mu+(sigma*epsilon)
pnorm(A, mean = mu, sd = sigma) + (1-pnorm(B,mean = mu, sd = sigma))Ahora vamos a repetir dicho proceso para varios valores de épsilon para ver el comportamiento de la probabilidad y su cota superior. Además, realizaremos la diferencia entre la cota y la probabilidad para observar que efectivamente es una cota, y por lo tanto su diferencia es siempre positiva.
mu <- 2
sigma <- 4
n <- 10
epsilon <- seq(from = 1, to = 10, length = n)
Prob <- NULL
for (i in 1:n) {
Prob[i] = pnorm(mu-(sigma*epsilon[i]),mu,sigma)+(1-pnorm(mu+(sigma*epsilon[i]),mu,sigma))
}
A <- cbind(Prob, 1/(epsilon^2),(1/epsilon^2)-Prob)
B <- c("Probabilidad","1/(epsilon^2)","Diferencia")
colnames(A) <- B| Probabilidad | \(1/\epsilon^2\) | Diferencia |
|---|---|---|
| 0.3173 | 1.0000 | 0.6827 |
| 0.0455 | 0.2500 | 0.2045 |
| 0.0027 | 0.1111 | 0.1084 |
| 0.0001 | 0.0625 | 0.0624 |
| 0.0000 | 0.0400 | 0.0400 |
| 0.0000 | 0.0278 | 0.0278 |
| 0.0000 | 0.0204 | 0.0204 |
| 0.0000 | 0.0156 | 0.0156 |
| 0.0000 | 0.0123 | 0.0123 |
| 0.0000 | 0.0100 | 0.0100 |
Observe el comportamiento de la diferencia entre la probabilidad y la cota superior dejando \(\mu\) y \(\sigma\) fijos y \(\epsilon\) cambiando entre \(1\) y \(10\).
par(col.axis="#CD075A", col.lab="#E36515", cex.lab=1.5, fg="#FF1A1A", mar=c(5,5,0.5,0.5), las=1)
plot(epsilon, (1/epsilon^2)-Prob, type = "l", col = "#FFC71A", lwd = 2,
xlab = bquote(epsilon), ylab = expression((1/epsilon^2)-Prob))Sea \(\{X_i\}\) una sucesión de variables aleatorias \(\text{iid}\) con \(\mu = E(X_i)\) y \(\sigma^2 = Var(X_i)\) finita (\(<\infty\)), se tiene que, \[\overline{X}_n \overset{p}{\rightarrow} \mu\]
Donde \(\overline{X}_n = \frac{1}{n}\sum_{i=1}^{n}X_i\).
Ejemplo 1).
n <- 6
p <- 1/4
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
Media_Muestral <- NULL
n1 <- seq(from = 1, to = 500, by = 1)
for (i in 1:length(n1)) {
Muestra <- rbinom(n = n1[i], size = n, prob = p)
Media_Muestral[i] <- sum(Muestra)/n1[i]
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
par(col.axis="#BD1670", col.lab="#1BA1E2", col.main="#FF4D00", fg="#00D146")
plot(n1, Media_Muestral, type = "l", col = "red", las = 1, ylim = c(1,2),
main = bquote("X ~ Bin("~n==.(n)~","~p==.(p)~")"),
xlab = "Tamaño de la Muestra (# Valores simulados)",
ylab = bquote("Media Muestral ("~bar(x)~")"))
abline(h = n*p, col = "#FEBB0E", lwd = 2)En el ejemplo anterior podemos observar como a medida que \(n\) aumenta, es decir, el tamaño de la muestra crece, la media muestral tiende a converger (en probabilidad) a la línea amarilla, que en este caso señala el valor esperado de \(X\), es decir, \((n\cdot p)\). Es decir, \(6\cdot \frac{1}{4} = 1.5\) para el ejemplo en cuestión.
Ejemplo 2). A continuación, realizaremos lo mismo del ejemplo anterior, solo que ahora con una función simétrica, que en este caso tomaremos una Normal, y una asimétrica, que en este caso será una Poisson, para observar cuál de las dos converge más rápidamente, o si por lo contrario no hay diferencia.
# X ~ Normal
par(mfrow=c(1,2))
set.seed(8080)
Mu <- 0; Varianza <- 1
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
n <- c(seq(from = 10, to = 500, by = 5), 550, 800, 1000)
Media_Muestral <- NULL
for (i in 1:length(n)) {
Muestra <- rnorm(n = n[i], mean = Mu, sd = sqrt(Varianza))
Media_Muestral[i] <- sum(Muestra)/n[i]
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
par(col.axis="#00D27F", col.lab="#8A0B80", col.main="#74D600", fg="#0392CF")
plot(n, Media_Muestral, type = "l", col = "orange", las = 1,
main = bquote("X ~ N("~mu==.(Mu)~","~sigma^2==.(Varianza)~")"),
xlab = "Tamaño de la Muestra (# Valores simulados)",
ylab = "Media Muestral", ylim = c(-0.4,0.4))
abline(h = Mu, col = "#7044A6", lwd = 2)
# __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ #
# X ~ Poisson
set.seed(8080)
Lambda <- 2
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
n <- c(seq(from = 10, to = 500, by = 5), 550, 800, 1000)
Media_Muestral <- NULL
for (i in 1:length(n)) {
Muestra <- rpois(n = n[i], lambda = Lambda)
Media_Muestral[i] <- sum(Muestra)/n[i]
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
plot(n, Media_Muestral, type = "l", col = "orangered", las = 1,
main = bquote("X ~ Poisson("~lambda==.(Lambda)~")"),
xlab = "Tamaño de la Muestra (# Valores simulados)",
ylab = "Media Muestral", ylim = c(1.6,2.4))
abline(h = Lambda, col = "#7044A6", lwd = 2)\[ \lim_{n\rightarrow \infty}F_n(\overline{x}_n) = \begin{cases} 0 & \textrm{si } \overline{x}_n<0 \\ 1/2 & \textrm{si } \overline{x}_n=0 \\ 1 & \textrm{si } \overline{x}_n>0 \end{cases} \]
FxMedia <- function(n){
par(mfrow = c(1,2))
par(col.axis="#BD1670", col.lab="#E32E01", col.main="#FBBE00", fg="#00D146")
x <- seq(from = -1, to = 1, by = 0.001)
if (n<1000) {
D <- dnorm(x, 0, 1/sqrt(n))
plot(x, D, xlim = c(-0.5,0.5), col = "deepskyblue2", las = 1, lwd = 2,
type = "l", main = "FUNCIÓN DE DENSIDAD", xlab = "x", ylab = "f(x)")
curve(pnorm(x, 0, 1/sqrt(n)), xlim = c(-0.5,0.5), col = "darkorange1", las = 1, lwd = 2,
main = "FUNCIÓN DE DISTRIBUCIÓN", xlab = "x", ylab = "F(x)")
abline(h = 0.5, col = "firebrick1")
}
else{
D <- dnorm(x, 0, 1/sqrt(n))
plot(x, D, xlim=c(-1,1), col = "deepskyblue2", las = 1, lwd = 2,
type = "l", main = "FUNCIÓN DE DENSIDAD", xlab = "x", ylab = "f(x)")
curve(pnorm(x, 0, 1/sqrt(n)), xlim = c(-1,1), col = "darkorange1", las = 1, lwd = 2,
main = "FUNCIÓN DE DISTRIBUCIÓN", xlab = "x", ylab = "F(x)")
abline(h = 0.5, col = "firebrick1")
}
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
FxMedia(100)Vamos a comprobar que, en general,
\[ X_{i} {\color{DarkOrange} {\Rightarrow}} \begin{cases} {\rm I\!E}(X_i) &= \mu \\ \textrm{Var}(X_i) &= \sigma^2 \end{cases} \\ X_{(i)} {\color{red} {\nRightarrow}} \begin{cases} {\rm I\!E}(X_{(i)}) &= \mu \\ \textrm{Var}(X_{(i)}) &= \sigma^2 \end{cases} \]
Para ello vamos a crear la siguiente matriz, en donde cada columna será una variable aleatoria ordenada de menor a mayor (en este caso solamente lo haremos con \(10\)), y cada registro será una muestra (en este caso tomaremos \(1000\)) de cualquier distribución.
En este caso suponga que \(X \overset{d}{=} \mathcal{N}(\mu, \sigma)\), el siguiente código contempla la matriz antes mencionada.
set.seed(54321)
mu <- 10
sigma <- 1
Tam_Muestra <- 10
Tam_Simu <- 1000
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Estadísticas de Orden
EO <- matrix(0, Tam_Simu, Tam_Muestra)
for (i in 1:Tam_Simu) {
Muestra = rnorm(Tam_Muestra, mu, sigma)
EO[i,] = sort(Muestra)
}Así hemos obtenido una muestra aleatoria de las \(10\) (Tam_Muestra) variables aleatorias ordenadas (estadísticas de orden).
| \(X_{(1)}\) | \(X_{(2)}\) | \(X_{(3)}\) | \(X_{(4)}\) | \(X_{(5)}\) | \(X_{(6)}\) | \(X_{(7)}\) | \(X_{(8)}\) | \(X_{(9)}\) | \(X_{(10)}\) |
|---|---|---|---|---|---|---|---|---|---|
| 8.3078 | 8.3494 | 8.9045 | 9.0720 | 9.2160 | 9.5919 | 9.8211 | 10.1800 | 11.3954 | 12.5160 |
| 7.7522 | 9.0367 | 10.4697 | 10.5224 | 11.1300 | 11.1594 | 11.2641 | 11.3387 | 11.4772 | 11.8748 |
| 8.7144 | 8.7177 | 9.1707 | 9.9720 | 10.0445 | 10.0514 | 10.3123 | 10.4867 | 11.3015 | 11.5778 |
| 7.9328 | 8.8673 | 8.8832 | 9.2782 | 9.4736 | 9.6824 | 9.9877 | 10.1195 | 10.5252 | 10.6925 |
| 9.0759 | 9.0853 | 9.2753 | 9.9955 | 10.3948 | 10.4724 | 10.6020 | 10.7674 | 10.7775 | 10.9056 |
| 8.3544 | 8.9225 | 9.0740 | 9.3718 | 9.4683 | 9.5912 | 9.8619 | 10.5017 | 11.2717 | 11.7669 |
dim(EO)
# [1] 1000 10
EO[1,]
# [1] 8.307758 8.349400 8.904471 9.071956 9.215966 9.591933 9.821099 10.179977 11.395352 12.516046
summary(EO[,1])
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 6.137 8.048 8.471 8.430 8.831 10.270A continuación, graficaremos las densidades de las estadísticas de orden \(X_{(1)}\) y \(X_{(10)}\) (mínimo y el máximo).
par(mfrow=c(1,2))
par(col.axis="#7633F1", col.lab="#830C4C", col.main="#EB015A")
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
hist(EO[, 1], col = ColorF, density = 50, prob = T, las = 1,
xlab = bquote(X[(1)]), ylab = "Densidad", main = "DENSIDAD DEL MÍNIMO")
lines(density(EO[,1]), col = "#0F81D8", lwd = 2)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
hist(EO[, 10], col = ColorG, density = 50, prob = T, las = 1,
xlab = bquote(X[(10)]), ylab = "Densidad", main = "DENSIDAD DEL MÁXIMO")
lines(density(EO[,10]), col = "#2BB800", lwd = 2)Ejemplo 1). Sea \(X_1, X_2, X_3 \textrm{ y } X_4\) una \(\textit{m.a.}\) de \(X \overset{d}{=} \textrm{Beta}(\alpha = 2, \beta = 2)\). Encontrar la probabilidad de que el máximo \(X_{(4)}\) de la muestra sea menor a \(0.9\).
Recuerde que,
\[\begin{align*} P(X_{(4)}<0.9) &= [F_X(x)]^n \\ &= \left( \int_{0}^{0.9}6x(1-x)dx \right)^4 \\ &= (0,972)^4 \\ &= 0,892616 \end{align*}\]
## [1] 0.8926168
Ahora vamos a comprobar el resultado anterior mediante simulación.
set.seed(2000)
Tam_Simu <- 1000
Tam_Muestra <- 4
X4 <- NULL
for ( i in 1:Tam_Simu) {
muestra = rbeta(Tam_Muestra,2,2)
X4[i] = max(muestra)
}
par(col.axis="#FF2640", col.lab="#FF0DBF", col.main="#FF3300")
hist(X4, col = ColorB, density = 50, prob = T, las = 1,
xlab = bquote(X[(4)]), ylab = "Densidad", main = "DENSIDAD DEL MÁXIMO")
lines(density(X4), col = "#1CC513", lwd = 2)Con ello, procederemos a calcular la probabilidad.
CasoFav <- NULL
for (i in 1:Tam_Simu) {
CasoFav[i] <- ifelse(test = X4[i]<0.9, yes = 1, no = 0)
}
( Probabilidad <- sum(CasoFav)/Tam_Simu )## [1] 0.892
Ejemplo 2). Sea \(X_{(n)}\) la n-ésima estadística de orden de una \(\textit{m.a.}\) de \(X \overset{d}{=} \textrm{U}(0, \theta)\). Encontrar la distribución límite de \(X_{(n)}\).
\[ F_X(x)=\left\{\begin{matrix} 0 & x<0 \\ (\frac{x}{\theta}) &0\leq x<\theta \\ 1 & x\geq \theta \end{matrix}\right. \]
\[\begin{align*} F_{X_{(n)}} &= (F_X(x))^{n} \\ &= \left ( \frac{x}{\theta } \right )^{n} \\ \lim_{n\rightarrow \infty}F_{X_{(n)}} &= \lim_{n\rightarrow \infty}\left ( \frac{x}{\theta } \right )^{n} \\ &= \left\{\begin{matrix} 0 & x\leq \theta \\ 1 & x>\theta \end{matrix}\right. \end{align*}\]
Theta <- 1
n <- c(5, 10, 20, 30, 50, 100, 200)
Colors <- c("#BF1029", "#009ABA", "#4FC009", "#BF1369", "#FF6314", "#EEA804", "#1C8F6A")
par(col.axis="#7C00A3", col.lab="#29ABE1", cex.lab=1.5, col.main="#FF4500", cex.main=1.8,
fg="#D11141", mar=c(5,5,2,0.5), las=1)
for(i in 1:length(n)){
curve((x/Theta)^n[i], xlim = c(0,Theta),
add = i>1, type = "l", col = Colors[i], lwd = 2,
main = "Función de Distribución", xlab = bquote(X[(n)]),
ylab = bquote((x/theta)^n))
legend(0, 0.06*i+0.6, legend = bquote(n==.(n[i])),
col = Colors[i], lty = 1, box.col = "transparent", bg = "transparent",
text.col = "black", cex = 1.3)
}Por cómo está definido el estimador de momentos al igual que el estimador de máxima verosimilitud, puede que este no sea único. Por ejemplo, tenemos una muestra aleatoria proveniente de una distribución \(\textrm{Pois}(\lambda)\), se sabe que \({\rm I\!E}(X) = \lambda\), entonces un estimador de momentos de \(\lambda\) es, naturalmente, \(\overline{X}\). Pero también se sabe que \(\textrm{Var}(X) = \lambda\), de esta manera, se tiene otro estimador de \(\lambda\) que es \(S_n^2\).
La pregunta natural ahora es ¿cuál de las dos estimaciones es mejor?, es decir, ¿cuál estimador se acerca más al valor verdadero de \(\lambda\)? No podemos responder a esta pregunta directamente, puesto que no conocemos el valor de \(\lambda\). Más adelante veremos conceptos que nos permiten evaluar la calidad de los estimadores, por ahora un simple ejercicio de simulación nos permitirá elegir uno de forma empírica.
Vamos a simular muestras provenientes de una distribución \(\textrm{Pois}(5)\) y \(\textrm{Pois}(15)\) con un tamaño de muestra \(n=5,\cdots ,300\) y para cada muestra simulada, se calculan las dos estimaciones de momentos \(\overline{x}\) y \(s_n^2\), y se observa cuál es más cercano al valor verdadero del parámetro. La línea amarilla horizontal denota el valor verdadero del parámetro \(\lambda\). El comando en \(\texttt{R}\) y los resultados se presentan a continuación.
set.seed(4321)
Mean_Var.Poisson <- function(Lambda) {
n <- 5:300
Est.Mean <- NULL
Est.Var <- NULL
for (i in 1:length(n)) {
Muestra <- rpois(n[i], Lambda)
Est.Mean[i] <- mean(Muestra)
Est.Var[i] <- (n[i]-1)/n[i]*var(Muestra)
}
par(col.lab="#A32062", col.main="#FF4D00", fg="#069900", las=1)
plot(x = n, y = Est.Var, type = "l", col = "#00ABA9",
xlab = "n", ylab = "Estimación", ylim = c(Lambda-4,Lambda+4),
main = bquote("X ~ Poisson("~lambda==.(Lambda)~")"))
lines(n, Est.Mean, col = "#D41243")
abline(h = Lambda, col = "#FEBB0E", lwd = 2)
legend("bottomright", c("Media","Varianza"), lty = c(1,1),
col = c("#D41243","#00ABA9"), box.col='transparent',
bg = 'transparent', text.col = 1, cex = 0.9)
}
par(mfrow=c(2,1))
Mean_Var.Poisson(Lambda = 5); Mean_Var.Poisson(Lambda = 15)Se puede ver claramente que la media \(\overline{X}\) comparada con \(S_n^2\) estima mejor el parámetro de la distribución, puesto que las estimaciones de \(\overline{X}\) parecen estar más cercanas del valor de \(\lambda\) en ambas gráficas. Más adelante se discutirán métodos formales acerca de la elección entre estimadores, y se verá que el estimador \(\overline{X}\) tiene mejores propiedades que \(S_n^2\).
La función de verosimilitud se define como:
\[\mathcal{L}(X|\theta) = \prod_{i=1}^n f(X_i|\theta) = f(X_1|\theta)f(X_2|\theta)\cdots f(X_n|\theta)\]
y la log-verosimilitud se define como:
\[\log\mathcal{L}(X|\theta)= \log\left(\prod_{i=1}^n f(X_i|\theta)\right) = \sum_{i=1}^n \log(f(X_i|\theta)) = \log(f(X_1|\theta))+\cdots+\log(f(X_n|\theta))\]
Ejemplo 1). Sea \(X \overset{d}{=} \textrm{Exp}(\lambda)\) hallar el estimador de máxima verosimilitud de \(\lambda\).
\[\begin{align*} \mathcal{L}(\lambda) &= \prod_{i=1}^{n}\lambda e^{-\lambda x_i} \\ &= \lambda^n e^{-\lambda \sum_{i=1}^{n} x_i} \\ \ln (\mathcal{L}(\lambda)) &= n\ln(\lambda)-\lambda \sum_{i=1}^{n} x_i \\ \frac{\partial \ln (\mathcal{L}(\lambda))}{\partial \lambda} &= \frac{n}{\lambda} - \sum_{i=1}^{n} x_i = 0\\ \frac{n}{\lambda} &= \sum_{i=1}^{n} x_i \\ \frac{n}{\sum_{i=1}^{n} x_i} &= \lambda \\ \frac{1}{\overline{x}} &= \lambda \\ \frac{\partial^2 \ln (\mathcal{L}(\lambda))}{\partial \lambda^2} ) &= -\frac{n}{\lambda^2} \\ \widehat{\lambda} &= \frac{1}{\overline{x}} \end{align*}\]
Observe que la segunda derivada es estrictamente negativa, luego \(\widehat{\lambda}\) es efectivamente un máximo. Con ello tenemos que \(\widehat{\lambda} = \frac{1}{\overline{x}}\), es decir el inverso de la media empírica, lo que es coherente con el hecho que el parámetro \(\lambda\) es el inverso de la esperanza.
Ejemplo 2). Sea \(X \overset{d}{=} \textrm{Geo}(p)\) \(f(x) = p(1-p)^{x-1}\) hallar el estimador de máxima verosimilitud de \(p\).
\[\begin{align*} \mathcal{L}(p) &= \prod_{i=1}^{n} p(1-p)^{x_i-1} \\ &= p^n (1-p)^{\sum_{i=1}^{n} x_i - n} \\ \ln (\mathcal{L}(p)) &= n\ln(p) + (\sum_{i=1}^{n} x_i - n)\ln(1-p) \\ \frac{\partial \ln (\mathcal{L}(p))}{\partial p} &= \frac{n}{p}-\frac{\sum_{i=1}^{n} x_i - n}{1-p} = 0\\ 0 &= \frac{n-np-p\sum_{i=1}^{n} x_i + np}{p(1-p)} \\ 0 &= n-p\sum_{i=1}^{n} x_i \\ p &= \frac{n}{\sum_{i=1}^{n} x_i} = \frac{1}{\overline{x}} \\ \frac{\partial^2 \ln (\mathcal{L}(p))}{\partial p^2} ) &= -\frac{n}{p^2}-\frac{\sum_{i=1}^{n} x_i - n}{(1-p)^2} \\ \widehat{p} &= \frac{1}{\overline{x}} \end{align*}\]
Observe que la segunda derivada es estrictamente negativa, luego \(\widehat{p}\) es efectivamente un máximo. Con ello tenemos que \(\widehat{p} = \frac{1}{\overline{x}}\), es decir el inverso de la media empírica, lo que es coherente con el hecho que el parámetro \(p\) es el inverso de la esperanza.
Ejemplo 3). Sea \(X \overset{d}{=} \mathcal{N}(\mu,\sigma^2)\) hallar el estimador de máxima verosimilitud de \(\mu\) y \(\sigma\).
\[\begin{align*} \mathcal{L}(\mu,\sigma^2) &= \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} e^{\frac{-(x_i-\mu)^2}{2\sigma^2}} \\ &= \left ( \frac{1}{\sqrt{2\pi\sigma^2}} \right )^n \text{exp} \left \{ -\frac{1}{2\sigma^2} \sum_{i=1}^{n}(x_i-\mu)^2 \right \} \\ \ln (\mathcal{L}(\mu,\sigma^2)) &= n\ln \left ( \frac{1}{\sqrt{2\pi\sigma^2}} \right ) - \frac{1}{2\sigma^2} \sum_{i=1}^{n}(x_i-\mu)^2 \\ \frac{\partial \ln (\mathcal{L}(\mu,\sigma^2))}{\partial \mu} &= \frac{1}{\sigma^2} \sum_{i=1}^{n}(x_i-\mu) \\ \frac{\partial \ln (\mathcal{L}(\mu,\sigma^2))}{\partial \sigma^2} &= -\frac{n}{2\sigma^2}+\frac{1}{2(\sigma^2)^2}\sum_{i=1}^{n}(x_i-\mu)^2 \\ 0 &= \frac{1}{\sigma^2} \sum_{i=1}^{n}x_i-\mu \\ 0 &= -\frac{n}{2\sigma^2}+\frac{1}{2(\sigma^2)^2}\sum_{i=1}^{n}(x_i-\mu)^2 \end{align*}\]
Los estimadores de máxima verosimilitud de \(\mu\) y \(\sigma\) son respectivamente la media y la varianza empíricas de la muestra, \(\overline{x}\) y \(s_n^2\), tal como era de esperar.
Ejemplo 4). Sea \(X:=\) \(\#\) de accidentes de tránsito en la calle 26 en una semana.
\[X \overset{d}{=} \textrm{P}(\lambda)\]
Si se observó que \(x = 2\), hallar la estimación por máxima verosimilitud de \(\lambda\).
# En una muestra se observó x=2
x <- 2
Lambda <- seq(from = 0.1, to = 5, by = 0.1)
Proba <- dpois(x, Lambda)
par(col.lab="#FF4D00", cex.lab=1.5, fg="#FFAB19", mar=c(5,5,0.5,0.5), las=1)
plot(Lambda, Proba, type = "l", col = "#FB2D60", lwd = 3,
xlab = bquote(lambda), ylab = bquote("Probabilidad de "~X==.(x)))
abline(v = x, col = "#24C8A0", lwd = 2, lty = 2)# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
Names <- c("Lambda", "P(X=2)")
A <- cbind(Lambda, round(Proba,5))
colnames(A) <- Names| \(\lambda\) | \(P(X=2)\) |
|---|---|
| 0.1 | 0.00452 |
| 0.2 | 0.01637 |
| 0.3 | 0.03334 |
| 0.4 | 0.05363 |
| 0.5 | 0.07582 |
| 0.6 | 0.09879 |
| 0.7 | 0.12166 |
| 0.8 | 0.14379 |
| 0.9 | 0.16466 |
| 1.0 | 0.18394 |
| 1.1 | 0.20139 |
| 1.2 | 0.21686 |
| 1.3 | 0.23029 |
| 1.4 | 0.24167 |
| 1.5 | 0.25102 |
| 1.6 | 0.25843 |
| 1.7 | 0.26398 |
| 1.8 | 0.26778 |
| 1.9 | 0.26997 |
| 2.0 | 0.27067 |
| 2.1 | 0.27002 |
| 2.2 | 0.26814 |
| 2.3 | 0.26518 |
| 2.4 | 0.26127 |
| 2.5 | 0.25652 |
| 2.6 | 0.25104 |
| 2.7 | 0.24496 |
| 2.8 | 0.23838 |
| 2.9 | 0.23137 |
| 3.0 | 0.22404 |
| 3.1 | 0.21646 |
| 3.2 | 0.20870 |
| 3.3 | 0.20083 |
| 3.4 | 0.19290 |
| 3.5 | 0.18496 |
| 3.6 | 0.17706 |
| 3.7 | 0.16923 |
| 3.8 | 0.16152 |
| 3.9 | 0.15394 |
| 4.0 | 0.14653 |
| 4.1 | 0.13929 |
| 4.2 | 0.13226 |
| 4.3 | 0.12544 |
| 4.4 | 0.11884 |
| 4.5 | 0.11248 |
| 4.6 | 0.10635 |
| 4.7 | 0.10046 |
| 4.8 | 0.09481 |
| 4.9 | 0.08940 |
| 5.0 | 0.08422 |
# __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ #
# En otra muestra se observó x=3
y <- 3
Proba2 <- dpois(y, Lambda)
# Producto
ProbConjunta <- Proba*Proba2
par(col.lab="#FF4D00", cex.lab=1.5, fg="#FFAB19", mfrow=c(1,2), mar=c(5,5,0.5,0.5), las=1)
plot(Lambda, ProbConjunta, xlab = bquote(lambda), ylab = "P(X=2, X=3)",
type = "l", col = "#74D600", lwd = 3)
abline(v = (x+y)/2, col = "#DE0042", lwd = 2, lty = 2)
plot(Lambda, log(ProbConjunta), xlab = bquote(lambda), ylab = "P(X=2, X=3)",
type = "l", col = "#1EBBD7", lwd = 3)
abline(v = (x+y)/2, col = "#DE0042", lwd = 2, lty = 2)## [1] 0.05483355
| \(\lambda\) | \(P(X=2, X=3)\) |
|---|---|
| 0.1 | 0.00000 |
| 0.2 | 0.00002 |
| 0.3 | 0.00011 |
| 0.4 | 0.00038 |
| 0.5 | 0.00096 |
| 0.6 | 0.00195 |
| 0.7 | 0.00345 |
| 0.8 | 0.00551 |
| 0.9 | 0.00813 |
| 1.0 | 0.01128 |
| 1.1 | 0.01487 |
| 1.2 | 0.01881 |
| 1.3 | 0.02298 |
| 1.4 | 0.02725 |
| 1.5 | 0.03151 |
| 1.6 | 0.03562 |
| 1.7 | 0.03949 |
| 1.8 | 0.04303 |
| 1.9 | 0.04616 |
| 2.0 | 0.04884 |
| 2.1 | 0.05104 |
| 2.2 | 0.05273 |
| 2.3 | 0.05391 |
| 2.4 | 0.05461 |
| 2.5 | 0.05483 |
| 2.6 | 0.05462 |
| 2.7 | 0.05401 |
| 2.8 | 0.05303 |
| 2.9 | 0.05175 |
| 3.0 | 0.05019 |
| 3.1 | 0.04842 |
| 3.2 | 0.04646 |
| 3.3 | 0.04437 |
| 3.4 | 0.04217 |
| 3.5 | 0.03991 |
| 3.6 | 0.03762 |
| 3.7 | 0.03532 |
| 3.8 | 0.03304 |
| 3.9 | 0.03081 |
| 4.0 | 0.02863 |
| 4.1 | 0.02652 |
| 4.2 | 0.02449 |
| 4.3 | 0.02255 |
| 4.4 | 0.02072 |
| 4.5 | 0.01898 |
| 4.6 | 0.01734 |
| 4.7 | 0.01581 |
| 4.8 | 0.01438 |
| 4.9 | 0.01305 |
| 5.0 | 0.01182 |
\(\texttt{R}\) puede usarse para encontrar estimadores de máxima verosimilitud en muchos entornos diversos. Discutiremos solo lo más básico aquí y dejaremos el resto a textos más sofisticados.
Para problemas de estimación de un parámetro, podemos usar la función optimize() para encontrar el EMV (estimador máximo verosímil). Los argumentos son, la función a maximizar (la función de probabilidad), el rango sobre el cual se realizará la optimización y, opcionalmente, cualquier otro argumento que se pasará a la probabilidad si es necesario.
Realicemos como ejemplo, la función de probabilidad conjunta dada anteriormente.
x <- 2:3
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
L <- function(x, Lambda) { prod(dpois(x, lambda = Lambda)) }
optimize(L, interval = c(0,5), x = x, maximum = TRUE)## $maximum
## [1] 2.5
##
## $objective
## [1] 0.05483355
Tenga en cuenta que la probabilidad es solo un producto de las funciones de probabilidad de las Poisson. Primero damos algunos datos de muestra (en los valores de datos vectoriales), luego definimos la función de probabilidad L, y finalmente optimizamos L sobre el rango c(0,5), es decir, \(0\leq \lambda \leq5\).
Tenga en cuenta que la función de optimización por defecto minimiza la función L, por lo que tenemos que establecer maximum = TRUE para obtener un EMV. El valor devuelto de $máximo da un valor aproximado del EMV de \(2.5\) y $objective da L evaluado en el EMV que es aproximadamente \(0.05483355\).
Antes comentamos que generalmente es numéricamente más conveniente maximizar la función log-verosimilitud y podemos hacerlo con la misma facilidad en \(\texttt{R}\).
x <- 2:3
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
MinimoLogL <- function(x, Lambda){ -sum(dpois(x, lambda = Lambda)) }
optimize(MinimoLogL, interval = c(0,5), x = x)## $minimum
## [1] 2.449502
##
## $objective
## [1] -0.470496
Tenga en cuenta que no necesitábamos maximum = TRUE porque minimizamos la probabilidad logarítmica negativa. La respuesta para el EMV es esencialmente la misma que antes, pero el valor de $objective fue diferente, por supuesto.
Sea \(X_1, \cdots,X_n\) una muestra aleatoria proveniente de una distribución uniforme continua sobre \((0,\theta)\). En donde para encontrar el estimador de momentos de \(\theta\), se tiene presente que \(\mu = \theta/2\) de donde \(\theta = 2\mu\), entonces se concluye que \(\widehat{\theta}_{mom} = 2\overline{X}\), el cual es diferente al estimador por máxima verosimilitud dado por \(\widehat{\theta}_{MV} = X_{(n)}\)
set.seed(2019)
Unif_Esti <- function(Theta) {
n <- seq(from = 1, to = 300, by = 1)
Est_Momen <- NULL
Est_MV <- NULL
for (i in 1:length(n)) {
Muestra <- runif(n[i], min = 0, max = Theta)
Est_Momen[i] <- 2*mean(Muestra)
Est_MV[i] <- max(Muestra)
}
par(col.lab="#A32062", col.main="#FF4D00", fg="#069900", las=1)
plot(x = n, y = Est_Momen, type = "l", col = "#00ABA9",
xlab = "n", ylim = c(Theta-1,Theta+1),
ylab = bquote("Estimación para "~theta),
main = bquote("X ~ Uniforme( 0,"~.(Theta)~")"))
lines(n, Est_MV, col = "#D41243")
abline(h = Theta, col = "#FEBB0E", lwd = 2)
legend("bottomright", c("MOMENTOS","MV"), lty = c(1,1),
col = c("#00ABA9","#D41243"), box.col = 'transparent',
bg = 'transparent', text.col = 1, cex = 0.9)
}
par(mfrow=c(2,1))
Unif_Esti(Theta = 3); Unif_Esti(Theta = 5)Podemos ver con el estimador de máxima verosimilitud siempre se obtuvieron valores más cercanos al parámetro sin importar el tamaño muestral, aunque las estimaciones de máxima verosimilitud parecen estar por debajo del \(\theta\) verdadero, situación que no sucede con las estimaciones de momentos.
Vamos a verificar que:
mu <- 0
sigma <- 2
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Recorrido de la función para graficarla
Min <- mu-3*sigma; Max <- mu+3*sigma
x <- seq(Min, Max, length = 10000)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
Medias <- NULL
varianza_Inses <- NULL
varianza_Ses <- NULL
Tam_Muestra <- 1000
for (i in 1:Tam_Muestra) {
Muestra = rnorm(Tam_Muestra, mu, sigma)
Medias[i] = mean(Muestra)
varianza_Inses[i] = var(Muestra)
varianza_Ses[i] = (Tam_Muestra-1)/Tam_Muestra*var(Muestra)
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
mean(Medias)## [1] 0.001375969
## [1] 4.009624
## [1] 4.005614
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
par(col.lab="#A32062", cex.lab=1.3, col.main="#FF4D00", cex.main=1.6,
fg="#069900", mar=c(4,4,2,0.5), las=1)
hist(Medias, col = rainbow(8), density = 50, prob = T,
main = bquote("HISTOGRAMA DEL COMPORTAMIENTO DE "~bar(X)),
ylab = "Densidad", xlab = bquote(bar(X)))
lines(x, dnorm(x,mu,sigma/sqrt(Tam_Muestra)), type = "l", col = 4, lwd = 3)
abline(v = mu, col = 2, lwd = 2, lty = 2)# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
par(mfrow=c(2,1))
hist(varianza_Inses, col = rainbow(8), density = 50, prob = T,
main = bquote("HISTOGRAMA DEL COMPORTAMIENTO DE "~S^2),
xlab = bquote(S^2), ylab = "Densidad")
lines(x, dnorm(x, sigma^2 , sqrt(2*sigma^4/(Tam_Muestra-1))),
type = "l", col = 4, lwd = 3)
abline(v = sigma^2, col = 2, lwd = 2, lty = 2)
hist(varianza_Ses, col = rainbow(8), density = 50, prob = T,
main = bquote("HISTOGRAMA DEL COMPORTAMIENTO DE "~S[n]^2),
xlab = bquote(S[n]^2), ylab = "Densidad")
lines(x, dnorm(x, sigma^2 ,sqrt(2*sigma^4/(Tam_Muestra))),
type = "l", col = 4, lwd = 3)
abline(v = sigma^2, col = 2, lwd = 2, lty = 2)Además, podemos verificar que,
\[\frac{(n-1)S^2}{\sigma^2} \overset{d}{=} \Large{\chi^{2}_{(n-1)}}\]
set.seed(1234)
mu <- 0
sigma <- 1
Tam_Muestra <- 10 # Probar con 100 y 1000
Num_Muestras <- 1000
Varianzas <- NULL
for (i in 1:Num_Muestras) {
Muestra = rnorm(Tam_Muestra, mu, sigma)
Varianzas[i] = var(Muestra)
}
A <- ((Tam_Muestra-1)*Varianzas)/(sigma^2)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Recorrido de la función para graficarla
x <- seq(0, 2.5*Tam_Muestra, length = 10000)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
par(col.lab="#A32062", cex.lab=1.3, col.main="#FF4D00", cex.main=1.6,
fg="#069900", mar=c(4,4,2,0.5), las=1)
hist(A, col = rainbow(8), density = 40, prob = T,
main = bquote("HISTOGRAMA DEL COMPORTAMIENTO DE "~S^2),
xlab = bquote(S^2), ylab = "Densidad")
lines(x, dchisq(x,df = Tam_Muestra-1), type = "l", col = "#D41243", lwd = 2)Recuerde que,
En el caso particular en que \(S_n^2\) denota la varianza de una muestra aleatoria de tamaño \(n\) de \(X \overset{d}{=} \mathcal{N}(\mu, \sigma^2)\) entonces, \[\frac{n S_n^2}{(n-1)} \overset{p}{\rightarrow} \sigma^2\]
Revisemos los estimadores \(S^2\) y \(S_n^2\) como estimadores de \(\sigma^2\). Aunque \(S_n^2\) resulta ser sesgado para \(\sigma^2\), el sesgo se hace pequeño cuando el tamaño muestral crece, pues,
\[\lim_{n\rightarrow\infty} B_{S_n^2} = \lim_{n\rightarrow\infty} -\frac{\sigma^2}{n} = 0\]
Para ilustrar los estimadores \(S^2\) y \(S_n^2\) en términos de estimación, podemos simular muestras provenientes de una distribución normal de media 5 y desviación estándar 5 con tamaños de muestra \(n = 2,10,25,\cdots ,1000\), y en cada muestra calculamos los dos estimadores. El comando en \(\texttt{R}\) y los resultados se muestran a continuación.
set.seed(1980)
n <- c(2,10,25,50,100,200,300,500,1000)
Var1 <- NULL
Var2 <- NULL
for (i in 1:length(n)) {
Media = 5; Varianza = 25
Data <- rnorm(n[i], mean = Media, sd = sqrt(Varianza))
Var1[i] <- var(Data)
Var2[i] <- (n[i]-1)/n[i]*var(Data)
}
par(col.lab="#00CC00", cex.lab=1.4, fg="#F67500", mar=c(4,4,0.5,0.5), las=1)
plot(Var1, type = "b", col = "#D81538", lwd = 2,
ylim = c(min(Var2),max(Var1)), xaxt = "n",
xlab = "Tamaño de muestra (# Valores simulados)",
ylab = "Estimación de la varianza")
lines(Var2, type = "b", col = "#15D8B5", lwd = 2, pch = 2)
abline(h = Varianza, lwd = 2, col = "#FFA700")
axis(1, 1:length(n), n)
legend("bottomright", c("INSESGADO", "SESGADO"), lty = c(1,1), pch = c(1,2),
col = c("#D81538","#15D8B5"), box.col = 'transparent', text.col = 1, bg = 'transparent')Ilustración de las estimaciones de \(S^2\) y \(S_n^2\) como estimadores de \(\sigma^2\) en muestras provenientes de una \(\mathcal{N}(5,5^2)\).
Cómo podemos observar las estimaciones del estimador sesgado \(S_n^2\) siempre son inferiores que los del estimador insesgado \(S^2\) ; en segundo lugar, la diferencia entre los dos estimadores se hace cada vez más pequeña y los valores de ambos estimadores se acercan al parámetro teórico a medida que el tamaño muestral crece.
Por otro lado, aunque \(S_n^2\) subestima la varianza teórica, en la gráfica podemos observar momentos en que estuvo por encima de la varianza teórica, esto no es ninguna contradicción con el hecho de que \(S_n^2\) subestima a \(\sigma^2\), ya que el concepto de subestimación de un estimador indica que promediando todos los valores del estimador, da un valor inferior al parámetro, mas no indica que todas las estimaciones obtenidas son inferiores al parámetro.
Sea \(X\) una variable aleatoria con distribución \(F_X(x;\theta)\), la variable aleatoria \(U = F_X(x)\) tiene distribución \(U(0,1)\). De igual modo, si \(U\overset{d}{=}U(0,1)\) entonces \(X = F_X^{-1}(U)\) tiene distribución \(F_X(x;\theta)\). En resumen, tenemos que,
A continuación, comprobaremos dicho resultado mediante simulación, para ello usaremos la distribución normal, puede ser cualquier otra distribución, pero por costumbre usaremos esta. Primero generamos valores aleatorios de \(X \overset{d}{=} \mathcal{N}(\mu, \sigma^2)\) con la función rnorm(), seguidamente definiremos \(U = F_X(x)\) para lo cual tomaremos los valores de \(X\) y mediante pnorm() calcularemos \(F_X(x)\), finalmente graficaremos ambas funciones para observar lo propuesto por el teorema.
# Distribución de X
set.seed(4321)
par(col.axis="#EE2C2C", col.lab="#2B1A3E", col.main="#9E217C", mfrow=c(1,2), las=1)
mu <- 0; sigma <- 1
Min <- mu-3*sigma; Max <- mu+3*sigma
x1 <- seq(Min, Max, length = 1000)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
X <- rnorm(n = 10000, mean = mu, sd = sigma)
hist(X, prob = T, col = FullColor[5:15], xlim = c(Min,Max),
main = "DISTRIBUCIÓN DE X", xlab = bquote(X%~%F[X](x,theta)), ylab = "")
lines(x1, dnorm(x1,mu,sigma), type = "l", col = "#CF0060", lwd = 2)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Transformación U=F(X)
x1 <- seq(0, 1, length = 1000)
U <- pnorm(q = X, mean = mu, sd = sigma)
hist(U, prob = T, col = FullColor[5:15],
main = bquote("DISTRIBUCIÓN DE "~U==F[X](x,theta)),
xlab = bquote(U%~%U(0,1)), ylab = "")
lines(x1, dunif(x1,0,1), type = "l", col = "#CF0060", lwd = 2)Para concluir realizaremos el procedimiento contrario, partiremos de simular valores de \(U\overset{d}{=}U(0,1)\) con la función runif() y realizaremos la transformación \(F_X^{-1}(U)\) mediante la función qnorm(), finalmente graficaremos ambas funciones para observar lo propuesto por el teorema.
# Distribución de U~U(0,1)
set.seed(1234)
par(mfrow=c(1,2))
par(col.axis="#37DA29", col.lab="#D40078", col.main="#FFB100", las=1)
U <- runif(n = 10000, min = 0, max = 1)
hist(U, prob=T, col = FullColorLight[c(1:5,15:19)],
main = "DISTRIBUCIÓN DE U", xlab = expression(U%~%U(0,1)), ylab = "")
x1 <- seq(0, 1, length = 1000)
lines(x1, dunif(x1,0,1), type = "l", col = "#8CD52F", lwd = 2)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Retransformación X=F^-1(U)
x1 <- seq(-3, 3, length = 1000)
X <- qnorm(U, 0, 1)
hist(X, prob = T, col = FullColorLight[c(1:5,15:19)], xlim = c(-3,3),
main = bquote("DISTRIBUCIÓN DE "~X=={F[X]^{-1}}(U)),
xlab = bquote(X%~%F[X](x,theta)), ylab = "")
lines(x1, dnorm(x1,mu,sigma), type = "l", col = "#8CD52F", lwd = 2)\[\begin{equation} \begin{split} \overline{X} &\overset{d}{=} \mathcal{N}(\mu ,\sigma ^{2}/n) \\ \frac{\overline{X}-\mu}{\sigma /\sqrt{n}} &\overset{d}{=} \mathcal{N}(0,1) \end{split} \end{equation}\]
| Parámetro | Estadístico Pivote | Distribución | Intervalo de Confianza |
|---|---|---|---|
| \(\sigma ^{2}\) conocida | \(\sqrt{n}(\overline{X}-\mu)/\sigma\) | \(\mathcal{N}(0,1)\) | \(\large{\overline{x} \pm \mathrm{Z}_{1-\frac{\alpha}{2}}\frac{\sigma}{\sqrt{n}}}\) |
| \(\sigma ^{2}\) desconocida | \(\sqrt{n}(\overline{X}-\mu)/S\) | \(t_{n-1}\) | \(\large{\overline{x} \pm t_{1-\frac{\alpha}{2}}\scriptsize{\mathit{(n-1)}} \large{\frac{s}{\sqrt{n}}}}\) |
| \(``"\) | En el caso en que | \(n>30\) | \(\large{\overline{x} \pm \mathrm{Z}_{1-\frac{\alpha}{2}}\frac{s}{\sqrt{n}}}\) |
\[\mathrm{I.C.}_{(1-\alpha)\%}(\mu)\] Donde \(\mathrm{Z}_{1-\frac{\alpha}{2}}\) es el valor de \(\mathrm{Z}\) que deja un área de \(1-\frac{\alpha}{2}\) a la izquierda. De igual forma, podemos reemplazar en la definición \(\mathrm{Z}_{1-\frac{\alpha}{2}}\) por \(\mathrm{Z}_{\frac{\alpha}{2}}\) donde \(\mathrm{Z}_{\frac{\alpha}{2}}\) seria el valor de \(\mathrm{Z}\) que deja un área de \(\frac{\alpha}{2}\) a la derecha.
Donde \(t_{1-\frac{\alpha}{2}}\scriptsize{\mathit{(n-1)}}\) es el valor \(t\) con \(v=n-1\) grados de libertad que deja un área de \(1-\frac{\alpha}{2}\) a la izquierda.
A continuación, definiremos dos funciones para obtener el intervalo de confianza que uno desee.
IC.Media_VarKnown <- function(Mean_Muestral, Varianza, n, NivConfianza) {
Alpha = 1-NivConfianza
Cuantil <- qnorm(1-(Alpha/2))
Lim_Inf <- round(Mean_Muestral - (Cuantil*(sqrt(Varianza)/sqrt(n))),3)
Lim_Sup <- round(Mean_Muestral + (Cuantil*(sqrt(Varianza)/sqrt(n))),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}IC.Media_VarUnknown <- function(Mean_Muestral, Var_Muestral, n, NivConfianza) {
Alpha = 1-NivConfianza
if(n<100) {
Cuantil <- qt(1-(Alpha/2),n-1)
Lim_Inf <- round(Mean_Muestral - (Cuantil*(sqrt(Var_Muestral)/sqrt(n))),3)
Lim_Sup <- round(Mean_Muestral + (Cuantil*(sqrt(Var_Muestral)/sqrt(n))),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}
else {
Cuantil <- qnorm(1-(Alpha/2))
Lim_Inf <- round(Mean_Muestral - (Cuantil*(sqrt(Var_Muestral)/sqrt(n))),3)
Lim_Sup <- round(Mean_Muestral + (Cuantil*(sqrt(Var_Muestral)/sqrt(n))),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}
}Ejemplo 1).
Se encuentra que la concentración promedio de zinc que se obtiene en una muestra de mediciones en 36 sitios diferentes de un rio es de \(2.6\) gramos por mililitro. Calcule los intervalos de confianza del \(95\%\) y \(99\%\) para la concentración media de zinc en el rio. Suponga que la desviación estándar de la población es de \(0.3\) gramos por mililitro.
## I.C. DEL 95 % DE CONFIANZA =
## ( 2.502 , 2.698 )
## I.C. DEL 99 % DE CONFIANZA =
## ( 2.471 , 2.729 )
Podemos observar que se requiere un intervalo más grande para estimar \(\mu\) con un mayor grado de confianza.
Ejemplo 2).
Se obtienen las calificaciones de matemáticas del Examen de Aptitudes Escolares de una muestra aleatoria de 500 estudiantes del último año de preparatoria del estado de Texas. Se calculan la media y la desviación estándar muestrales, que son \(501\) y \(112\), respectivamente. Calcule un intervalo de confianza del \(99\%\) de la calificación promedio de matemáticas en el SAT para los estudiantes del último año de preparatoria del estado de Texas.
## I.C. DEL 99 % DE CONFIANZA =
## ( 488.098 , 513.902 )
Ejemplo 3).
El director de una empresa anuncia que el salario aumentó en promedio \(3.5\%\), un grupo de trabajadores tomó una muestra de los empleados y obtuvo: \(2\%\), \(3\%\), \(3\%\), \(5\%\), \(1\%\), \(1\%\), \(2\%\), \(1\%\), \(1.5\%\) y \(2\%\).
Construya un I.C. del \(95\%\) para el incremento medio del salario y qué puede concluir.
Datos <- c(2,3,3,5,1,1,2,1,1.5,2)
Media <- mean(Datos)
Var <- var(Datos)
Tamano <- length(Datos)
IC.Media_VarUnknown(Mean_Muestral = Media, Var_Muestral = Var, n = Tamano,
NivConfianza = 0.95)## I.C. DEL 95 % DE CONFIANZA =
## ( 1.257 , 3.043 )
La afirmación es falsa, ya que este intervalo no incluye \(3.5\%\) como valor posible, por lo tanto, concluimos que existe evidencia estadística suficiente para decir que el incremento es menor al anunciado.
Ejemplo 4).
El contenido de ácido sulfúrico de \(7\) contenedores similares es de \(9.8\), \(10.2\), \(10.4\), \(9.8\), \(10.0\), \(10.2\), y \(9.6\) litros. Calcule un intervalo de confianza del \(95\%\) para el contenido promedio de todos los contenedores suponiendo una distribución aproximadamente normal.
Datos <- c(9.8,10.2,10.4,9.8,10,10.2,9.6)
Media <- mean(Datos)
Var <- var(Datos)
Tamano <- length(Datos)
IC.Media_VarUnknown(Mean_Muestral = Media, Var_Muestral = Var, n = Tamano,
NivConfianza = 0.95)## I.C. DEL 95 % DE CONFIANZA =
## ( 9.738 , 10.262 )
| Parámetro | Estadístico Pivote | Distribución | Límite Inferior | Límite Superior |
|---|---|---|---|---|
| \(\sigma^{2}\) | \(\frac{(n-1)S^{2}}{\sigma^{2}}\) | \(\chi^{2}_{n-1}\) | \(\frac{(n-1)s^{2}}{\chi^{2}_{1-\frac{\alpha}{2},(n-1)}}\) | \(\frac{(n-1)s^{2}}{\chi^{2}_{\frac{\alpha}{2},(n-1)}}\) |
\[\mathrm{I.C.}_{(1-\alpha)\%}(\sigma^{2})\] \[\large{\left(\frac{(n-1)s^{2}}{\chi^{2}_{1-\frac{\alpha}{2}\mathit{(n-1)}}},\frac{(n-1)s^{2}}{\chi^{2}_{\frac{\alpha}{2}\mathit{(n-1)}}}\right)}\] Donde \(\chi^{2}_{1-\frac{\alpha}{2}}\scriptsize{\mathit{(n-1)}}\) es el valor de \(\chi^{2}\) con \(v=n-1\) grados de libertad que deja un área de \(1-\frac{\alpha}{2}\) a la izquierda y \(\chi^{2}_{\frac{\alpha}{2}}\scriptsize{\mathit{(n-1)}}\) es el valor de \(\chi^{2}\) con \(v=n-1\) grados de libertad que deja un área de \(\frac{\alpha}{2}\) a la izquierda.
A continuación, definiremos la función para obtener el intervalo de confianza deseado.
IC.Var_Poblacional <- function(Var_Muestral, n, NivConfianza) {
Alpha = 1-NivConfianza
Cuantil1 <- qchisq(1-(Alpha/2),n-1)
Cuantil2 <- qchisq(Alpha/2,n-1)
Lim_Inf <- round(((n-1)*Var_Muestral)/(Cuantil1),3)
Lim_Sup <- round(((n-1)*Var_Muestral)/(Cuantil2),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}Ejemplo 1).
Sean los pesos de \(10\) paquetes distribuidos por cierta empresa. Con \(s^{2} = 0.286\), \(n = 10\). Calcule un I.C. del \(95\%\) para de esos paquetes.
## I.C. DEL 95 % DE CONFIANZA =
## ( 0.135 , 0.953 )
| Parámetro | Estadístico Pivote | Distribución | Intervalo de Confianza |
|---|---|---|---|
| \(p\) | \((\widehat{P}-P)/\sqrt{\frac{\widehat{P}(1-\widehat{P})}{n}}\) | \(\mathcal{N}(0,1)\) | \(\widehat{p} \pm \mathrm{Z}_{1-\frac{\alpha}{2}}\sqrt{\frac{\widehat{p}(1-\widehat{p})}{n}}\) |
\[\mathrm{I.C.}_{(1-\alpha)\%}(p)\]
Donde \(\mathrm{Z}_{1-\frac{\alpha}{2}}\) es el valor de \(\mathrm{Z}\) que deja un área de \(1-\frac{\alpha}{2}\) a la izquierda.
A continuación, definiremos la función para obtener el intervalo de confianza deseado.
IC.Proporcion <- function(Prop_Estimada, n, NivConfianza) {
Alpha = 1-NivConfianza
p = Prop_Estimada
q = 1-Prop_Estimada
Cuantil <- qnorm(1-(Alpha/2))
Lim_Inf <- round(p - (Cuantil*sqrt((p*q/n))),3)
Lim_Sup <- round(p + (Cuantil*sqrt((p*q/n))),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}O bien podemos calcular este intervalo de confianza en \(\texttt{R}\) usando la función prop.test(x, n, conf.level) cuyos argumentos se exponen a continuación:
Ejemplo 1).
En una muestra de \(900\) personas con pelo oscuro se encontró que \(150\) de ellas tenían los ojos azules. Construir un intervalo de confianza al \(95\%\) para la proporción de individuos que teniendo el pelo oscuro posee los ajos azules. ¿Son compatibles estos resultados con la suposición de que dicha proporción vale \(\frac{1}{4}\)?
## I.C. DEL 95 % DE CONFIANZA =
## ( 0.142 , 0.191 )
##
## 1-sample proportions test with continuity correction
##
## data: 150 out of 900, null probability 0.5
## X-squared = 398.67, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.1432251 0.1930061
## sample estimates:
## p
## 0.1666667
Cómo podemos observar el resultado no es compatible la suposición de que dicha proporción vale \(\frac{1}{4} = 0.25\), ya que \(\frac{1}{4}\) no pertenece al intervalo \((0.142,\,\,0.191)\).
INTERPRETACIÓN DEL I.C.
\(\sigma_1^2\) y \(\sigma_2^2\) conocidos.
| Estadístico Pivote | Intervalo de Confianza |
|---|---|
| \(\large{\frac{(\overline{X}-\overline{Y})-(\mu_1-\mu_2)}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}}\) | \(\large{(\overline{x}-\overline{y}) \pm \mathrm{Z}_{1-\frac{\alpha}{2}}\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}\) |
A continuación, definiremos la función para obtener dicho intervalo de confianza.
IC.Dif_Medias_VarsKnown <- function(Mean_1, Mean_2, Varianza1, Varianza2, n1, n2, NivConfianza) {
Alpha = 1-NivConfianza
Cuantil <- qnorm(1-(Alpha/2))
Raiz <- sqrt((Varianza1/n1)+(Varianza2/n2))
Lim_Inf <- round((Mean_1-Mean_2) - (Cuantil*Raiz),3)
Lim_Sup <- round((Mean_1-Mean_2) + (Cuantil*Raiz),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}\(\sigma_1^2\) y \(\sigma_2^2\) desconocidas, pero suponemos que \(\sigma^2=\sigma_1^2=\sigma_2^2\).
| Estadístico Pivote | Intervalo de Confianza |
|---|---|
| \(\large{\frac{(\overline{X}-\overline{Y})-(\mu_1-\mu_2)}{\sqrt{S_p^2(\frac{1}{n_1}+\frac{1}{n_2})}}}\) | \(\large{(\overline{x}-\overline{y}) \pm t_{1-\frac{\alpha}{2}}\scriptsize{\mathit{(n_1+n_2-2)}}\Large{\sqrt{s_p^2(\frac{1}{n_1}+\frac{1}{n_2})}}}\) |
Donde \(s_p^2\) se define como, \[\normalsize{s_p^2=\frac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_2-2}}\]
A continuación, definiremos la función para obtener dicho intervalo de confianza.
IC.Dif_Medias_VarsIguales <- function(Mean_1, Mean_2, Var_Muestral1, Var_Muestral2, n1, n2, NivConfianza) {
Alpha = 1-NivConfianza
Cuantil <- qt(1-(Alpha/2),n1+n2-2)
Raiz <- sqrt((1/n1)+(1/n2))
Sp <- sqrt((((n1-1)*Var_Muestral1)+((n2-1)*Var_Muestral2))/(n1+n2-2))
Lim_Inf <- round((Mean_1-Mean_2) - (Cuantil*Sp*Raiz),3)
Lim_Sup <- round((Mean_1-Mean_2) + (Cuantil*Sp*Raiz),3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}Ejemplo 1).
n1 <- 12; xbar <- 3.11; sx <- 0.771
n2 <- 10; ybar <- 2.04; sy <- 0.448
IC.Dif_Medias_VarsIguales(xbar,ybar,sx^2,sy^2,n1,n2,0.90)## I.C. DEL 90 % DE CONFIANZA =
## ( 0.593 , 1.547 )
Con una confianza del \(90\%\) podemos afirmar que el índice de biodiversidad está disminuyendo en (2).
\(\sigma_1^2\) y \(\sigma_2^2\) desconocidos y \(\sigma_1^2\neq\sigma_2^2\).
| Estadístico Pivote | Intervalo de Confianza |
|---|---|
| \(\Large{\frac{S^2_1/\sigma_x^2}{S^2_2/\sigma_y^2}}\) | \(\left (\Large{\frac{s_1^2}{s_2^2F_{1-\frac{\alpha}{2}}\large{\mathit{(n_1-1,n_2-1)}}},\frac{s_2^2}{s_2^2F_{\frac{\alpha}{2}}\large{\mathit{(n_1-1,n_2-1)}}}} \right )\) |
IC.Raz_Varianzas_MeanUnknown <- function(Var_Muestral1, Var_Muestral2, n1, n2, NivConfianza) {
Alpha = 1-NivConfianza
Cuantil_Inf <- qf(1-(Alpha/2), n1-1, n2-1)
Cuantil_Sup <- qf(Alpha/2, n1-1, n2-1)
Lim_Inf <- round(Var_Muestral1/(Var_Muestral2*Cuantil_Inf), 3)
Lim_Sup <- round(Var_Muestral1/(Var_Muestral2*Cuantil_Sup), 3)
cat(paste("I.C. DEL",NivConfianza*100,"% DE CONFIANZA =","\n ",
"(",Lim_Inf,",",Lim_Sup,")\n"))
}Ejemplo 1).
## I.C. DEL 98 % DE CONFIANZA =
## ( 3.43 , 56.903 )
A continuación, realizaremos algunas pruebas de hipótesis con las funciones que tiene incorporadas \(\texttt{R}\), para lo cual estaremos bajo normalidad.
Prueba de hipótesis para una media (usando la distribución t de Student)
\[ \left\{ \begin{array}{ll} H_{0}: & \mu=10.5\\ H_{1}: & \mu<ó>ó\neq 10.5 \end{array} \right. \]
set.seed(2019)
mu <- 10
sigma <- 5
x <- rnorm(50, mu, sigma)
( A <- t.test(x, alternative = "two.sided", mu = 10.5, conf.level = 0.95) )##
## One Sample t-test
##
## data: x
## t = -1.1968, df = 49, p-value = 0.2371
## alternative hypothesis: true mean is not equal to 10.5
## 95 percent confidence interval:
## 8.151332 11.095330
## sample estimates:
## mean of x
## 9.623331
##
## One Sample t-test
##
## data: x
## t = -1.1968, df = 49, p-value = 0.1186
## alternative hypothesis: true mean is less than 10.5
## 95 percent confidence interval:
## -Inf 10.85139
## sample estimates:
## mean of x
## 9.623331
##
## One Sample t-test
##
## data: x
## t = -1.1968, df = 49, p-value = 0.8814
## alternative hypothesis: true mean is greater than 10.5
## 95 percent confidence interval:
## 8.39527 Inf
## sample estimates:
## mean of x
## 9.623331
Prueba de hipótesis para dos medias (usando la distribución t de Student)
set.seed(2019)
mu1 <- 10; mu2 <- 11
sigma1 <- 5; sigma2 <- 4
x <- rnorm(50, mu1, sigma1)
y <- rnorm(50, mu2, sigma2)
( A <- t.test(x, y, paired = T, alternative = "two.sided",
mu= 1, var.equal = T, conf.level = 0.95,) )##
## Paired t-test
##
## data: x and y
## t = -2.5493, df = 49, p-value = 0.01397
## alternative hypothesis: true difference in means is not equal to 1
## 95 percent confidence interval:
## -2.7398954 0.5572322
## sample estimates:
## mean of the differences
## -1.091332
Prueba de hipótesis para dos varianzas (usando la distribución F de Fisher-Snedecor)
set.seed(2019)
mu <- 10
sigma <- 5
x <- rnorm(50, mu, sigma)
library(webr)
set.seed(2019)
mu1 <- 5; mu2 <- 10
sigma1 <- 1; sigma2 <- 2
x <- rnorm(50, mu1, sigma1)
y <- rnorm(50, mu2, sigma2)
( A <- var.test(x, y, paired = T, alternative = "two.sided",
ratio = 1, conf.level = 0.95) )##
## F test to compare two variances
##
## data: x and y
## F = 0.4599, num df = 49, denom df = 49, p-value = 0.007539
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.2609840 0.8104357
## sample estimates:
## ratio of variances
## 0.459903
Para un sistema de hipótesis, puede haber más de una regla de decisión. En este caso, necesitamos comparar estas reglas de decisión en términos de la probabilidad de cometer los dos tipos de errores, para lo cual se define la función de potencia como,
\[P(\textit{Rechazar }H_0|H_0 \textit{ falsa})\]
Cabe resaltar que la función de potencia cambia su forma de calcularla y su gráfica dependiendo el sistema de hipótesis, si es sobre una o dos muestras y sobre que parámetro estamos realizando la prueba de hipótesis.
Ahora observemos un ejemplo de cómo calcular la función de potencia para la prueba de hipótesis para la media teórica, proveniente de una muestra bajo normalidad, y para el sistema de hipótesis,
\[H_0: \mu=\mu_0 \,\,\textit{ vs. }\,\, H_1: \mu\neq\mu_0\]
Tenemos que,
\[\begin{align*} \pi(\mu) &= P(\textit{Rechazar }H_0|H_0 \textit{ falsa}) \\ &= P(\bar{X}>\mu_0+\mathrm{Z}_{1-\frac{\alpha}{2}}\frac{\sigma}{\sqrt{n}})+P(\bar{X}<\mu_0-\mathrm{Z}_{1-\frac{\alpha}{2}}\frac{\sigma}{\sqrt{n}}) \\ &= P\left ( \frac{\bar{X}-\mu}{\sigma/\sqrt{n}}>\frac{\mu_0-\mu}{\sigma/\sqrt{n}}+\mathrm{Z}_{1-\frac{\alpha}{2}} \right )+P\left ( \frac{\bar{X}-\mu}{\sigma/\sqrt{n}}<\frac{\mu_0-\mu}{\sigma/\sqrt{n}}-\mathrm{Z}_{1-\frac{\alpha}{2}} \right ) \\ &= 1-\Phi\left ( \frac{\mu_0-\mu}{\sigma/\sqrt{n}}+\mathrm{Z}_{1-\frac{\alpha}{2}} \right )+\Phi\left ( \frac{\mu_0-\mu}{\sigma/\sqrt{n}}-\mathrm{Z}_{1-\frac{\alpha}{2}} \right ) \end{align*}\]
donde \(\Phi\) denota la función de distribución de una variable normal estándar.
Es claro que la función de potencia depende del nivel de significancia \(\alpha\) que se interpreta como la probabilidad de cometer el error Tipo I, y se determina de antemano. Como se sabe no se puede minimizar simultáneamente las probabilidades de cometer el error Tipo I y Tipo II (\(\alpha\) y \(\beta\)), entonces se espera que la función de potencia tome valores pequeños cuando \(\alpha\) es pequeño.
Los anteriores comentarios se pueden ilustrar graficando la función de potencia para diferentes tamaños de muestra. Utilizaremos la siguiente sintaxis y la gráfica se presenta a continuación.
Po_Norm <- function(mu, sigma, n, mu0, alpha) {
1-pnorm((mu0-mu)*sqrt(n)/sigma+qnorm(1-alpha/2)) +
pnorm((mu0-mu)*sqrt(n)/sigma-qnorm(1-alpha/2))
}
mu0 <- 0
sigma <- 1
alpha <- 0.05
n <- c(10, 30, 50)
Colores <- c("#1EBBD7", "#FC913A", "#FF4E50")
par(col.lab="#A32062", cex.lab=1.5, col.main="#FFB81C", cex.main=1.8,
fg="#30A736", mar=c(5,5,3,0.5), las=1)
for(i in 1:length(n)){
curve(Po_Norm(x,sigma,n[i],mu0,alpha), xlim = c(-2,2),
add = i>1, xlab = bquote(mu), ylab = bquote(pi(mu)),
bty = "n", col = Colores[i], lwd = 2.5, lty = i)
legend(1.1, 0.05*i+0.1, legend = bquote(n==.(n[i])),
col = Colores[i], lty = i, box.col = "transparent", bg = "transparent",
text.col = "black", cex = 1.5)
}
title("COMPORTAMIENTO DE LA FUNCIÓN DE POTENCIA\n VARIANDO 'n'")Por otro lado, también podemos graficar la función de potencia para diferentes niveles de significancia, para corroborar que entre mayor sea \(\alpha\), mayor es la potencia de la prueba. Una pequeña modificación al anterior código nos arroja la siguiente gráfica.
mu0 <- 0
sigma <- 1
n <- 20
Alphas <- c(0.03, 0.05, 0.1)
Colores <- c("#1EBBD7", "#FC913A", "#FF4E50")
par(col.lab="#A32062", cex.lab=1.5, col.main="#FFB81C", cex.main=1.7,
fg="#30A736", mar=c(5,5,3,0.5), las=1)
for(i in 1:length(Alphas)){
curve(Po_Norm(x,sigma,n,mu0,Alphas[i]), xlim = c(-2,2),
add = i>1, xlab = bquote(mu), ylab = bquote(pi(mu)),
bty = "n", col = Colores[i], lwd = 2.5, lty = i)
legend(1.1, 0.05*i+0.1, legend = bquote(alpha==.(Alphas[i])),
col = Colores[i], lty = i, box.col = "transparent", bg = "transparent",
text.col = "black", cex = 1.5)
}
title(bquote("COMPORTAMIENTO DE LA FUNCIÓN DE POTENCIA VARIANDO "~alpha))A continuación se expone el código \(\texttt{R}\) en el cual mediante simulación podemos apreciar que la potencia \(\pi(\mu)\), es decir, la \(P(\textit{Rechazar }H_0|H_0 \textit{ falsa})\) cuando \(\mu_{alterna}\) está cerca del verdadero de \(\mu\) es pequeña, pero aumenta rápidamente cuando \(\mu_{alterna}\) se aleja del valor verdadero.
mu <- 150
sigma <- 10
n <- 100
alpha <- 0.05
Valor_Critico <- mu+qnorm(1-alpha/2,0,1)*(sigma/sqrt(n))
mu_Alterna <- seq(from = 150, to = 155, by = 0.1)
Potencia <- NULL
for (i in 1:length(mu_Alterna)) {
Cuantila = (Valor_Critico-mu_Alterna[i])/(sigma/sqrt(n))
Potencia[i] = 1-pnorm(Cuantila,0,1)
}
par(col.lab="#B6075D", cex.lab=1.5, col.main="#2EB82E", cex.main=1.8,
fg="#7E00BF", mar=c(5,5,2,0.5), las=1)
plot(mu_Alterna, Potencia, type = "l", col = "#FF3300",
main = "CURVA DE POTENCIA", lwd = 2,
xlab = bquote(mu), ylab = bquote(pi(mu)))
abline(h = alpha, col = "#FFB81C", lty = 2)A continuación realizaremos una pequeña modificación al grafico expuesto anteriormente representando está vez a \(\beta\) mediante la relación \(\beta(\mu)=1-\pi(\mu)\), así podemos apreciar que \(\beta(\mu)\), es decir, la \(P(\textit{No rechazar }H_0|H_0 \textit{ falsa})\) cuando \(\mu_{alterna}\) está cerca del verdadero de \(\mu\) es alta, pero disminuye rápidamente cuando \(\mu_{alterna}\) se aleja del valor verdadero.
par(col.lab="#001372", cex.lab=1.5, col.main="#03CEEB", cex.main=1.8,
fg="#E32E01", mar=c(5,5,2,0.5), las=1)
plot(mu_Alterna, 1-Potencia, type = "l", col = "#37DA29",
main = "CURVA DE BETA", lwd = 2,
xlab = bquote(mu), ylab = bquote(beta(mu)))
abline(h = alpha, col = "#FFB81C", lty = 2)Sea \(X_1, \cdots,X_n\) una muestra aleatoria de \(f_x(x;\theta)\). Sea
\[ \left\{ \begin{array}{ll} H_{0}: & \theta=\theta_0\\ H_{1}: & \theta=\theta_1 \end{array} \right. \]
un sistema de hipótesis simple, el test,
\[ \tau: \textit{Rechazar } H_0 \textit{ si } \lambda=\frac{L(\theta_0;x_1,\cdots,x_n)}{L(\theta_1;x_1,\cdots,x_n)}=\frac{\prod_{i=1}^{n}f_x(x_i;\theta_0)}{\prod_{i=1}^{n}f_x(x_i;\theta_1)}<\lambda_0 \]
recibe el nombre de test de razón de verosimilitud.
Ejemplo). Sea \(X \overset{d}{=} \textrm{P}(\lambda=3)\), se observa que \(x = 3\) y se quiere probar que,
\[ \left\{ \begin{array}{ll} H_{0}: & \theta=3.2\\ H_{1}: & \theta=4 \end{array} \right. \]
## [1] 1.139477
Observe que el numerador es mayor que el denominador, por lo tanto, podemos concluir que si la hipótesis nula es cierta \(\lambda\) tiende a ser “grande”.
Sea \(X \overset{d}{=} \textrm{P}(\lambda=4)\), se observa que \(x = 4\) y se quiere probar que,
\[ \left\{ \begin{array}{ll} H_{0}: & \theta=3\\ H_{1}: & \theta=3.8 \end{array} \right. \]
## [1] 0.8645422
Observe que el denominador es mayor que el numerador, por lo tanto, podemos concluir que si la hipótesis nula es falsa \(\lambda\) tiende a ser “pequeña”.
A continuación, haremos lo mismo, pero para muchos valores de \(x\), asumiendo \(H_0\) tanto cierta como falsa y suponiendo un tamaño de muestra \(n\).
Asumiendo \(H_0\) cierta,
Ho <- 3.2
Ha <- 4.0
n <- 50
x <- rpois(n, lambda = Ho)
Numerador <- 1
Denominador <- 1
for (i in 1:n) {
Numerador = Numerador*dpois(x[i], Ho)
Denominador = Denominador*dpois(x[i], Ha)
}
( Lambda = Numerador/Denominador )## [1] 437.983
Asumiendo \(H_0\) falsa,
Ho <- 3.2
Ha <- 4.0
n <- 50
x <- rpois(n, lambda = Ha)
Numerador <- 1
Denominador <- 1
for (i in 1:n) {
Numerador = Numerador*dpois(x[i], Ho)
Denominador = Denominador*dpois(x[i], Ha)
}
( Lambda = Numerador/Denominador )## [1] 0.009767348
Conclusión: Si la hipótesis nula es cierta \(\lambda\) tiende a ser “grande”, si por lo contrario, la hipótesis nula es falsa \(\lambda\) tiende a ser “pequeña”.
A continuación, realizaremos una generalización del ejemplo anterior, simulando (Tam_Simulacion = 100) muestras aleatorias de tamaño (n = 50) cada una, bajo \(H_0\) (suponiendo \(H_0\) verdadera) y bajo \(H_a\) (suponiendo \(H_0\) falsa).
set.seed(2020)
Ho <- 3.2
Ha <- 4.0
n <- 50
Tam_Simulacion <- 100
Lambda_o <- NULL
for (i in 1:Tam_Simulacion) {
x <- rpois(n, lambda = Ho)
Numerador <- 1
Denominador <- 1
for (j in 1:n) {
Numerador = Numerador*dpois(x[j], Ho)
Denominador = Denominador*dpois(x[j], Ha)
}
Lambda_o[i]= Numerador/Denominador
}
summary(Lambda_o)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.222 24.078 103.333 1235.542 727.120 30391.179
Intervalo_1 <- cut(x = Lambda_o, breaks = seq(0, 1000, 200), include.lowest = T)
Intervalo_Ho <- cut(x = Lambda_o, breaks = seq(0, 100, 20), include.lowest = T)| Intervalo | Freq |
|---|---|
| [0,200] | 60 |
| (200,400] | 9 |
| (400,600] | 5 |
| (600,800] | 1 |
| (800,1e+03] | 6 |
| Intervalo | Freq |
|---|---|
| [0,20] | 23 |
| (20,40] | 14 |
| (40,60] | 5 |
| (60,80] | 5 |
| (80,100] | 3 |
par(col.axis="#AB0947", fg="#9FA09E", col.main="#AB0997", mfrow=c(1,2), las=2)
barplot(table(Intervalo_1), main = "Ho Verdadera", col = ColorG[2:6])
barplot(table(Intervalo_Ho), main = "Ho Verdadera", col = ColorG[7:11])set.seed(2019)
Ho <- 3.2
Ha <- 4.0
n <- 50
Tam_Simulacion <- 100
Lambda_a <- NULL
for (i in 1:Tam_Simulacion) {
x <- rpois(n, lambda = Ha)
Numerador <- 1
Denominador <- 1
for (j in 1:n) {
Numerador = Numerador*dpois(x[j], Ho)
Denominador = Denominador*dpois(x[j], Ha)
}
Lambda_a[i]= Numerador/Denominador
}
summary(Lambda_a)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000004 0.001946 0.023846 0.211265 0.096651 7.890001
Intervalo_1 <- cut(x = Lambda_a, breaks = seq(0, 100, 20), include.lowest=T)
Intervalo_Ha <- cut(x = Lambda_a, breaks = seq(0, 5, 0.5), include.lowest=T)| Intervalo | Freq |
|---|---|
| [0,20] | 100 |
| (20,40] | 0 |
| (40,60] | 0 |
| (60,80] | 0 |
| (80,100] | 0 |
| Intervalo | Freq |
|---|---|
| [0,0.5] | 92 |
| (0.5,1] | 3 |
| (1,1.5] | 3 |
| (1.5,2] | 0 |
| (2,2.5] | 0 |
| (2.5,3] | 1 |
| (3,3.5] | 0 |
| (3.5,4] | 0 |
| (4,4.5] | 0 |
| (4.5,5] | 0 |
par(col.axis="#AB0947", fg="#9FA09E", col.main="#AB0997", mfrow=c(1,2), las=2)
barplot(table(Intervalo_1), main = "Ho Falsa", col = ColorG[2:6])
barplot(table(Intervalo_Ha), main = "Ho Falsa", col = ColorG[7:11])Como observamos mediante el ejercicio de simulación, podemos percatarnos que efectivamente el comportamiento de \(\lambda\) es como los resultados teóricos proponen, a continuación, se expone la comparación del comportamiento de \(\lambda\).
par(mfrow=c(1,2), las=2)
barplot(table(Intervalo_Ho), col = rainbow(5,alpha = 0.7),
main = bquote("Distribución de "~lambda~" bajo "~H[0]))
barplot(table(Intervalo_Ha), col = rainbow(5,alpha = 0.7),
main = bquote("Distribución de "~lambda~" bajo "~H[a]))Conclusión: Bajo \(H_0\) las lambdas son “grandes” y bajo \(H_a\) las lambdas son “pequeñas”. Es decir, debe rechazarse, de acuerdo con la simulación, la hipótesis nula si \(\lambda\) es “pequeña”.
Sea \(X_1, \cdots,X_nX_1,\cdots,X_n\) una muestra aleatoria de \(f_x(x;\theta)\). Sea
\[ \left\{ \begin{array}{ll} H_{0}: & \theta=\theta_0\\ H_{1}: & \theta<ó>ó\neq\theta_1 \end{array} \right. \]
un sistema de hipótesis compuesta, el test,
\[ \tau: \textit{Rechazar } H_0 \textit{ si } \lambda=\frac{\textit{Sup}_{\theta\in\Theta_0}L(\theta;x_1,\cdots,x_n)}{\textit{Sup}_{\theta\in\Theta}L(\theta;x_1,\cdots,x_n)}<\lambda_0 \]
recibe el nombre de test de razón de verosimilitud generalizada.
Recordemos que la función de verosimilitud es máxima en el EMV, para el siguiente ejemplo usaremos el caso de una Normal, pero puede ser cualquier otra distribución.
Suponga que se quiere probar,
\[ \left\{ \begin{array}{ll} H_{0}: & \mu=0 \\ H_{1}: & \mu>0 \end{array} \right. \]
A continuación, observaremos la distribución de \(\lambda\) bajo \(h_0\), mediante simulación, para lo cual tomaremos una muestra bajo \(h_0\) (\(\mu = 0\)), con lo cual deberíamos obtener que \(\lambda\) debería estar cercano a \(1\).
set.seed(2019)
n <- 10
Sigma <- 1
mu0 <- seq(from = -3, to = 0, length = 100)
mu1 <- seq(from = -3, to = 3, length = 100)
Lambda <- NULL
for (i in 1:100) {
muHo <- 0
x <- rnorm(n, muHo, Sigma)
L_Num <- NULL
L_Den <- NULL
for(j in 1:100) {
L_Num[j] = prod(dnorm(x,mu0[j],Sigma))
L_Den[j] = prod(dnorm(x,mu1[j],Sigma))
}
Lambda[i] = max(L_Num)/max(L_Den)
}
( Lambda <- round(Lambda,2) )## [1] 1.00 1.00 0.90 1.00 0.90 1.00 1.00 0.42 1.00 1.00 1.00 1.00 1.00 0.16 0.95
## [16] 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.52 1.00 1.00 1.00 1.00
## [31] 1.00 1.00 1.00 1.00 1.00 1.00 0.99 1.00 0.48 0.87 1.00 1.00 0.40 1.00 1.00
## [46] 1.00 0.99 0.27 0.95 1.00 1.00 0.99 0.95 1.00 0.76 0.86 1.00 0.31 1.00 1.00
## [61] 1.00 1.00 1.00 1.00 1.00 1.00 0.15 1.00 1.00 1.00 1.00 0.52 1.00 1.00 0.37
## [76] 1.00 0.52 1.00 0.55 1.00 0.85 0.23 1.00 1.00 1.00 1.00 0.59 1.00 0.98 1.00
## [91] 1.00 1.00 0.91 1.00 0.96 0.12 0.73 0.80 1.00 1.00
par(col.axis="#CF0060", col.lab="#FF621E", col.main="#13A8FE", las=1)
hist(Lambda, col = rainbow(8), density = 40, xlim = c(0,1),
main = bquote("Distribución Bajo "~H[0]), xlab = bquote(lambda), ylab = "Densidad")Ahora observaremos la distribución de \(\lambda\) bajo \(h_a\), mediante simulación, para lo cual tomaremos una muestra bajo \(h_a\) (\(\mu>0\)), con lo cual deberíamos obtener que \(\lambda\) debería ser “pequeña”.
set.seed(2019)
n <- 10
Sigma <- 1
mu0 <- seq(from = -3, to = 0, length = 100)
mu1 <- seq(from = -3, to = 3, length = 100)
Lambda <- NULL
for (i in 1:100) {
muHa <- runif(1, 0.1,3)
x <- rnorm(n, muHa, Sigma)
L_Num <- NULL
L_Den <- NULL
for(j in 1:100) {
L_Num[j] = prod(dnorm(x,mu0[j],Sigma))
L_Den[j] = prod(dnorm(x,mu1[j],Sigma))
}
Lambda[i] = max(L_Num)/max(L_Den)
}
( Lambda <- round(Lambda,2) )## [1] 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.01 0.09 0.01 0.00
## [16] 1.00 0.00 0.00 1.00 0.92 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [31] 0.01 0.15 0.00 0.02 0.09 0.00 0.40 0.00 1.00 0.00 0.00 0.01 0.00 0.19 0.00
## [46] 0.00 0.00 0.02 0.00 0.09 0.14 0.00 0.02 0.01 0.00 1.00 0.55 0.05 0.00 0.32
## [61] 0.10 0.00 0.00 0.00 0.00 0.52 0.00 0.00 0.00 0.00 0.91 0.00 1.00 0.93 0.01
## [76] 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.38 0.00 0.00 0.00 0.03 0.00 0.27
## [91] 0.00 0.00 0.05 0.00 0.00 0.00 0.01 0.00 0.36 0.00
par(col.axis="#CF0060", col.lab="#FF621E", col.main="#13A8FE", las=1)
hist(Lambda, col = rainbow(8), density = 40, xlim = c(0,1),
main = bquote("Distribución Bajo "~H[a]), xlab = bquote(lambda), ylab = "Densidad")Una familia de densidades \(f(x;\theta)\) tiene razón monótona de verosimilitudes en la estadística \(T=t(X_1, \cdots,X_n)\), si para dicha estadística,
\[\frac{L(\theta_1;x_1,\cdots,x_n)}{L(\theta_2;x_1,\cdots,x_n)}\]
Es función no creciente de \(t(x_1,\cdots,x_n)\) para \(\theta_1<\theta_2\), o es función no decreciente de \(t(x_1, \cdots,x_n)\) para \(\theta_1>\theta_2\).
Ejemplo 1). Distribución Poisson <\(X \overset{d}{=} \textrm{P}(\lambda)\)>.
\[\begin{align*} f(x;\theta) &= \frac{e^{-\theta}\theta^{x}}{x!} \\ L(\theta;x_1,\cdots,x_n) &= \frac{e^{-n\theta}\theta^{\sum_{i=1}^{n}X_i}}{\prod_{i=1}^{n}X_i!} \\ \frac{L(\theta_1;x_1,\cdots,x_n)}{L(\theta_2;x_1,\cdots,x_n)} &= e^{n(\theta_1-\theta_2)}\left ( \frac{\theta_1}{\theta_2} \right )^{\sum_{i=1}^{n}X_i} = y \end{align*}\]
Theta <- 2; Theta1 <- 3; Theta2 <- 4
n <- 20
Lambda <- NULL
Suma <- NULL
for (i in 1:50) {
x <- rpois(n, lambda = Theta)
Suma[i] = sum(x)
Lambda[i] = exp(n*(Theta2-Theta1))*(Theta1/Theta2)^(Suma[i])
}
par(col.axis="#DB165B", col.lab="#FF1414", cex.lab=1.5, col.main="#FF621E", cex.main=1.8,
fg="#FF8D00", mar=c(5,5,2,0.5))
plot(Suma, Lambda, type = "p", pch = 18, col = 3, cex = 2,
main = bquote(X[i]~"~ Poisson ("~lambda~") ES MONÓTONA DECRECIENTE"),
xlab = bquote(sum(x[i])), ylab = bquote(lambda))La anterior función es decreciente (no creciente) en \(\sum_{i=1}^{n}X_i\) puesto que \(\theta_1<\theta_2\), además, cuando \(\sum_{i=1}^{n}X_i\) aumenta \(y\) disminuye. Por lo tanto, la distribución Poisson tiene razón de verosimilitud monótona en \(\sum_{i=1}^{n}X_i\).
Ejemplo 2). Distribución Exponencial <\(X \overset{d}{=} \textrm{Exp}(\theta)\)>.
\[\begin{align*} f(x;\theta) &= \theta e^{-\theta x} \\ L(\theta;x_1,\cdots,x_n) &= \theta^{n} e^{-\theta \sum_{i=1}^{n}X_i} \\ \frac{L(\theta_1;x_1,\cdots,x_n)}{L(\theta_2;x_1,\cdots,x_n)} &= \left ( \frac{\theta_1}{\theta_2} \right )^{n} e^{-(\theta_1-\theta_2)\sum_{i=1}^{n}X_i} = y \end{align*}\]
Theta <- 2; Theta1 <- 3; Theta2 <- 4
n <- 20
Lambda <- NULL
Suma <- NULL
for (i in 1:50) {
x <- rexp(n, rate = Theta)
Suma[i] = sum(x)
Lambda[i] = (Theta1/Theta2)^n*exp((Theta2-Theta1)*Suma[i])
}
par(col.axis="#DB165B", col.lab="#FF1414", cex.lab=1.5, col.main="#FF621E", cex.main=1.8,
fg="#FF8D00", mar=c(5,5,2,0.5))
plot(Suma, Lambda, type = "p", pch = 18, col = 4, cex = 2,
main = bquote(X[i]~"~ Exp ("~theta~") ES MONÓTONA CRECIENTE"),
xlab = bquote(sum(x[i])), ylab = bquote(theta))La anterior función es creciente (no decreciente) en \(\sum_{i=1}^{n}X_i\). Luego la distribución Exponencial tiene razón de verosimilitud monótona en \(\sum_{i=1}^{n}X_i\).
Este obra cuyo autor es Jeison Mauricio Alarcón Becerra está bajo una licencia de Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional de Creative Commons.
Creado a partir de la obra en https://rpubs.com/JeisonAlarcon.