1 Experimento aleatorio

Un experimento es un procedimiento diseñado para observar, medir o probar los efectos de una o más variables bajo condiciones controladas. Los experimentos se utilizan para obtener información, validar hipótesis y entender las relaciones entre diferentes factores.

2 Espacios muestrales

El espacio de resultados \(\Omega\) es el conjunto de posibles resultados de un experimento aleatorio. A los puntos \({\omega}{\in}{\Omega}\) se les conoce como resultados muestrales, realizaciones o elementos.

2.1 Lanzamiento de una moneda

\[\Omega=\left\{cara,sello\right\}\]

Omega <- expand.grid(c("cara","sello"))
colnames(Omega) <- c("moneda")
Omega
##   moneda
## 1   cara
## 2  sello

2.2 Evento

A <- Omega[Omega=="cara",]
A
## [1] cara
## Levels: cara sello

2.3 Lanzamiento de un dado

Omega <- expand.grid(c("uno","dos","tres", "cuatro", "cinco", "seis"))
colnames(Omega) <- c("dado")
Omega
##     dado
## 1    uno
## 2    dos
## 3   tres
## 4 cuatro
## 5  cinco
## 6   seis
B <- Omega[Omega=="dos",]
B
## [1] dos
## Levels: uno dos tres cuatro cinco seis
length(B)/nrow(Omega)
## [1] 0.1666667
C <- Omega[Omega=="dos" | Omega=="tres",]
C
## [1] dos  tres
## Levels: uno dos tres cuatro cinco seis
length(C)/nrow(Omega)
## [1] 0.3333333
D <- Omega[Omega=="dos" | Omega=="cuatro" | Omega=="seis",]
D
## [1] dos    cuatro seis  
## Levels: uno dos tres cuatro cinco seis
length(D)/nrow(Omega)
## [1] 0.5

2.4 Lanzamiento de una moneda dos veces o dos monedas distinguibles entre sí

El conjunto de todos los posibles resultados es:

\[\Omega=\left\{\left(cara,cara\right),\left(cara,sello\right),\left(sello,cara\right),\left(sello,sello\right)\right\}\]

Omega <- expand.grid(c("cara","sello"),c("cara","sello"))
colnames(Omega) <- c("moneda uno", "moneda dos")
Omega
##   moneda uno moneda dos
## 1       cara       cara
## 2      sello       cara
## 3       cara      sello
## 4      sello      sello

3 Eventos muestrales

Un evento es cualquier subconjunto del conjunto de todos los posibles resultados de un experimento aleatorio, es decir, de \(\Omega\).

3.1 Lanzamiento de una moneda dos veces o dos monedas distinguibles entre sí

Un subconjunto, en partìcular, los resultados en donde se obtiene una cara en el primer lanzamiento corresponden a un evento, y se define por:

\[E:="\text{La primera moneda es cara}"\]

\[E=\left\{\left(c,c\right),\left(c,s\right)\right\}\]

E <- Omega[Omega[,1]=="cara",]
E
##   moneda uno moneda dos
## 1       cara       cara
## 3       cara      sello
length(E)/nrow(Omega)
## [1] 0.5

Un punto muestral serìa el siguiente

set.seed(987654321)
omega <- sample(x = c("cara","sello"), size = 2)
omega
## [1] "cara"  "sello"

3.2 Interpretación frecuentista y subjetiva de la probabilidad

La interpretación frecuentista es aquella en la cuál las probabilidades se entienden como una aproximación matemática de frecuencias relativas cuando la frecuencia total \(n\) tiende a infinito.

La interpretación es la subjetiva en la que un enunciado de probabilidad expresa la opinión de un individuo respecto a la certeza de que ocurra un evento.

3.2.1 Concentrandose en la interpretación frecuentista.

Una frecuencia relativa es una proporción que mide que tan seguido, o frecuente, ocurre una u otra cosa en una sucesión de observaciones. Si se piensa en un experimento que se pueda repetir, por ejemplo, lanzar una moneda, lanzar un dado, el nacimiento de un bebé. Se denominará ensayo a una repetición de dicho experimento.

Ahora, sea \(E\) un posible resultado del evento obtener (cara, sello), si A ocurre \(m\) veces en \(n\) ensayos, entonces la frecuencia relativa de \(E\) en \(n\) ensayos es \(m/n\).

set.seed(987654321)
lanzamientos_10 <- matrix(NA, ncol = 2, nrow = 10)
lanzamientos <- for(i in 1:10){
  lanzamientos_10[i,] <- sample(x = c("cara","sello"), 
                                size = 2, replace = TRUE)
  }
