——非寿险精算的基本理论
一个成功概率为 p p p的伯努利试验,不断重复,直至失败 r r r次。此时成功的次数为一个随机变量,用 X X X表示。称 X X X服从负二项分布,记作 X ∼ N B ( r , p ) X \sim NB(r,p) X∼NB(r,p)。
P ( X = k ) = C k + r − 1 k p k ( 1 − p ) r P(X=k)=C_{k+r-1}^kp^k(1-p)^r P(X=k)=Ck+r−1kpk(1−p)r
这里涉及到高中的排列组合知识,忘记的的同学可能要去复习一下了,哈哈哈~
r r r:一次实验中,失败次数;
k k k:一次实验中,失败 r r r次时,成功的次数;
k + r − 1 k+r-1 k+r−1: k + r k+r k+r是一次实验中总的实验次数,成功的次数加上失败的次数。因为目标失败次数为 r r r次,当失败次数达到目标失败次数时,则停止实验,因此最后一次实验一定是失败的,是一个确定事件。所以随机事件只有 k + r − 1 k+r-1 k+r−1次;
p p p:一次实验成功的概率;
1 − p 1-p 1−p:一次实验失败的概率;
P ( X = k ) P(X=k) P(X=k):一次实验中,失败次数为 r r r,成功次数为 k k k时的概率;
在一组抛硬币实验中,每次硬币正面向上的概率为 p = 0.5 p=0.5 p=0.5,则反面向上的概率为 ( 1 − p ) (1-p) (1−p),当反面向上的次数为 r = 5 r=5 r=5时停止实验,则在这组实验中正面次数出现 k = 5 k=5 k=5次的概率是多少?
<直接带入公式求解>
P ( X = 5 ) = C 5 + 5 − 1 5 0. 5 5 ( 1 − 0.5 ) 5 = 0.1230 P(X=5)=C_{5+5-1}^50.5^5(1-0.5)^5=0.1230 P(X=5)=C5+5−150.55(1−0.5)5=0.1230
补充一个公式: C n m = n ! m ! ( n − m ) ! C_n^m=\frac{n!}{m!(n-m)!} Cnm=m!(n−m)!n!
<公式理解>
上面的案例可以转化一下,在10次抛硬币实验中,反面向上的次数为5次,并且最后一次为反面向上。则,这一事件发生的概率是多少?
首先,5次反面向上的概率为 ( 1 − p ) 5 (1-p)^5 (1−p)5,剩余5次正面向上的概率为 p 5 p^5 p5。
其次,5次反面向上有4次发生的顺序是随机的,可能在第1,2,3,4次抛硬币时就出现了反面,在第10次才出现第五次反面,也可能在第6,7,8,9,10次抛硬币时出现了反面。但,第10次抛硬币时一定出现的是反面。所以,前四次反面出现的时机,有可能是第1至9次抛硬币实验中的任意4次。反面是前9次出现4次,则正面就是前9次出现5次,这种组合方式共有 C 9 5 C_9^5 C95种。每一种的概率都为 p 5 ( 1 − p ) 5 p^5(1-p)^5 p5(1−p)5,所以 C 9 5 C_9^5 C95种组合的概率就为 C 9 5 p 5 ( 1 − p ) 5 C_9^5p^5(1-p)^5 C95p5(1−p)5。
E ( X ) = r p 1 − p E(X)=\frac{rp}{1-p} E(X)=1−prp
D ( X ) = r p ( 1 − p ) 2 D(X)=\frac{rp}{(1-p)^2} D(X)=(1−p)2rp
E ( X ) = ∑ x p ( x ) E(X)=\sum xp(x) E(X)=∑xp(x)
这个公式在前面介绍泊松分布的时候提及了一下,但并没有展开说明,有兴趣的可以再去回顾一下概率论知识。
= ∑ x C x + r − 1 x p x ( 1 − p ) r =\sum xC_{x+r-1}^xp^x(1-p)^r =∑xCx+r−1xpx(1−p)r
把 P ( X ) = C x + r − 1 x p x ( 1 − p ) r P(X)=C_{x+r-1}^xp^x(1-p)^r P(X)=Cx+r−1xpx(1−p)r带入上式便可得到,上述公式
= ∑ x ( x + r − 1 ) ! x ! ( r − 1 ) ! p x ( 1 − p ) r =\sum x\frac{(x+r-1)!}{x!(r-1)!}p^x(1-p)^r =∑xx!(r−1)!(x+r−1)!px(1−p)r
这是因为 C n m = n ! m ! ( n − m ) ! C_n^m=\frac{n!}{m!(n-m)!} Cnm=m!(n−m)!n!,所以 C x + r − 1 x = ( x + r − 1 ) ! x ! ( r − 1 ) ! C_{x+r-1}^x=\frac{(x+r-1)!}{x!(r-1)!} Cx+r−1x=x!(r−1)!(x+r−1)!
然后, x ! = x ( x − 1 ) ! x!=x(x-1)! x!=x(x−1)!, ( r − 1 ) ! = r ( r − 1 ) ! r (r-1)!=\frac{r(r-1)!}{r} (r−1)!=rr(r−1)!, p x = p p x − 1 p^x=pp^{x-1} px=ppx−1, ( 1 − p ) r = ( 1 − p ) r + 1 1 − p (1-p)^r=\frac{(1-p)^{r+1}}{1-p} (1−p)r=1−p(1−p)r+1,带入上式
= ∑ x ( x + r − 1 ) ! x ( x − 1 ) ! r ( r − 1 ) ! r p p x − 1 ( 1 − p ) r + 1 1 − p =\sum x\frac{(x+r-1)!}{x(x-1)!\frac{r(r-1)!}{r}}pp^{x-1}\frac{(1-p)^{r+1}}{1-p} =∑xx(x−1)!rr(r−1)!(x+r−1)!ppx−11−p(1−p)r+1
将 p 和 1 1 − p p和\frac{1}{1-p} p和1−p1提到 ∑ \sum ∑前面, x x x和 x x x约掉,并且 ( x + r − 1 ) ! x ( x − 1 ) ! r ( r − 1 ) ! r \frac{(x+r-1)!}{x(x-1)!\frac{r(r-1)!}{r}} x(x−1)!rr(r−1)!(x+r−1)!分子分母同时乘以 r r r,得到
= p 1 − p ∑ ( x + r − 1 ) ! r ( x − 1 ) ! r ( r − 1 ) ! r r p x − 1 ( 1 − p ) r + 1 =\frac{p}{1-p}\sum \frac{(x+r-1)!r}{(x-1)!\frac{r(r-1)!}{r}r}p^{x-1}{(1-p)^{r+1}} =1−pp∑(x−1)!rr(r−1)!r(x+r−1)!rpx−1(1−p)r+1
将 ( x + r − 1 ) ! r ( x − 1 ) ! r ( r − 1 ) ! r r \frac{(x+r-1)!r}{(x-1)!\frac{r(r-1)!}{r}r} (x−1)!rr(r−1)!r(x+r−1)!r分子的 r r r提到 ∑ \sum ∑前面,分母中的 r r r约掉,得到
= r p 1 − p ∑ ( x + r − 1 ) ! ( x − 1 ) ! r ( r − 1 ) ! p x − 1 ( 1 − p ) r + 1 =\frac{rp}{1-p}\sum \frac{(x+r-1)!}{(x-1)!r(r-1)!}p^{x-1}{(1-p)^{r+1}} =1−prp∑(x−1)!r(r−1)!(x+r−1)!px−1(1−p)r+1
因 r ( r − 1 ) ! = r ! = ( ( r + 1 ) − 1 ) ! , ( x + r − 1 ) ! = ( ( x − 1 ) + ( r + 1 ) − 1 ) ! r(r-1)!=r!=((r+1)-1)!,(x+r-1)!=((x-1)+(r+1)-1)! r(r−1)!=r!=((r+1)−1)!,(x+r−1)!=((x−1)+(r+1)−1)!,所以上式可写成
= r p 1 − p ∑ ( ( x − 1 ) + ( r + 1 ) − 1 ) ! ( x − 1 ) ! ( ( r + 1 ) − 1 ) ! p x − 1 ( 1 − p ) r + 1 =\frac{rp}{1-p}\sum \frac{((x-1)+(r+1)-1)!}{(x-1)!((r+1)-1)!}p^{x-1}{(1-p)^{r+1}} =1−prp∑(x−1)!((r+1)−1)!((x−1)+(r+1)−1)!px−1(1−p)r+1
另, x − 1 = m , r + 1 = n x-1=m,r+1=n x−1=m,r+1=n,则上式变为
= r p 1 − p ∑ ( m + n − 1 ) ! m ! ( n − 1 ) ! p m ( 1 − p ) n =\frac{rp}{1-p}\sum \frac{(m+n-1)!}{m!(n-1)!}p^{m}{(1-p)^{n}} =1−prp∑m!(n−1)!(m+n−1)!pm(1−p)n
∑ ( m + n − 1 ) ! m ! ( n − 1 ) ! p m ( 1 − p ) n \sum \frac{(m+n-1)!}{m!(n-1)!}p^{m}{(1-p)^{n}} ∑m!(n−1)!(m+n−1)!pm(1−p)n,这个公式是不是和 p ( x ) = ( x + r − 1 ) ! x ! ( r − 1 ) ! p x ( 1 − p ) r p(x)=\frac{(x+r-1)!}{x!(r-1)!}p^x(1-p)^r p(x)=x!(r−1)!(x+r−1)!px(1−p)r一摸一样,因此它是一个负二项分布。在所有情况下,所有事件的概率和为1,既 ∑ p ( x ) = 1 \sum p(x)=1 ∑p(x)=1,所以 ∑ ( m + n − 1 ) ! m ! ( n − 1 ) ! p m ( 1 − p ) n = 1 \sum \frac{(m+n-1)!}{m!(n-1)!}p^{m}{(1-p)^{n}}=1 ∑m!(n−1)!(m+n−1)!pm(1−p)n=1
= r p 1 − p =\frac{rp}{1-p} =1−prp
根据之前泊松分布里面的文章,我们知道 D ( X ) = E ( X 2 ) − ( E ( X ) ) 2 D(X)=E(X^2)-(E(X))^2 D(X)=E(X2)−(E(X))2,现在 E ( X ) E(X) E(X)已经求出,因此只需推导 E ( X 2 ) E(X^2) E(X2)即可。
E ( X 2 ) = ∑ x 2 p ( x ) E(X^2)=\sum x^2p(x) E(X2)=∑x2p(x)
这个公式我也曾在泊松分布这篇文章里面提到过,有兴趣的可以去查看。
把 p ( x ) = ( x + r − 1 ) ! x ! ( r − 1 ) ! p x ( 1 − p ) r p(x)=\frac{(x+r-1)!}{x!(r-1)!}p^x(1-p)^r p(x)=x!(r−1)!(x+r−1)!px(1−p)r带入上式
= ∑ x 2 ( x + r − 1 ) ! x ! ( r − 1 ) ! p x ( 1 − p ) r =\sum x^2\frac{(x+r-1)!}{x!(r-1)!}p^x(1-p)^r =∑x2x!(r−1)!(x+r−1)!px(1−p)r
把 p x = p p x − 1 , ( 1 − p ) r = ( 1 − p ) r + 1 1 − p , ( x + r − 1 ) ! x ! ( r − 1 ) ! 分子和分母同时乘以 r , p^x=pp^{x-1},(1-p)^r=\frac{(1-p)^{r+1}}{1-p},\frac{(x+r-1)!}{x!(r-1)!}分子和分母同时乘以r, px=ppx−1,(1−p)r=1−p(1−p)r+1,x!(r−1)!(x+r−1)!分子和分母同时乘以r,带入上式
= ∑ x 2 r ( x + r − 1 ) ! x ! r ( r − 1 ) ! p p x − 1 ( 1 − p ) r + 1 1 − p =\sum x^2\frac{r(x+r-1)!}{x!r(r-1)!}pp^{x-1}\frac{(1-p)^{r+1}}{1-p} =∑x2x!r(r−1)!r(x+r−1)!ppx−11−p(1−p)r+1
把 r , p , 1 1 − p r,p,\frac{1}{1-p} r,p,1−p1提到 ∑ \sum ∑前面得
= r p 1 − p ∑ x 2 ( x + r − 1 ) ! x ! r ( r − 1 ) ! p x − 1 ( 1 − p ) r + 1 =\frac{rp}{1-p}\sum x^2\frac{(x+r-1)!}{x!r(r-1)!}p^{x-1}(1-p)^{r+1} =1−prp∑x2x!r(r−1)!(x+r−1)!px−1(1−p)r+1
因 x 2 = x x , x ! = x ( x − 1 ) ! , r ( r − 1 ) ! = r ! x^2=xx,x!=x(x-1)!,r(r-1)!=r! x2=xx,x!=x(x−1)!,r(r−1)!=r!所以
= r p 1 − p ∑ x x ( x + r − 1 ) ! x ( x − 1 ) ! r ! p x − 1 ( 1 − p ) r + 1 =\frac{rp}{1-p}\sum xx\frac{(x+r-1)!}{x(x-1)!r!}p^{x-1}(1-p)^{r+1} =1−prp∑xxx(x−1)!r!(x+r−1)!px−1(1−p)r+1
因 x x x分子和分母可以约掉,所以
= r p 1 − p ∑ x ( x + r − 1 ) ! ( x − 1 ) ! r ! p x − 1 ( 1 − p ) r + 1 =\frac{rp}{1-p}\sum x\frac{(x+r-1)!}{(x-1)!r!}p^{x-1}(1-p)^{r+1} =1−prp∑x(x−1)!r!(x+r−1)!px−1(1−p)r+1
令 y = x − 1 , n = r + 1 y=x-1,n=r+1 y=x−1,n=r+1则
= r p 1 − p ∑ ( y + 1 ) ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n =\frac{rp}{1-p}\sum (y+1)\frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n} =1−prp∑(y+1)y!(n−1)!(y+n−1)!py(1−p)n
把 ∑ ( y + 1 ) ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n \sum (y+1)\frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n} ∑(y+1)y!(n−1)!(y+n−1)!py(1−p)n拆开
= r p 1 − p ( ∑ y ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n + ∑ ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n ) =\frac{rp}{1-p}(\sum y\frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n}+\sum \frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n}) =1−prp(∑yy!(n−1)!(y+n−1)!py(1−p)n+∑y!(n−1)!(y+n−1)!py(1−p)n)
∑ y ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n \sum y\frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n} ∑yy!(n−1)!(y+n−1)!py(1−p)n这个形式是不是和我们上面提到的 E ( X ) = ∑ x ( x + r − 1 ) ! x ! ( r − 1 ) ! p x ( 1 − p ) r = r p 1 − p E(X)=\sum x\frac{(x+r-1)!}{x!(r-1)!}p^x(1-p)^r=\frac{rp}{1-p} E(X)=∑xx!(r−1)!(x+r−1)!px(1−p)r=1−prp一模一样。所以, ∑ y ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n = E ( y ) = n p 1 − p \sum y\frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n}=E(y)=\frac{np}{1-p} ∑yy!(n−1)!(y+n−1)!py(1−p)n=E(y)=1−pnp,又因为 n = r + 1 n=r+1 n=r+1,所以, E ( y ) = n p 1 − p = ( r + 1 ) p 1 − p E(y)=\frac{np}{1-p}=\frac{(r+1)p}{1-p} E(y)=1−pnp=1−p(r+1)p。再看 ∑ ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n ) \sum \frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n}) ∑y!(n−1)!(y+n−1)!py(1−p)n)是不是和 ∑ p ( x ) = ∑ ( x + r − 1 ) ! x ! ( r − 1 ) ! p x ( 1 − p ) r = 1 \sum p(x)=\sum \frac{(x+r-1)!}{x!(r-1)!}p^x(1-p)^r=1 ∑p(x)=∑x!(r−1)!(x+r−1)!px(1−p)r=1一模一样,所以, ∑ ( y + n − 1 ) ! y ! ( n − 1 ) ! p y ( 1 − p ) n ) = 1 \sum \frac{(y+n-1)!}{y!(n-1)!}p^{y}(1-p)^{n})=1 ∑y!(n−1)!(y+n−1)!py(1−p)n)=1,带入上式
= r p 1 − p ( ( r + 1 ) p 1 − p + 1 ) =\frac{rp}{1-p}(\frac{(r+1)p}{1-p}+1) =1−prp(1−p(r+1)p+1)
= r 2 p 2 + r p ( 1 − p ) 2 =\frac{r^2p^2+rp}{(1-p)^2} =(1−p)2r2p2+rp
经过上面的层层推导,我们终于把 E ( X 2 ) = r 2 p 2 + r p ( 1 − p ) 2 E(X^2)=\frac{r^2p^2+rp}{(1-p)^2} E(X2)=(1−p)2r2p2+rp推导出来了,再根据 E ( X ) = r p 1 − p E(X)=\frac{rp}{1-p} E(X)=1−prp,便可以求出 D ( X ) D(X) D(X)的值
D ( X ) = E ( X 2 ) − ( E ( X ) ) 2 D(X)=E(X^2)-(E(X))^2 D(X)=E(X2)−(E(X))2
= r 2 p 2 + r p ( 1 − p ) 2 − ( r p 1 − p ) 2 =\frac{r^2p^2+rp}{(1-p)^2}-(\frac{rp}{1-p})^2 =(1−p)2r2p2+rp−(1−prp)2
= r p ( 1 − p ) 2 =\frac{rp}{(1-p)^2} =(1−p)2rp
假设损失次数 N N N服从参数为 r 和 β r和\beta r和β的负二项分布,则发生 k k k次损失的概率为
P ( N = k ) = C k + r − 1 k ( β 1 + β ) k ( 1 1 + β ) r P(N=k)=C_{k+r-1}^k({\frac{\beta}{1+\beta}})^k(\frac{1}{1+\beta})^r P(N=k)=Ck+r−1k(1+ββ)k(1+β1)r
连接上文,这里的 β = p 1 − p \beta=\frac{p}{1-p} β=1−pp
负二项分布的均值和方差为:
E ( N ) = r β E(N)=r\beta E(N)=rβ
D ( N ) = r β ( 1 + β ) D(N)=r\beta(1+\beta) D(N)=rβ(1+β)
将 β \beta β替换为 p p p之后,我们可以发现和上面推导的结果是一样的。
(1)方差大于均值。在实际运用中如果方差大于均值,负二项分布比泊松分布可以更好的拟合数据。
(2)负二项分布是一种混合泊松分布,即如果假设泊松分布的参数服从伽马分布,由此得到的混合泊松分布即为负二项分布。
针对这个性质的证明,到时在学完伽马分布的时候再看吧。
画图代码
import numpy as np
import math
import matplotlib.pyplot as plt
def nbpmf(sample,r,p):
'''
Parameters
----------
sample : int
负二项分布的样本数量.
r : int
贝努力实验中的失败次数.
p : float
贝努力实验中的成功的概率.
Returns
-------
k_sample : int
样本数量.
probability : TYPE
概率.
'''
sample=sample
r=r
p=p
k_sample=np.arange(sample)#会返回一个0至sample-1的连续整数列表
probability=[]
for k in k_sample:
temp = (math.factorial(k+r-1)/(math.factorial(k)*math.factorial(r-1)))*p**k*(1-p)**r#计算负二项分布的概率
#math.factorial()是阶乘函数
probability.append(temp)
return k_sample,probability
r=5#可以跟换不同的r值查看概率图像
p=0.6
sample=40
k,probability=nbpmf(sample,r,p)#调用自定义的负二项分布函数
plt.subplot(1,1,1)#定义图片的布局,针对一张图片来说可以省略该代码
plt.plot(k,probability,"r",label="r="+str(r))#画曲线图,并定义曲线为红色"r",并显示图例label(后面是图例名称)
plt.plot(k,probability,"ro")#画散点图,并定义散点为红色
plt.title("Negative Binomial distribution(p="+str(p)+")")#设置图片标题
plt.xlabel("Number of successes (k)")#设置图片x轴说明
plt.ylabel("probability")#设置图片y轴说明
plt.legend(loc=0)#将图例放在合适的位置,让系统自动查找
输出结果
从图片可以看出,当成功的概率 p p p一定时,随着失败次数 r r r的增大,函数图像逐渐向左偏移,峰值逐渐变小,图像由细高变得宽矮。
代码与上面相同,只是保持 r r r不变,而修改了 p p p值和图像标头
从图片可以看出,其变化形态和5.1、相同的 p p p,不同的 r r r。 是一样的。只是变化幅度有些许不同。
画图代码
import numpy as np
import math
import matplotlib.pyplot as plt
def nbpmf(sample,r,p):
'''
Parameters
----------
sample : int
负二项分布的样本数量.
r : int
贝努力实验中的失败次数.
p : float
贝努力实验中的成功的概率.
Returns
-------
k_sample : int
样本数量.
probability : TYPE
概率.
'''
sample=sample
r=r
p=p
k_sample=np.arange(sample)#会返回一个0至sample-1的连续整数列表
probability=[]
for k in k_sample:
temp = (math.factorial(k+r-1)/(math.factorial(k)*math.factorial(r-1)))*p**k*(1-p)**r#计算负二项分布的概率
#math.factorial()是阶乘函数
probability.append(temp)
return k_sample,probability
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
r=90#通过更改r值便可以画出不同参数的图像
p=0.5
plt.subplot(1,1,1)
mean = r*p/(1-p)#负二项分布的均值
sigam = math.sqrt(r*p/((1-p)**2))#负二项分布的标准差
sample=mean*2
k,probability_nb=nbpmf(sample,r,p)
k,probability_no=normalpdf(mean,sigam,sample)
plt.plot(k,probability_no,"r",label="normal")
plt.plot(k,probability_nb,"g--",label="n_binomial")
plt.title("Negative Binomial and Normal distribution" + "(r,p="+str(r)+","+str(p)+")")#设置图片标题
plt.xlabel("Number of successes (k)")#设置图片x轴说明
plt.ylabel("probability")#设置图片y轴说明
plt.legend(loc=0)#将图例放在合适的位置,让系统自动查找
通过图片可以看出,在 p p p值不变的情况下,随着失败次数 r r r的逐渐变大,负二项分布逐渐趋近正态分布。所以在大样本情况下,可以用正态分布近似负二项分布。
*** 参考资料 ***
1、《非寿险精算学》孟生旺著
2、负二项分布_虚胖一场的博客-CSDN博客_负二项分布
3、概率质量函数(PMF)、概率密度函数(PDF)、累积分布函数(CDF)_Uncertainty!!的博客-CSDN博客_概率质量函数
4、排列组合cn和an公式_xxxx追风的博客-CSDN博客_排列组合
5、负二项分布的数学期望和方差的一种求法 - 百度文库 (baidu.com)
6、Python中如何求阶乘?教你四个方法-群英 (qycn.com)