PRIMERA PARTE

Distribuciones muestrales

  1. Para una variable con distribución normal estandar determine el valor de z tal que:

P(−z<Z<z)=0.90 P(z<Z<1)=0.40 P(z<Z)=0.05 P(Z>z)=0.80 En cada caso represente la situación gráficamente:

z <- qnorm((1 + 0.90) / 2)

x <- seq(-4, 4, length=1000)

y <- dnorm(x)

plot(x, y, type="l", col="red")

x_fill <- seq(-z, z, length=1000)
y_fill <- dnorm(x_fill)
polygon(c(-z, x_fill, z), c(0, y_fill, 0), col="pink")

z <- qnorm(1 - 0.40)

x <- seq(-4, 4, length=1000)

y <- dnorm(x)

plot(x, y, type="l", col="red")

x_fill <- seq(z, 1, length=1000)
y_fill <- dnorm(x_fill)
polygon(c(z, x_fill, 1), c(0, y_fill, 0), col="pink")

z <- qnorm(0.95)

x <- seq(-4, 4, length=1000)

y <- dnorm(x)

plot(x, y, type="l", col="red")

x_fill <- seq(z, 4, length=1000)
y_fill <- dnorm(x_fill)
polygon(c(z, x_fill, 4), c(0, y_fill, 0), col="pink")

z <- qnorm(0.80)

x <- seq(-4, 4, length=1000)

y <- dnorm(x)

plot(x, y, type="l", col="red")

x_fill <- seq(z, 4, length=1000)
y_fill <- dnorm(x_fill)
polygon(c(z, x_fill, 4), c(0, y_fill, 0), col="pink")

  1. Sea X∼N(50,10), Determine las siguientes probabilidades:

P(X<40) P(X<65) P(X>55) P(X>35) P(40<X<45) P(38<X<62) En cada caso represente la situación gráficamente:

x <- seq(10, 90, length=1000)
y <- dnorm(x, mean=50, sd=10)
plot(x, y, type="l", col="red")
x_fill <- seq(10, 40, length=1000)
y_fill <- dnorm(x_fill, mean=50, sd=10)
polygon(c(10, x_fill, 40), c(0, y_fill, 0), col="pink")

x <- seq(10, 90, length=1000)
y <- dnorm(x, mean=50, sd=10)
plot(x, y, type="l", col="red")
x_fill <- seq(10, 65, length=1000)
y_fill <- dnorm(x_fill, mean=50, sd=10)
polygon(c(10, x_fill, 65), c(0, y_fill, 0), col="pink")

x <- seq(10, 90, length=1000)
y <- dnorm(x, mean=50, sd=10)
plot(x, y, type="l", col="red")
x_fill <- seq(55, 90, length=1000)
y_fill <- dnorm(x_fill, mean=50, sd=10)
polygon(c(55, x_fill, 90), c(0, y_fill, 0), col="pink")

x <- seq(10, 90, length=1000)
y <- dnorm(x, mean=50, sd=10)
plot(x, y, type="l", col="red")
x_fill <- seq(35, 90, length=1000)
y_fill <- dnorm(x_fill, mean=50, sd=10)
polygon(c(35, x_fill, 90), c(0, y_fill, 0), col="pink")

x <- seq(10, 90, length=1000)
y <- dnorm(x, mean=50, sd=10)
plot(x, y, type="l", col="red")
x_fill <- seq(40, 45, length=1000)
y_fill <- dnorm(x_fill, mean=50, sd=10)
polygon(c(40, x_fill, 45), c(0, y_fill, 0), col="pink")

x <- seq(10, 90, length=1000)
y <- dnorm(x, mean=50, sd=10)
plot(x, y, type="l", col="red")
x_fill <- seq(38, 62, length=1000)
y_fill <- dnorm(x_fill, mean=50, sd=10)
polygon(c(38, x_fill, 62), c(0, y_fill, 0), col="pink")

  1. Sea X∼N(10,5) . Encontrar los valores de x que corresponden a las siguientes probabilidades:

P(X<x)=0.05 P(X<x)=0.95 P(X<x)=0.99 P(X<x)=0.01 P(X<x)=0.025 P(X<x)=0.975 En cada caso represente la situación gráficamente:

x_val <- qnorm(0.05, mean=10, sd=5)

x <- seq(-10, 30, length=1000)
y <- dnorm(x, mean=10, sd=5)

plot(x, y, type="l", col="red", main="P(X < x) = 0.05", xlab="X", ylab="Densidad")

x_fill <- seq(-10, x_val, length=1000)
y_fill <- dnorm(x_fill, mean=10, sd=5)
polygon(c(-10, x_fill, x_val), c(0, y_fill, 0), col="pink")

abline(v=x_val, col="blue", lty=2)

text(x_val, dnorm(x_val, mean=10, sd=5), labels=paste("x =", round(x_val, 2)), pos=4)

