pruebas de hipótesis

Rubén Pizarro Gurrola

12/5/22

Objetivo

Realizar pruebas de hipótesis con distribuciones z para aceptar o rechazar hipótesis a partir de una pregunta de investigación.

Descripción

Se cargan librerías

Se cargan funciones

Se inicializan variables

Se declara hipótesis y pregunta de investigación

Fórmula para calcular z de prueba

\[ z = \frac{\bar{x}-\mu} {\sigma / \sqrt{n}} \therefore \\ z \text{: es el valor de z a contrastar} \\ \bar{x} \text{: la media de la muestra} \\ \mu \text{: la media de la población} \\ \sigma \text{: la desviación estandar de la población} \\ n \text{: el tamaño de la muestra} \\ \sigma/\sqrt{n} \text{: el el error estándar SE} \]

Cargar librerías

library(visualize)
library(knitr)
library(BSDA) # para z.test()

Cargar funciones

source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/Agosto-Diciembre%202022/funciones/funciones%20para%20distribuciones.R")

Hipótesis dos colas

¿la media de una población es diferente de 15?

\[ h_0: \mu = 15 \\ h_a: \mu \ne 15 \]

Es una prueba de dos colas

Hipótesis dos colas

Capítuo 9, ejercicio 11, (Anderson, Sweeney, and Williams 2008)

En una muestra de 50, la media muestral fue 14.15. La desviación estándar poblacional es 3.

a. Calcule el valor del estadístico de z prueba. Fórmula para z con función f.devolver.z.prueba().

b. ¿Cuál es el valor-p?, z critico. Con función qnorm(p = alfa)

c. Nivel de confianza 95% o \(\alpha = 0.05\) con función visualize()

d. ¿Se rechaza o acepta \(h_0\)?. Con función visualize()

Inicializar variables

n <- 50
media_m <- 14.15
desv_std_p <- 3
media_p <- 15

Los valores en tabla

tabla <- data.frame(n = c("?", n), "medias" = c(media_p, media_m), "desv.std" = c(desv_std_p, "?"))
rownames(tabla) <- c("Población", "Muestra")
kable(tabla, caption = "Datos iniciales. ? significa que no se necesita el dato")
Datos iniciales. ? significa que no se necesita el dato
n medias desv.std
Población ? 15.00 3
Muestra 50 14.15 ?

Valor de z a contrastar

z <- f.devolver.z.prueba(media.m = media_m, media.p = media_p, desv.p = desv_std_p, n = n)
paste("Valor de z", round(z, 4), "su probabilidad dos colas es de:", 2 * round(pnorm(q = -z, lower.tail = FALSE), 4))
[1] "Valor de z -2.0035 su probabilidad dos colas es de: 0.0452"

Z crítico dos colas

confianza = 0.95
# Dos colas
alfa <- (1 - confianza) / 2
z.critico <- qnorm(p = alfa)
z.critico <- abs(z.critico)
z.critico
[1] 1.959964

z prueba, p(z), z crítico

visualize.norm(stat = c(-z.critico, z.critico), section = "tails") +
  text(0, 0.2, paste(confianza * 100, "%", "\n", "alfa=", (1 - confianza), "\n",  "alfa / 2 = ", (1 - confianza) /  2, "\n", "Acepta Ho", "\n", "z=",round(z, 4),"\n", "p(z)=", "2*",round(pnorm(q = -z, lower.tail = FALSE), 4), "=",round(2 * pnorm(q = -z, lower.tail = FALSE), 4), "\n",  "entonces ...", sep = ""),  col = "black") + 
  abline(v = z, col='red', lwd = 1, lty= 4)
integer(0)

Conclusión de \(h_0\)

conclusion <- "No se rechaza Ho"
h0 <- "¡la media es igual a 15 a un 95% de confianza!"
if (z < -z.critico & z < z.critico)
    conclusion = "Se rechaza Ho"
