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

Un fabricante requiere para sus prendas de vestir que la fibra de algodón tenga una resistencia media a la tension de 6.5 onzas y una desviación de 0.25 de onzas. Se muestrea un lote de 31 fardos de algodón encontrando en ellos un promedio de 6.75 onzas. Utilizar un nivel de significancia del 5% para ver si existe evidencia de que este lote es de resistencia mayor a la requerida.

x = seq(5.5, 7.5, 0.01)

grafico = ggplot(data = data.frame(x), aes(x)) + 
  stat_function(fun = dnorm, n = 100, args = list(mean =6.5, sd = 0.25))+
  geom_vline(xintercept = 6.5,colour ="blue",linetype="solid") + 
  geom_vline(xintercept = 6.75,colour ="red",linetype="longdash")+ xlab("Resistencia") +
  ylab("Densidad")

grafico

Las hipótesis nula y alternativa son:

Hipótesis nula:

\[ H_0 = \mu_0 > 6.5 \] #### Se define como hipótesis nula:

\[ H_1 = \mu_1 < 6.5 \]

#Media poblaciona
mu = 6.5
#Media de la muestra
mu_1 = 6.75

desviacion = 0.25
n = 31
alpha = 0.05
#normalizacion 
z = (mu_1 - mu)/ (desviacion/sqrt(n))

#Confianza
z_alpha = qnorm(1-alpha)

El valor de z es: 5.567764 y el valor de z relacionado al nivel de confianza es:1.644854. Teniendo esto podemos notar claramente que el z es mayor que al z de confianza, por lo que se rechaza la hipótesis nula, es decir, el lote es de menor resistencia a la requerida.

Esto también se puede ver con lo siguiente:

muestra=rep(6.75,16)
x_bar=mean(muestra)
mu=6.5
sigma=0.25
resultado=z.test(muestra,mu=mu,sigma.x=sigma,conf.level =0.95, alternative="less")
resultado
## 
##  One-sample z-Test
## 
## data:  muestra
## z = 4, p-value = 1
## alternative hypothesis: true mean is less than 6.5
## 95 percent confidence interval:
##        NA 6.852803
## sample estimates:
## mean of x 
##      6.75

Ahora vamos con el gráfico

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

grafico_densidad = ggplot(data.frame(x = c(-5, 5)), aes(x = x)) + 
  stat_function(fun = dnorm_limit, geom = "area", fill = "blue", alpha = 0.1) +  stat_function(fun = dnorm) +
  xlab("Resistencia") + ylab("Densidad") + ggtitle("Función de densidad") + 
  theme_bw() + geom_vline(xintercept = (mu_1-mu)/(sigma/sqrt(n)),colour ="purple") 
  
plot(grafico_densidad)

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

Un fabricante de dulces compra costales de azúcar a cierta empresa. Según los vendedores, los costales tienen un peso medio de 50.1 kg. El comprador sospecha que el peso medio es menor y pesa 27 costales obteniendo una media de 49,4 kg y una varianza de 1.2. Realice una prueba con una significancia de 0.05 para confirmar o rechazar las sospechas del comprador.

x = seq(45, 55, 0.1)

grafico = ggplot(data = data.frame(x), aes(x)) + stat_function(fun = dnorm, n = 100, args = list(mean =50.1, sd = sqrt(1.2))) + geom_vline(xintercept = 50.1,colour ="blue",linetype="solid") + geom_vline(xintercept = 49.4,colour ="red",linetype="longdash")+ xlab("Resistencia") + ylab("Densidad")
grafico  

Las hipótesis nula y alternativa son:

Hipótesis nula:

\[ H_0 = \mu_0 > 50.1 \]

Se define como hipótesis nula:

\[ H_1 = \mu_1 < 50.1 \]

#Datos
mu=50.1
x_bar=49.4
varianza = 1.2
n=27

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

#Confianza
alpha = 0.05
confianza = 1-alpha

t_alfa = qt(alpha/2,df = n-1)
t
## [1] -3.031089
t_alfa
## [1] -2.055529

