En este artículo, discutiremos cómo calcular la probabilidad condicional en el lenguaje de programación R.
La probabilidad de ocurrencia de un evento condicionado a la ocurrencia de otro evento (es decir, un evento ocurre dependiendo de la condición de otro evento) se denomina probabilidad condicional. En términos simples, significa que si A y B son dos eventos, entonces la probabilidad de ocurrencia del Evento B condicionada a la ocurrencia del Evento A viene dada por P(B|A). De otra manera, también es la probabilidad condicional del Evento B dado que el evento A ya ocurrió.
De manera similar, la probabilidad de ocurrencia del Evento A condicionada a la ocurrencia del Evento B está dada por P(A|B), que también representa la probabilidad condicional del Evento A dado que el Evento B ya ocurrió.
La fórmula para la probabilidad condicional se puede representar como
PAG(A|B) = PAG(A ∩ B) / PAG(A)
Esto es válido sólo cuando P(A)≠ 0, es decir, cuando el evento A no es un evento imposible.
Similarmente,
P(B|A) = P(A ∩ B) / P(B)
Esto es válido solo cuando P(B)≠ 0, es decir, cuando el evento B no es un evento imposible.
La siguiente figura muestra la representación del diagrama de Venn
Ejemplo 1: Cálculo de probabilidad condicional
De un paquete de 50 cartas Pokémon, se extrae una carta al azar. Estas 50 cartas tienen 5 juegos iguales de cartas rojas, azules, verdes, amarillas y negras respectivamente y cada juego tiene 2 Pokémon de tipo agua con un tipo de agua de fuerza alta y el otro de fuerza media.
Considerando que A es el evento de sacar una carta de Pokémon de tipo agua de alta potencia y B como el evento de sacar una carta roja, ¿cuál es la probabilidad de sacar una carta de Pokémon de alta potencia de tipo agua con la carta roja ya puesta? ¿dibujado?
Pasos de solución
Paso 1. Probabilidad de sacar una tarjeta roja (Evento B).
P(B) = 10/50 (ya que hay 10 cartas rojas dentro de un paquete de 50 cartas Pokémon).
Paso 2: Probabilidad de sacar una carta de Pokémon de tipo agua de alta resistencia (Evento A)
P(A) = 5/50 (ya que hay 5 cartas de Pokémon de tipo agua de alta resistencia en un paquete de 50 cartas).
Paso 3: P(A � B) = 1/50 (ya que hay una carta Pokémon roja de tipo agua de alta resistencia en un paquete de 50 cartas)
Paso 4: dado que el evento B ya ocurrió, hay 10 casos exhaustivos y no 50 como antes. Entre estas 10 cartas de Pokémon rojas, hay 1 carta de Pokémon de tipo agua de alta resistencia.
Hence, P(A|B) = P( A Ո B) / P(B) = (1/50) / (10/50) = 1/10.
Esta es la probabilidad condicional de A dado que B ya ha ocurrido.
Similarmente,
P(B|A) = P( A Ո B) / P(A) = (1/50) / (5/50) = 1 / 5
Como solo puede haber 1 carta de Pokémon de tipo agua de alta resistencia roja dentro de la carta de Pokémon de tipo agua de alta resistencia ya extraída del paquete de 50 cartas.
Ejemplo 2: Cálculo de probabilidad condicional
El dueño de una tienda tiene una lista de 15 clientes. Él observa ciertos patrones en sus compras que se muestran en la siguiente tabla.
Clientes |
Dinero gastado | Frecuencia |
---|---|---|
1 |
Alto |
Menos |
2 |
Bajo |
Más |
3 |
Alto |
Más |
4 |
Alto |
Menos |
5 |
Bajo |
Menos |
6 |
Bajo |
Más |
7 |
Alto |
Más |
8 |
Bajo |
Menos |
9 |
Bajo |
Menos |
10 |
Alto |
Más |
11 |
Bajo |
Más |
12 |
Bajo |
Menos |
13 |
Alto |
Menos |
14 |
Alto |
Más |
15 |
Alto |
Menos |
Con base en la tabla anterior, él está interesado en averiguar
- ¿Cuál es la probabilidad de que el cliente gaste mucho dado que compra con menos frecuencia?
- ¿Cuál es la probabilidad de que el cliente gaste menos dado que compra con más frecuencia?
- ¿Cuál es la probabilidad de que el cliente gaste menos dado que compra con menos frecuencia?
- ¿Cuál es la probabilidad de que el cliente gaste mucho dado que compra con más frecuencia?
Pasos de solución
1. P (Alto gasto | Menos frecuencia)
P (menor frecuencia) = 8/15 (según la tabla, 8 veces de 15, la frecuencia es menor)
P(Gasto alto ?? Menos frecuencia) = 4/15 (según la tabla, hay 4 combinaciones de 15 con gasto alto y menor frecuencia)
P(Gasto alto | Menos frecuencia) = P(Gasto alto � Menos frecuencia)/ P(Menos frecuencia) = (4/15)/(8/15) = 0,5
2. P (Gasto bajo | Más frecuencia)
P (más frecuencia) = 7/15 (según la tabla, 7 veces de 15, la frecuencia es menor)
P(Gasto bajo ?? Más frecuencia) = 3/15 (según la tabla, hay 3 combinaciones de 15 con gasto bajo y más frecuencia)
P (Gasto bajo | Más frecuencia) = P (Gasto bajo – Más frecuencia)/ P (Más frecuencia) = (3/15)/(7/15) = 0,4285714
Similarmente,
3. P (Gasto bajo | Menos frecuencia) = 0.5
4. P(Alto gasto | Más frecuencia) = 0,5714286
Para hacer el trabajo, primero instale los paquetes «prob» y «tidyverse» y cree un marco de datos. Representar el marco de datos en forma de tabla para representar cada combinación. Ahora, cuente la frecuencia de las combinaciones únicas del marco de datos, representado como «n» en la salida. Calcule las probabilidades individuales de cada fila representada como «probs» en la salida. Calcule la probabilidad condicional final según el problema en cuestión.
A continuación se muestra el código R utilizado para el cálculo
R
# Library for calculation of conditional probability library(prob) library(tidyverse) Money_Spent < - c("High", "Low", "High", "High", "Low", "Low", "High", "Low", "Low", "High", "Low", "Low", "High", "High", "High") Frequency < - c("Less", "More", "More", "Less", "Less", "More", "More", "Less", "Less", "More", "More", "Less", "Less", "More", "Less") Customer < - c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) # Customer Data Frame Customer_Data < - as.data.frame(cbind(Customer, Money_Spent, Frequency)) Customer_Data % >% count(Money_Spent, Frequency, sort=T) # Creating two-way table from data frame Customer_Data_Table < - addmargins(table("Money_Spent"=Customer_Data$Money_Spent, "Frequency"=Customer_Data$Frequency)) # view table Customer_Data_Table Customer_Data < - probspace(Customer_Data) Customer_Data # Probability of the customer spending high # given that they are purchasing less often Prob(Customer_Data, event=Money_Spent == "High", given=Frequency == "Less") # Probability of the customer spending less # given that they are purchasing more often Prob(Customer_Data, event=Money_Spent == "Low", given=Frequency == "More") # Probability of the customer spending less # given that they are purchasing less often Prob(Customer_Data, event=Money_Spent == "Low", given=Frequency == "Less") # Probability of the customer spending high # given that they are purchasing more often Prob(Customer_Data, event=Money_Spent == "High", given=Frequency == "More")
Producción:
Publicación traducida automáticamente
Artículo escrito por ghoshsupriya2211 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA