CLASE 5

DISTRIBUCIÓN DE PROBABILIDAD

1. OBJETIVO

El objetivo de esta clase es entender el concepto de probabilidad, como un evento que pude ocurrir con cierta frecuencia, y que dicha frecuencia determina si el evento es sumamente inusual o al contrario es un evento que usualmente ocurre. Este concepto es básico porque de aquí parte la estadistica inferencial.

2. PUNTOS CLAVE

3. TEMARIO

4. DISTRIBUCIONES DE PROBABILIDAD

4.1 Definiciones

Es importante definir claramente los dos tipos de variables cuantitativas que existen:

  • Variable aleatria continua Es aquella que tiene una cantidad infinita de valores posibles.
  • Variable aleatoria discreta Es aquella que tiene una cantidad finita de valores posibles, y no acepta valores intermedios entre ellos.

En la siguiente base de datos de ejemplo

db <- read.delim(paste0(dirname(getwd()),"/chp4/data/curva de crecimiento final.txt"))
knitr::kable(
  db,
  caption = "Crecimiento bactriano"
)
Crecimiento bactriano
tiempo1 reactor tiempo2 sp Medio.BBM Medio.BG.11 Medio.F.2
T:0 reactor 1 12h Chloridium 819.222 554.778 554.778
T:1 reactor 1 12h Chloridium 1567.000 1248.222 1393.667
T:2 reactor 1 12h Chloridium 2093.667 3505.889 2392.556
T:3 reactor 1 12h Chloridium 2585.889 1912.556 1965.889
T:4 reactor 1 12h Chloridium 4985.111 5916.222 17935.000
T:5 reactor 1 12h Chloridium 5217.667 1925.889 11873.889
T:6 reactor 1 12h Chloridium 6271.000 8968.333 25992.222
T:0 reactor 2 12h Chloridium 819.222 554.778 554.778
T:1 reactor 2 12h Chloridium 1830.333 3220.333 2024.778
T:2 reactor 2 12h Chloridium 2089.222 5934.000 3612.556
T:3 reactor 2 12h Chloridium 2997.000 5834.333 3595.889
T:4 reactor 2 12h Chloridium 6151.778 17168.667 8285.000
T:5 reactor 2 12h Chloridium 8496.111 7051.667 15636.667
T:6 reactor 2 12h Chloridium 10528.667 8602.000 25936.667
T:0 reactor 3 12h Chloridium 283.589 2232.556 5375.556
T:1 reactor 3 12h Chloridium 306.811 1661.444 6417.778
T:2 reactor 3 12h Chloridium 496.289 1584.778 5273.333
T:3 reactor 3 12h Chloridium 576.100 1681.444 9908.889
T:4 reactor 3 12h Chloridium 323.144 2172.556 5824.444
T:5 reactor 3 12h Chloridium 450.733 2953.667 5552.222
T:6 reactor 3 12h Chloridium 595.889 11412.778 56622.222
T:0 reactor 1 24h Chloridium 819.222 554.778 554.778
T:1 reactor 1 24h Chloridium 1875.667 1353.667 2635.889
T:2 reactor 1 24h Chloridium 3109.222 1749.222 5422.889
T:3 reactor 1 24h Chloridium 4505.111 2479.222 3489.222
T:4 reactor 1 24h Chloridium 9464.333 2300.333 33858.889
T:5 reactor 1 24h Chloridium 3453.667 7341.000 9794.333
T:6 reactor 1 24h Chloridium 7474.333 10235.333 23092.222
T:0 reactor 2 24h Chloridium 819.222 554.778 554.778
T:1 reactor 2 24h Chloridium 1327.000 2405.889 2437.000
T:2 reactor 2 24h Chloridium 2463.667 2137.000 3448.111
T:3 reactor 2 24h Chloridium 6618.444 5020.667 8435.000
T:4 reactor 2 24h Chloridium 14973.889 8794.333 9551.667
T:5 reactor 2 24h Chloridium 14846.111 8601.667 12146.111
T:6 reactor 2 24h Chloridium 28303.333 12158.889 11981.111
T:0 reactor 3 24h Chloridium 819.222 554.778 554.778
T:1 reactor 3 24h Chloridium 3709.556 3951.778 4911.778
T:2 reactor 3 24h Chloridium 6254.000 2577.000 8635.000
T:3 reactor 3 24h Chloridium 2853.667 3151.444 11729.444
T:4 reactor 3 24h Chloridium 2693.667 3391.444 14818.333
T:5 reactor 3 24h Chloridium 2381.444 3512.556 24025.556
T:6 reactor 3 24h Chloridium 4635.000 5757.667 29858.889
T:0 reactor 1 12h Chlorella 594.667 251.333 396.333
T:1 reactor 1 12h Chlorella 1313.000 1226.333 986.333
T:2 reactor 1 12h Chlorella 1624.667 2821.333 2593.000
T:3 reactor 1 12h Chlorella 2181.333 3606.333 4936.333
T:4 reactor 1 12h Chlorella 7664.000 6992.667 13039.000
T:5 reactor 1 12h Chlorella 4961.333 5392.667 11631.667
T:6 reactor 1 12h Chlorella 5909.333 18148.333 17948.000
T:0 reactor 2 12h Chlorella 594.667 251.333 396.333
T:1 reactor 2 12h Chlorella 1184.667 1156.333 1019.667
T:2 reactor 2 12h Chlorella 1489.667 1484.667 2738.000
T:3 reactor 2 12h Chlorella 9332.667 6936.000 11165.000
T:4 reactor 2 12h Chlorella 4451.333 12549.000 12399.000
T:5 reactor 2 12h Chlorella 3738.000 7684.000 11344.000
T:6 reactor 2 12h Chlorella 4534.667 15980.000 34163.333
T:0 reactor 3 12h Chlorella 594.667 251.333 396.333
T:1 reactor 3 12h Chlorella 7516.000 8336.000 11614.000
T:2 reactor 3 12h Chlorella 7886.000 11898.333 13540.000
T:3 reactor 3 12h Chlorella 3983.000 4429.667 16106.667
T:4 reactor 3 12h Chlorella 11899.000 20506.667 19681.667
T:5 reactor 3 12h Chlorella 12538.000 21598.000 31230.000
T:6 reactor 3 12h Chlorella 10330.000 16598.000 3898.000
T:0 reactor 1 24h Chlorella 594.667 298.000 401.333
T:1 reactor 1 24h Chlorella 1148.000 1069.667 1246.333
T:2 reactor 1 24h Chlorella 2514.667 2296.333 2026.333
T:3 reactor 1 24h Chlorella 5084.667 2736.333 3376.333
T:4 reactor 1 24h Chlorella 3311.333 17278.667 4916.333
T:5 reactor 1 24h Chlorella 4399.667 11669.000 5762.667
T:6 reactor 1 24h Chlorella 3686.333 30030.000 13130.000
T:0 reactor 2 24h Chlorella 594.667 298.000 401.333
T:1 reactor 2 24h Chlorella 981.333 953.000 2134.667
T:2 reactor 2 24h Chlorella 2371.333 4861.333 3949.667
T:3 reactor 2 24h Chlorella 3133.000 15640.000 13290.000
T:4 reactor 2 24h Chlorella 7944.000 19765.000 42913.333
T:5 reactor 2 24h Chlorella 4439.667 18481.667 28948.000
T:6 reactor 2 24h Chlorella 11589.000 20790.000 16198.333
T:0 reactor 3 24h Chlorella 594.667 298.000 401.333
T:1 reactor 3 24h Chlorella 12754.000 22856.667 8804.000
T:2 reactor 3 24h Chlorella 17006.667 27178.000 8956.667
T:3 reactor 3 24h Chlorella 20306.667 21206.667 15465.000
T:4 reactor 3 24h Chlorella 36896.667 27288.000 22630.000
T:5 reactor 3 24h Chlorella 35463.333 34796.667 19630.000
T:6 reactor 3 24h Chlorella 29558.000 85326.667 17093.333
levels(as.factor(db$tiempo2))
## [1] "12h" "24h"

