## Loading required package: lattice
## 
## Attaching package: 'BSDA'
## The following object is masked from 'package:datasets':
## 
##     Orange
## 
## Attaching package: 'EnvStats'
## The following objects are masked from 'package:stats':
## 
##     predict, predict.lm
## The following object is masked from 'package:base':
## 
##     print.default
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

En esta nueva sesión se ejemplificarán los distintos tipos de pruebas de contraste de hipótesis para una sola muestra

Primer ejemplo, Prueba para contraste de media, con media poblacional y varianza conocida utilizando el z test:

Ejercicio: 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 16 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

Con esto se puede ver que el p-value es menor al nivel de significancia, pero de igual manera

Ahora se define la hipotesís nula como: H0 : \(\mu\) 0 > 6.5

ahora se hará el cálculo:

mu = 6.5
mu_pro = 6.75
desviacion = 0.25
n = 16
alpha = 0.05
#normalizacion 
z = (mu_pro - mu)/ (desviacion/sqrt(n))

#Confianza
z_alpha = qnorm(1-alpha)
## El valor de z es:  4
## el valor de z relacionado al nivel de confianza es de :  1.644854
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

Como el valor de z es 4 y el z en relación a la confianza es 1.64 se puede ver claramente que el valor de z es mayor que al z de confianza por lo que se acepta la hipotesís nula, es decir, este lote es de mayor resistencia a la requerida.

Esto se gráfica como:

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_pro-mu)/(sigma/sqrt(n)),colour ="purple") 
  
plot(grafico_densidad)

2. Ejemplo para prueba de 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 vendedrores, los costales tienen un peso medio de 50.1 kg. El comprador sospecha que el peso medio es menor y pesa 15 bulots obteniendo una media de 49,4.5 kh 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  

Ahora se define la hipotesís nula como: H0 : \(\mu\) 0 > 50.1

se aplica ahora la normalización:

x_barra = 49.4
mu = 50.1
desviacion = sqrt(1.2)
n = 15
t = (x_barra -mu)/(desviacion/sqrt(n))
alpha = 0.05

t_alpha = qt(1-alpha, df = n-1)
## El valor de t es:  -2.474874
## el valor de t relacionado al nivel de confianza es de :  1.76131

Como el valor de t es -2.47 y el t en relación a la confianza es 1.76 se puede ver claramente que el valor de t es menor que al t de confianza por lo que se rechaza la hipotesís nula, es decir, los costales tienen un peso medio menor a 50.1.

datos = rnorm(n,x_barra, desviacion)

#Aplicación de test
t = t.test(x=datos,mu=mu,conf.level = 1-alpha, lower.tail = F)
print(t)
## 
##  One Sample t-test
## 
## data:  datos
## t = -2.7035, df = 14, p-value = 0.01714
## alternative hypothesis: true mean is not equal to 50.1
## 95 percent confidence interval:
##  48.87971 49.95937
## sample estimates:
## mean of x 
##  49.41954

Esto se gráfica como:

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

grafico_densidad = ggplot(data.frame(x = c(-3, 3)), 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 = (x_barra-mu)/(desviacion/sqrt(n)),colour ="purple") 
  
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 es las puntuaciones de los examenes presentados por las personas que solicitan una licencia para conducir ha sido de 100pununtos. 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 examnes 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

Ahora se define la hipotesís nula como: H0 : \(\mu\) 0 = 100

Ahora se aplica la normalización:

varianza = 100
n = 30
libertad = n -1
s = 162

chi = libertad* s/varianza


#Confianza
alfa = 0.05
confianza = 1-alfa

chi_alfa = qchisq(alfa,df = libertad) #Lower.tail se relaciona con <= de la hipótesis nula.
## El valor de chi es:  46.98
## El intervalo relacionado al nivel de confianza es de :  -17.70837 , 17.70837

Como el valor de chi es de 46,98 y el intervalor es [-17.7 , 17.7] se rechaza la hipotesís nula debido a que el valor de chi no está dentro del intervalo, esto quiere decir que la varianza de los puntajes de la nueva prueba no son iguales a la varianza historica de los puntajes.

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

El siguiente ejemplo se hará una prueba de bondad de ajuste utilizando chi cuadradro, esto utilizando el conjunto de datos iris

Problema: Se sabe que enviamos a plantar 150 iris, del tipo iris setosa, versicolor y virginica en igual proporción, es decir, 50 de cada tipo, pero el encargado que designamos para esto nos dice que se confudió y plantó los tipos de iris en proporción 3:2:1, ¿Hay alguna diferencia significativa entre las proporciones observadas y las proporciones esperadas? se ocupará 0.05 nivel de significancia

datos = data.frame(iris)
tabla = table(select(datos, Species))
iris_reales = c(50, 50, 50)
x2_0 = (50-75)**2 / (75) + (50-50)**2 / (50) + (50-25)**2 / (25)
x2_0
## [1] 33.33333
dff = 3-1 # 3 debido a que son 3 tipos de iris

x2_2 = qchisq(0.05, df = dff, lower.tail = F)
x2_2
## [1] 5.991465
res = chisq.test(iris_reales, p = c(1/2, 1/3, 1/6))
res
## 
##  Chi-squared test for given probabilities
## 
## data:  iris_reales
## X-squared = 33.333, df = 2, p-value = 5.778e-08

Fijandonos en el valor de p, el cual es menor al valor de significancia, se puede decir que claramente existe una diferencia significativa entre las proporciones

Se sigue con el ejemplo para una prueba con proporción binomial

Problema : 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 lahipótesis nula de que la proporción de niños obesos permanece por debajo del 40%?

Ahora se define la hipotesís nula como: H0 : \(\mu\) 0 <= 40

prom = 44/124
X = 44
p0 = 0.4
n = 124
print(prop.test(X, n, p = p0, alt="greater", correct =FALSE))
## 
##  1-sample proportions test without continuity correction
## 
## data:  X out of n, null probability p0
## X-squared = 1.0538, df = 1, p-value = 0.8477
## alternative hypothesis: true p is greater than 0.4
## 95 percent confidence interval:
##  0.2879533 1.0000000
## sample estimates:
##         p 
## 0.3548387

Con esto y viendo el p value se puede aceptar la hipotesís nula, es decir, la proporción de niños obesos permanece debajo del 40%

Se sigue con el ejemplo para una prueba de signo

Problema: 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?

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

Con un nivel de significancia de 0.05 y un p-value de 0.52 No se rechaza que los 2 ramos son igual de temidos por la comunidad de estudiantes de ing civil informática de la universidad de Santiago de Chile.

Se sigue con el ejemplo para una prueba con Wilcoxon

Problema: Se quiere saber si la mediana del largo de petalos del iris versicolor difiere de 5.5 cm

datos = select(datos, Petal.Length, Species)

datos_petalos = filter(datos, Species == "versicolor")


res <- wilcox.test(datos_petalos$Petal.Length, mu = 5.5,
conf.int=0.95)
res
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  datos_petalos$Petal.Length
## V = 0, p-value = 7.56e-10
## alternative hypothesis: true location is not equal to 5.5
## 95 percent confidence interval:
##  4.149955 4.400006
## sample estimates:
## (pseudo)median 
##       4.299989

Con un valor de p menor al 0.05 se puede decir que la mediana del largo de petalos del iris versicolor difiere del 5.5cm