paste(conclusion, h0)
[1] "Se rechaza Ho ¡la media es igual a 15 a un 95% de confianza!"

¿Porqué?

¿Porqué se rechaza la \(h_o\)?, porque el valor de z de prueba es menor que z_critico está fuera del intervalo y/o de la zona de aceptación que se identifica con la línea roja punteada así lo demuestra, además,

el valor de la probabilidad de z \(p(z)\) a dos colas es 0.0451 es menor que el valor de alfa de \(0.05\).

prob.z <- round(2 * pnorm(q = -z, lower.tail = FALSE), 4)
prob.z
[1] 0.0451
alfa <- alfa * 2
alfa
[1] 0.05
prob.z < alfa
[1] TRUE

Hipótesis cola izquierda

\[ h_0: \ge 80 \\ h_a: < 80 \]

Hipótesis cola izquierda

Capítuo 9, ejercicio 12, (Anderson, Sweeney, and Williams 2008)

Se usó una muestra de 100, la desviación estándar poblacional es 12. Calcule el valor-p y dé su

conclusión para cada uno de los resultados muestrales siguientes. Use \(\alpha = 0.01\) , nivel de confianza del \(99\%\)

a. para \(\bar{x} = 78.5\)

b. para \(\bar{x} = 77\)

c. para \(\bar{x} = 75.5\)

d. para \(\bar{x} = 81\)

Inicializar variables

a. Para \(\bar{x} = 78.5\)

n <- 100
media_m1 <- 78.5
desv_std_p <- 12
media_p <- 80

Los valores en tabla

tabla <- data.frame(n = c("?", n), "medias" = c(media_p, media_m1), "desv.std" = c(desv_std_p, "?"))
rownames(tabla) <- c("Población", "Muestra")
kable(tabla, caption = "Datos iniciales. ? significa que no se necesita el dato")
Datos iniciales. ? significa que no se necesita el dato
n medias desv.std
Población ? 80.0 12
Muestra 100 78.5 ?

Valor de z a contrastar

z <- f.devolver.z.prueba(media.m = media_m1, media.p = media_p, desv.p = desv_std_p, n = n)
paste("Valor de z", round(z, 4), "su probabilidad cola izquierda es de:", 2 * round(pnorm(q = -z, lower.tail = FALSE), 4))
[1] "Valor de z -1.25 su probabilidad cola izquierda es de: 0.2112"

Z crítico cola a la izquierda

confianza = 0.99
# Dos colas
alfa <- (1 - confianza) 
z.critico <- qnorm(p = alfa)
z.critico <- abs(z.critico)
z.critico
[1] 2.326348

z prueba, p(z), z crítico

visualize.norm(stat = c(-z.critico), section = "lower") +
  text(0, 0.2, paste(confianza * 100, "%", "\n", "alfa=", (1 - confianza), "\n",   "Acepta Ho", "\n", "z=",round(z, 4),"\n", "p(z)=", round(pnorm(q = -z, lower.tail = FALSE), 4), "\n",  "entonces ...", sep = ""),  col = "black") + 
  abline(v = z, col='red', lwd = 1, lty= 4)
integer(0)

Conclusión de \(h_0\)

conclusion <- "No se rechaza Ho"
h0 <- "¡la media de la población es mayor o igual 80 a un 99% de confianza!"
if (z < -z.critico )
    conclusion = "Se rechaza Ho"
paste(conclusion, h0)
[1] "No se rechaza Ho ¡la media de la población es mayor o igual 80 a un 99% de confianza!"

¿Porqué?

¿Porqué NO se rechaza la \(h_o\)?, porque el valor de z de prueba es mayor que z_critico está dentro del intervalo y/o de la zona de aceptación que se identifica con la línea roja punteada así lo demuestra, además,

el valor de la probabilidad de z \(p(z)\) cola izquierda es 0.1056 es mayor que el valor de alfa de \(0.01\).