x_val <- qnorm(0.95, mean=10, sd=5)

x <- seq(-10, 30, length=1000)
y <- dnorm(x, mean=10, sd=5)

plot(x, y, type="l", col="red", main="P(X < x) = 0.95", xlab="X", ylab="Densidad")

x_fill <- seq(-10, x_val, length=1000)
y_fill <- dnorm(x_fill, mean=10, sd=5)
polygon(c(-10, x_fill, x_val), c(0, y_fill, 0), col="pink")

abline(v=x_val, col="blue", lty=2)

text(x_val, dnorm(x_val, mean=10, sd=5), labels=paste("x =", round(x_val, 2)), pos=4)

x_val <- qnorm(0.99, mean=10, sd=5)

x <- seq(-10, 30, length=1000)
y <- dnorm(x, mean=10, sd=5)

plot(x, y, type="l", col="red", main="P(X < x) = 0.99", xlab="X", ylab="Densidad")

x_fill <- seq(-10, x_val, length=1000)
y_fill <- dnorm(x_fill, mean=10, sd=5)
polygon(c(-10, x_fill, x_val), c(0, y_fill, 0), col="pink")

abline(v=x_val, col="blue", lty=2)

text(x_val, dnorm(x_val, mean=10, sd=5), labels=paste("x =", round(x_val, 2)), pos=4)

x_val <- qnorm(0.01, mean=10, sd=5)

x <- seq(-10, 30, length=1000)
y <- dnorm(x, mean=10, sd=5)

plot(x, y, type="l", col="red", main="P(X < x) = 0.01", xlab="X", ylab="Densidad")

x_fill <- seq(-10, x_val, length=1000)
y_fill <- dnorm(x_fill, mean=10, sd=5)
polygon(c(-10, x_fill, x_val), c(0, y_fill, 0), col="pink")

abline(v=x_val, col="blue", lty=2)

text(x_val, dnorm(x_val, mean=10, sd=5), labels=paste("x =", round(x_val, 2)), pos=4)

x_val <- qnorm(0.025, mean=10, sd=5)

x <- seq(-10, 30, length=1000)
y <- dnorm(x, mean=10, sd=5)

plot(x, y, type="l", col="red", main="P(X < x) = 0.025", xlab="X", ylab="Densidad")

x_fill <- seq(-10, x_val, length=1000)
y_fill <- dnorm(x_fill, mean=10, sd=5)
polygon(c(-10, x_fill, x_val), c(0, y_fill, 0), col="pink")

abline(v=x_val, col="blue", lty=2)

text(x_val, dnorm(x_val, mean=10, sd=5), labels=paste("x =", round(x_val, 2)), pos=4)

x_val <- qnorm(0.975, mean=10, sd=5)

x <- seq(-10, 30, length=1000)
y <- dnorm(x, mean=10, sd=5)

plot(x, y, type="l", col="red", main="P(X < x) = 0.975", xlab="X", ylab="Densidad")

x_fill <- seq(-10, x_val, length=1000)
y_fill <- dnorm(x_fill, mean=10, sd=5)
polygon(c(-10, x_fill, x_val), c(0, y_fill, 0), col="pink")

abline(v=x_val, col="blue", lty=2)

text(x_val, dnorm(x_val, mean=10, sd=5), labels=paste("x =", round(x_val, 2)), pos=4)

4. El tiempo en que un cajero de un banco con servicio en el automovil atiende a un cliente es una variable aleatoria con una media μ=3.2 minutos y una desviación estandar de σ=1.6 minutos. Si se obtiene una muestra de n=64 clientes, encuentre la probabilidad de que el tiempo medio con el cajero sea:

a lo más de 2.7 minutos más de 3.5 minutos al menos 3.2 minutos, pero menos de 3.4 minutos

En cada caso represente la situación gráficamente:

mean <- 3.2
std_error <- 0.2

lb <- mean - 4 * std_error
ub <- 2.7

x <- seq(mean - 4 * std_error, mean + 4 * std_error, length=1000)
y <- dnorm(x, mean=mean, sd=std_error)

plot(x, y, type="l", col="red", main="2.7 minutos", xlab="Minutos", ylab="Densidad")

x_fill <- seq(lb, ub, length=1000)
y_fill <- dnorm(x_fill, mean=mean, sd=std_error)
polygon(c(lb, x_fill, ub), c(0, y_fill, 0), col="pink")

if(lb != '-Inf') abline(v=lb, col="blue", lty=2)
if(ub != 'Inf') abline(v=ub, col="blue", lty=2)

mean <- 3.2
std_error <- 0.2

lb <- 3.5
ub <- mean + 4 * std_error

x <- seq(mean - 4 * std_error, mean + 4 * std_error, length=1000)
y <- dnorm(x, mean=mean, sd=std_error)

plot(x, y, type="l", col="red", main="3.5 minutos ", xlab="Minutos", ylab="Densidad")