El valor de t es -3.031089 y el valor de t relacionado con el alfa es -2.055529, por lo que t está afuera de el intervalo de confianza, por lo tanto se rechaza la hipotesis nula.

Esto también puede ser probado simulando los datos, para luego aplicar la función t-test de la biblioteca de R base, obteniendo un valor p mayor a 0.05.

datos = rnorm(n,x_bar, varianza)

#Aplicación de test
t = t.test(x=datos,mu=mu,conf.level = 1-alpha, lower.tail = F, alternative = "less")
print(t)
## 
##  One Sample t-test
## 
## data:  datos
## t = -3.3345, df = 26, p-value = 0.001288
## alternative hypothesis: true mean is less than 50.1
## 95 percent confidence interval:
##      -Inf 49.74173
## sample estimates:
## mean of x 
##  49.36657

Esto se grafica como:

dnorm_limit <- function(x) {
    y <- dnorm(x)
    y[x < t_alfa  |  x > -t_alfa] <- 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)/(varianza/sqrt(n)),cex=1.2,colour ="darkred") + 
  geom_text(aes(x=(x_bar-mu)/(varianza/sqrt(n))+0.2, label="t", y=0.0),colour="darkred",size=10)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
plot(grafico_densidad)

3. Ejemplo para prueba de contraste de varianza desconocida con 2 colas.

En una oficina que otorga licencias para conducir de vehiculos de motor en determinada ciudad, historicamente, la varianza en las puntuaciones de los examenes presentados por las personas que solicitan una licencia para conducir ha sido de 100 puntos. Ahora se ha elaborado un nuevo examen con preguntas nuevas. Los administradores de dicha oficina desean que la varianza en las puntuaciones del examen permanezcan en los niveles historicos. El nuevo examen fue aplicado a los integrantes de una muestra de 30 solicitantes de licencia de conducir. En este caso la varianza muestral de las puntuaciones de 30 examenes fue de 162 puntos. En esta prueba se usa un nivel de significancia de 0.05.

grafico_densidad = ggplot(data = data.frame(x = c(100, 200)), aes(x)) +
  stat_function(fun = dchisq, n = 101, args = list(x =100, df = 29)) + ylab("") +
  scale_y_continuous(breaks = NULL) + xlab("Puntaje") + ylab("Densidad") + ggtitle("Función de densidad") + theme_bw() +
  geom_vline(xintercept = 162,cex=1.2,colour ="darkred") + geom_text(aes(x=162, label="S^2", y=0.0), colour ="darkred",size=5)
grafico_densidad

Se define la hipótesis nula como:

\[ H_0 : \sigma^{2} = 100 \]

#Datos
varianza = 100
n = 30
varianza_2 = 162

#Normalización
chi = (n-1)* varianza_2/varianza


#Confianza
alfa = 0.05
confianza = 1-alfa

chi_alfa = qchisq(alfa,df = n-1)

chi
## [1] 46.98
chi_alfa
## [1] 17.70837

El valor de chi es 46.98, mientras que el valor de chi_alfa es 17.70837. Esto implica que chi no está dentro del intervalo de confianza, por lo que se rechaza la hipótesis nula H_0

Esto también puede ser probado simulando los datos, para luego aplicar la función varTest de la biblioteca de R EnvStats, obteniendo un valor p mayor a 0.05.

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
set.seed(20)
datos=rnorm(30,sqrt(varianza_2),n=n)

#Aplicación de test
chi = varTest(datos,sigma.squared= varianza)
print(chi)
## 
## Results of Hypothesis Test
## --------------------------
## 
## Null Hypothesis:                 variance = 100
## 
## Alternative Hypothesis:          True variance is not equal to 100
## 
## Test Name:                       Chi-Squared Test on Variance
## 
## Estimated Parameter(s):          variance = 172.8793
## 
## Data:                            datos
## 
## Test Statistic:                  Chi-Squared = 50.135
## 
## Test Statistic Parameter:        df = 29
## 
## P-value:                         0.0174677
## 
## 95% Confidence Interval:         LCL = 109.6511
##                                  UCL = 312.4246