Podemos obserbar que los valores de la variable “tiempo2” es discreta, ya que solo puede tomar dos valores : “12h” y “24h”; y no acepta valores intermedios entre ellos. Por otro lado la variable correspondiente a los diferentes medios de cultivo: “Medio.BBM”, “Medio.BG.11” y “Medio.F.2” puede tomar valores numéricos intermedios entre ellos de forma infinita. En este capítulo nos enfocaremos en las variables aleatorias discretas.

4.2 Requisitos para la distribución de probabilidad

  • La variabe es númerica y cada valor numérico está asociado a una probabilidad correspondiente.
  • La suma de las probabilidades para todos los valores numéricos posibles es 1 \(P(x) = 1.0\).
  • La probabilidad para cada valor numérico está entre 0 y 1.

Para ejemplificar esta distribución, determinaremos cual es la distribución de probabilidades de obtener de obtner dos muetras seguidas de “Chlorella” de la tabla anterior. Primero determinaremos cual es la probabilidad de las valores para la variable “sp”

table(db$sp)/nrow(db)
## 
##  Chlorella Chloridium 
##        0.5        0.5

Ahora determinemos cual es nuestro espacio muestral

outer(levels(as.factor(db$sp)), levels(as.factor(db$sp)),paste, sep = "-")
##      [,1]                   [,2]                   
## [1,] "Chlorella-Chlorella"  "Chlorella-Chloridium" 
## [2,] "Chloridium-Chlorella" "Chloridium-Chloridium"