lanzamientos_10 <- as.data.frame(lanzamientos_10)
colnames(lanzamientos_10) <- c("moneda de cinco", "moneda de diez")
lanzamientos_10
##    moneda de cinco moneda de diez
## 1             cara           cara
## 2            sello          sello
## 3            sello           cara
## 4            sello          sello
## 5            sello           cara
## 6            sello          sello
## 7             cara           cara
## 8             cara           cara
## 9             cara          sello
## 10            cara           cara

Supongamos que lanzamos una moneda 10 veces y obtenemos los siguientes resultados:

3.2.1.1 Frecuencias absolutas

cumsum(lanzamientos_10[,1] == omega[1] & lanzamientos_10[,2] == omega[2])
##  [1] 0 0 0 0 0 0 0 0 1 1

3.2.1.2 Frecuencias relativas

round(cumsum(lanzamientos_10[,1] == omega[1] & lanzamientos_10[,2] == omega[2])/1:10, 2)
##  [1] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.10

3.2.2 Aproximación frecuentista

Frecuencia.al.Limite <- function(N){
  lanzamientos <- matrix(NA, ncol = 2, nrow = N)
  for(i in 1:N){
    lanzamientos[i,] <- sample(x = c("cara","sello"), 
                                  size = 2, replace = TRUE)
    }
  lanzamientos <- as.data.frame(lanzamientos)
  colnames(lanzamientos) <- c("moneda uno", "moneda dos")
  fa <- cumsum(lanzamientos[,1] == omega[1] & lanzamientos[,2] == omega[2])
  fr <- round(cumsum(lanzamientos[,1] == omega[1] & lanzamientos[,2] == omega[2])/1:N, 2)
  fr <- data.frame(repeticiones = 1:N, fa = fa, fr = fr)
  return(fr)
}
FR <- Frecuencia.al.Limite(10000)
tail(FR)
##       repeticiones   fa   fr
## 9995          9995 2567 0.26
## 9996          9996 2568 0.26
## 9997          9997 2569 0.26
## 9998          9998 2569 0.26
## 9999          9999 2569 0.26
## 10000        10000 2569 0.26
library(ggplot2)
ggplot(FR, aes(x = repeticiones, y = fr)) +
  geom_hline(yintercept = 0.25, color = "red", alpha = 0.25) +
  geom_line(color = "darkgray") +
  geom_point(size = 0.25)

library(plyr)
lanzamientos_3 <- rdply(3, Frecuencia.al.Limite(10000))
head(lanzamientos_3)
##   .n repeticiones fa fr
## 1  1            1  0  0
## 2  1            2  0  0
## 3  1            3  0  0
## 4  1            4  0  0
## 5  1            5  0  0
## 6  1            6  0  0
ggplot(lanzamientos_3, aes(x = log(repeticiones), y = fr, 
  color = factor(.n))) +
  geom_hline(yintercept = 0.25, color = "darkgray") + 
  geom_line() +
  scale_x_continuous("lanzamiento", labels = exp, 
    breaks = log(sapply(0:10, function(i) 2 ^ i)))

En la interpretación frecuentista, la probabilidad de un evento \(E\) es la estimación de la frecuencia relativa de \(E\) cuando el número de ensayos tiende a infinito. Si denotemos la proporción de veces que ocurre \(E\) en \(n\) ensayos por \({P}_{n}(E)\), se espera que \({P}_{n}(E)\) sea cercana a la probabilidad \({P}(E)\) si \(n\) es grande:

\[{P}_{N\rightarrow\infty}(E){\cong}{P}(E)\]

Esta idea se precisará más adelante cuando estudiemos la ley de los grandes números.

Veamos un ejemplo de probabilidad como frecuencia relativa; el objetivo es entender cómo la interpretación frecuentista nos da el nivel de detalle correcto cuando suponemos resultados equiprobables.

Ejemplo: Lanzamiento de dos monedas

Supongamos que lanzamos dos monedas de manera simultánea. ¿Cuál es la probabilidad de que las dos monedas sean “cara”?

  • Las dos son “cara” o no, así que la posibilidad es 1/4.

  • Si definimos el resultado como el número de caras que se leen en las monedas, puede haber 0, 1 o 2. Si suponemos que estos tres resultados son igualmente probables, entonces la posibilidad es 1/3.

  • A pesar de que las monedas son similares supongamos que se pueden distinguir, llamémoslas moneda 1 y moneda 2. Ahora tenemos cuatro posibles resultados: \(\Omega\)={(cara, cara), (sello), (cara, sello), (sello, sello)}, (la primer letra corresponde a la cara observada en la moneda 1 y la segunda en la moneda 2). Si estos 4 resultados son igualmente probables entonces el evento (cara, cara) tiene posibilidad de 1/4.

