损失次数模型-泊松分布

损失次数模型-泊松分布

——非寿险精算的基本理论

1、定义

假设损失次数 N N N服从参数为 λ \lambda λ的泊松分布,则发生 k k k次损失的概率为:

p ( N = k ) = e − λ λ k k ! p(N=k)=\frac {e^{-\lambda}\lambda^{k}}{k!} p(N=k)=k!eλλk

<有的同学可能会问,为什么泊松分布是这样的。问,就是,乌龟的屁股,“龟腚(规定)”。>

公式理解:

p k p_k pk:表示的是损失次数 N N N取值为 k k k的概率。例如,损失发生次数为3的概率,可表示为: p ( N = 3 ) = e − λ λ 3 3 ! p(N=3)=\frac {e^{-\lambda}\lambda^{3}}{3!} p(N=3)=3!eλλ3,如果 λ \lambda λ为已知的话,便可求出最终结果。

2、方差和均值

E ( N ) = D ( N ) = λ E(N)=D(N)=\lambda E(N)=D(N)=λ

<这个比较简单一点,就给你们推导一下吧。>

<首先,唤起你们远古的概率论知识。>

离散型随机变量的均值和方差公式:

<损失次数只能是1次、2次等整数,不能是1.5次等小数,因此是离散型变量。>
E ( X ) = ∑ x k p k E(X)=\sum x_kp_k E(X)=xkpk

D ( X ) = E ( X − E ( X ) ) 2 D(X)=E(X-E(X))^2 D(X)=E(XE(X))2

<记忆已唤醒,开始推导吧。>

2.1、均值 E ( N ) E(N) E(N)推导

E ( N ) = ∑ N k p ( N k ) E(N)=\sum N_kp(N_k) E(N)=Nkp(Nk)

<把 N k = k , p ( N = k ) = e − λ λ k k ! N_k=k,p(N=k)=\frac {e^{-\lambda}\lambda^{k}}{k!} Nk=k,p(N=k)=k!eλλk带入上式>

= ∑ k = 0 n k e − λ λ k k ! =\sum_{k=0}^nk\frac {e^{-\lambda}\lambda^{k}}{k!} =k=0nkk!eλλk

<当 λ 已 知 时 e − λ 为 常 数 , 因 此 可 以 提 到 ∑ 前 面 \lambda已知时e^{-\lambda}为常数,因此可以提到\sum前面 λeλ>

= e − λ ∑ k = 0 n k k ! λ k =e^{-\lambda}\sum_{k=0}^n\frac {k}{k!}\lambda^k =eλk=0nk!kλk

<阶乘定义 k ! = k ( k − 1 ) . . . 1 = k ( k − 1 ) ! 所 以 上 式 可 写 成 k!=k(k-1)...1=k(k-1)!所以上式可写成 k!=k(k1)...1=k(k1)!>

= e − λ ∑ k = 1 n k k ( k − 1 ) ! λ k =e^{-\lambda}\sum_{k=1}^n\frac {k}{k(k-1)!}\lambda^k =eλk=1nk(k1)!kλk

= e − λ ∑ k = 1 n 1 ( k − 1 ) ! λ k =e^{-\lambda}\sum_{k=1}^n\frac {1}{(k-1)!}\lambda^k =eλk=1n(k1)!1λk

< λ k = λ λ k − 1 \lambda^k=\lambda\lambda^{k-1} λk=λλk1,所以上式可写成>

= e − λ ∑ k = 1 n λ λ k − 1 ( k − 1 ) ! =e^{-\lambda}\sum_{k=1}^n\frac {\lambda\lambda^{k-1}}{(k-1)!} =eλk=1n(k1)!λλk1

<当 λ 已 知 时 , 其 为 常 数 , 因 此 可 以 提 到 ∑ 前 面 \lambda已知时,其为常数,因此可以提到\sum前面 λ>

= e − λ λ ∑ k = 1 n λ k − 1 ( k − 1 ) ! =e^{-\lambda}\lambda\sum_{k=1}^n\frac {\lambda^{k-1}}{(k-1)!} =eλλk=1n(k1)!λk1

<根据麦克劳林公式 e x = ∑ n = 0 ∞ x n n ! , 所 以 ∑ k = 1 n λ k − 1 ( k − 1 ) ! = e λ e^x=\sum_{n=0} ^∞\frac {x^n}{n!},所以\sum_{k=1}^n\frac {\lambda^{k-1}}{(k-1)!}=e^\lambda ex=n=0n!xnk=1n(k1)!λk1=eλ,,带入上式>