x_fill <- seq(3.5, mean + 4 * std_error, length=1000)
y_fill <- dnorm(x_fill, mean=mean, sd=std_error)
polygon(c(3.5, x_fill, mean + 4 * std_error), c(0, y_fill, 0), col="pink")

if (3.5 != 'Inf') abline(v=3.5, col="blue", lty=2)

mean <- 3.2
std_error <- 0.2

lb <- 3.2
ub <- 3.4

x <- seq(mean - 4 * std_error, mean + 4 * std_error, length=1000)
y <- dnorm(x, mean=mean, sd=std_error)

plot(x, y, type="l", col="red", main="3.2 y 3.4 minutos", xlab="Minutos", ylab="Densidad")

x_fill <- seq(lb, ub, length=1000)
y_fill <- dnorm(x_fill, mean=mean, sd=std_error)
polygon(c(lb, x_fill, ub), c(0, y_fill, 0), col="pink")

abline(v=lb, col="blue", lty=2)
abline(v=ub, col="blue", lty=2)

5.Use la tabla t-student para encontrar:

t0.05(v=8) t0.975(v=12) t0.25(v=10) t0.95(v=10) El punto t tal que P(−t<Tv=25<t)=0.90 El punto t tal que P(−t<Tv=25<t)=0.95 El punto t tal que P(Tv=15>t)=0.05 El punto t tal que P(T20>t)=0.10 El punto t tal que P(T30<−t)=0.10

En cada caso represente la situación gráficamente:

# Calcular el valor crítico para t con v = 8 y cola izquierda del 5%
t_critico <- qt(0.05, 8)

# Definir la secuencia de x para la distribución t de Student
x <- seq(-4, 4, length=1000)
y <- dt(x, df=8)

# Graficar la distribución t de Student
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva a la izquierda del valor crítico t
x_sombra <- seq(min(x), t_critico, length=1000)
y_sombra <- dt(x_sombra, df=8)
polygon(c(min(x), x_sombra, t_critico), c(0, y_sombra, 0), col='pink')

# Añadir una línea vertical para el valor crítico t
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico para t con v = 8 y cola izquierda del 5%
t_critico <- qt(0.975, 12)

# Definir la secuencia de x para la distribución t de Student
x <- seq(-4, 4, length=1000)
y <- dt(x, df=8)

# Graficar la distribución t de Student
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva a la izquierda del valor crítico t
x_sombra <- seq(min(x), t_critico, length=1000)
y_sombra <- dt(x_sombra, df=8)
polygon(c(min(x), x_sombra, t_critico), c(0, y_sombra, 0), col='pink')

# Añadir una línea vertical para el valor crítico t
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico para t con v = 8 y cola izquierda del 5%
t_critico <- qt(0.25, 10)

# Definir la secuencia de x para la distribución t de Student
x <- seq(-4, 4, length=1000)
y <- dt(x, df=8)

# Graficar la distribución t de Student
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva a la izquierda del valor crítico t
x_sombra <- seq(min(x), t_critico, length=1000)
y_sombra <- dt(x_sombra, df=8)
polygon(c(min(x), x_sombra, t_critico), c(0, y_sombra, 0), col='pink')

# Añadir una línea vertical para el valor crítico t
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico para t con v = 8 y cola izquierda del 5%
t_critico <- qt(0.95, 10)

# Definir la secuencia de x para la distribución t de Student
x <- seq(-4, 4, length=1000)
y <- dt(x, df=8)

# Graficar la distribución t de Student
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva a la izquierda del valor crítico t
x_sombra <- seq(min(x), t_critico, length=1000)
y_sombra <- dt(x_sombra, df=8)
polygon(c(min(x), x_sombra, t_critico), c(0, y_sombra, 0), col='pink')

# Añadir una línea vertical para el valor crítico t
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico t para el intervalo central del 90%
t_critico <- qt(0.95, 24)

# Definir la secuencia de x para la distribución t
x <- seq(-4, 4, length=1000)
y <- dt(x, df=24)

# Graficar la distribución t
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva
x_fill <- seq(-t_critico, t_critico, length=1000)
y_fill <- dt(x_fill, df=24)
polygon(c(-t_critico, x_fill, t_critico), c(0, y_fill, 0), col='pink')

# Añadir líneas verticales para los valores críticos t
abline(v=-t_critico, col='blue', lty=2)
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico t para el intervalo central del 95%
t_critico <- qt(0.975, 24)

# Definir la secuencia de x para la distribución t
x <- seq(-4, 4, length=1000)
y <- dt(x, df=24)

# Graficar la distribución t
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva
x_fill <- seq(-t_critico, t_critico, length=1000)
y_fill <- dt(x_fill, df=24)
polygon(c(-t_critico, x_fill, t_critico), c(0, y_fill, 0), col='pink')