Entonces nuestro espacio muestral está determinado por {(“Chlorella-Chlorella”);(“Chlorella-Chloridium”);(“Chloridium-Chlorella”);“Chloridium-Chloridium”}. Aplicando la regla de la multiplicación podemos obtener la probabilidad para cada combinación, de la siguiente forma \[ \begin{aligned} P(m) = P(sp_1).P(sp_2)\\ P(m) = (0.5)(0.5)\\ P(m) = 0.25\\ \end{aligned} \] Entonces las probabilidades para nuestro espacio muestral son las siguientes {(0.25);(0.25);(0.25);(0.25)}. Como nos resulta igual el orden de los resultados, reealmente no importa si el resultado es “Chlorella-Chloridium” o “Chloridium-Chlorella”, entonces nuestro espacio muestral queda reducido a tres resultados probables y sus probabilidades serían {(0.25);(0.50);(0.25)} (recordemos la regla de la suma cuando queremos saber la posibilidad de uno “O” el otro). Si quisieramos

df <- data.frame(Combinacion = c("Chlorella-Chlorella", "Chloridium-Chlorella", "Chloridium-Chloridium"),
                 Exito = c(0,1,2),
                 P.x = c(0.25, 0.5, 0.25))
df
##             Combinacion Exito  P.x
## 1   Chlorella-Chlorella     0 0.25
## 2  Chloridium-Chlorella     1 0.50
## 3 Chloridium-Chloridium     2 0.25

4.3 Descriptores para una distribución de probabilidad

  • Media: que se calcula conn la siguiente fórmula \[\mu = \sum{[x.P(x)]}\]

  • Varianza: \[\sigma ^2 = \sum{[(x-\mu)^2.P(x)]}\]

  • desviación estandar: \[ \sigma =\sqrt{\sum{[(x-\mu)^2.P(x)]}} \]

Para mostrar un ejemplo practico, utilizaremos la tabla de distribución de probabilidades de especies, vista anteriormente.

df$x.Px <- df$Exito*df$P.x
df$varianza <- (df$Exito-sum(df$x.Px))^2 * df$P.x
df
##             Combinacion Exito  P.x x.Px varianza
## 1   Chlorella-Chlorella     0 0.25  0.0     0.25
## 2  Chloridium-Chlorella     1 0.50  0.5     0.00
## 3 Chloridium-Chloridium     2 0.25  0.5     0.25
(media <- sum(df$x.Px))
## [1] 1
(varianza <- sum(df$varianza))
## [1] 0.5
(desvi <- varianza^(1/2))
## [1] 0.7071068

5. DISTRIBUCIONES DE PROBABILIDAD BINOMIAL

5.1 Definiciones

Esta distribución aplica aquellos resultados donde el espacio muestral está compuesto por solo dos eventos simples, como por ejemplo: sexo, vivos/muertos, sano/enfermo.

5.2 Requisitos

  • Número fijo de ensayos.
  • Ensayos independientes.
  • Cada ensayo solo puede tener dos resultados posibles.
  • La probabilidad de exito se conserva igual en todos los ensayos.

5.3 Notación

