Resumen

A continuación se encuentran las respuestas y su código correspondiente a los enunciados presentados en la sexta sesión de Ejercicio del Ramo de Estadística Computacional.

1. Prueba para contraste de media, con media poblacional y varianza conocida

Actividad 1: Buscar y resolver un ejemplo de uso de la prueba z con una cola.

El ministerio de salud de cierto país asegura que la vida media de sus habitantes es superior a 76 años. Un equipo de reporteras y reporteros deciden corroborar esta información. Para esto, encuestan e investigan a una muestra de 120 personas de la población de adultos mayores, obteniendo que su edad promedio es de 73 años. Suponiendo que la desviación estándar de la población es de 2 años y aplicando un nivel de significancia de 0.05, ¿Se corroboran las afirmaciones del ministerio de salud?

library("ggplot2")
library("BSDA")
## Loading required package: lattice
## 
## Attaching package: 'BSDA'
## The following object is masked from 'package:datasets':
## 
##     Orange
library("EnvStats")
## 
## Attaching package: 'EnvStats'
## The following objects are masked from 'package:stats':
## 
##     predict, predict.lm
## The following object is masked from 'package:base':
## 
##     print.default
grafico_densidad = ggplot(data = data.frame(x = c(65, 85)), aes(x)) +
  stat_function(fun = dnorm, n = 121, args = list(mean =76, sd = 2)) + ylab("") +
  scale_y_continuous(breaks = NULL) + xlab("Edad") + ylab("Densidad") + ggtitle("Función de densidad (distribución normal)") + theme_bw() +
  geom_vline(xintercept = 73,cex=1.2,colour ="darkred",linetype="longdash") + geom_text(aes(x=74, label="xbar", y=0.0), colour ="darkred",size=5) + geom_vline(xintercept = 76,cex=1.2,colour ="coral3",linetype="longdash") + geom_text(aes(x=77, label="mu", y=0.00001), colour ="coral3",size=5)

grafico_densidad

La hipótesis nula es:

\[ H_0 : \mu_0 \geq 76 [año] \]

Obtener z:

#Datos
mu = 76
sigma = 2
x_bar = 73
n = 120

#Normalización
z = (x_bar - mu)/(sigma/sqrt(n))

#Confianza
alpha = 0.05
z_alpha = qnorm(1-alpha)

#Muestra artificial

set.seed(10)
datos = rnorm(n, x_bar, sigma)

#Test
z = z.test(x=datos, mu=mu, sigma.x=sigma, conf.level=1-alpha, alternative="less")
print(z)
## 
##  One-sample z-Test
## 
## data:  datos
## z = -17.27, p-value < 2.2e-16
## alternative hypothesis: true mean is less than 76
## 95 percent confidence interval:
##        NA 73.14734
## sample estimates:
## mean of x 
##  72.84703

Se rechaza \(H_0\).

Y la gráfica:

dnorm_limit <- function(x) {
    y <- dnorm(x)
    y[x < z_alpha] <- NA
    return(y)
}

# ggplot() with dummy data
grafico_densidad = ggplot(data.frame(x = c(-3, 3)), aes(x = x)) + 
  stat_function(fun = dnorm_limit, geom = "area", fill = "blue", alpha = 0.2) +
  stat_function(fun = dnorm) + xlab("Remuneraciones") + ylab("Densidad") +
  ggtitle("Función de densidad") + theme_bw() +
  geom_vline(xintercept = (x_bar-mu)/(sigma/sqrt(n)),cex=1.2,colour ="darkred") +
  geom_text(aes(x=(x_bar-mu)/(sigma/sqrt(n))+0.2, label="z", y=0.0), colour ="darkred",size=10)

plot(grafico_densidad)

2. Prueba para contraste de media, con media poblacional conocida y varianza desconocida

Actividad 2: Buscar y resolver un ejemplo de uso de la prueba t con una cola.

El ministerio de salud de cierto país asegura que la vida media de sus habitantes es superior a 76 años. Un equipo de reporteras y reporteros deciden corroborar esta información. Para esto, encuestan e investigan a una muestra de 120 personas de la población de adultos mayores, obteniendo que su edad promedio es de 73 años. Suponiendo que la desviación estándar muestral es de 3.4 años y aplicando un nivel de significancia de 0.05, ¿Se corroboran las afirmaciones del ministerio de salud?

grafico_densidad = ggplot(data = data.frame(x = c(65, 85)), aes(x)) +
  stat_function(fun = dt, n = 121, args = list(x =76, df = 119 )) + ylab("") +
  scale_y_continuous(breaks = NULL) + xlab("Edad") + ylab("Densidad") + ggtitle("Función de densidad (Distribución t)") + theme_bw() +
  geom_vline(xintercept = 73,cex=1.2,colour ="darkred",linetype="longdash") + geom_text(aes(x=74, label="xbar", y=0.0), colour ="darkred",size=5) + geom_vline(xintercept = 76,cex=1.2,colour ="coral3",linetype="longdash") + geom_text(aes(x=78, label="mu", y=0.001), colour ="coral3",size=5)  

grafico_densidad

La hipótesis nula sigue siendo:

\[ H_0 : \mu_0 \geq 76 [año] \]

Obtener t:

#Datos
mu = 76
s = 3.4
x_bar = 73
n = 120

#Normalización
t = (x_bar - mu)/(s/sqrt(n))

#Confianza
alpha = 0.05
t_alpha = qt(1-alpha, df=n-1)

#Muestra artificial
set.seed(10)
datos = rnorm(n, x_bar, s)