# Añadir líneas verticales para los valores críticos t
abline(v=-t_critico, col='blue', lty=2)
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico t para el percentil 95% (cola derecha)
t_critico <- qt(0.95, 14)

# Definir la secuencia de x para la distribución t
x <- seq(-4, 4, length=1000)
y <- dt(x, df=24)

# Graficar la distribución t
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva
x_fill <- seq(-t_critico, t_critico, length=1000)
y_fill <- dt(x_fill, df=24)
polygon(c(-t_critico, x_fill, t_critico), c(0, y_fill, 0), col='pink')

# Añadir líneas verticales para los valores críticos t
abline(v=-t_critico, col='blue', lty=2)
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico t para el percentil 90% (cola derecha)
t_critico <- qt(0.90, 19)

# Definir la secuencia de x para la distribución t
x <- seq(-4, 4, length=1000)
y <- dt(x, df=24)

# Graficar la distribución t
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva
x_fill <- seq(-t_critico, t_critico, length=1000)
y_fill <- dt(x_fill, df=24)
polygon(c(-t_critico, x_fill, t_critico), c(0, y_fill, 0), col='pink')

# Añadir líneas verticales para los valores críticos t
abline(v=-t_critico, col='blue', lty=2)
abline(v=t_critico, col='blue', lty=2)

# Calcular el valor crítico t para el percentil 10% (cola izquierda)
t_critico <- qt(0.10, 29)

# Definir la secuencia de x para la distribución t
x <- seq(-4, 4, length=1000)
y <- dt(x, df=24)

# Graficar la distribución t
plot(x, y, type='l', col='red', xlab='Valor t', ylab='Densidad')

# Sombrear el área bajo la curva
x_fill <- seq(-t_critico, t_critico, length=1000)
y_fill <- dt(x_fill, df=24)
polygon(c(-t_critico, x_fill, t_critico), c(0, y_fill, 0), col='pink')

# Añadir líneas verticales para los valores críticos t
abline(v=-t_critico, col='blue', lty=2)
abline(v=t_critico, col='blue', lty=2)

6. Una empresa manufacturera afirma que las baterías que utiliza en sus juegos electrónicos duran un periodo de 30 horas. Para mantener este promedio, se prueban 16 baterías cada mes. Si el valor T=(x¯−30)/(s/n−−√) cae entre t0.025;v=15 y t0.975;v=15, la empresa queda satisfecha con su afirmación ?. Qué conclusión deberia tomar la empresa si una muestra presenta una media x¯=27.5 horas y una desviación estandar de s=5 horas?. Suponga que la duración de las baterías tiene una distribución normal.

# Datos de la muestra
x_bar <- 27.5  # media de la muestra
mu_0 <- 30     # media poblacional afirmada por la empresa
s <- 5         # desviación estándar de la muestra
n <- 16        # tamaño de la muestra

# Calcular el estadístico de prueba T'
T_prima <- (x_bar - mu_0) / (s / sqrt(n))

# Calcular los valores críticos para una distribución t de Student con 15 grados de libertad
t_025 <- qt(0.025, 15)
t_975 <- qt(0.975, 15)

# Graficar la distribución t de Student y el estadístico de prueba
x <- seq(-4, 4, length=1000)
y <- dt(x, df=15)
plot(x, y, type='l', col='red', main='Distribución t de Student', xlab='Valor t', ylab='Densidad')
abline(v=t_025, col='blue', lty=2)
abline(v=t_975, col='blue', lty=2)
abline(v=T_prima, col='green', lty=2)

# Añadir una leyenda
legend("topright", legend=c("t_025", "t_975", "T'"), col=c("blue", "blue", "green"), lty=2)

  1. Un fabricante de barras de cereal bajos en grasas afirma que su cantenido promedio de grasas saturadas es de 0.5 gramos. En una muestra aleatoria de 8 barras del cereal, el contenidio de grasas saturadas fue de : 0.6, 0.7, 0.7, 0.3, 0.4, 0.5, 0.4 y 0.2 gramos. ¿Estaría de acuerdo con la afirmación realizada por el fabricante?. Suponga que el contenido de grasas saturadas en la barra es una variable aleatoria que se distribuye de manera nornal.
# Datos de la muestra
muestra <- c(0.6, 0.7, 0.7, 0.3, 0.4, 0.5, 0.4, 0.2)

# Media y desviación estándar de la muestra
media_muestra <- mean(muestra)
sd_muestra <- sd(muestra)

# Tamaño de la muestra
n <- length(muestra)

# Media poblacional afirmada por el fabricante
media_poblacional <- 0.5

# Realizar la prueba t
t_test <- t.test(muestra, mu = media_poblacional)