Actividad 4: Ejemplo de bondad de ajuste Chi cuadrado, utilizando el conjunto de datos Iris data(“iris”).

Imaginemos que recolectamos rosas y encontramos que 50 eran de la especie setosa, 35 de la especie versicolor y 20 de la especie virginica. Suponga que un artículo científicoindica que en la región donde recopiló las rosas, la proporción de rosas setosa, versicolor y virginica es 3:2:1. ¿Hay alguna diferencia significativa entre las proporciones observadas y las proporciones esperadas?

Se definen las hipótesis:

La hipótesis nula:

\[ H_0 : X^2_0 < X^2_k \]

La hipótesis alternativa es:

\[ H_0 : X^2_0 > X^2_k \]

datos = data.frame(iris) #Se toma el dataframe iris

#Tabla de frecuencia
#Frecuencia
fab = c(50, 35, 20)                 #Frecuencia absoluta
fac = cumsum(fab)                   #Frecuencia acumulada
fre = as.numeric(fab/sum(fab))*100 #Frecuencia relativa
frac = cumsum(fre)                  #Frecuencia relativa acumulada
especie=c("SETOSA", "VERSICOLOR", "VIRGINICA")

#Tabla
frecuencia_esp=data.frame(especie,fab,fac,fre=round(fre,2),frac=round(frac,2))
# Visualización
knitr::kable(frecuencia_esp)
especie fab fac fre frac
SETOSA 50 50 47.62 47.62
VERSICOLOR 35 85 33.33 80.95
VIRGINICA 20 105 19.05 100.00

Si lo anterior está en una relacion 3:2:1, eso implica que tenemos:

# Tabla de frecuencia variables cualitativas
# Frecuencia
fi=c(52.5,35,17.5) # Frecuencia absoluta
fac=cumsum(fi)                           # Frecuencia acumulada
fri=as.numeric(fi/sum(fi))*100           # Frecuencia relativa
frac=cumsum(fri)                         # Frecuencia relativa acumulada
especie=c("SETOSA", "VERSICOLOR", "VIRGINICA")
  # Tabla
frecuencias_esp= data.frame(especie,fi,fac,fri=round(fri,2),frac=round(frac,2))
  # Visualización
knitr::kable(frecuencias_esp)
especie fi fac fri frac
SETOSA 52.5 52.5 50.00 50.00
VERSICOLOR 35.0 87.5 33.33 83.33
VIRGINICA 17.5 105.0 16.67 100.00

Calculamos el chi

chi = ((50-52.5)/52.5) + ((35-35)/35) + ((20-17.5)/17.5) # Calculo de chi
df = 2 # Grados de libertad
chi_square = qchisq(0.05, df, lower.tail = F) # Calculo de chi con los grados de libertad

chi
## [1] 0.0952381
chi_square
## [1] 5.991465

Se cumple que:

\[ X_0^2 < X^2_k \] calculado a través de los grados de libertad, la hipótesis nula no se rechaza. En otra palabras, las rosas no tienen diferencia de proporción a la que se debería encontrar, por lo que se tiene una proporción 3:2:1.

Actividad 5: Resolver un ejemplo de prueba de hipótesis en una proporción binomial, de una o dos colas.

Suponga que el 40% de los niños de Santiago tienen obesidad( datos inventados). Se encuestan en la calle a 100 niños y 38 de ellos tienen obesidad. Considerando un nivel de significancia de .05, ¿podemos rechazar la hipótesis nula de que la proporción de niños obesos permanece por debajo del 40%?

Sol:

Se define la hipótesis nula como:

\[ H_0: \mu_0 <= 40 \]

p_barra = 38/100
X=38
p_sub_zero = 0.40
n = 100

print(prop.test(X, n, p= p_sub_zero, alt="greater", correct =FALSE))
## 
##  1-sample proportions test without continuity correction
## 
## data:  X out of n, null probability p_sub_zero
## X-squared = 0.16667, df = 1, p-value = 0.6585
## alternative hypothesis: true p is greater than 0.4
## 95 percent confidence interval:
##  0.3043174 1.0000000
## sample estimates:
##    p 
## 0.38

