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.
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.
\[\Omega=\left\{cara,sello\right\}\]
Omega <- expand.grid(c("cara","sello"))
colnames(Omega) <- c("moneda")
Omega
## moneda
## 1 cara
## 2 sello
A <- Omega[Omega=="cara",]
A
## [1] cara
## Levels: cara sello
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
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
Un evento es cualquier subconjunto del conjunto de todos los posibles resultados de un experimento aleatorio, es decir, de \(\Omega\).
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"
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.
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:
cumsum(lanzamientos_10[,1] == omega[1] & lanzamientos_10[,2] == omega[2])
## [1] 0 0 0 0 0 0 0 0 1 1
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
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.
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
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\) |
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{\geq}P(B){\geq}0\]
para cualquier evento \(B\)
\[P(\Omega)=1\]
\[P(B)=P(B_1)+P(B_2)+\cdots+P(B_n)\]
\(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)\)
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\).
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.
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.
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)")
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.
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\).
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\).
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)}\]
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])
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
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:
El juego comienza cuando un participante escoge una puerta.
A continuación el presentador abre una otra puerta vacía de las dos restantes que no seleccionó el participante.
El participante, entonces debe decidir si se mantiene con su elección inicial o la cambia a la otra puerta que continúa cerrada.
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