= e − λ λ e λ = e − λ e λ λ = e − λ + λ λ = λ =e^{-\lambda}\lambda e^\lambda=e^{-\lambda}e^\lambda\lambda=e^{-\lambda+\lambda} \lambda=\lambda =eλλeλ=eλeλλ=eλ+λλ=λ

2.2、方差 D ( N ) D(N) D(N)推导

D ( N ) = E ( N − E ( N ) ) 2 D(N)=E(N-E(N))^2 D(N)=E(NE(N))2

= E { N 2 + ( E ( N ) ) 2 − 2 N E ( N ) } =E\{N^2+(E(N))^2-2NE(N)\} =E{N2+(E(N))22NE(N)}

= E ( N 2 ) + E ( E ( N ) ) 2 − E ( 2 N E ( N ) ) =E(N^2)+E(E(N))^2-E(2NE(N)) =E(N2)+E(E(N))2E(2NE(N))

<这里有个小细节, E ( N ) E(N) E(N)代表的是N的均值,它不是随机变量而是一个常量,常量的均值还等于它本身。即 E ( E ( N ) ) 2 = ( E ( N ) ) 2 E(E(N))^2=(E(N))^2 E(E(N))2=(E(N))2 E ( 2 N E ( N ) ) = 2 E ( N ) E ( N ) = 2 ( E ( N ) ) 2 E(2NE(N))=2E(N)E(N)=2(E(N))^2 E(2NE(N))=2E(N)E(N)=2(E(N))2,带入上式>

= E ( N 2 ) + ( E ( N ) ) 2 − 2 ( E ( N ) ) 2 =E(N^2)+(E(N))^2-2(E(N))^2 =E(N2)+(E(N))22(E(N))2

= E ( N 2 ) − ( E ( N ) ) 2 =E(N^2)-(E(N))^2 =E(N2)(E(N))2

<求均值时,已经求得 E ( N ) = λ E(N)=\lambda E(N)=λ,所以后面只需求 E ( N 2 ) E(N^2) E(N2)即可。根据前面离散型随机变量的均值公式可得>

E ( N 2 ) = ∑ N k 2 p ( N k ) E(N^2)=\sum N_k^2p(N_k) E(N2)=Nk2p(Nk)

<这里大家或许会有一个疑问,为什么乘的概率是 p ( N k ) p(N_k) p(Nk),而不是 p ( N k 2 ) p(N_k^2) p(Nk2)。大家可以看一下下表>

X x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3
P p 1 p_1 p1 p 2 p_2 p2 p 3 p_3 p3
X 2 X^2 X2 x 1 2 x_1^2 x12 x 2 2 x_2^2 x22 x 3 2 x_3^2 x32

<虽然随机变量由 X X X变成了 X 2 X^2 X2,但其对应的概率值并没有改变,都是 P P P,这就是为什么可以直接乘概率 p ( N k ) p(N_k) p(Nk)的原因。>

<承接上面的推导公式,因为 N = k N=k N=k,所以>

= ∑ k = 0 ∞ k 2 e − λ λ k k ! = e − λ ∑ k = 1 ∞ k k λ k k ( k − 1 ) ! =\sum_{k=0}^∞k^2\frac {e^{-\lambda}\lambda^{k}}{k!}=e^{-\lambda}\sum_{k=1}^∞kk\frac {\lambda^{k}}{k(k-1)!} =k=0k2k!eλλk=eλk=1kkk(k1)!λk

= e − λ ∑ k = 1 ∞ k k λ k k ( k − 1 ) ! = e − λ ∑ k = 1 ∞ k λ k ( k − 1 ) ! =e^{-\lambda}\sum_{k=1}^∞kk\frac {\lambda^{k}}{k(k-1)!}=e^{-\lambda}\sum_{k=1}^∞k\frac {\lambda^{k}}{(k-1)!} =eλk=1kkk(k1)!λk=eλk=1k(k1)!λk

= e − λ ∑ k = 1 ∞ [ ( k − 1 ) + 1 ] λ k ( k − 1 ) ! =e^{-\lambda}\sum_{k=1}^∞[(k-1)+1]\frac {\lambda^{k}}{(k-1)!} =eλk=1[(k1)+1](k1)!λk