# Graficar la distribución de la muestra y la media poblacional afirmada
x <- seq(0, 1, length=1000)
y <- dnorm(x, mean=media_muestra, sd=sd_muestra/sqrt(n))
plot(x, y, type='l', col='red', main='Distribución de la muestra vs Media poblacional', xlab='Contenido de grasas saturadas', ylab='Densidad')
abline(v=media_poblacional, col='blue', lty=2)
points(media_muestra, 0, col='green', pch=19)

# Añadir una leyenda
legend("topright", legend=c("Media poblacional", "Media de la muestra"), col=c("blue", "green"), lty=c(2, NA), pch=c(NA, 19))

# Mostrar resultados de la prueba t
t_test
## 
##  One Sample t-test
## 
## data:  muestra
## t = -0.38592, df = 7, p-value = 0.711
## alternative hypothesis: true mean is not equal to 0.5
## 95 percent confidence interval:
##  0.32182 0.62818
## sample estimates:
## mean of x 
##     0.475
  1. Para una distribución chi-cuadrado encuentre:

χ20.025(v=15) χ20.01(v=17) χ20.05(v=24) P(X2>χ2)=0.99, (v=4) P(X2>χ2)=0.025, (v=19) P(χ2<X2<23.209)=0.015, (v=10) P(37.652<X2<χ2)=0.045, (v=25)

En cada caso represente la situación gráficamente:

# Caso para chi cuadrado con v = 15 y cola izquierda del 2.5%
chi_critico_0025_v15 <- qchisq(0.025, 15)
# ... Aquí se generaría el código para los otros casos

# Ahora generamos el código para graficar el primer caso como ejemplo
x <- seq(0, qchisq(0.999, 15), length=1000)
y <- dchisq(x, df=15)
plot(x, y, type='l', col='red', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_0025_v15, col='blue', lty=2)
polygon(c(0, x[x <= chi_critico_0025_v15], chi_critico_0025_v15), c(0, y[x <= chi_critico_0025_v15], 0), col='pink')

# Caso para chi cuadrado con v = 15 y cola izquierda del 2.5%
chi_critico_0025_v15 <- qchisq(0.025, 15)
# ... Aquí se generaría el código para los otros casos

# Ahora generamos el código para graficar el primer caso como ejemplo
x <- seq(0, qchisq(0.999, 15), length=1000)
y <- dchisq(x, df=15)
plot(x, y, type='l', col='red', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_0025_v15, col='blue', lty=2)
polygon(c(0, x[x <= chi_critico_0025_v15], chi_critico_0025_v15), c(0, y[x <= chi_critico_0025_v15], 0), col='pink')

# Caso para chi cuadrado con v = 15 y cola izquierda del 2.5%
chi_critico_0025_v15 <- qchisq(0.01, 17)
# ... Aquí se generaría el código para los otros casos

# Ahora generamos el código para graficar el primer caso como ejemplo
x <- seq(0, qchisq(0.999, 15), length=1000)
y <- dchisq(x, df=15)
plot(x, y, type='l', col='red', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_0025_v15, col='blue', lty=2)
polygon(c(0, x[x <= chi_critico_0025_v15], chi_critico_0025_v15), c(0, y[x <= chi_critico_0025_v15], 0), col='pink')

# Caso para chi cuadrado con v = 15 y cola izquierda del 2.5%
chi_critico_0025_v15 <- qchisq(0.05, 24)
# ... Aquí se generaría el código para los otros casos

# Ahora generamos el código para graficar el primer caso como ejemplo
x <- seq(0, qchisq(0.999, 15), length=1000)
y <- dchisq(x, df=15)
plot(x, y, type='l', col='red', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_0025_v15, col='blue', lty=2)
polygon(c(0, x[x <= chi_critico_0025_v15], chi_critico_0025_v15), c(0, y[x <= chi_critico_0025_v15], 0), col='pink')

# Calcular el valor crítico para chi cuadrado con v = 4 y cola derecha del 99%
chi_critico_099_v4 <- qchisq(0.99, 4, lower.tail = FALSE)

# Definir la secuencia de x para la distribución chi cuadrado
x <- seq(0, qchisq(0.999, 4), length=1000)
y <- dchisq(x, df=4)

# Graficar la distribución chi cuadrado
plot(x, y, type='l', col='red', main='Distribución Chi-Cuadrado 0.99 (v = 4)', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_099_v4, col='blue', lty=2)

# Sombrear el área bajo la curva a la derecha del valor crítico chi
x_sombra <- seq(chi_critico_099_v4, max(x), length=1000)
y_sombra <- dchisq(x_sombra, df=4)
polygon(c(chi_critico_099_v4, x_sombra, max(x)), c(0, y_sombra, 0), col='pink')

# Calcular el valor crítico para chi cuadrado con v = 19 y cola derecha del 2.5%
chi_critico_0025_v19 <- qchisq(0.025, 19, lower.tail = FALSE)

# Definir la secuencia de x para la distribución chi cuadrado
x <- seq(0, qchisq(0.999, 19), length=1000)
y <- dchisq(x, df=19)

