1.泊松分布
def poisson(k,Lambda):
# 定义当变量服从泊松分布时计算概率的一个函数
# K:表示随机事件发生的次数
# Lambda:表示单位时间内随机事件的平均发生次数
from math import exp,factorial
P = pow(Lambda,k)*exp(-Lambda)/factorial(k) #计算服从泊松分布的概率因子
# 求Lambda的k次方
return P
2.保险收益预测模型
# 保险收益预测模型
n = 10000 #预期投保人数
prob = 0.004 #每位投保人需要理赔的概率
premium = 100 #每位投保人支付的每年保费
cost = 20000 #保险公司给每位符合理赔要求的投保人支付理赔款金额
L = n*prob #计算得到Lambda数值(即一年内需要理赔的平均人数)
K_breakeven = n*premium/cost #实现盈亏平衡时的k
prob_breakeven = poisson(k = K_breakeven,Lambda=L) #恰好实现盈亏平衡时的概率
print('M公司新保险产品恰好盈亏平衡的概率:',round(prob_breakeven,6))
3.保险公司实现盈利的可能
import math
prob_list = [] #创建一个放置概率值的初始空列表
K_breakeven = math.trunc(K_breakeven) #取整数
for i in range(K_breakeven): #依次取小于盈亏平衡时k值的自然数
P = poisson(k=i,Lambda=L) #计算概率
prob_list.append(P)
prob_profit = math.fsum(prob_list) #将列表中的元素进行加总
print('M公司新保险产品实现盈利的概率',round(prob_profit,6))
4.详细分析
公众号 yk 坤帝
后台回复 泊松分布 获取全部源代码
# 泊松分布
def poisson(k,Lambda):
# 定义当变量服从泊松分布时计算概率的一个函数
# K:表示随机事件发生的次数
# Lambda:表示单位时间内随机事件的平均发生次数
from math import exp,factorial
P = pow(Lambda,k)*exp(-Lambda)/factorial(k) #计算服从泊松分布的概率因子
# 求Lambda的k次方
return P
# 保险收益预测模型
n = 10000 #预期投保人数
prob = 0.004 #每位投保人需要理赔的概率
premium = 100 #每位投保人支付的每年保费
cost = 20000 #保险公司给每位符合理赔要求的投保人支付理赔款金额
L = n*prob #计算得到Lambda数值(即一年内需要理赔的平均人数)
K_breakeven = n*premium/cost #实现盈亏平衡时的k
prob_breakeven = poisson(k = K_breakeven,Lambda=L) #恰好实现盈亏平衡时的概率
print('M公司新保险产品恰好盈亏平衡的概率:',round(prob_breakeven,6))
# 保险公司实现盈利的可能
import math
prob_list = [] #创建一个放置概率值的初始空列表
K_breakeven = math.trunc(K_breakeven) #取整数
for i in range(K_breakeven): #依次取小于盈亏平衡时k值的自然数
P = poisson(k=i,Lambda=L) #计算概率
prob_list.append(P)
prob_profit = math.fsum(prob_list) #将列表中的元素进行加总
print('M公司新保险产品实现盈利的概率',round(prob_profit,6))