#Test
t = t.test(x=datos, mu=mu, conf.level=0.95, alternative="less")
print(t)
## 
##  One Sample t-test
## 
## data:  datos
## t = -11.148, df = 119, p-value < 2.2e-16
## alternative hypothesis: true mean is less than 76
## 95 percent confidence interval:
##      -Inf 73.22476
## sample estimates:
## mean of x 
##  72.73995

Se rechaza \(H_0\).

Y la gráfica:

dnorm_limit <- function(x) {
    y <- dnorm(x)
    y[x < t_alpha] <- NA
    return(y)
}

# ggplot() with dummy data
grafico_densidad = ggplot(data.frame(x = c(-3, 3)), aes(x = x)) + 
  stat_function(fun = dnorm_limit, geom = "area", fill = "blue", alpha = 0.2) +  stat_function(fun = dnorm) +
  xlab("Edad") + ylab("Densidad") + ggtitle("Función de densidad") + 
  theme_bw() + geom_vline(xintercept = (x_bar-mu)/(s/sqrt(n)),cex=1.2,colour ="darkred") + 
  geom_text(aes(x=(x_bar-mu)/(s/sqrt(n))+0.2, label="t", y=0.0), colour ="darkred",size=10)

plot(grafico_densidad)

3. Prueba para contraste de varianza

Actividad 3: Buscar y resolver un ejemplo de uso de la prueba chi para varianza con dos colas.

Utilizando herramientas altamente experimentales, se logra aplicar calor a cierto material altamente radioactivo con tal que este pueda llevar a cabo cierta reacción química. Si la variancia de la temperatura aplicada excede 7.2 grados podrían ocurrir consecuencias catastróficas. En las oficinas de Black Mesa se propone realizar un cambio en las herramientas, experimentando con nueva tecnología. Para esto, se escoge una muestra aleatoria de 25 laboratorios, donde la temperatura del material muestra una varianza de 3.5 minutos.

Aplicando un nivel de significancia de 0.05, analizar si las instalaciones de Black Mesa corren peligro usando esta nueva tecnología.

grafico_densidad = ggplot(data = data.frame(x = c(0, 10)), aes(x)) +
  stat_function(fun = dchisq, n = 26, args = list(x =7.2, df = 25)) + ylab("") +
  scale_y_continuous(breaks = NULL) + xlab("Temperatura") + ylab("Densidad") + ggtitle("Función de densidad") + theme_bw() +
  geom_vline(xintercept = 3.5,cex=1.2,colour ="darkred") + geom_text(aes(x=3.6, label="S^2", y=0.0), colour ="darkred",size=5) 

grafico_densidad

La hipótesis nula es:

\[ H_0 : \mu_0 = 7.2 [grado] \]

Obtener chi:

#Datos
sigma2 = 7.2
n = 25
s2 = 3.5

#Normalización
chi = ((n - 1)*s2)/sigma2

#Confianza
alpha = 0.05
chi_alpha = qchisq(1-alpha, df=n-1, lower.tail=T)

#Muestra artificial
set.seed(20)
datos = rnorm(n, sqrt(s2), n=n)

#Test
chi = varTest(datos, sigma.squared=sigma2)
print(chi)
## 
## Results of Hypothesis Test
## --------------------------
## 
## Null Hypothesis:                 variance = 7.2
## 
## Alternative Hypothesis:          True variance is not equal to 7.2
## 
## Test Name:                       Chi-Squared Test on Variance
## 
## Estimated Parameter(s):          variance = 3.363438
## 
## Data:                            datos
## 
## Test Statistic:                  Chi-Squared = 11.21146
## 
## Test Statistic Parameter:        df = 24
## 
## P-value:                         0.02515537
## 
## 95% Confidence Interval:         LCL = 2.050664
##                                  UCL = 6.509276

Actividad 4: Buscar/crear y resolver un ejemplo de bondad de ajuste Chi cuadrado, utilice el conjunto de datos Iris disponible en R data(“iris”).

data("iris")
mayores = subset(iris, iris$Sepal.Width < 3.5)
setosa = subset(iris, iris$Species == "setosa")
versicolor = subset(iris, iris$Species == "versicolor")
virginica = subset(iris, iris$Species == "virginica")

fse = nrow(subset(setosa, setosa$Sepal.Width < 3.5))/nrow(mayores)
fve = nrow(subset(versicolor, versicolor$Sepal.Width < 3.5))/nrow(mayores)
fvi = nrow(subset(virginica, virginica$Sepal.Width < 3.5))/nrow(mayores)

paste(c(fse, fve, fvi), collapse=",")
## [1] "0.224,0.4,0.376"

Del dataset iris se calculan las probabilidades para cada tipo de planta de pertenecer al conjunto de ancho de Sépalo menor a 3.5 (asumo [mm]). Un grupo de científicos jóvenes y rebeldes quieren estudiar la misma característica sobre una misma población de los mismos tipos de planta en la misma región que Fisher, obteniendo las siguientes cantidades:

Setosa = 25

Versicolor = 47

Virginica = 44

Utilizando bondad de ajuste chi cuadrado, se analizará si los resultados del equipo científico son cercanos a los de Fisher.

La hipótesis nula es:

\[ H_0 : no\ existe\ diferencia \]

datos = c(25, 47, 44)
chisq = chisq.test(datos, p = c(fse, fve, fvi))
chisq
## 
##  Chi-squared test for given probabilities
## 
## data:  datos
## X-squared = 0.048403, df = 2, p-value = 0.9761
Se acepta \(H_0\).