# Graficar la distribución chi cuadrado
plot(x, y, type='l', col='red', main='Distribución Chi-Cuadrado 0.025 (v = 19)', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_0025_v19, col='blue', lty=2)

# Sombrear el área bajo la curva a la derecha del valor crítico chi
x_sombra <- seq(chi_critico_0025_v19, max(x), length=1000)
y_sombra <- dchisq(x_sombra, df=19)
polygon(c(chi_critico_0025_v19, x_sombra, max(x)), c(0, y_sombra, 0), col='pink')

# Calcular los valores críticos para chi cuadrado con v = 10 y probabilidad acumulada hasta 0.015
chi_critico_inf_v10 <- qchisq(0.015, 10, lower.tail = TRUE)

# Calcular el valor específico dado de chi cuadrado
chi_critico_sup_v10 <- 23.209

# Definir la secuencia de x para la distribución chi cuadrado
x <- seq(0, qchisq(0.999, 10), length=1000)
y <- dchisq(x, df=10)

# Graficar la distribución chi cuadrado
plot(x, y, type='l', col='red', main='P(chi^2 < X^2 < 23.209) = 0.015 (v = 10)', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_inf_v10, col='blue', lty=2)
abline(v=chi_critico_sup_v10, col='blue', lty=2)

# Sombrear el área entre los valores críticos de chi
x_sombra <- seq(chi_critico_inf_v10, chi_critico_sup_v10, length=1000)
y_sombra <- dchisq(x_sombra, df=10)
polygon(c(chi_critico_inf_v10, x_sombra, chi_critico_sup_v10), c(0, y_sombra, 0), col='pink')

# Calcular el valor específico dado de chi cuadrado
chi_critico_inf_v25 <- 37.652

# Calcular los valores críticos para chi cuadrado con v = 25 y probabilidad acumulada desde 0.045
chi_critico_sup_v25 <- qchisq(1 - 0.045, 25, lower.tail = TRUE)

# Definir la secuencia de x para la distribución chi cuadrado
x <- seq(0, qchisq(0.999, 25), length=1000)
y <- dchisq(x, df=25)

# Graficar la distribución chi cuadrado
plot(x, y, type='l', col='red', main='P(37.652 < chi^2 < X^2) = 0.045 (v = 25)', xlab='Valor', ylab='Densidad')
abline(v=chi_critico_inf_v25, col='blue', lty=2)
abline(v=chi_critico_sup_v25, col='blue', lty=2)

# Sombrear el área entre los valores críticos de chi
x_sombra <- seq(chi_critico_inf_v25, chi_critico_sup_v25, length=1000)
y_sombra <- dchisq(x_sombra, df=25)
polygon(c(chi_critico_inf_v25, x_sombra, chi_critico_sup_v25), c(0, y_sombra, 0), col='pink')

  1. La calificación de un examen de admisión a la universidad que se aplica a estudiantes durante los últimos cinco años está distribuido normal con media μ=74 y varianza σ2=8. En una muestra de n=20 estudiantes, se encontro un valor de s2=20. Se considera que el valor de 8 para la varianza puede ser aceptado, si el valor de la variable X2=(n−1)S2/8, esta entre χ20.05;v=19 y χ20.95;v=19.?Que conclusión debe tomar?, en caso contrario se rechaza esta afirmación.
# Datos dados
n <- 20            # Tamaño de la muestra
s_cuadrado <- 20   # Varianza de la muestra
sigma_cuadrado <- 8  # Varianza poblacional bajo H0

# Calcular el estadístico de prueba chi cuadrado
chi_cuadrado <- (n - 1) * s_cuadrado / sigma_cuadrado

# Calcular los valores críticos de la distribución chi cuadrado
chi_cuadrado_critico_inferior <- qchisq(0.05, n - 1, lower.tail = TRUE)
chi_cuadrado_critico_superior <- qchisq(0.95, n - 1, lower.tail = TRUE)

# Graficar la distribución chi cuadrado y el estadístico de prueba
x <- seq(0, qchisq(0.999, n - 1), length=1000)
y <- dchisq(x, df=n - 1)
plot(x, y, type='l', col='red', main='Distribución Chi-Cuadrado', xlab='Valor', ylab='Densidad')
abline(v=chi_cuadrado_critico_inferior, col='blue', lty=2)
abline(v=chi_cuadrado_critico_superior, col='blue', lty=2)
abline(v=chi_cuadrado, col='green', lty=2)

# Añadir una leyenda
legend("topright", legend=c("Límite inferior", "Límite superior", "Estadístico de prueba"), col=c("blue", "blue", "green"), lty=2)

# Resultados para tomar una decisión
if(chi_cuadrado < chi_cuadrado_critico_inferior || chi_cuadrado > chi_cuadrado_critico_superior) {
  cat('La varianza poblacional es significativamente diferente de 8, se rechaza H0.')
} else {
  cat('No hay evidencia suficiente para rechazar H0, la varianza poblacional podría ser 8.')
}
## La varianza poblacional es significativamente diferente de 8, se rechaza H0.
  1. Para la distribución F encuentre:

