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.
Pendiente
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)
##
## 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)
library(mosaic) # Gráficos de distribuciones
## 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
##
## 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\] Número de casos exitosos
\[N=12\] Total de elementos
\[r=3\] Extracción de la muestra
\[x\] es la cantidad de fusible 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 %"
Probabilidad de menos de tres fusibles
¿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 suceda exactamente un fusible defectuoso.
Existe una probabilidad aproximada del 95% de que sucedan 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 que 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"
Pendiente
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.