二项分布:
# 某个商场有1000次人流,对店铺感兴趣的概率为1/50,利用二项分布生成有多少个人次对店铺感兴趣:
nums = int(np.random.binomial(1000, 1/50, 1)[0])
柏松分布:
"""
假定某航空公司预定票处平均每小时接到42次订票电话,那么10分钟内恰好接到6次电话的概率是多少
"""
lam = 42 / 6 # 一小时42次,那么每10分钟接到42/6次电话 单位时间内平均次数
size = 50000 # 进行50000次实验
print(np.random.poisson(lam,1)) # [10] # 进行一次实验,结果是10分钟内接到了10次电话
x = np.random.poisson(lam, size) # 进行50000次实验
print(x) # [11 7 7... 6 2 13] # 结果是随机的,每次实验的结果都不一定一样,
print(np.sum(x == 6) / size) # 0.1467 # 50000次实验中,10分钟内接到6次电话的结果次数 / 总实验数
正太分布:
#均值为1000, 标准差为250的正太分布生成数据。
visits = int(norm.rvs(size=1,loc=1000,scale=250)[0])
中心极限定理:
多次实验,每次实验多个样本是均值1,多个实验的均值的均值围绕真实的均值呈正太分布。
蒙特卡洛模拟:
利用xx分布生成多项数据,再类似于ecdf进行累计分布函数计算。
蒙特卡罗搜索:
给定目标和反馈,进行最优解求解。
【最佳实战】蒙特卡洛树搜索算法 - 知乎
蚁群算法:寻找最优路径。
蚁群算法(Ant Colony Optimization) - 知乎
Geatpy:
Python(Genetic Algorithm)之Geatpy - 知乎
线性规划与整数规划:
hyperopt: 贝叶斯最佳参数搜索