Experimento Hipergeométrico

Algunas veces podríamos tener situaciones donde de una población se debe extraer una muestra sin reemplazo. Este tipo de experimento será llamado experimento hipergeométrico.

  1. De un lote de \(N=m+n\) artículos se selecciona una muestra aleatoria de tamaño \(k\) sin reemplazo
  2. \(m\) de los \(N=m+n\) artículos se pueden clasificar como éxitos y \(n\) como fracasos

el número \(X\) de éxitos de un experimento hipergeométrico se denomina variable aleatoria hipergeométrica.

Distribución hipergeométrica

La distribución de probabilidad de la variable aleatoria hipergeométrica \(X\) viene dada por

\[P(X=x)=\dfrac{\dbinom{m}{x}\dbinom{n}{k-x}}{\dbinom{m+n}{k}}\]

Pepito y los infiltrados

Pepito es un joven que le gusta salir a marchar, sin embargo el sabe los peligros que puede correr en dichas jornadas, es por eso que el quiere calcular la probabilidad de que hayan policias infiltrados en las marchas. Al iniciar la marcha, Pepito vio como de un camión se bajaban un grupo de 10 policias vestidos de civil, por lo tanto, suponiendo que en un grupo de 100 marchantes 90 son jovenes universitarios y 10 son policias infiltrados, el querrá calcular la probabilidad de que al seleccionar un grupo de 20 personas, haya por lo menos un policia infiltrado. Para esto, usaremos la distribución hipergeometrica.

Función de probabilidad

La función de probabilidad (o función de masa de probabilidad) de la distribución hipergeométrica es

\[f(x|m,n,k)=P(X=x)=\dfrac{\dbinom{m}{x}\dbinom{n}{k-x}}{\dbinom{m+n}{k}}\]

Función de distribución acumulada

\[ F_X(x)= \left\{\begin{matrix} 0,&x<0\\ P(X\leq \alpha),&\alpha \leq x < \alpha+1 \\ 1,& k\leq x \end{matrix}\right. \]

Con \[P(X\leq x)=\sum_{i=0}^{x}\dfrac{\dbinom{m}{i}\dbinom{n}{k-i}}{\dbinom{m+n}{k}}\]

Tenga en cuenta que \[\sum_{i=0}^{k}\dfrac{\dbinom{m}{i}\dbinom{n}{k-i}}{\dbinom{m+n}{k}}=1\]

Deducción de la función de probabilidad

Por la definición laplaciana de probabilidad tenemos:

\[P(X=x)=\frac{\text{Casos Favorables}}{\text{Casos Posibles}}\]

Aplicando la definición de número combinatorio basado en la cantidad de subconjuntos de tamaño fijo que posee un subconjunto dado, tenemos (por principio multiplicativo) que el total de casos favorables es:

\[\binom{m}{x} \cdot\binom{n}{k-x}\]

El número de casos posibles basado en la definición usual de número combinatorio es:

\[\binom{m+n}{k}\]

Esperanza y varianza

La esperanza para la distribución hipergeométrica viene dada por:

\[E(X)=k\cdot\dfrac{m}{m+n}\]

y la varianza será:

\[Var(X)=k\cdot\dfrac{m}{m+n}\cdot\dfrac{m+n-k}{m+n}\cdot\dfrac{n}{m+n-1}\]

Implementación en R

Suponiendo que en un grupo de \(100\) marchantes, \(90\) son jovenes universitarios y \(10\) son policias infiltrados, Pepito querrá calcular la probabilidad de que en un grupo de \(20\) marchantes haya por lo menos \(1\) policia infiltrado. Tenemos entonces que

\[m=10,\hspace{0.3cm}n=90\hspace{0.3cm}\text{y}\hspace{0.3cm}k=20 \]

Por lo tanto

\[ \begin{align} P(X\geq 1)&=1-P(X<1)\\ &=1-P(X=0)\\ &=1-\dfrac{\dbinom{10}{0}\dbinom{90}{20}}{\dbinom{100}{20}} \end{align} \]

Usando las funciones choose() para calcular combinaciones en R obtenemos que

P_1=1-((choose(10,0)*choose(90,20))/(choose(100,20)))
P_1
## [1] 0.9048837

Por otro lado, haciendo uso de la función dhyper() obtenemos el siguiente resultado

P_1=1- dhyper(x=0, m=10, n=90, k=20,log = FALSE)
P_1
## [1] 0.9048837

Supongamos ahora que queremos seleccionar 25 personas y hallar la probabilidad de que hayan al menos 3 policias infiltrados, por tanto:

\[m=10,\hspace{0.3cm}n=90\hspace{0.3cm}\text{y}\hspace{0.3cm}k=25\]

Tenemos entonces que: \[ \begin{align} P(X\geq 3)&=1-P(X<3)\\ &=1-P(X\leq 2)\\ &=1-[P(X=0)+P(X=1)+P(X=2)] \end{align} \]

así

P_2=1-((choose(10,0)*choose(90,25))/(choose(100,25))+ 
          (choose(10,1)*choose(90,24))/(choose(100,25))+ 
          (choose(10,2)*choose(90,23))/(choose(100,25)))
P_2
## [1] 0.4783376

y usando la función phyper()

P_2=1-phyper(q= 2,m= 10,n= 90,k= 25, lower.tail = TRUE, log.p = FALSE)
P_2
## [1] 0.4783376

Q_1= qhyper(p= 0.25,m=10,n=90,k=20, lower.tail = TRUE, log.p = FALSE)
Q_1
## [1] 1
Q_2=qhyper(p= 0.75,m=10,n=90,k=20, lower.tail = FALSE, log.p = FALSE)
Q_2
## [1] 1

La función cuantil está definida como

\[Q_{X}(u)=\text{inf}\left \{ x:F_{X}(x)\geq u \right \}\]

donde \(F_{X}\) es la función de distribución acumulada.

Ilustremos la función \(F_X(x)\), para esto usaremos el paquete ggplot2

v= seq(0,6,0.01)
y_phyper=phyper(v,m=10,n=90,k=20)
df= data.frame(y_phyper)
ggplot(df, aes(v,y_phyper))+
  geom_point(color = "red")
qhyper(p= 0.5,m=10,n=90,k=20, lower.tail = TRUE, log.p = FALSE)
## [1] 2

Función de distribución acumulada

Ahora bien, veamos cuál es la función de masa de probabilidad para nuestro ejercicio.

x <- 0:6
y_dhyper <- dhyper(x, m = 10, n = 90, k = 20)
df = data.frame(y_dhyper)
ggplot(data = df, mapping = aes(x = x, y =y_dhyper))+
geom_point(color = "red")

Función de masa de probabilidad

Para ver cómo actúa la función rhyper() , consideramos de nuevo nuestro primer ejemplo, cuyos parámetros son:

\[m=10,\hspace{0.3cm}n=90\hspace{0.3cm}\text{y}\hspace{0.3cm}k=20 \]

h1=rhyper(30,m=10,n=90,k=20)
h1
##  [1] 3 2 3 2 2 1 3 1 0 1 4 1 1 3 2 1 4 1 1 1 3 2 3 1 1 0 3 2 1 4
h2 <- rhyper(700000,m=10,n=90,k=20)
df2 <- data.frame(h2)
ggplot(df2, aes(x=h2)) + geom_histogram(color = "steelblue",
                                        fill="lightblue")

finalmente

h3 <- rhyper(10,m=10,n=30,k=40)
h3
##  [1] 10 10 10 10 10 10 10 10 10 10

GRACIAS.