¿Cuál es la respuesta correcta?

En cuanto a teoría formal todas son correctas, cada escenario tiene supuestos de resultados equiprobables claramente enunciados y en base a éstos determina una probabilidad de manera correcta; sin embargo, los supuestos son diferentes y por tanto también las conclusiones. Únicamente una de las soluciones puede ser consistente con la interpretación frecuentista, ¿cuál es?

La primer respuesta es incorrecta pues supone probabilidad cero para el evento “cara” y “sello”. La solución dos, por otra parte, no es fácil de desacreditar, así que realicemos el experimento para encontrar la respuesta:

N <- 1000000
moneda_1 <- sample(c("cara", "sello"), N, replace = TRUE)
moneda_2 <- sample(c("cara", "sello"), N, replace = TRUE)
round(sum(moneda_1 == omega[1] & moneda_2 == omega[2]) / N, 2)
## [1] 0.25

La respuesta 3 es la correcta, y lo que vemos es que incluso cuando el supuesto de igualmente probables es apropiado a un cierto nivel de descripción determinado, este nivel no es algo que se pueda juzgar usando únicamente matemáticas, sino que se debe juzgar usando una interpretación de la probabilidad, como frecuencias relativas en ensayos. Más aún, hay ejemplos donde las monedas no son justas, o el sexo de un bebé recién nacido, donde el supuesto de equiprobabilidad no es adecuado.

3.2.2.1 Simulación para el cálculo de probabilidades

En el ejemplo anterior vimos que puede ser sencillo usar simulación para calcular probabilidades, pues usando la interpretación de frecuencia relativa simplemente hace falta simular el experimento y contar los casos favorables entre el total de casos. Veamos un ejemplo más para familiarizarnos con este uso de simulación. Ejemplo: La ruina del jugador

  • Un jugador tiene $100.000, y va a apostar en un juego donde la probabilidad de ganar es p = 0.47 (e.g. una ruleta 18/38), si gana recibe el doble de lo que arriesgó, si no gana pierde todo lo que apostó.

  • Cada vez que juega puede apostar cualquier cantidad siempre y cuando sea menor o igual al dinero que tiene en ese momento.

  • El jugador dejará de jugar cuando su capital sea $0 o cuando gane $200000.

  • El jugador busca una estrategia que le ayude a aumentar su probabilidad de ganar y te pregunta: ¿Cuál es la probabilidad de ganar si apuesto en incrementos de $5 cada vez que apuesto? ¿Cuál es la probabilidad si apuesto todo en una jugada?

apostar <- function(dinero = 100000, apuesta = 5000, tope = 200000){
  while(0 < dinero & dinero < tope){
    if(runif(1) < 0.47){
      dinero <- dinero + apuesta
    } 
    else{
      dinero <- dinero - apuesta
    }
  }
  dinero > 0
}
juegos <- rdply(2000, apostar())
sum(juegos$V1) / 2000
## [1] 0.082
juegos <- rdply(5000, apostar(apuesta = 50000))
sum(juegos$V1) / 5000
## [1] 0.4474
juegos <- rdply(10000, apostar(apuesta = 500000))
sum(juegos$V1) / 10000
## [1] 0.4733
juegos <- rdply(100000, apostar(apuesta = 50000))
sum(juegos$V1) / 100000
## [1] 0.43779
juegos <- rdply(1000000, apostar(apuesta = 500000))
sum(juegos$V1) / 1000000
## [1] 0.470559
3.2.2.1.1 Probabilidad: definición matemática

Desde un punto de vista puramente matemático, la probabilidad se define como una función de eventos. Los eventos se representan como conjuntos, y suponemos que la función de probabilidad satisface las reglas básicas de proporción. Antes de definir estas reglas consideremos la representación de los eventos como subconjuntos de un espacio de resultados.

Supongamos que tenemos un espacio de resultados \(\Omega\) , y que todos los eventos de interés están representados como subconjuntos de \(\Omega\). Podemos pensar en \(\Omega\) como una representación de todas las situaciones que pueden ocurrir, no suponemos que es finito, ni que los eventos son igualmente probables.