prob.z <- round(pnorm(q = -z, lower.tail = FALSE), 4)
prob.z
[1] 0.1056
alfa 
[1] 0.01
prob.z < alfa
[1] FALSE

Inicializar variables

b. Para \(\bar{x} = 77\)

n <- 100
media_m2 <- 77
desv_std_p <- 12
media_p <- 80

Los valores en tabla

tabla <- data.frame(n = c("?", n), "medias" = c(media_p, media_m2), "desv.std" = c(desv_std_p, "?"))
rownames(tabla) <- c("Población", "Muestra")
kable(tabla, caption = "Datos iniciales. ? significa que no se necesita el dato")
Datos iniciales. ? significa que no se necesita el dato
n medias desv.std
Población ? 80 12
Muestra 100 77 ?

Valor de z a contrastar

z <- f.devolver.z.prueba(media.m = media_m2, media.p = media_p, desv.p = desv_std_p, n = n)
paste("Valor de z", round(z, 4), "su probabilidad cola izquierda es de:", round(pnorm(q = -z, lower.tail = FALSE), 4))
[1] "Valor de z -2.5 su probabilidad cola izquierda es de: 0.0062"

Z crítico cola a la izquierda

confianza = 0.99
# Dos colas
alfa <- (1 - confianza) 
z.critico <- qnorm(p = alfa)
z.critico <- abs(z.critico)
z.critico
[1] 2.326348

z prueba, p(z), z crítico

visualize.norm(stat = c(-z.critico), section = "lower") +
  text(0, 0.2, paste(confianza * 100, "%", "\n", "alfa=", (1 - confianza), "\n",   "Acepta Ho", "\n", "z=",round(z, 4),"\n", "p(z)=", round(pnorm(q = -z, lower.tail = FALSE), 4), "\n",  "entonces ...", sep = ""),  col = "black") + 
  abline(v = z, col='red', lwd = 1, lty= 4)
integer(0)

Conclusión de \(h_0\)

conclusion <- "No se rechaza Ho"
h0 <- "¡la media de la población es mayor o igual 80 a un 99% de confianza!"
if (z < -z.critico )
    conclusion = "Se rechaza Ho"
paste(conclusion, h0)
[1] "Se rechaza Ho ¡la media de la población es mayor o igual 80 a un 99% de confianza!"

¿Porqué?

¿Porqué SI se rechaza la \(h_o\)?, porque el valor de z de prueba es menor que z_critico está fuera del intervalo y/o de la zona de aceptación que se identifica con la línea roja punteada así lo demuestra, además,

el valor de la probabilidad de z \(p(z)\) cola izquierda es 0.0062 es menor que el valor de alfa de \(0.01\).

prob.z <- round(pnorm(q = -z, lower.tail = FALSE), 4)
prob.z
[1] 0.0062
alfa 
[1] 0.01
prob.z < alfa
[1] TRUE

Inicializar variables

c. Para \(\bar{x} = 75.5\)

n <- 100
media_m3 <- 75.5
desv_std_p <- 12
media_p <- 80

Los valores en tabla

tabla <- data.frame(n = c("?", n), "medias" = c(media_p, media_m3), "desv.std" = c(desv_std_p, "?"))
rownames(tabla) <- c("Población", "Muestra")
kable(tabla, caption = "Datos iniciales. ? significa que no se necesita el dato")
Datos iniciales. ? significa que no se necesita el dato
n medias desv.std
Población ? 80.0 12
Muestra 100 75.5 ?

Valor de z a contrastar

z <- f.devolver.z.prueba(media.m = media_m3, media.p = media_p, desv.p = desv_std_p, n = n)
paste("Valor de z", round(z, 4), "su probabilidad cola izquierda es de:", round(pnorm(q = -z, lower.tail = FALSE), 4))
[1] "Valor de z -3.75 su probabilidad cola izquierda es de: 0.0001"

Z crítico cola a la izquierda