f0.05(v1=7;v2=15) f0.05(v1=15;v2=7) f0.95(v1=19;v2=24) f0.95(v1=7;v2=15)

En cada caso represente la situación gráficamente:

# Calcular el valor crítico F para alpha=0.05 con v1=7 y v2=15
f_critico_1 <- qf(0.05, 7, 15, lower.tail = FALSE)

# Graficar la distribución F
x <- seq(0, qf(0.999, 7, 15), length=1000)
y <- df(x, 7, 15)
plot(x, y, type='l', col='red', main='Distribución F (v1=7, v2=15)', xlab='Valor F', ylab='Densidad')
abline(v=f_critico_1, col='blue', lty=2)

# Sombrear el área bajo la curva a la derecha del valor crítico F
x_sombra <- seq(f_critico_1, max(x), length=1000)
y_sombra <- df(x_sombra, 7, 15)
polygon(c(f_critico_1, x_sombra, max(x)), c(0, y_sombra, 0), col='pink')

# Calcular el valor crítico F para alpha=0.05 con v1=15 y v2=7
f_critico_2 <- qf(0.05, 15, 7, lower.tail = FALSE)

# Graficar la distribución F
x <- seq(0, qf(0.999, 15, 7), length=1000)
y <- df(x, 15, 7)
plot(x, y, type='l', col='red', main='Distribución F (v1=15, v2=7)', xlab='Valor F', ylab='Densidad')
abline(v=f_critico_2, col='blue', lty=2)

# Sombrear el área bajo la curva a la derecha del valor crítico F
x_sombra <- seq(f_critico_2, max(x), length=1000)
y_sombra <- df(x_sombra, 15, 7)
polygon(c(f_critico_2, x_sombra, max(x)), c(0, y_sombra, 0), col='pink')

# Calcular el valor crítico F para alpha=0.95 con v1=19 y v2=24
f_critico_3 <- qf(0.95, 19, 24)

# Graficar la distribución F
x <- seq(0, qf(0.999, 19, 24), length=1000)
y <- df(x, 19, 24)
plot(x, y, type='l', col='red', main='Distribución F (v1=19, v2=24)', xlab='Valor F', ylab='Densidad')
abline(v=f_critico_3, col='blue', lty=2)

# Sombrear el área bajo la curva a la izquierda del valor crítico F
x_sombra <- seq(0, f_critico_3, length=1000)
y_sombra <- df(x_sombra, 19, 24)
polygon(c(0, x_sombra, f_critico_3), c(0, y_sombra, 0), col='pink')

# Calcular el valor crítico F para alpha=0.95 con v1=7 y v2=15
f_critico_4 <- qf(0.95, 7, 15)

# Graficar la distribución F
x <- seq(0, qf(0.999, 7, 15), length=1000)
y <- df(x, 7, 15)
plot(x, y, type='l', col='red', main='Distribución F (v1=7, v2=15)', xlab='Valor F', ylab='Densidad')
abline(v=f_critico_4, col='blue', lty=2)

# Sombrear el área bajo la curva a la derecha del valor crítico F
x_sombra <- seq(f_critico_4, max(x), length=1000)
y_sombra <- df(x_sombra, 7, 15)
polygon(c(f_critico_4, x_sombra, max(x)), c(0, y_sombra, 0), col='pink')

SEGUNDA PARTE

  1. El siguiente código verifica el Teorema del Límita Central en el caso de una variable con distribución exponencial. A partir de el, realice la validación para las siguientes distribuciones :

uniforme normal Binomial lognormal Weibull

Con los resultados obtenidos concluya:

# Ajustes de parámetros para las gráficas
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))

# Número de muestras y tamaño de las muestras
n <- 1000
m <- 1000 * n

# Distribución uniforme -------------------------------------
X <- matrix(runif(m), ncol=n)

# Generación de medias para diferentes tamaños de muestra
X_means <- colMeans(X)

# Gráficos de densidad para diferentes tamaños de muestra
for (sample_size in c(1, 2, 20, 30, 50, 100)) {
  sample_means <- rowMeans(X[, 1:sample_size, drop=FALSE])
  d <- density(sample_means)
  plot(d, main=paste("n =", sample_size), xlab="Medias de muestra", ylab="Densidad")
}

# Ajustes de parámetros para las gráficas
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))

# Número de muestras y tamaño de las muestras
n <- 1000
m <- 1000 * n

# Distribución uniforme -------------------------------------
X <- matrix(rnorm(m), ncol=n)

# Generación de medias para diferentes tamaños de muestra
X_means <- colMeans(X)