Con esto y viendo al p-valure se puede aceptar la hipótesis nula, es decir, la proporción de niños obesos permanece debajo del 40%.

Actividad 6: Resolver un ejemplo de prueba de hipótesis en el que aplique la prueba del signo.

Dos estudiantes de ing civil informática de la universidad de Santiago de Chile escuchan que algunos de sus compañeros dicen que el ramo más “temido” es paradigmas de la programación, mientras que otros compañeros dicen que es sistema operativo, por esto deciden encuestar a 22 estudiante y resulta que 9 de ellos dicen que el ramo más temido es paradigmas de la programación y el resto dice que es sistema operativo. Con un nivel de significancia de 0.05 se puede rechazar que los 2 ramos son igualmente temidos?

Sol:

Hipótesis nula: Rechazar que ambos ramos son igualmente temidos Hipótesis alternativa: Aprobar que ambos ramos son igualmente temidos

Se tienen 22 estudiantes en total y 9 de ellos dicen que el ramo más temido es paradigmas

binom.test(9,22)
## 
##  Exact binomial test
## 
## data:  9 and 22
## number of successes = 9, number of trials = 22, p-value = 0.5235
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
##  0.2070931 0.6364530
## sample estimates:
## probability of success 
##              0.4090909

Teniendo el p-value y el nivel de significancia podemos concluir que se aprueba la hipótesis nula, o sea, se rechaza que ambos ramos son igualmente temidos.

Actividad 7:Resolver un ejemplo de prueba de hipótesis en el que aplique la prueba de Wilcoxon para una muestra.

Se tiene una muestra de peso de gatos. ¿La mediana del peso de estos gatos, difiere de 5 kg? Considere un nivel de significancia del 5%

# Tabla de frecuencia variables cualitativas
# Frecuencia
Pesos =c(3.2, 2.4, 3.6, 3.5, 4.2, 4.9) # Frecuencia absoluta
Gatos =c("Gato 1", "Gato 2", "Gato 3", "Gato 4", "Gato 5", "Gato 6")
  # Tabla
frecuencias_esp= data.frame(Gatos,Pesos)
  # Visualización
knitr::kable(frecuencias_esp)
Gatos Pesos
Gato 1 3.2
Gato 2 2.4
Gato 3 3.6
Gato 4 3.5
Gato 5 4.2
Gato 6 4.9

Hipótesis Nula: La mediana de los gatos no difiere de 5 kg

Hipótesis Alternativa: La mediana de los gatos difiere de 5 kg

res <- wilcox.test(Pesos, mu = 5, conf.int = 0.95) # Calculo de la prueba

res
## 
##  Wilcoxon signed rank exact test
## 
## data:  Pesos
## V = 0, p-value = 0.03125
## alternative hypothesis: true location is not equal to 5
## 95 percent confidence interval:
##  2.4 4.9
## sample estimates:
## (pseudo)median 
##            3.6

Con un nivel de signifancia del 5% se tiene que la mediana de los gatos difiere de 5kg. Por lo tanto, se rechaza la Hipótesis Nula y se acepta la Hipótesis Alternativa

Referencias:

Problema 1:

Tareasplus. (2011, 1 noviembre). Prueba de hipotesis de una cola para un problema de resistencia de un algodón. YouTube. https://www.youtube.com/watch?v=CwRMMV9Ha5w

Problema 2:

Mates NoéC. (2020, 22 junio). Prueba de Hipótesis para la Media (1 muestra, varianza desconocida). YouTube. https://www.youtube.com/watch?v=qq7kjphPjp0

Problema 3:

JUAN CARLOS ESPINDOLA MATEOS. (2018, 23 octubre). Prueba de hipótesis para la varianza con Minitab 17: prueba de dos colas (bilateral). YouTube. https://www.youtube.com/watch?v=ltlv6vwEoDc