= e − λ [ ∑ k = 1 ∞ ( k − 1 ) λ k ( k − 1 ) ! + ∑ k = 1 ∞ λ k ( k − 1 ) ! ] =e^{-\lambda}[\sum_{k=1}^∞(k-1)\frac {\lambda^{k}}{(k-1)!}+\sum_{k=1}^∞\frac {\lambda^{k}}{(k-1)!}] =eλ[k=1(k1)(k1)!λk+k=1(k1)!λk]

= e − λ [ ∑ k = 2 ∞ λ k ( k − 2 ) ! + ∑ k = 1 ∞ λ k ( k − 1 ) ! ] =e^{-\lambda}[\sum_{k=2}^∞\frac {\lambda^{k}}{(k-2)!}+\sum_{k=1}^∞\frac {\lambda^{k}}{(k-1)!}] =eλ[k=2(k2)!λk+k=1(k1)!λk]

= e − λ [ λ 2 ∑ k = 2 ∞ λ k − 2 ( k − 2 ) ! + λ ∑ k = 1 ∞ λ k − 1 ( k − 1 ) ! ] =e^{-\lambda}[\lambda^{2}\sum_{k=2}^∞\frac {\lambda^{k-2}}{(k-2)!}+\lambda\sum_{k=1}^∞\frac {\lambda^{k-1}}{(k-1)!}] =eλ[λ2k=2(k2)!λk2+λk=1(k1)!λk1]

= e − λ [ λ 2 e λ + λ e λ ] = λ 2 + λ =e^{-\lambda}[\lambda^{2}e^{\lambda}+\lambda e^{\lambda}]=\lambda^{2}+\lambda =eλ[λ2eλ+λeλ]=λ2+λ

<在求解 E ( N ) E(N) E(N)时,已经回顾了概率论和微积分的一些知识点,所以在推导 D ( N ) D(N) D(N)时,并没有列出具体的说明。>

<现在 E ( N 2 ) E(N^2) E(N2)的值也推导出来了,根据前面对 D ( N ) D(N) D(N)的推导,可以得到>

D ( N ) = E ( N 2 ) − ( E ( N ) ) 2 = λ 2 + λ − λ 2 = λ D(N)=E(N^2)-(E(N))^2=\lambda^{2}+\lambda-\lambda^{2}=\lambda D(N)=E(N2)(E(N))2=λ2+λλ2=λ

3、性质

  • 可加性

如果 N 1 N_1 N1 N 2 N_2 N2分别是参数为 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2的泊松随机变量,则 N = N 1 + N 2 N=N_1+N_2 N=N1+N2是参数为 λ 1 + λ 2 \lambda_1+\lambda_2 λ1+λ2的泊松随机变量。

  • 可分解性<相当于可加性的反向>

如果两种保险责任的总索赔次数 N N N服从参数为 λ \lambda λ的泊松分布,而两种保险责任发生的概率分别为 a 1 和 a 2 a_1和a_2 a1a2,且 a 1 + a 2 = 1 a_1+a_2=1 a1+a2=1,则两种保险责任的索赔次数 N 1 N_1 N1 N 2 N_2 N2是相互独立的泊松随机变量,参数分别为 λ a 1 + λ a 2 \lambda a_1+\lambda a_2 λa1+λa2

  • 当参数 λ \lambda λ很小时,泊松分布可以近似二项分布。

  • 如果保险事故发生的时间间隔服从指数分布,则在一个固定的时间区间内发生保险事故次数服从泊松分布。

  • 当参数 λ \lambda λ较大时,泊松分布可以用正态分布近似。

<个人比较懒,并没有仔细研究泊松分布性质的证明问题。从实务角度来看,仅仅记得有这些性质即可。哈哈哈~~~>

4、软件实操

<泊松分布性质的证明是比较枯燥的,但是我们用软件去观察它的这些性质,将会是一件非常有趣的事情。>

4.1、 λ \lambda λ的大小对泊松分布图像的影响

<直接上python代码>

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import math

def poissonpmf(lamda,sample):
    '''
    Parameters
    ----------
    lamda : int
        泊松分布的均值.
    sample : int
        泊松分布的样本数量.

    Returns
    -------
    k : int
        泊松分布对应的k值.
    probability : float
        泊松分布取得该值时的概率.
    '''
    lamda = lamda
    sample = sample
    k = np.arange(sample)#会返回一个0至sample-1的连续整数列表
    probability = stats.poisson.pmf(k,mu=lamda)#当给定均值时,可以计算k值对应的概率
    return k,probability