Las reglas de la probabilidad involucran relaciones lógicas entre eventos; estas se traducen a relaciones de conjuntos. Por ejemplo, si \(C\) es el evento que ocurre si sucede \(A\) o si sucede \(B\), entonces el conjunto de maneras en las que ocurre \(C\) es la unión del conjunto de maneras en que ocurre \(A\) y el conjunto de maneras en que ocurre \(B\). Lo anterior se traduce de eventos a conjuntos

Lenguaje de eventos Lenguaje de conjuntos Notación de conjuntos
Espacio de resultados conjunto universal \(\Omega\)
evento subconjunto de \(\Omega\) \(A\), \(B\), \(C\), …
evento imposible conjunto vacío \(\phi\)
no A, opuesto de A complemento de A \(A^c\)
A o B unión de A y B \(A \cup B\)
tanto A como B intersección de A y B \(A \cap B\)
A y B mutuamente excluyentes A y B disjuntos \(A \cap B = \phi\)
si A entonces B A es subconjunto de B \(A \subset B\)

3.3 Particiones y axiomas de probabilidad

Un conjunto de \(n\) eventos \(B_1,\ldots,B_n\) es una partición del evento \(B\) si \(B=B_1{\cup}B_2{\cup}\cdots{\cup}B_n\) y los eventos \(B_1,\ldots,B_n\) son mutuamente excluyentes.

Una función \(P\) es una probabilidad si satisface las siguientes condiciones:

  1. Un valor de probabilidad debe ser no-negativo y menor o igual a uno:

\[1{\geq}P(B){\geq}0\]

para cualquier evento \(B\)

  1. La suma de las probabilidades a través de todos los posibles eventos en el espacio de resultados debe ser 1 (i.e. uno de los eventos en el espacio de resultados debe ocurrir).

\[P(\Omega)=1\]

  1. Si \(B_1,\ldots,B_n\) es una partición del evento \(B\) entonces, la probabilidad de que ocurra \(B\) es la suma de las probabilidades individuales:

\[P(B)=P(B_1)+P(B_2)+\cdots+P(B_n)\]

3.3.1 Propiedades de la función de probabilidad:

  • \(P(A^c)=1−P(A)\)

  • \(P(\phi)=0\)

  • Si \(A{\subseteq}B\) entonces \(P(A){\leq}P(B)\)

  • \(0{\leq}P(A){\leq}1\)

  • La regla general de la suma: \(P(A∪B)=P(A)+P(B)−P(A∩B)\)

3.3.2 Distribuiones de probabilidad

Una distribución de probabilidad simplemente una lista de todos los posibles valores y sus probabilidades correspondientes (en el caso discreto).

\(resultado\) \(ω\) \(a\) \(b\) \(c\) \(d\) \(e\) \(\cdots\)
\(probabilidad\) \(P(ω)\) \(P(a)\) \(P(b)\) \(P(c)\) \(P(d)\) \(P(e)\) \(\cdots\)

Es posible pensar en el término distribución como una masa distribuida sobre un área o volumen \(\Omega\), y \(P(A)\) representa la proporción de esa masa en el subconjunto \(A\).

3.3.3 Distribución empírica

Sea \((x_1,x_2,\ldots,x_n)\) una lista de n números, podemos pensar que xi es la i-ésima medida de algo en una serie de mediciones. La distribución empírica de la lista de n números es la distribución en la línea \((−\infty,+\infty)\) definida como

