8 problemas con soluciones en R y gráficos para cada caso. Temas: distribución muestral de \(\bar X\), TLC, inferencia simple sobre \(\mu\), y diferencia entre dos medias.
Listo para knit y subir a RPubs.
library(ggplot2)
library(dplyr)
theme_set(theme_minimal(base_size = 12))
Funciones auxiliares para sombrear colas/bandas de una normal (para \(\bar X\) o diferencias de medias) y graficar.
# Densidad normal como data.frame para ggplot
dnorm_df <- function(mu, sd, from = mu - 4*sd, to = mu + 4*sd, n = 1000){
x <- seq(from, to, length.out = n)
y <- dnorm(x, mean = mu, sd = sd)
data.frame(x = x, y = y)
}
# Sombrear cola derecha: P(X >= c)
shade_right <- function(mu, sd, c){
df <- dnorm_df(mu, sd)
df$shade <- ifelse(df$x >= c, df$y, NA_real_)
ggplot(df, aes(x, y)) +
geom_line(size = 1) +
geom_area(aes(y = shade), na.rm = TRUE, alpha = 0.25) +
geom_vline(xintercept = c, linetype = 2) +
labs(x = "Media muestral", y = "Densidad",
subtitle = sprintf("Cola derecha: P( X \u2265 %.3f )", c))
}
# Sombrear cola izquierda: P(X <= c)
shade_left <- function(mu, sd, c){
df <- dnorm_df(mu, sd)
df$shade <- ifelse(df$x <= c, df$y, NA_real_)
ggplot(df, aes(x, y)) +
geom_line(size = 1) +
geom_area(aes(y = shade), na.rm = TRUE, alpha = 0.25) +
geom_vline(xintercept = c, linetype = 2) +
labs(x = "Media muestral", y = "Densidad",
subtitle = sprintf("Cola izquierda: P( X \u2264 %.3f )", c))
}
# Sombrear banda central: P(l <= X <= u)
shade_between <- function(mu, sd, l, u){
df <- dnorm_df(mu, sd)
df$shade <- ifelse(df$x >= l & df$x <= u, df$y, NA_real_)
ggplot(df, aes(x, y)) +
geom_line(size = 1) +
geom_area(aes(y = shade), na.rm = TRUE, alpha = 0.25) +
geom_vline(xintercept = c(l, u), linetype = 2) +
labs(x = "Media muestral", y = "Densidad",
subtitle = sprintf("Banda: P( %.3f \u2264 X \u2264 %.3f )", l, u))
}
# Sombreo para |X - mu| >= d (colas simétricas)
shade_two_tails <- function(mu, sd, d){
l <- mu - d; u <- mu + d
df <- dnorm_df(mu, sd)
df$shade <- ifelse(df$x <= l | df$x >= u, df$y, NA_real_)
ggplot(df, aes(x, y)) +
geom_line(size = 1) +
geom_area(aes(y = shade), na.rm = TRUE, alpha = 0.25) +
geom_vline(xintercept = c(l, u), linetype = 2) +
labs(x = "Media muestral", y = "Densidad",
subtitle = sprintf("Dos colas: P( |X - \u03BC| \u2265 %.3f )", d))
}
Una fábrica produce piezas con peso \(\mu = 50\) g y \(\sigma = 10\) g. Muestra \(n = 25\). Calcular \(P(\bar X > 53)\).
Cálculo.
\(Z = \dfrac{53 - 50}{10/\sqrt{25}} = 1.50
\Rightarrow P = 1 - \Phi(1.50)\).
mu <- 50; sigma <- 10; n <- 25; xbar <- 53
z <- (xbar - mu) / (sigma / sqrt(n))
p <- 1 - pnorm(z)
list(Z = round(z,3), Prob = round(p,4))
## $Z
## [1] 1.5
##
## $Prob
## [1] 0.0668
Gráfico. (Distribución de \(\bar X\) con cola derecha sombreada)
mu_bar <- mu; sd_bar <- sigma/sqrt(n)
shade_right(mu_bar, sd_bar, xbar) + ggtitle("Problema 1: Distribución muestral de la media")
Sueldos: \(\mu = 100\), \(\sigma = 15\). Muestra \(n = 36\). Calcular \(P(98 \le \bar X \le 102)\).
Cálculo.
\(Z_1 = -0.8, Z_2 = 0.8 \Rightarrow P =
\Phi(0.8) - \Phi(-0.8)\).
mu <- 100; sigma <- 15; n <- 36
z1 <- (98 - mu) / (sigma / sqrt(n))
z2 <- (102 - mu) / (sigma / sqrt(n))
p <- pnorm(z2) - pnorm(z1)
list(Z_inf = round(z1,3), Z_sup = round(z2,3), Prob = round(p,4))
## $Z_inf
## [1] -0.8
##
## $Z_sup
## [1] 0.8
##
## $Prob
## [1] 0.5763
Gráfico. (Banda central sombreada)
mu_bar <- mu; sd_bar <- sigma/sqrt(n)
shade_between(mu_bar, sd_bar, 98, 102) + ggtitle("Problema 2: Banda para χ̅")
Gasto semanal: \(\mu = 200\), \(\sigma = 40\). Muestra \(n = 64\). Calcular \(P(\bar X < 190)\).
Cálculo.
\(Z = -2.00 \Rightarrow P =
\Phi(-2.00)\).
mu <- 200; sigma <- 40; n <- 64; xbar <- 190
z <- (xbar - mu) / (sigma / sqrt(n))
p <- pnorm(z)
list(Z = round(z,3), Prob = round(p,4))
## $Z
## [1] -2
##
## $Prob
## [1] 0.0228
Gráfico. (Cola izquierda sombreada)
mu_bar <- mu; sd_bar <- sigma/sqrt(n)
shade_left(mu_bar, sd_bar, 190) + ggtitle("Problema 3: Cola izquierda para χ̅")
Proceso: \(\mu = 500\), \(\sigma = 20\). Muestra \(n = 49\). Calcular \(P(|\bar X - \mu| \ge 5)\).
Cálculo.
\(Z = 1.75 \Rightarrow P = 2[1 -
\Phi(1.75)]\).
mu <- 500; sigma <- 20; n <- 49; d <- 5
z <- d / (sigma / sqrt(n))
p <- 2 * (1 - pnorm(z))
list(Z = round(z,3), Prob = round(p,4))
## $Z
## [1] 1.75
##
## $Prob
## [1] 0.0801
Gráfico. (Dos colas sombreadas)
mu_bar <- mu; sd_bar <- sigma/sqrt(n)
shade_two_tails(mu_bar, sd_bar, d) + ggtitle("Problema 4: Dos colas | χ̅ - μ | ≥ d")
Si \(X \sim U(0,1)\) (\(\mu = 0.5\), \(\sigma = \sqrt{1/12}\)). Para \(n = 100\), calcular \(P(\bar X \ge 0.54)\) por TLC.
Cálculo (TLC).
\(Z = \dfrac{0.54 - 0.5}{\sigma/\sqrt{100}}
\Rightarrow P = 1 - \Phi(Z)\).
mu <- 0.5; sigma <- sqrt(1/12); n <- 100; xbar <- 0.54
z <- (xbar - mu) / (sigma / sqrt(n))
p <- 1 - pnorm(z)
list(Z = round(z,3), Prob = round(p,4))
## $Z
## [1] 1.386
##
## $Prob
## [1] 0.0829
Gráfico 1. (Cola derecha por aproximación normal de \(\bar X\))
mu_bar <- mu; sd_bar <- sigma/sqrt(n)
shade_right(mu_bar, sd_bar, xbar) + ggtitle("Problema 5: TLC — cola derecha para χ̅")
Gráfico 2. (Simulación del TLC: histograma de \(\bar X\) vs. curva normal)
set.seed(123)
B <- 2000
xbar_sims <- replicate(B, mean(runif(n)))
df <- data.frame(xbar = xbar_sims)
ggplot(df, aes(xbar)) +
geom_histogram(aes(y = ..density..), bins = 40, alpha = 0.35) +
stat_function(fun = dnorm, args = list(mean = mu_bar, sd = sd_bar), size = 1) +
geom_vline(xintercept = xbar, linetype = 2) +
labs(title = "TLC por simulación (Uniforme(0,1))",
x = "Media muestral simulada", y = "Densidad")
Tiempo de traslado: \(\mu = 28\), \(\sigma = 5\). Con \(n = 40\), hallar \(P(\bar X \ge 30.5)\).
Cálculo.
\(Z = \dfrac{30.5 - 28}{5/\sqrt{40}}
\Rightarrow P = 1 - \Phi(Z)\).
mu <- 28; sigma <- 5; n <- 40; xbar <- 30.5
z <- (xbar - mu) / (sigma / sqrt(n))
p <- 1 - pnorm(z)
list(Z = round(z,3), Prob = round(p,4))
## $Z
## [1] 3.162
##
## $Prob
## [1] 8e-04
Gráfico. (Cola derecha sombreada)
mu_bar <- mu; sd_bar <- sigma/sqrt(n)
shade_right(mu_bar, sd_bar, xbar) + ggtitle("Problema 6: TLC — cola derecha para χ̅")
Se afirma \(\mu_0=500\), \(\sigma=20\). Con \(n=100\) se observa \(\bar X=507\). Calcular \(P(\bar X \ge 507 \mid \mu=500)\).
Cálculo.
\(Z = \dfrac{507 - 500}{20/\sqrt{100}}
\Rightarrow P = 1 - \Phi(Z)\).
mu0 <- 500; sigma <- 20; n <- 100; xbar <- 507
z <- (xbar - mu0) / (sigma / sqrt(n))
p <- 1 - pnorm(z)
list(Z = round(z,3), Prob = round(p,5))
## $Z
## [1] 3.5
##
## $Prob
## [1] 0.00023
Gráfico. (Cola derecha sombreada respecto de \(\mu_0\))
mu_bar <- mu0; sd_bar <- sigma/sqrt(n)
shade_right(mu_bar, sd_bar, xbar) + ggtitle("Problema 7: Cola derecha bajo H0: μ = 500")
Comparar gastos (misma moneda):
- Grupo A: \(n_1=40\), \(\bar X_1=5200\), \(\sigma_1=600\)
- Grupo B: \(n_2=50\), \(\bar X_2=4900\), \(\sigma_2=550\)
Calcular \(P(\bar X_1 - \bar X_2 \ge 400 \mid \mu_1=\mu_2)\).
Cálculo.
Bajo \(\mu_1=\mu_2\),
\(\bar X_1 - \bar X_2 \sim N\!\left(0,\
\dfrac{\sigma_1^2}{n_1} + \dfrac{\sigma_2^2}{n_2}\right)\).
n1 <- 40; x1 <- 5200; s1 <- 600
n2 <- 50; x2 <- 4900; s2 <- 550
EE <- sqrt(s1^2/n1 + s2^2/n2)
z <- ((x1 - x2) - 0) / EE
p <- 1 - pnorm(z)
list(EE = round(EE,3), Z = round(z,3), Prob = round(p,4))
## $EE
## [1] 122.678
##
## $Z
## [1] 2.445
##
## $Prob
## [1] 0.0072
Gráfico. (Distribución de \(\bar X_1 - \bar X_2\) con cola \(\ge 400\) sombreada)
mu_diff <- 0
sd_diff <- EE
shade_right(mu_diff, sd_diff, 400) + ggtitle("Problema 8: Diferencia de medias — cola derecha")
.Rmd
a HTML en
RStudio.title:
y author:
en el
YAML, y agregar el logo de cátedra si querés.