confianza = 0.99
# Dos colas
alfa <- (1 - confianza) 
z.critico <- qnorm(p = alfa)
z.critico <- abs(z.critico)
z.critico
[1] 2.326348

z prueba, p(z), z crítico

visualize.norm(stat = c(-z.critico), section = "lower") +
  text(0, 0.2, paste(confianza * 100, "%", "\n", "alfa=", (1 - confianza), "\n",   "Acepta Ho", "\n", "z=",round(z, 4),"\n", "p(z)=", round(pnorm(q = -z, lower.tail = FALSE), 4), "\n",  "entonces ...", sep = ""),  col = "black") + 
  abline(v = z, col='red', lwd = 1, lty= 4)
integer(0)

Conclusión de \(h_0\)

conclusion <- "No se rechaza Ho"
h0 <- "¡la media de la población es mayor o igual 80 a un 99% de confianza!"
if (z < -z.critico )
    conclusion = "Se rechaza Ho"
paste(conclusion, h0)
[1] "Se rechaza Ho ¡la media de la población es mayor o igual 80 a un 99% de confianza!"

¿Porqué?

¿Porqué NO se rechaza la \(h_o\)?, porque el valor de z de prueba es mayor que z_critico está dentro del intervalo y/o de la zona de aceptación que se identifica con la línea roja punteada así lo demuestra, además,

el valor de la probabilidad de z \(p(z)\) cola izquierda es 0.0001 es menor que el valor de alfa de \(0.01\).

prob.z <- round(pnorm(q = -z, lower.tail = FALSE), 4)
prob.z
[1] 0.0001
alfa 
[1] 0.01
prob.z < alfa
[1] TRUE

Inicializar variables

c. Para \(\bar{x} = 81\)

n <- 100
media_m4 <- 81
desv_std_p <- 12
media_p <- 80

Los valores en tabla

tabla <- data.frame(n = c("?", n), "medias" = c(media_p, media_m4), "desv.std" = c(desv_std_p, "?"))
rownames(tabla) <- c("Población", "Muestra")
kable(tabla, caption = "Datos iniciales. ? significa que no se necesita el dato")
Datos iniciales. ? significa que no se necesita el dato
n medias desv.std
Población ? 80 12
Muestra 100 81 ?

Valor de z a contrastar

z <- f.devolver.z.prueba(media.m = media_m4, media.p = media_p, desv.p = desv_std_p, n = n)
paste("Valor de z", round(z, 4), "su probabilidad cola izquierda es de:", round(pnorm(q = -z, lower.tail = FALSE), 4))
[1] "Valor de z 0.8333 su probabilidad cola izquierda es de: 0.7977"

Z crítico cola a la izquierda

confianza = 0.99
# Dos colas
alfa <- (1 - confianza) 
z.critico <- qnorm(p = alfa)
z.critico <- abs(z.critico)
z.critico
[1] 2.326348

z prueba, p(z), z crítico

visualize.norm(stat = c(-z.critico), section = "lower") +
  text(0, 0.2, paste(confianza * 100, "%", "\n", "alfa=", (1 - confianza), "\n",   "Acepta Ho", "\n", "z=",round(z, 4),"\n", "p(z)=", round(pnorm(q = -z, lower.tail = FALSE), 4), "\n",  "entonces ...", sep = ""),  col = "black") + 
  abline(v = z, col='red', lwd = 1, lty= 4)
integer(0)

Conclusión de \(h_0\)

conclusion <- "No se rechaza Ho"
h0 <- "¡la media de la población es mayor o igual 80 a un 99% de confianza!"
if (z < -z.critico )
    conclusion = "Se rechaza Ho"
paste(conclusion, h0)
[1] "No se rechaza Ho ¡la media de la población es mayor o igual 80 a un 99% de confianza!"

¿Porqué?

