欢迎光临散文网 会员登陆 & 注册

保费定价和二项分布-北太天元学习24

2023-08-04 17:10 作者:卢朓  | 我要投稿

二项式分布用于模拟多次独立试验的情况,每个试验都有两种可能性——成功和失败。在这种情况下,独立性意味着试验的结果对任何其他试验都没有影响。因此,成功和失败的概率是固定的,不会随着试验而改变。这些独立的试验被称为伯努利试验。

伯努利试验一个例子: 如果你掷一枚硬币(这个硬币没有被做手脚),它总是有0.5的概率出现正面。为了给出一个数学的表达,可以让X_i,i=1,2, ... , n 表示n次试验的出现的试验结果,每个X_i是离散随机变量,我们规定X_i的取值为{0,1}, 其中X_i = 0 表示失败,X_i = 1 表示成功。这样样本空间为S = {0,1},分别表示失败或成功,概率分布函数为P(X_i=1)= p, ,P(X_i=0)=1−p,其中0≤p≤1 是每次试验成功的概率。我们考虑从随机变量X_1,...,X_n 导出的一个新的随机变量
   X = X_1 + ... + X_n
那么 X 可能的取值有 0, 1, ..., n, 也就是说X的样本空间S = { 0, 1, ..., n}, 其中 X =k 表示 n 次独立试验 恰好有 k 次成功发生的概率。概率课上老师会讲 X = k 的概率是
P(X = k ) =  C_n^k * p^k * (1-p) ^(n-k),
其中 C_n^k 表示从 n 个不同的元素中选取k 的组合数。
我们说 X 服从二项分布(n,k), 记作 X ~ B(n,k).

二项分布有很多应用,我们下面讲一个应用:保险公司的保费政策制定。

某保险公司拟推出向某小学推出小学生意外伤害险,每位参保人交付保险费,出险时可获得4万元赔付。已知一年中一个人的出险率为0.3%,现有1000名新生参加保险,要使保险公司获利不少于10万元的概率达到90%以上,问保险公司设计此业务时每位参保人至少需交付多少元保险费?

每人交款 x 元,假设一年中有 Y 个人申请理赔,欲使保险公司获利大于10万元,即

1000*x - 40000*Y >= 100000

也就是说,必须满足人数 Y <= (1000*x - 100000)/40000  才能满足获利 10万 以上。

一年中出险的人数 Y 是一个随机变量,它服从二项分布, 一个人出险的概率是 0.3%, 也就是我们说的做一次试验,事件A发生的概率 p = 0.003,
那么1000个人的总出险人数和相当于做了1000次独立试验事件A发生的次数。
那么 Y = k 的概率是
          P(Y = k ) = C_n^k *  p^k * (1-p)^k
其中 n = 1000,  C_n^k  = n!/( k! * (n-k)! 是从n个不同的元素中选取k的组合数。


保险公司期待能以90%的概率赚到10万元,那么只要使得
P(Y <=  (1000*x - 100000)/40000  ) > 90% 即可。

我们知道 Y 的取值是 0,..., 1000,
如果 ( 1000*x-100000) /40000 = 1000
那么我们肯定 100% 的概率赚钱,此时需要收取的钱数是
x = 400100 元,
收的钱比赔付的还多,参保人肯定不愿意。

我们不妨暴力的来计算 某个比1000小的最小的正整数 k_some
使得 P(Y <= k_some ) > 90%,
然后通过解下面的方程
    (1000*x-100000)/40000 = k_some
得到 x 即是所求 (可以适当的上取整啊,这样也能多赚一丢丢)。

close all; clear all; clc
n = 20;  % 试验的次数
p = 0.003; % 做一次试验时,事件A发生的概率

f = binomial_pdf(n,p);

 bar(0:n,f);
xlabel("事件A发生的次数X")
ylabel("概率")
hold on
plot(0:n,f,'y-','LineWidth',6);
hold off

%P(X<=k) < 0.9 的k 的最大值
k_some  = max(find(cumsum(f) < 0.9));
% 解(1000*x-100000)/40000 = k_some 得到向每人收取的保费
x = ( k_some * 40000 + 100000 )/1000


% 伯努利试验,总试验次数时n,  事件A发生的总次数X
% 时一个随机变量,可能的取值为 0,1,..., n
% X=k 表示 总试验次数是n时,事件A总共发生了k次,
% X=k 发生的概率是
% p(X=k) = nchoosek(n,k) * p^k * q^(n-1)
%
function f = binomial_pdf(n,p)
    f = zeros(1,n+1); % 对二项分布的概率f赋初值
    for k=0:1:n; % 事件A发生k次,求二项分布f,即成功k次的概率
        f(k+1) = nchoosk(n,k) *p^k * (1-p)^(n-k);
    end
end

% 从n个不同元素中取出k个元素的组合数
%  cnk =  n!/(k! * (n-k)!)
%  第二个算法 cnk =  1/(n-1)*beta(k+1,n-k) 这里的beta是beta函数
function  cnk = nchoosk(n,k)
    if(n==k || k==0)
        cnk = 1;
        return;
    end
    %cnk = (factorial(n)/factorial(n-k)/factorial(k))    
    cnk = 1/(n-k)/beta(k+1,n-k)
end

保费定价和二项分布-北太天元学习24的评论 (共 条)

分享到微博请遵守国家法律