Как вычислить условную вероятность в python
Условная вероятность наступления события А при условии, что произошло событие Б , рассчитывается следующим образом:
P(A|B) = P(A∩B) / P(B)
Золото:
P(A∩B) = вероятность того, что произойдет событие A и событие B.
P(B) = вероятность того, что событие B произойдет.
В следующем примере показано, как использовать эту формулу для расчета условных вероятностей в Python.
Пример. Вычисление условной вероятности в Python
Допустим, мы отправляем опрос 300 людям, спрашивая их, какой вид спорта они предпочитают: бейсбол, баскетбол, футбол или футбол.
Мы можем создать следующую таблицу на Python для хранения ответов на опрос:
import pandas as pd
import numpy as np
#create pandas DataFrame with raw data
df = pd. DataFrame ({' gender ': np. repeat (np. array (['Male', 'Female']), 150),
' sport ': np. repeat (np. array (['Baseball', 'Basketball', 'Football',
'Soccer', 'Baseball', 'Basketball',
'Football', 'Soccer']),
(34, 40, 58, 18, 34, 52, 20, 44))})
#produce contingency table to summarize raw data
survey_data = pd. crosstab (index=df[' gender '], columns=df[' sport '], margins= True )
#view contingency table
survey_data
sport Baseball Basketball Football Soccer All
gender
Female 34 52 20 44 150
Male 34 40 58 18 150
All 68 92 78 62 300
Связанный : Как использовать pd.crosstab() для создания таблиц непредвиденных обстоятельств в Python
Мы можем использовать следующий синтаксис для извлечения значений из массива:
#extract value in second row and first column
survey_data. iloc [1, 0]
[1] 34
Мы можем использовать следующий синтаксис, чтобы вычислить вероятность того, что человек — мужчина, учитывая, что он предпочитает бейсбол как свой любимый вид спорта:
#calculate probability of being male, given that individual prefers baseball
survey_data. iloc [1, 0]/survey_data. iloc [2, 0]
0.5
И мы можем использовать следующий синтаксис, чтобы вычислить вероятность того, что человек предпочитает баскетбол в качестве своего любимого вида спорта, учитывая, что он женщина:
#calculate probability of preferring basketball, given that individual is female
survey_data. iloc [0,1]/survey_data. iloc [0, 4]
0.3466666666666667
Мы можем использовать этот базовый подход для расчета любой желаемой условной вероятности из таблицы непредвиденных обстоятельств.
Дополнительные ресурсы
Следующие учебные пособия предоставляют дополнительную информацию об управлении вероятностями:
Закон полной вероятности
Как найти среднее значение распределения вероятностей
Как найти стандартное отклонение распределения вероятностей