# Gráficos de densidad para diferentes tamaños de muestra
for (sample_size in c(1, 2, 20, 30, 50, 100)) {
  sample_means <- rowMeans(X[, 1:sample_size, drop=FALSE])
  d <- density(sample_means)
  plot(d, main=paste("n =", sample_size), xlab="Medias de muestra", ylab="Densidad")
}

# Ajustes de parámetros para las gráficas
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))

# Número de filas (muestras) y número de columnas (tamaño de la muestra para cada simulación)
m <- 1000  # Número total de muestras
n <- 30    # Tamaño de cada muestra

# Definir los parámetros para la distribución binomial
size <- 10 # Número de ensayos
prob <- 0.5 # Probabilidad de éxito en cada ensayo

# Generar una matriz con números aleatorios binomiales
X_binom <- matrix(rbinom(m * n, size, prob), ncol = n)

# Gráficos de densidad para diferentes tamaños de muestra
for (sample_size in c(1, 2, 20, 30, 50, 100)) {
  # Asegúrate de que sample_size no sea mayor que n
  if(sample_size <= n) {
    sample_means <- rowMeans(X_binom[, 1:sample_size, drop=FALSE])
    d <- density(sample_means)
    plot(d, main=paste("n =", sample_size), xlab="Medias de muestra", ylab="Densidad")
  }
}

# Restablecer los parámetros gráficos después de dibujar los gráficos
par(mfrow=c(1, 1))

# Ajustes de parámetros para las gráficas
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))

# Número de muestras y tamaño de las muestras
n <- 1000
m <- 1000 * n

# Distribución uniforme -------------------------------------
X <- matrix(rlnorm(m), ncol=n)

# Generación de medias para diferentes tamaños de muestra
X_means <- colMeans(X)

# Gráficos de densidad para diferentes tamaños de muestra
for (sample_size in c(1, 2, 20, 30, 50, 100)) {
  sample_means <- rowMeans(X[, 1:sample_size, drop=FALSE])
  d <- density(sample_means)
  plot(d, main=paste("n =", sample_size), xlab="Medias de muestra", ylab="Densidad")
}

# Ajustes de parámetros para las gráficas
par(cex=0.5, cex.axis=.5, cex.lab=.5, cex.main=.5, cex.sub=.5, mfrow=c(3,2), mai = c(.5, .5, .5, .5))

# Número de muestras y tamaño de las muestras
n <- 1000
m <- 1000 * n

# Definir el parámetro shape para la distribución Weibull
shape <- 2  # Puedes cambiar esto por el valor que desees para 'shape'

# Distribución Weibull
X <- matrix(rweibull(m, shape, scale = 1), ncol=n)

# Generación de medias para diferentes tamaños de muestra
X_means <- colMeans(X)

# Gráficos de densidad para diferentes tamaños de muestra
for (sample_size in c(1, 2, 20, 30, 50, 100)) {
  sample_means <- rowMeans(X[, 1:sample_size, drop=FALSE])
  d <- density(sample_means)
  plot(d, main=paste("n =", sample_size), xlab="Medias de muestra", ylab="Densidad")
}

# Configuración de los parámetros gráficos para múltiples gráficos en una página
par(mfrow=c(2, 3), cex.main=1, cex.axis=0.8, cex.lab=0.8)

# Número de muestras y tamaño de las muestras
n <- 1000
size_of_sample <- 30

# Distribución Uniforme
uniform_means <- replicate(n, mean(runif(size_of_sample, min=0, max=1)))
hist(uniform_means, probability=TRUE, main="Uniform Distribution")
qqnorm(uniform_means); qqline(uniform_means, col="red")

# Distribución Normal
normal_means <- replicate(n, mean(rnorm(size_of_sample, mean=0, sd=1)))
hist(normal_means, probability=TRUE, main="Normal Distribution")
qqnorm(normal_means); qqline(normal_means, col="red")

# Distribución Binomial
binomial_means <- replicate(n, mean(rbinom(size_of_sample, size=10, prob=0.5)))
hist(binomial_means, probability=TRUE, main="Binomial Distribution")
qqnorm(binomial_means); qqline(binomial_means, col="red")

# Distribución Lognormal
lognormal_means <- replicate(n, mean(rlnorm(size_of_sample, meanlog=0, sdlog=1)))
hist(lognormal_means, probability=TRUE, main="Lognormal Distribution")
qqnorm(lognormal_means); qqline(lognormal_means, col="red")

# Distribución Weibull - Asegúrate de que 'shape' y 'scale' estén definidos
shape_weibull <- 1.5
scale_weibull <- 1
weibull_means <- replicate(n, mean(rweibull(size_of_sample, shape=shape_weibull, scale=scale_weibull)))
hist(weibull_means, probability=TRUE, main="Weibull Distribution")
qqnorm(weibull_means); qqline(weibull_means, col="red")

# Restablecer los parámetros gráficos
par(mfrow=c(1, 1))