概率论
“概率论不是研究随机现象的,它是研究随机现象背后的客观规律性,我们找的不是不确定,我们找的是不确定背后的确定性。” ——from 张宇
有用的ython函数
求排列组合数的数值
from scipy.special import comb, perm
print(comb(3,2)) # C_3^2, 结果=3
print(perm(3,2)) # A_3^2, 结果=6
列举所有可能的情况
from itertools import combinations, permutations
from itertools import combinations_with_replacement, product
print(list(permutations([1,2,3], 2))) # 无放回,有序
# Out: [(1,2), (1,3), (2,1), (2,3), (3,1), (3,2)]
print(list(combinations([1,2,3], 2))) # 无放回,无序
# Out: [(1,2), (1,3), (2,3)]
print(list(combinations_with_replacement([1,2,3], 2))) # 有放回,无序
# Out: [(1,1), (1,2), (1,3), (2,2), (2,3), (3,3)]
print(list(product([1,2,3], 2))) # 有放回,有序(笛卡尔积)
# Out: [(1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3)]
常用分布
连续分布
概率密度函数 (PDF),即在n次尝试中,成功k次的概率
累积分布函数(CDF),即在n次尝试中,成功k次及以下的概率
离散分布
概率质量函数 (PMF),即在n次尝试中,成功k次的概率
累积分布函数(CDF),即在n次尝试中,成功k次及以下的概率
1. 二项分布
二项分布用于描述在固定次数的独立试验中,每次实验只有两种可能结果(成功或失败),每次试验成功的概率相同的情况下,成功特定次数的概率。
# binom 是指二项分布
from scipy.stats import binom
# 赢的概率
p = 0.6
# 尝试的次数
n = 10
# 计算至少赢4次的概率
prob_at_least_4_wins = 1 - binom.cdf(3, n, p)
print(prob_at_least_4_wins)