Условная вероятность — вероятность наступления события A при условии, что событие B уже произошло:
P = (A|B)
Решение на Python:
# Решение задач с использованием
# условной вероятности
import numpy as np
from fractions import Fraction # Дроби
# ФУНКЦИИ
def thisprint(s, n, boolean):
i = 0
while i < len(n):
if boolean == False: print("(", s[i], "=", round(n[i], 5), ")")
if boolean == True: print(s[i], " \t\t=", round(n[i], 5), " \t=", Fraction(n[i]).limit_denominator(1000))
i += 1
print()
return ""
def conditional_probability(a, s, n, p):
# Всего объектов
n_sum = sum(n)
# Вероятность выбора объекта
w = n/n_sum
print("Вероятность выбора:")
thisprint(s, w, True)
# Вероятность негативного исхода при использовании объекта
q = 1 - p
print("Вероятность негативного исхода:")
thisprint(s, q, True)
# Формулы гипотез
# Вероятность исхода:
# Позитивного
Pu = sum(w*p)
# Негативного
Qu = sum(w*q)
# Вероятность наступления события
# при использовании разных объектов:
# Позитивного события
Pnu = (w*p)/Pu
# Негативного события
Qnu = (w*q)/Qu
print("Вероятность", a, " (", round(Pu, 5), "=", Fraction(Pu).limit_denominator(1000), ")")
thisprint(s, Pnu, True)
print("Вероятность НЕ", a, " (", round(Qu, 5), "=", Fraction(Qu).limit_denominator(1000), ")")
thisprint(s, Qnu, True)
print()
return Pnu
# ВВОД ДАННЫХ
# Действие
a = "поцеловаться"
# Наименования объектов (в данном
# случае жанры фильмов)
s = ["ужасы", "комедия", "мелодрама"]
# Количество объектов (в данном случае
# количество фильмов каждого жанра)
n = np.array([5, 3, 4])
# Вероятность наступления события
# (в данном случае поцелуя во время
# просмотра фильма определённого жанра)
p = np.array([0, .5, .3])
# РЕШЕНИЕ
Pc = conditional_probability(a, s, n, p)
Вероятность выбора:
ужасы = 0.41667 = 5/12
комедия = 0.25 = 1/4
мелодрама = 0.33333 = 1/3
Вероятность негативного исхода:
ужасы = 1.0 = 1
комедия = 0.5 = 1/2
мелодрама = 0.7 = 7/10
Вероятность поцеловаться ( 0.225 = 9/40 )
ужасы = 0.0 = 0
комедия = 0.55556 = 5/9
мелодрама = 0.44444 = 4/9
Вероятность НЕ поцеловаться ( 0.775 = 31/40 )
ужасы = 0.53763 = 50/93
комедия = 0.16129 = 5/31
мелодрама = 0.30108 = 28/93