lamda=5
sample=40
k,probability=poissonpmf(lamda=lamda, sample=sample)#调用自定义的泊松分布函数
plt.subplot(1,1,1)#定义图片的布局,针对一张图片来说可以省略该代码
plt.plot(k,probability,"r",label="lamda="+str(lamda))#画曲线图,并定义曲线为红色"r",并显示图例label(后面是图例名称)
plt.plot(k,probability,"ro")#画散点图,并定义散点为红色
plt.title("Poisson distribution")#设置图片标题
plt.xlabel("k")#设置图片x轴说明
plt.ylabel("probability")#设置图片y轴说明
plt.legend(loc=0)#将图例放在合适的位置,让系统自动查找

lamda=10
sample=40
k,probability=poissonpmf(lamda=lamda, sample=sample)
plt.subplot(1,1,1)
plt.plot(k,probability,"b",label="lamda="+str(lamda))#蓝色曲线("b")
plt.plot(k,probability,"bo")#蓝色散点("bo")
plt.title("Poisson distribution")
plt.xlabel("k")
plt.ylabel("probability")
plt.legend(loc=0)

lamda=20
sample=40
k,probability=poissonpmf(lamda=lamda, sample=sample)
plt.subplot(1,1,1)
plt.plot(k,probability,"g",label="lamda="+str(lamda))#绿色曲线("g")
plt.plot(k,probability,"go")#绿色散点("go")
plt.title("Poisson distribution")
plt.xlabel("k")
plt.ylabel("probability")
plt.legend(loc=0)

<针对代码的含义这里就不详细说明了,有兴趣的可以直接查看代码后面的注释>

<输出结果>

损失次数模型-泊松分布_第1张图片

λ \lambda λ越大时,泊松分布的峰值越小,图像变得越对称。

<有的同学可能看不懂图片,这里再解释一下吧。图片横轴表示的是损失次数 N N N,纵轴表示的是该损失次数下对应的泊松分布的概率值>

4.2、泊松分布与正态分布

<需要先构建一个正态分布的概率密度函数,关于正态分布的问题这里就不详细展开了,主要是看一下随着 λ \lambda λ的变化,泊松分布和正态分布之间的关系>

def normalpdf(mu,sigma,simple):
    """
    Parameters
    ----------
    mu : float
        正态分布的均值.
    sigma : float
        正态分布标准差.
    simple : int
        生成的样本数量.

    Returns
    -------
    x : float
        x轴值.
    probability : float
        取值为x轴值时,对应的概率密度函数值,相当于离散变量的概率.
    """
    mu = mu
    sigma = sigma
    simple = simple
    x = np.arange(sample)
    probability=np.exp(-(x-mu)**2/(2*sigma**2))/(math.sqrt(2*math.pi)*sigma)#正态分布的概率密度函数
    return x,probability

<画图做比较>

lamda=5#获取不同lamda参数的图像,直接修改它即可
sample=lamda*2
k,probability_po=poissonpmf(lamda,sample)
k,probability_no=normalpdf(lamda,math.sqrt(lamda),sample)
plt.plot(k,probability_no,"r",label="normal")
plt.plot(k,probability_po,"g--",label="poisson")
plt.title("Poisson and Normal distribution" + "(lamda="+str(lamda)+")")#设置图片标题
plt.xlabel("x")#设置图片x轴说明
plt.ylabel("probability")#设置图片y轴说明
plt.legend(loc=0)#将图例放在合适的位置,让系统自动查找

<运行结果>
损失次数模型-泊松分布_第2张图片

通过图片可以看出,随着 λ \lambda λ的逐渐变大,泊松分布和正态分布逐渐重合。

<看到这里,大家可能会疑惑,为什么其他性质没有用图片展现出来,因为我发现其他性质用图片并不好展现,或者是因为我还没找到方法。~~~>

—End—

*** 参考资料 ***

1、《非寿险精算学》孟生旺著

2、泊松分布的期望和方差_绿荫下的陪伴.的博客-CSDN博客_泊松分布的期望和方差

3、十个常见常用的麦克劳林公式_骄傲的张起灵的博客-CSDN博客_麦克劳林公式

4、Python计算泊松分布教程_梦想画家的博客-CSDN博客_python泊松分布

5、泊松分布_skysenlin的博客-CSDN博客_泊松分布

6、python使用matplotlib绘图_longwilll的博客-CSDN博客_python matplotlib

你可能感兴趣的:(概率论,线性代数)