$$ \[\begin{equation} E = exito\\ F = fracaso\\ P(E) = probilidad\space exito = p\\ P(F) = probilidad\space fracaso = 1-p = q\\ n = numero\space ensayo\\ p = probabiliad\space exito \space en\space un\space ensayo\\ q = probabiliad\space fracaso \space en\space un\space ensayo\\ P(x) = probabiliad\space "x"\space exitos \space en\space "n"\space ensayos\\ \end{equation}\] \[ ### 5.4 Fórmula de probabilidad binomial Para determinar la probabilidad de que sucedan exactanente "x" eventos de éxito "E" en un número de ensayos "n", para una distribución binomial podemos usar la siguiente fórmula: \] \[\begin{equation} P(x) = \frac{n!}{(n-x)!x!}.p^x .q^{(n-x)} \end{equation}\] $$

5.5 Ejemplo práctico

De la tabla anterior, cuya probabilidad de obtener “Chlorella” es de \(p = 0.5\), determinemos ¿Cuál es la probabilidad de obtener 38 veces “Chlorella” de 40 ensayos? Primero definamos nuestras variables \[ \begin{equation} p=0.5\\ q=0.5\\ n=40\\ x=38\\ \end{equation} \] Reemplazando en la fórmula anterior tenemos que: $$ \[\begin{equation} P(38) = \frac{40!}{(40-38)!38!}.0.5^{38} .q^{(40-38)}\\ P(38) = \frac{40.39.38!}{(2)!38!}.0.5^{38} .0.5^{2}\\ P(38) = \frac{40.39}{2}.(3.64E-12).(0.25)\\ P(38) = 780.(3.64E-12).(0.25)\\ P(38) = 7.09406E-10 \end{equation}\] $$ En R todo este cálculo podemos calcularlo con la función dbinom(), que tiene tres párametros + x= donde se define el número de éxitos + size= donde se define el tamaño de la muestra + prob= donde se define la probabilidad de éxito.

dbinom(x = 38,size = 40,prob = 0.5)
## [1] 7.094059e-10

El resultado obtenido muestra que es sumamente improbable obtener 38 veces “Chlorella” en una muestra de 40 datos seleccionados aleatoriamente de nuestra base de datos.

Podemos graficar nuestra distribución de frecuencias con el siguiente loop:

p <- numeric()
for (i in 0:40){
  p[i] <- dbinom(x = i,size = 40,prob = 0.5)
}
par(mfrow = c(1,2))
barplot(p, col = colores1,beside = T)
plot(p, type = "l", las = 1)

Pero que hubiera pasado con la distribución si la probabilidad de exito sería \(p=0.02\)

p <- numeric()
for (i in 0:40){
  p[i] <- dbinom(x = i,size = 40,prob = 0.02)
}
par(mfrow = c(1,2))
barplot(p, col = colores1,beside = T)
plot(p, type = "l", las = 1)

### 5.6 Descriptores para una distribución binomial + Media: que se calcula conn la siguiente fórmula \[\mu = n.p\] + Varianza: \[\sigma ^2 = npq\]

  • desviación estandar: \[ \sigma =\sqrt{npq} \]

En el ejemplo anterior de seleccionar 38 veces “Clhorella” en 40 muestreos, la probabilidad es de 7E-10. Para identificar los valores atípicos podemos establecer los límites como +/- DE de la media. Hallemos dichos valores en nuestro ejemplo

media <- (40*0.5)
sd <- (40*0.5*0.5)^(1/2)
lim.sup <- media + 2*sd
lim.inf <- media - 2*sd
print(lim.sup)
## [1] 26.32456
print(lim.inf)
## [1] 13.67544

6. DISTRIBUCIONES DE PROBABILIDAD DE POISSON

6.1 Distribución de Poisson

La distribución de Poisson se aplica a la ocurrencia de eventos discretos en UN INTERVALO ESPECÍFICO, ya sea un intervalo de tiempo, espacio, volumen, área, etc. Por ejemplo: Númereo de usarios que entran en un sitio web por día, númereo de personas que entran a emergencias en el hospital por día, número de metioritos que caen a la luna en mes.

6.2 Requisitos para la distribución de Possion

  • La variable “x” representa el número de exitos o ocurrencias de un evento en un intervalo específico.
  • Las ocurrencias deben ser seleccionadas de forma aleatoria.
  • Las ocurrencias de las mismas debe ser independiente entre ellas.
  • Las ocurrencias deben estar distribuidas uniformemente a lo largo del intervalo.

6.3 Descriptores de la distribución de Poisson

  • Media: \[\mu \]
  • desviación estandar: \[ \sigma =\sqrt{\mu} \]

6.4 Fórmula de la distribución de Possion

$$ \[\begin{equation} P(x) = \frac{\mu^x.e^{-x}}{x!} \end{equation}\] $$

6.5 Ejemplo prático

Suponga Ud. que en 15 años han caido 325 metoritos a la superficie lunar. Asumamos que la distribución de Possion es un modelo adecuado. Calcule Ud. la probabilidad de que en una año caiga exactamente 25 meteoritos. Primero definimos nuestras variables

media <- 325/15
media
## [1] 21.66667
desvi <- media^(1/2)
desvi
## [1] 4.654747

Reemplaznado en la fórmula anterior

$$ \[\begin{equation} P(x) = \frac{(21.67)^{25}.(2.71828)^{-25}}{25!} P(x) = \frac{73.46E22}{1.55E25} P(x) = 0.06 \end{equation}\] $$

Con R podemos calcular la probabilidad acumulada por encima o por debajo de “x”, con la función dpois() y usando el parámetro lower

dpois(x = 25,lambda = media)
## [1] 0.06229355
ppois(q = 25,lambda = media, lower.tail = FALSE)
## [1] 0.2016158
ppois(q = 25,lambda = media, lower.tail = TRUE)
## [1] 0.7983842

Tambien podemos graficar la frecuencia de las probabilidades de la siguiente forma

p <- numeric()
for (i in 0:44){
  p[i] <- dpois(x = i,lambda = media)
}
par(mfrow = c(1,2))
barplot(p, col = colores1,beside = T)
plot(p, type = "l", las = 1)