\[P_n(a,b)=\frac{\#\left\{i:1{\leq}i{\leq}n,a<x_i<b\right\}}{n}\]

Esto es, \(P_n(a,b)\) es la proporción de los n números en la lista que se ubican en el intervalo \((a,b)\). Para entender la interpretación probabilista, imaginemos n boletos en una caja, cada boleto tiene escrito el número \(x_i\), después elegimos un boleto al azar y \(P_n(a,b)\) es la probabilidad de que el número escrito en el boleto que elegimos caiga en el intervalo \((a,b)\). Entonces, la distribución empírica de una lista es la distribución de un número elegido de manera aleatoria de la lista.

3.3.3.1 Ejemplo: lanzamiento de una moneda varias veces

moneda <- c("cara", "sello")
lanzamientos <- expand.grid(moneda, moneda, moneda)
colnames(lanzamientos) <- c("moneda 1", "moneda 2", "moneda 3")
lanzamientos
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 2    sello     cara     cara
## 3     cara    sello     cara
## 4    sello    sello     cara
## 5     cara     cara    sello
## 6    sello     cara    sello
## 7     cara    sello    sello
## 8    sello    sello    sello
library(dplyr)
frec.rel <-lanzamientos %>%
              count(`moneda 1`, `moneda 2`, `moneda 3`) %>%
              group_by(`moneda 1`, `moneda 2`, `moneda 3`) %>%
              mutate(`# caras` = sum(`moneda 1` == "cara", `moneda 2` == "cara", `moneda 3` == "cara"))
frec.rel <- frec.rel %>% 
              count(`# caras`) %>%
              group_by() %>% 
              mutate(prop = prop.table(n))
frec.rel
## # A tibble: 8 × 6
##   `moneda 1` `moneda 2` `moneda 3` `# caras`     n  prop
##   <fct>      <fct>      <fct>          <int> <int> <dbl>
## 1 cara       cara       cara               3     1 0.125
## 2 cara       cara       sello              2     1 0.125
## 3 cara       sello      cara               2     1 0.125
## 4 cara       sello      sello              1     1 0.125
## 5 sello      cara       cara               2     1 0.125
## 6 sello      cara       sello              1     1 0.125
## 7 sello      sello      cara               1     1 0.125
## 8 sello      sello      sello              0     1 0.125
library(ggplot2)
ggplot(frec.rel, aes(x = factor(`# caras`))) + 
  geom_bar(aes(y = (..count..)/ sum(..count..))) +
  labs(x = "# de caras obtenidas") +
  labs(y = "frecuencia relativa (fr)")
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

3.3.4 Lanzamiento de dos dados distinguibles

dado <- c(1:6)
lanzamientos <- expand.grid(dado, dado)
colnames(lanzamientos) <- c("dado 1", "dado 2")
lanzamientos
##    dado 1 dado 2
## 1       1      1
## 2       2      1
## 3       3      1
## 4       4      1
## 5       5      1
## 6       6      1
## 7       1      2
## 8       2      2
## 9       3      2
## 10      4      2
## 11      5      2
## 12      6      2
## 13      1      3
## 14      2      3
## 15      3      3
## 16      4      3
## 17      5      3
## 18      6      3
## 19      1      4
## 20      2      4
## 21      3      4
## 22      4      4
## 23      5      4
## 24      6      4
## 25      1      5
## 26      2      5
## 27      3      5
## 28      4      5
## 29      5      5
## 30      6      5
## 31      1      6
## 32      2      6
## 33      3      6
## 34      4      6
## 35      5      6
## 36      6      6
library(dplyr)
frec.rel <-lanzamientos %>%
              count(`dado 1`, `dado 2`) %>%
              group_by(`dado 1`, `dado 2`) %>%
              mutate(`suma` = sum(`dado 1` + `dado 2`))
frec.rel <- frec.rel %>% 
              count(`suma`) %>%
              group_by() %>% 
              mutate(prop = prop.table(n))
frec.rel
## # A tibble: 36 × 5
##    `dado 1` `dado 2`  suma     n   prop
##       <int>    <int> <int> <int>  <dbl>
##  1        1        1     2     1 0.0278
##  2        1        2     3     1 0.0278
##  3        1        3     4     1 0.0278
##  4        1        4     5     1 0.0278
##  5        1        5     6     1 0.0278
##  6        1        6     7     1 0.0278
##  7        2        1     3     1 0.0278
##  8        2        2     4     1 0.0278
##  9        2        3     5     1 0.0278
## 10        2        4     6     1 0.0278
## # ℹ 26 more rows
ggplot(frec.rel, aes(x = factor(`suma`))) + 
  geom_bar(aes(y = (..count..)/ sum(..count..))) +
  labs(x = "resultado de la suma de las caras hacia arriba") +
  labs(y = "frecuencia relativa (fr)")

3.3.5 Probabilidad condicional e independencia

Se ilustra la idea de probabilidad condicional, tomando como ejemplo el lanzamiento dos veces consecutivas de una moneda.

Si la apuesta consisten en que se gana si se tiene al menos una cara, es claro que se tiene una mayor oportunidad de ganar si el primer lanzamiento resulta ser una “cara” en contraste con que el primer lanzamiento resulte se un “sello”. Para ser más exactos, supongase que las cuatro posibles combinaciones de los resultados son igualmente probables:

moneda <- c("cara", "sello")
lanzamientos <- expand.grid(moneda, moneda, moneda)
colnames(lanzamientos) <- c("moneda 1", "moneda 2", "moneda 3")
lanzamientos 
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 2    sello     cara     cara
## 3     cara    sello     cara
## 4    sello    sello     cara
## 5     cara     cara    sello
## 6    sello     cara    sello
## 7     cara    sello    sello
## 8    sello    sello    sello

Si el evento A es que el resulatdo de la primera moneda es una cara

A <- lanzamientos[lanzamientos$`moneda 1` == "cara", ]
A
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 3     cara    sello     cara
## 5     cara     cara    sello
## 7     cara    sello    sello
Probabilidad.de.A <- nrow(A)/nrow(lanzamientos)
Probabilidad.de.A
## [1] 0.5

Si el evento B es que el resultado de la ùltima moneda es una cara

B <- lanzamientos[lanzamientos$`moneda 3` == "cara", ]
B
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 2    sello     cara     cara
## 3     cara    sello     cara
## 4    sello    sello     cara
Probabilidad.de.B <- nrow(B)/nrow(lanzamientos)
Probabilidad.de.B
## [1] 0.5
Probabilidad.de.A.y.B = Probabilidad.de.A * Probabilidad.de.B
Probabilidad.de.A.y.B
## [1] 0.25
Probabilidad.de.A.o.B = Probabilidad.de.A + Probabilidad.de.B - Probabilidad.de.A.y.B
Probabilidad.de.A.o.B
## [1] 0.75

Vamos a volver al lanzamiento de dos monedas

moneda <- c("cara", "sello")
lanzamientos <- expand.grid(moneda, moneda)
colnames(lanzamientos) <- c("moneda 1", "moneda 2")
lanzamientos 
##   moneda 1 moneda 2
## 1     cara     cara
## 2    sello     cara
## 3     cara    sello
## 4    sello    sello

El evento \(A\) ocurre si se observa una “cara” en un lanzamiento, esto tiene una probabilidad de 1/2. Se observa que la probabilidad condicional de \(A\) (que se obtengan dos “caras”) condicionado a \(B\) (que el primer lanzamiento haya resultado en una “cara”) es 3/4 y su notación es la siguiente:

A <- lanzamientos[lanzamientos$`moneda 1` == "cara" & lanzamientos$`moneda 2` == "cara", ]
A
##   moneda 1 moneda 2
## 1     cara     cara
Probabilidad.de.A <- nrow(A)/nrow(lanzamientos)
Probabilidad.de.A
## [1] 0.25
B <- lanzamientos[lanzamientos$`moneda 1` == "cara", ]
B
##   moneda 1 moneda 2
## 1     cara     cara
## 3     cara    sello
Probabilidad.de.B <- nrow(B)/nrow(lanzamientos)
Probabilidad.de.B
## [1] 0.5
A.y.B <- lanzamientos[lanzamientos$`moneda 1` == "cara" & (lanzamientos$`moneda 1` == "cara" & lanzamientos$`moneda 2` == "cara"), ]
A.y.B
##   moneda 1 moneda 2
## 1     cara     cara
Probabilidad.de.A.y.B <- nrow(A.y.B)/nrow(lanzamientos)
Probabilidad.de.A.y.B
## [1] 0.25

\[P(A|B)=\frac{P(A{\cap}B)}{P(B)}\]

Probabilidad.de.A.dado.B <- Probabilidad.de.A.y.B / Probabilidad.de.B
Probabilidad.de.A.dado.B
## [1] 0.5

\[P(A|B)=\frac{1}{2}\]

Probabilida de que se den dos caras dado que el primer resultado es una cara, La probabilidad de que se den dos caras y cara en el primer lanzamiento 1/4, La probabilidad de que se de una cara en el primer lanzamiento es 2/4 y entonces, la probabilidad de que se den dos caras dado que el primer lanzamiento resulto en cara 1/4/2/4 = 1/2.

3.3.6 Fórmula de conteo P(A|B)

Para un conjunto finito \(\Omega\) de resultados igualmente probables, y eventos \(A\), \(B\) tales que \(P(B)>0\), la probabilidad condicional de \(A\) dado \(B\) es:

\[P(A|B)=\frac{\#(A∩B)}{\#B}\]

la proporción de los resultados en \(B\) que también están en \(A\).

3.3.7 Lanzamiento consecutivo de una moneda

Se lanza una moneda tres veces, si una apuesta que se desea hacer consiste en que saldrán dos o más “caras” (evento \(A\)), obviamente se tiene mayor oportunidad de ganar si el primer lanzamiento resulta en “cara” en contraste con que el primer lanzamiento resulte en “sello”. Supongase que las ocho posibles combinaciones de los resultados son igualmente probables:

\[A=\left\{(x,y,z): \text{x e y, o x y z, o y y z; o x, y y z son "caras"}\right\}\]

moneda <- c("cara", "sello")
lanzamientos_3 <- expand.grid(moneda, moneda, moneda)
colnames(lanzamientos_3) <- c("moneda 1", "moneda 2", "moneda 3")
lanzamientos_3
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 2    sello     cara     cara
## 3     cara    sello     cara
## 4    sello    sello     cara
## 5     cara     cara    sello
## 6    sello     cara    sello
## 7     cara    sello    sello
## 8    sello    sello    sello

Entonces, la probabilidad no condicional, de el evento A: que se observen al menos dos “caras” es 4/8=0.5. Ahora, condicional a que el primer lanzamiento fue “cara”, el espacio muestral población o universo, en este caso, se reduce a

B <- lanzamientos_3[lanzamientos_3$`moneda 1` == "cara", ]
B
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 3     cara    sello     cara
## 5     cara     cara    sello
## 7     cara    sello    sello

El evento \(A\) ocurre si se observa al menos una cara en los dos lanzamientos finales, esto tiene una probabilidad de \(3/4\). Entonces, la probabilidad condicional de \(A\) (que se observen al menos dos sellos) condicional a \(B\) (que el primer lanzamiento haya resultado en una cara) es \(3/4\) y se denota:

\[P(A|B)=\frac{3}{4}\]

nrow(B[B[,2]=="cara" | B[,3]=="cara",])/nrow(B)
## [1] 0.75

Notese que los tres eventos que resultan en que gane la apuesta, condicional a que se observó una “cara” en el primer lanzamiento es la intersección de los eventos \(A\) y \(B\).

3.3.8 Fórmula de conteo \(P(A|B)\)

Para un conjunto finito \(\Omega\) de resultados igualmente probables, y eventos \(A\), \(B\) tales que \(P(B)>0\), la probabilidad condicional de \(A\) dado \(B\) es

\[P(A|B)=\frac{P(A∩B)}{P(B)}\]

3.3.9 Áreas relativas

Supongamos que tenemos un rectángulo principal (R) con un círculo (B) y un cìrculo (A), más chico, que se intersectan; tal como el el ejemplo anterio. Si se lanzan tres monedas ¿Cuál es la probabilidad de se den al menos dos “caras” dado que el primer lanzamiento resulta en una “cara”?

\[P(A)=\frac{\text{Área}(A{\cap}B)}{\text{Área}(B)}\]

library(VennDiagram)
draw.pairwise.venn(4, 4, 3, category = c("primera moneda cara", "dos o mas caras"), lty = rep("blank", 
    2), fill = c("light blue", "pink"), alpha = rep(0.5, 2), cat.pos = c(0, 
    0), cat.dist = rep(0.025, 2))

## (polygon[GRID.polygon.176], polygon[GRID.polygon.177], polygon[GRID.polygon.178], polygon[GRID.polygon.179], text[GRID.text.180], text[GRID.text.181], text[GRID.text.182], text[GRID.text.183], text[GRID.text.184])

3.3.10 Regla de la multiplicación

En los ejemplos anteriores se calculó la probabilidad condicional a partir de probabilidades no condicionales \((P(B)\), \(P(A∩B)\) ); sin embargo, en las aplicaciones es común tener eventos tales que la probabilidad condicional \(P(A|B)\) y la probabilidad \(P(B)\) son más fáciles de conocer que la probabilidad \(P(A{\cap}B)\).

\[P(B|A)P(A)=P(A{\cap}B)=P(A|B)P(B)\]

La regla de la multiplicación es muy natural en escenarios donde un evento \(A\) esta determinado por un resultado que ocurre en etapas, y \(B\) es un evento que depende únicamente de la primera etapa.

A manera de ilustración si se calcula la probabilidad de que al lanzar tres monedas A: la primera moneda sea una cara y B se obtengan al menos dos caras la regla de multiplicación daría como respuesta

\[P(\text{A: la primera moneda sea cara}{\cap}\text{B: Se obtienen al menos dos caras})=P(\text{B: Se obtienen al menos dos caras}|\text{A: la primera moneda sea "cara"})P(\text{A: la primera moneda sea cara})\]

moneda <- c("cara", "sello")
Omega <- expand.grid(moneda, moneda, moneda)
colnames(Omega) <- c("moneda 1", "moneda 2", "moneda 3")
Omega 
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 2    sello     cara     cara
## 3     cara    sello     cara
## 4    sello    sello     cara
## 5     cara     cara    sello
## 6    sello     cara    sello
## 7     cara    sello    sello
## 8    sello    sello    sello

\[P(\text{A: la primera moneda sea cara})=\frac{\text{# casos en los cuales la primera moneda es cara}}{\text{# todos los casos}}\]

A = Omega[Omega$`moneda 1` == "cara", ]
A
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 3     cara    sello     cara
## 5     cara     cara    sello
## 7     cara    sello    sello
casos.favorables.A <- nrow(A)
casos.favorables.A
## [1] 4
casos.posibles.A <- nrow(Omega)
casos.posibles.A
## [1] 8
probabilida.A <- casos.favorables.A/casos.posibles.A
probabilida.A
## [1] 0.5

\[P(\text{B: Se obtienen al menos dos caras}|\text{A: la primera moneda sea "cara"})\]

A
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 3     cara    sello     cara
## 5     cara     cara    sello
## 7     cara    sello    sello
B <- A[A$`moneda 2` == "cara" | A$`moneda 3` == "cara",]
B
##   moneda 1 moneda 2 moneda 3
## 1     cara     cara     cara
## 3     cara    sello     cara
## 5     cara     cara    sello
casos.favorables.B.dado.A <- nrow(B)
casos.favorables.B.dado.A
## [1] 3
casos.posibles.B.dado.A <- nrow(A)
casos.posibles.B.dado.A
## [1] 4
probabilida.B.dado.A <- casos.favorables.B.dado.A/casos.posibles.B.dado.A
probabilida.B.dado.A
## [1] 0.75

\[P(\text{B: Se obtienen al menos dos caras}|\text{A: la primera moneda sea "cara"})P(\text{A: la primera moneda sea cara})\]

probabilidad.A.y.B <- probabilida.B.dado.A * probabilida.A
probabilidad.A.y.B
## [1] 0.375

\[P(A{\cap}B)=\frac{3}{4}{\times}\frac{4}{8}=\frac{3}{8}\]

3/8
## [1] 0.375

3.3.11 Promedio de probabilidades condicionales

El ejercicio anterior ilustra la regla de del promedio de probabilidades condicionales: para cualquier par de eventos \(A\) y \(B\), la probabilidad total \(P(A)\) es el promedio de 2 probabilidades condicionales \(P(A|B)\) y \(P(A|B^c)\), donde los pesos son \(P(B)\) y \(P(B^c)\):

\[P(A)=P(A|B)P(B)+P(A|B^c)P(B^c)\]

Como ilustración en el ejemplo del lanzamiento de tres monedas distinguibles simultaneamente la probabilidad de obtener al menos dos “caras” se puede calcular considerando el evento \(B\) la primera moneda es cara de la siguiente manera

\[P(A)=\frac{3}{4}{\times}\frac{4}{8}+\frac{1}{4}{\times}\frac{4}{8}=\frac{4}{8}\]

Si un evento \(B\) define una partición del espacio de resultados \(\Omega\) en 2 eventos \(B\) y \(B^c\), es posible extender la fórmula a un caso más general: siendo \(B_1,B_2,\ldots,B_n\) una partición del espacio de resultados \(\Omega\), para cualquier evento \(A\), los eventos \(A{\cap}B_1{\cap}B_2{\cap}\cdots{\cap}B_n\) forman una partición de \(A\), y por lo tanto

\[P(A)=P(A{\cap}B_1)+P(A{\cap}B_2{\cap})+{\cdots}+P(A{\cap}B_n)\]$

A modo de ejemplo considerese el juego de County Hill, un popular show de televisión en USA, en el cual:

  1. El juego comienza cuando un participante escoge una puerta.

  2. A continuación el presentador abre una otra puerta vacía de las dos restantes que no seleccionó el participante.

  3. El participante, entonces debe decidir si se mantiene con su elección inicial o la cambia a la otra puerta que continúa cerrada.

  4. El presentador abre al final la segunda elección de la pueta y se revela si el concursante es un ganador o no.

juego <- function(){
  premio <- sample(1:3, 1)
  elegida <- sample(1:3, 1)
  otras <- c(1:3)[-c(premio, elegida)]
  if(elegida == premio){
    cerrada <- sample(otras, 1)
  }
  else{
    cerrada <- premio
  }
  cerrada == premio
}
library(plyr)
sum(rdply(2000, juego)[, 2]) / 2000
## [1] 0.647