Calcular la función de densidad y la función de probabilidad probabilidad acumulada bajo la fórmula de distribución de hipergeométrica.
Realizar distribuciones de probabilidad conforme a la distribución de probabilidad de Hipergeométrica a partir de valores iniciales de los ejercicios.
Se generan las tablas de probabilidad conforme a distribución hipergeométrica, se identifican los valores de probabilidad cuando la variable discreta x tenga algún exactamente algún valor, ≤ a algún valor o > o ≥, entre otros.
Se utilizan las funciones base dhyper() y phyper() para la probabilidad y función acumulada de la distribución hipergeométrica.
Se utiliza también de manera alternativa la función del enlace f.prob.hiper() https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r que permite calcular la probabilidad de una variable aleatoria discreta bajo la distribución hipergeométrica y conforme a la fórmula.
Se presentan ejercicios de distribuciones hipergeométricas, mostrando tablas de distribución y gráfica de la misma, se calculan probabilidades, valores esperados, varianza y desviaciones. Al final se busca la interpretación de cada ejercicio.
Para nuevas librerías se requiere instalar con anticipación, ejemplo, install.packages(“cowplot”).
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.0.4
##
## 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
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.4
library(mosaic) # Gráficos de distribuciones
## Warning: package 'mosaic' was built under R version 4.0.5
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
##
## mean
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
library(cowplot) #Imágenes en el mismo renglón
## Warning: package 'cowplot' was built under R version 4.0.5
##
## Attaching package: 'cowplot'
## The following object is masked from 'package:mosaic':
##
## theme_map
options(scipen=999) # Notación normal
# options(scipen=1) # Notación científica
#source("../funciones/funciones.distribuciones.r")
# o
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r")
##
## Attaching package: 'gtools'
## The following object is masked from 'package:mosaic':
##
## logit
Una empresa fabrica fusibles que empaca en cajas de 12 unidades cada una.
Asuma que un inspector selecciona al azar 3 de los 12 fusibles de una caja para inspeccionarlos.
Si la caja contiene exactamente 5 fusibles defectuosos,
En este ejercicio:
\(n=5\) es el Número de casos exitosos
\(N=12\) Total de elementos
\(r=3\) Extracción de la muestra
\(x\) es la cantidad fusibles defectuosos como variable aleatoria discreta, desde \(0\) hasta \(n\) o hasta un valor específico (Anderson, Sweeney, and Williams 2008).
Primero inicializar valores
N <- 12
n <- N - 5
r <- 3
x <- 0:r
Distribución de la probabilidad por medio de la función creada llamada f.prob.hiper() y con cumsum()
tabla1 <- data.frame(x=x, f.prob.x = f.prob.hiper(x = x, N = N, n = n, r = r))
tabla1 <- cbind(tabla1, f.acum.x = cumsum(tabla1$f.prob.x))
tabla1
## x f.prob.x f.acum.x
## 1 0 0.04545455 0.04545455
## 2 1 0.31818182 0.36363636
## 3 2 0.47727273 0.84090909
## 4 3 0.15909091 1.00000000
m <-n; N <-N; k <- r; n <- N - m
tabla2 <- data.frame(x=x, f.prob.x = round(dhyper(x = x,m = m, n = n, k = k), 8))
tabla2 <- cbind(tabla2, f.acum.x = round(phyper(q = x,m = m, n = n, k = k), 8))
tabla2
## x f.prob.x f.acum.x
## 1 0 0.04545455 0.04545455
## 2 1 0.31818182 0.36363636
## 3 2 0.47727273 0.84090909
## 4 3 0.15909091 1.00000000
Se presentan la gráfica de probabilidad y la probabilidad acumulada en g1 y g2 respectivamente.
g1 <- ggplot(data = tabla2, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla2, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
¿Cuál es la probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso?
Utilizando la tabla de distribución.
x <- 1
prob <- tabla2$f.prob.x[x+1]
paste("La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: 31.8182 %"
Utilizando dhyper()
prob <- dhyper(x = 1, m = m, n = n, k = k)
paste("La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: 31.8182 %"
¿Cuál es la probabilidad de encontrar menos de tres fusibles defectuosos
\[P(x≤2)=P(X=0)+P(x=1)+P(x=2)\] o la función acumulada hasta tres \[F(x=3)\]
Utilizando la tabla de distribución
x <- 2
prob <- tabla2$f.acum.x[x+1]
paste("La probabilidad de menos de tres fusibles: ", round(prob * 100,4), "%")
## [1] "La probabilidad de menos de tres fusibles: 84.0909 %"
Utilizando sum(dhyper())
prob <- sum(dhyper(x = 0:x, m = m, n = n, k = k))
paste("La probabilidad de menos de tres fusibles: ", round(prob * 100,4), "%")
## [1] "La probabilidad de menos de tres fusibles: 84.0909 %"
Utilizando phyper()
prob <- phyper(q = x, m = m, n = n, k = k)
paste("La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: 84.0909 %"
¿Cuál es el valor esperado?
Mandar llamar la función creada anticipadamente f.va.hiper() que se encuentra en https://github.com/rpizarrog/probabilidad-y-estad-stica/blob/master/funciones/funciones.distribuciones.r
N <- 12
n <- 3
r <- 5
VE <- f.va.hiper(n = n, N = N, r = r)
paste("El valor esperado o media de este ejercicios es de: ", VE)
## [1] "El valor esperado o media de este ejercicios es de: 1.25"
¿Cuál es la varianza y la desviación estándar?. También se utilizan las funciones previamente preparadas.
varianza <- f.varianza.hiper(VE = VE, n = 3, N = 12, r = 5)
desvstd <- sqrt(varianza)
paste("El valor de la varianza es de: ", round(varianza,4), " y la desviación std es de: ", round(desvstd, 4))
## [1] "El valor de la varianza es de: 0.5966 y la desviación std es de: 0.7724"
Existe una probabilidad de aproximadamente 47.72% de que un fusible sea defectuoso, una probabilidad aproximada del 95% de que encontremos fusibles defectuosos menores a 3 componentes, el Valor esperado de 1.25 significa lo que en promedio se espera que suceda por cualquier valor de la variable discreta.
La varianza es de 0.5966 y la desviación es de 0.7724 significan el grado de dispersión de los valores de la distribución o qué tanto se alejan del valor medio en la distribución de probabilidad en este caso hipergeométrica.
Lotes con 40 componentes cada uno que contengan 3 o más defectuosos se consideran inaceptables. El procedimiento para obtener muestras del lote consiste en seleccionar 5 componentes al azar y rechazar el lote si se encuentra un componente defectuoso. En todo el lote hay \(3\) defectuosos (Camacho Avila 2019), (Walpole, Myers, and Myers 2012b)
N <- 40
m <- n <- 3
r <- 5
x <- 0:n
m <-n; N <-N; k <- r; n <- N - m
tabla <- data.frame(x=x, f.prob.x = round(dhyper(x = x,m = m, n = n, k = k), 8))
tabla <- cbind(tabla, f.acum.x = cumsum(tabla$f.prob.x))
tabla
## x f.prob.x f.acum.x
## 1 0 0.66244939 0.6624494
## 2 1 0.30111336 0.9635628
## 3 2 0.03542510 0.9989879
## 4 3 0.00101215 1.0000000
g1 <- ggplot(data = tabla, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
¿Cuál es la probabilidad de que, en la muestra, se encuentre exactamente un componente defectuoso, si en todo el lote hay 3 defectuosos?. P(x=1)
x <- 1
prob <- tabla$f.prob.x[x+1]
paste("La probabilidad de que, en la muestra, se encuentre exactamente un componente defectuoso de tres es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que, en la muestra, se encuentre exactamente un componente defectuoso de tres es: 30.1113 %"
¿Cuál es la probabilidad de encontrar menos de tres componentes defectuosos \[P(x≤3)=P(x=0)+P(x=1)+P(x=2)+P(x=3)\] o la función acumulada \[F(x=3)\]
x <- 3
prob <- phyper(q = x,m = m, n = n, k = k)
paste ("La probabilidad de encontrar menos de tres componentes", round(prob, 4))
## [1] "La probabilidad de encontrar menos de tres componentes 1"
VE <- f.va.hiper(n = n, N = N, r = r)
paste("El valor esperado o media de este ejercicios es de: ", VE)
## [1] "El valor esperado o media de este ejercicios es de: 4.625"
varianza <- f.varianza.hiper(VE = VE, n = 3, N = 12, r = 5)
desvstd <- sqrt(varianza)
paste("El valor de la varianza es de: ", round(varianza,4), " y la desviación std es de: ", round(desvstd, 4))
## [1] "El valor de la varianza es de: 2.2074 y la desviación std es de: 1.4857"
En este ejercicio en su contexto, sólo 30% de las veces detecta un lote malo (con 3 componentes defectuosos). (Camacho Avila 2019).
Se tiene un lote de 100 artículos de los cuales 12 están defectuosos. Se extraen lotes de 10.
N <- 100
m <- n <- 12
r <- 10
x <- 0:n
m <-n; N <-N; k <- r; n <- N - n
tabla <- data.frame(x=x, f.prob.x = round(dhyper(x = x, m = m, n = n, k = r), 8))
tabla <- cbind(tabla, f.acum.x = cumsum(tabla$f.prob.x))
tabla
## x f.prob.x f.acum.x
## 1 0 0.26075027 0.2607503
## 2 1 0.39607636 0.6568266
## 3 2 0.24507225 0.9018989
## 4 3 0.08068222 0.9825811
## 5 4 0.01549689 0.9980780
## 6 5 0.00179241 0.9998704
## 7 6 0.00012447 0.9999949
## 8 7 0.00000502 0.9999999
## 9 8 0.00000011 1.0000000
## 10 9 0.00000000 1.0000000
## 11 10 0.00000000 1.0000000
## 12 11 0.00000000 1.0000000
## 13 12 0.00000000 1.0000000
g1 <- ggplot(data = tabla, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
¿Cuál es la probabilidad de que haya 3 defectuosos en una muestra de 10? \[P(x=3)\]
x <- 3
prob <- tabla$f.prob.x[x+1]
paste("La probabilidad de que haya 3 defectuosos en una muestra de 10 es de", prob)
## [1] "La probabilidad de que haya 3 defectuosos en una muestra de 10 es de 0.08068222"
Con la función dhyper()
x <- 3
dhyper(x = x, m = m, n = n, k = k)
## [1] 0.08068222
paste("La probabilidad de que haya 3 defectuosos en una muestra de 10 es de", prob)
## [1] "La probabilidad de que haya 3 defectuosos en una muestra de 10 es de 0.08068222"
¿Cuál es el valor esperado?
VE <- f.va.hiper(n = n, N = N, r = r)
paste("El valor esperado o media de este ejercicios es de: ", VE)
## [1] "El valor esperado o media de este ejercicios es de: 8.8"
¿Cuál es la varianza y la desviación estándar?
varianza <- f.varianza.hiper(VE = VE, n = 3, N = 12, r = 5)
desvstd <- sqrt(varianza)
paste("El valor de la varianza es de: ", round(varianza,4), " y la desviación std es de: ", round(desvstd, 4))
## [1] "El valor de la varianza es de: 4.2 y la desviación std es de: 2.0494"
Se encontró que hay la probabilidad del 26.07% de que en el primer lote se encuentre al menos un artículo defectuoso y ya en el décimo lote se tiene asegurado que se hallan repartido los doce artículos defectuosos, luego se calculó la probabilidad de que en un mismo lote de 10 se encuentren tres artículos defectuosos, dándonos un valor muy bajo, del 8.06%, el valor esperado nos dice que para el lote 8.8 (o 9 redondeando) ya se hallan repartido los doce artículos defectuosos.
Un estudiante tiene que preparar cien temas. En el examen se sacan tres a sorteo, de los cuales deberá exponer uno y aprobar al menos uno. El estudiante decide estudiar o preparar solamente la mitad y probar suerte. (quintela2019?).
N <- 100
n <- 3
r <- 50
x <- 0:n
m <-n; N <-N; k <- r; n <- N - n
Se construye la tabla de distribución
tabla <- data.frame(x=x, f.prob.x = round(dhyper(x = x, m = m, n = n, k = r), 8))
tabla <- cbind(tabla, f.acum.x = cumsum(tabla$f.prob.x))
tabla
## x f.prob.x f.acum.x
## 1 0 0.1212121 0.1212121
## 2 1 0.3787879 0.5000000
## 3 2 0.3787879 0.8787879
## 4 3 0.1212121 1.0000000
g1 <- ggplot(data = tabla, aes(x,f.prob.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función de densidad P(x)")
#g1
g2 <- ggplot(data = tabla, aes(x,f.acum.x) ) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Función acumulada F(x)")
#g2
plot_grid(g1, g2)
Se calcula la probabilidad cuando \[P(x=0)\]
prob <- dhyper(x = 0, m = m, n = n, k = k)
paste ("La probabilidad de que no apruebe es de: ", prob, " o sea ", round(prob*100, 4), "%")
## [1] "La probabilidad de que no apruebe es de: 0.121212121212121 o sea 12.1212 %"
Se requiere al menos 1 de los temas, o lo que es lo mismo \[1−F(x=0)\]
prob <- 1 - phyper(q = 0, m = m, n = n, k = k)
paste ("La probabilidad de que apruebe es de: ", prob, " o sea ", round(prob*100, 4), "%")
## [1] "La probabilidad de que apruebe es de: 0.878787878787879 o sea 87.8788 %"
O se puede usar la función phyper() con el parámetro lower.tail = FALSE.
prob <- phyper(q = 0, m = m, n = n, k = k, lower.tail = FALSE)
paste ("La probabilidad de que apruebe es de: ", prob, " o sea ", round(prob*100, 4), "%")
## [1] "La probabilidad de que apruebe es de: 0.878787878787879 o sea 87.8788 %"
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,. Camacho Avila, Marcela. 2019. “Probabilidad y Estadística. Modelos Probabilísticos.” 2019. http://148.215.1.182/bitstream/handle/20.500.11799/108238/secme-34236_1.pdf?sequence=1. Cañas, Juan Jesús. n.d. “Distribución Hipergeométrica.” https://proyectodescartes.org/iCartesiLibri/materiales_didacticos/EstadisticaProbabilidadInferencia/VAdiscreta/4_1DistribucionHipergeometrica/index.html. Walpole, Ronald E., Raymond H. Myers, and Sharon L. Myers. 2012b. Probabilidad y Estadística Para Ingeniería y Ciencias. Novena Edición. México: Pearson. ———. 2012a. Probabilidad y Estadística Para Ingeniería y Ciencias. Novena Edición. México: Pearson.