Sma11_Tim3's Studio.

MATLAB仿真模拟分布

字数统计: 1.8k阅读时长: 7 min
2020/12/02 Share

使用MATLAB来模拟具体的模型,依次介绍:泊松过程,指数分布,生灭过程。

泊松分布

日常生活中,大量事件是有固定频率的。

  • 某医院平均每小时出生3个婴儿
  • 某公司平均每10分钟接到1个电话
  • 某超市平均每天销售4包xx牌奶粉
  • 某网站平均每分钟有2次访问

它们的特点就是,我们可以预估这些事件的总数,但是没法知道具体的发生时间。已知平均每小时会来3个顾客,请问下一个小时,会到来几个顾客?

有可能一下子来6个,也有可能一个都不来。这是我们没法知道的。

泊松分布就是描述某段时间内,事件具体的发生概率。

概率函数:

等号的左边,P 表示概率,N表示某种函数关系,t 表示时间,n 表示数量,假如要表示一小时内来3个顾客的概率,就表示为P(N(1) = 3) 。等号的右边,$\lambda$表示事件的频率。

接下来两个小时,一个顾客都不来的概率是0.25%,基本不可能发生。

接下来一个小时,至少到来两个顾客的概率是80%。

泊松分布的示意图,可以用MATLAB得到相应的结果,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear; 
clc;

% MATLAB演示泊松分布(Poisson Distribution)
% 泊松分布(Poisson Distribution):X~P(lamda)
lamda = 5;
n = 10;
f = zeros(1,n+1);%zeros(m,n) 生成m*n的全零阵
for k = 0:1:n %k从0到n,步长为1
f(k+1) = lamda^k/factorial(k)*exp(-lamda);
end
x = 0:1:n;
%bar(x,y)用来绘制二维竖直方图,其中x必须单调递增或递减,y为m*n矩阵,
%可视化结果为m组,每组n个垂直柱,也就是把y的行画在一起,同一列的数据用相同的颜色表示。

bar(x,f,1.0,'r');

img

可以看到,在频率附近,事件的发生概率最高,然后向两边对称下降,即变得越大和越小都不太可能。每小时到达3个顾客,这是最可能的结果,到达人数越多或越少,就越不可能。

指数分布

指数分布是事件的时间间隔的概率。下面这些都属于指数分布。

  • 婴儿出生的时间间隔
  • 来电的时间间隔
  • 奶粉销售的时间间隔
  • 网站访问的时间间隔

指数分布的公式可以从泊松分布推断出来。如果下一个婴儿要间隔时间 t ,就等同于 t 之内没有任何婴儿出生。

反过来,事件在时间 t 之内发生的概率,就是1减去上面的值。

接下来15分钟,会有婴儿出生的概率是52.76%。

接下来的15分钟到30分钟,会有婴儿出生的概率是24.92%。

指数分布的MATLAB代码如下:

1
2
3
4
5
6
7
8
clear;
clc;
x=0:0.2:20;
y1=exppdf(x,3);
hold on;
plot(x,y1,'r');
title('指数分布密度函数图');
xlabel('x');

指数分布的图形大概是下面的样子。

image-20201202213656860

可以看到,随着间隔时间变长,事件的发生概率急剧下降,呈指数式衰减。想一想,如果每小时平均出生有3个顾客,上面已经算过了,下一个顾客间隔2小时才到来的概率是0.25%,那么间隔3小时、间隔4小时的概率,是不是更接近于0?

生灭过程

连续时间齐次马尔可夫链中一个特殊的分类,该分类过程状态的转移只允许从状态$j$到$j-1$或者$j+1$(如果这些状态存在)。这类随机过程非常适合描述队列中顾客的到达与离开过程,其中状态下标对应于等待服务的顾客数量。

具体的来说:如果在系统中的顾客数量为j,那么这个马尔可夫链就认为处于状态$j$。到达一个顾客,该过程转移到状态$j+1$,转移发生的速率为$q_{j,j+1}$。相对的顾客的离开使该过程从状态$j$移动到$j-1$,并且发生速率为$q_{j,j-1}$。具体公式

这两个式子为出生和死亡速率。这些速率可以是状态独立,但是由于该过程的齐次性,不能是时间独立的。同样根据定义,在状态$i$,对于除了取值$i,i+1,i-1$的所有$j$转移概率$q_{ij}$都为0。即:只有$q_{ii},q_{i,i+1},q_{i,i-1}$三个式子有取值,其余的式子取值均为0。另外根据以上的式子可以得出:

对于一个生灭过程,处于状态$j$有一个直观上的意义:人口数量为$j$,即排队系统中有$j$个顾客。一般来说,在状态$j$的时候,我们有一个顾客在接受服务并且有$j-1$个顾客在队列中等待服务。

生灭过程的平稳概率分布

因为生灭过程是一个各态历经的时间连续的马尔可夫链,它的平稳概率分布为:

用$π_j^*P_j$表示在状态$j$的平稳概率,并用以上的公式替代相关的变量可以得到以下的公式:

以矩阵形式表示,我们可以将前两个公式写为

其中

如果人口的规模有界限那么,这两个矩阵也是有限维的。定义$P(t)$如下:

最终可以将式子重写为:

矩阵Q被称为转移速率矩阵,研究生灭过程的第一步就是写出其Q矩阵。

注意到的是Q的对角线上的元素,即$q_{jj}$是离开状态$j$的概率值的负值。另外第$j$列中$q_{j-1,j}$比如($q_{01}$),表示从状态$j-1$到状态$j$的速率,相应的$q_{j+1,j}$比如($q_{32}$),表示从状态$j+1$到状态$j$的速率。其他所有的元素均为0。并且每一行所有元素加起来为0。

CATALOG
  1. 1. 泊松分布
  2. 2. 指数分布
  3. 3. 生灭过程
    1. 3.1. 生灭过程的平稳概率分布