联系我们 |
 |
合作经济与科技杂志社
地址:石家庄市建设南大街21号
邮编:050011
电话:0311-86049879 |
|
|
经济/产业 |
提要 随机模拟方法在非寿险问题中有着广泛的应用,特别是在用理论分布计算有困难或需要快速得到很长时间才能积累起来的观测值时,随机模拟方法就能显示其独特的作用。在非寿险精算中,当已知理论分布为常用的损失分布时,可以进行连续型随机变量的模拟;当已知理论分布为泊松分布、二项分布、负二项分布、几何分布时,可以进行离散型随机变量的模拟。但是,在一些模型问题中,只用连续型分布模拟或离散型分布模拟是解决不了问题的。例如,在机动车辆保险中,保险标的在保险期限内发生损失的总金额数。因为在车保中的损失总金额不但跟发生损失次数有关,还和每次损失额有关。在这种情况下,建立新的模型即短期聚合风险模型,这个模型在非寿险精算中有很重要的地位和应用,而对模型中的总金额的模拟就是复合分布随机数的模拟。
关键词:非寿险精算;复合分布;模拟
中图分类号:F84 文献标识码:A
一、复合分布
在短期聚合风险模型中,若用N表示在特定时间内,比如在保险期间内总共发生的损失次数,Xi表示在第i次损失金额,记在特定时间内的损失总金额为S,则有:
S=■X■
在这里,损失次数和损失金额都是随机变量。为了使模型在理论上有可操作性,通常对其中的随机变量给予假设,X1,X2,…,XN是具有相同分布的随机变量,并且相互独立。作为各独立同分布随机变量和的S的分布则称为复合分布。在非寿险精算中常用复合分布来描述损失。对某类保单组合而言,若损失次数是一个离散型随机变量,而每次损失的额度也是一个随机变量,则损失总额可以看作是一个复合型随机变量。在非寿险精算中,最常用的复合型随机变量是复合泊松分布和复合负二项分布的随机变量。以复合负二项分布为例。
随机变量S=■X■服从以(k,p)为参数的复合负二项分布是指它满足:(1)随机变量N,X1,X2,…相互独立;(2)X1,X2,…具有相同的分布;(3)N服从负二项分布,参数k为正整数,0<p<1。
记具有相同分布的Xi为X,其分布函数为P(x),并记其k阶原点矩为p■=■x■dp(x),k=1,2,…。对于复合负二项分布S,具有下列性质:
(1)E(S)=■p■
Var(S)=■p■+■(Var(X)+p12)
(2)FS(x)=■P(N=n)P*■(x)
=■k+n-1 np■(1-p)■P*■(x)
fS(x)=■k+n-1 np■(1-p)■P*■(x)
其中P*(x)=P(X1+X2+…+XN≤x)
在非寿险精算实务中,保险人承保的某一险种的保单组合一般说来是非同质的风险,这时该保单组合的损失次数很可能是服从负二项分布的。复合分布是非寿险中总损失金额的分布。有上可知,当N服从泊松分布,S服从复合泊松分布;当N服从负二项分布时,S服从复合负二项分布。对于Xi可以服从的是离散型分布,也可以服从的是连续型分布。
二、常用复合分布模拟方法
我们知道,在非寿险精算中的损失总量常常是一个复合分布的随机变量。在实际问题中,若Xi服从的是离散型分布,则可以利用公式P*(x)=P(X1+X2+…+XN≤x)得到复合随机变量S的分布情况;但对于某类保单而言,实际发生损失额Xi一般服从的是连续型分布,而直接利用公式计算复合随机变量S的分布函数是有一定困难的,因此产生对复合随机变量S采用随机模拟的方法来解决实际中的问题。
我们已经知道在非寿险精算中常用复合泊松分布和复合负二项分布来表示总损失额,因此下面以复合负二项分布来说明复合随机变量的模拟方法。
设S=■Xi,S为参数(k,p)的复合负二项变量,所以生成服从复合负二项分布S的随机数步骤为:(1)通过离散随机变量的模拟方法产生负二项分布的随机数m;(2)通过连续随机变量的模拟方法产生m个服从个体损失额分布的随机数x1,x2,…,xm;(3)计算s=x1+x2+…+xm,则s为复合负二项的随机数。若要使S的样本量为n,将上述模拟步骤重复n次即可。
从复合负二项分布的模拟方法中可知,对其模拟可以说成是离散型分布和连续型分布模拟的综合运用。因此,离散分布型的随机变量和连续分布型的随机变量的模拟是复合分布型的随机变量模拟方法的基础。
三、模拟次数
在实际问题的随机模拟时,模拟试验次数是影响随机模拟成败的一个重要因素。模拟次数决定于概率分布的形式和对估计值精确程度的要求。一般来说,对估计值的精确度要求越高,就要求进行越多次数的模拟。
设随机变量X的期望为?滋,方差为?滓2,且其期望与方差均有限。取得X的一个容量为n的随机模拟样本X1,X2,…,Xn,要求?滋的模拟估计值■的相对误差不超过?着的概率为1-?琢,则:
P(■-?滋?燮?着)=1-?琢
即,P■?燮■=1-?琢
根据中心极限定理,■近似服从标准正态分布,所以■=Z(1-?琢)/2,则n=(■Z(1-?琢)/2)2。
当X的总体方差未知时,可先进行若干次模拟,求得X的样本方差S2,再用样本方差代替总体方差计算。
四、复合负二项分布模拟方法及步骤
假设我国某家保险公司在5月份有80辆汽车投保,公司打算为这80辆投保了汽车单独建立一个赔款基金,用于下一年这些业务的赔款。根据估计,这80辆汽车在一年内的发生碰撞事故次数N服从参数为k=6,p=0.6的负二项分布,每次事故的碰撞损失(以百元为单位)服从均值为8的指数分。计算P(S>60)。
总损失设为S=■X■,其中碰撞次数为N服从参数k=6,p=0.6负二项分布,每次损失额为X■服从均值为8的指数分布,生成复合随机变量S的随机数的步骤为:(1)记负二项随机变量N,相应的随机数为n;(2)产生[0,1]区间上的均匀分布随机数u;(3)用离散型分布的随机变量模拟中的反函数法生成随机数n。若?滋<a0=0.0467,取n=0;若a0=0.0467?燮?滋<a1=0.1587,取n=1;若a1=0.1587?燮?滋<a2=0.3155,取n=2;如此等等;(4)用反函数法产生n个服从均值为8的指数分布的随机数x1,x2,…,xn;(5)计算s=x1+x2+…+xn,则s为所求的随机数。
为简单起见,我们直接采用VC++中产生均匀随机数的函数rand()/32768.0来产生服从复合负二项分布的随机数,程序如下:
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
const int n=10000;//随机数个数
void main()
{
fstream outfile1("f1.txt");
fstream outfile2("f2.txt");
double sum=0.0;
double b[18]={0};
float z;
double
a[18]={0.0467,0.1587,0.3155,0.4827,0.6332,
0.7536,0.8419,0.9024,0.9418,0.9663,0.9810,0.9895,0.9943,0.9970,0.9985,0.9993,0.9997,0.9999};
int k=0,m=0;
for(int i=0;i<n;i++)
{
double u=rand()/32768.0;
if(u<a[0])k=0;
else
{
if(u>a[17])k=18;
else
{
for(int j=0;j<17;j++)
if(u>a[j]&&u<a[j+1])k=j+1;
}
}
double s=0.0;
for(int j=0 j<k;j++)
{
b[j]=-8*log(rand()/32768.0);
s=s+b[j];
}
sum=sum+s;
if(i<100)
outfile1<<s<<endl;
if(s>60)m=m+1;
if(i<100)
outfile2<<k<<endl;
}
cout<<m<<endl;
z=m/10000.0;
cout<<"dddkkkk="<<z<<endl;
cout<<sum/10000.0<<endl;
outfile1.close();
outfile2.close();
}
程序中k为负二项分布的随机数,u为[0,1]上均匀分布的随机数,b[j]为均值为8的随机数,s为总损失量。运行以上程序,输出结果如下:
m z
1363 0.1363
模拟结果表示P(S>60)=0.1363。
(作者单位:中国矿业大学(北京)管理学院)
主要参考文献:
[1]肖争艳,高洪忠.非寿险精算.北京:中国人民大学出版社,2006.
[2]谢志刚,韩天雄.风险理论与非寿险精算.天津:南开大学出版社,2000.
[3]王静龙,汤鸣,韩天雄.非寿险精算.北京:中国人民大学出版社,2004. |
|
|
|