¿Porqué NO se rechaza la \(h_o\)?, porque el valor de z de prueba es mayor que z_critico está dentro del intervalo y/o de la zona de aceptación que se identifica con la línea roja punteada así lo demuestra, además,

el valor de la probabilidad de z \(p(z)\) cola izquierda es 0.0001 es menor que el valor de alfa de \(0.01\).

prob.z <- round(pnorm(q = -z, lower.tail = FALSE), 4)
prob.z
[1] 0.7977
alfa 
[1] 0.01
prob.z < alfa
[1] FALSE

Hipótesis cola derecha

\[ h_0: \le 50 \\ h_a: > 50 \]

Hipótesis cola derecha

Capítuo 9, ejercicio 13, (Anderson, Sweeney, and Williams 2008)

Se usó una muestra de 60, la desviación estándar poblacional es 8. Calcule el valor-p y dé su conclusión para cada uno de los resultados muestrales siguientes. Use \(\alpha = 0.05\) , nivel de confianza del \(95\%\)

a. para \(\bar{x} = 52.5\)

b. para \(\bar{x} = 51\)

c. para \(\bar{x} = 51.8\)

Inicializar variables

a. Para \(\bar{x} = 52.5\)

n <- 100
media_m1 <- 52.5
desv_std_p <- 8
media_p <- 50

Los valores en tabla

tabla <- data.frame(n = c("?", n), "medias" = c(media_p, media_m1), "desv.std" = c(desv_std_p, "?"))
rownames(tabla) <- c("Población", "Muestra")
kable(tabla, caption = "Datos iniciales. ? significa que no se necesita el dato")
Datos iniciales. ? significa que no se necesita el dato
n medias desv.std
Población ? 50.0 8
Muestra 100 52.5 ?

Valor de z a contrastar

z <- f.devolver.z.prueba(media.m = media_m1, media.p = media_p, desv.p = desv_std_p, n = n)
paste("Valor de z", round(z, 4), "su probabilidad cola derecha es de:", round(pnorm(q = -z, lower.tail = FALSE), 4))
[1] "Valor de z 3.125 su probabilidad cola derecha es de: 0.9991"

Z crítico cola derecha

confianza = 0.95
# Dos colas
alfa <- (1 - confianza) 
z.critico <- qnorm(p = alfa)
z.critico <- abs(z.critico)
z.critico
[1] 1.644854

z prueba, p(z), z crítico

visualize.norm(stat = c(z.critico), section = "upper") +
  text(0, 0.2, paste(confianza * 100, "%", "\n", "alfa=", (1 - confianza), "\n",   "Acepta Ho", "\n", "z=",round(z, 4),"\n", "p(z)=", round(pnorm(q = z, lower.tail = FALSE), 4), "\n",  "entonces ...", sep = ""),  col = "black") + 
  abline(v = z, col='red', lwd = 1, lty= 4)
integer(0)

Conclusión de \(h_0\)

conclusion <- "No se rechaza Ho"
h0 <- "¡la media de la población es mayor o igual 50 a un 95% de confianza!"
if (z > z.critico )
    conclusion = "Se rechaza Ho"
paste(conclusion, h0)
[1] "Se rechaza Ho ¡la media de la población es mayor o igual 50 a un 95% de confianza!"

¿Porqué?

¿Porqué SI se rechaza la \(h_o\)?, porque el valor de z de prueba es mayor a z_critico y está fuera del intervalo y/o de la zona de aceptación que se identifica con la línea roja punteada así lo demuestra, además,

el valor de la probabilidad de z \(p(z)\) cola derecha es 0.0009 es menor que el valor de alfa de \(0.05\).

prob.z <- round(pnorm(q = z, lower.tail = FALSE), 4)
prob.z
[1] 0.0009
alfa 
[1] 0.05
prob.z < alfa
[1] TRUE

Pendiente b y c

Bibliografía

Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia Brasil Corea España Estados Unidos Japón México Reino Unido Singapur: Cengage Learning,.