定义
泊松(Poisson)过程,是以法国数学家泊松(1781 - 1840)的名字命名的。泊松过程是随机过程的一种,是以事件的发生时间来定义的。泊松过程是一个计数过程,也是一个独立增量过程。
计数过程是在内出现事件A的总数所组成的过程
。如果在不相交的时间间隔内出现事件A的次数是互相统计独立的则A事件的计数过程为独立增量过程。
满足下列三个条件的 随机过程被称为泊松过程。
-
随机过程
是计数过程,且
;
-
随机过程
是平稳增量过程,即不相交区间上增量相互独立,即对一切
,
,
,
,
相互独立;
-
存在
,使
或者,存在,使
在泊松过程的定义中,第3条中的第一种情况是对泊松过程在很小时间区间内变化的直观解释,而第二种情况是对较大时间区间内事件发生次数的描述。
平稳过程保证了随着时间变动,泊松过程产生的随机变量是同分布的,而独立增量过程则保证了随着时间变动前后过程的独立性,所以平稳独立增量就就可以理解成连续情形下的独立同分布。在随机过程中,基于平稳独立增量过程的条件,可以通过类似在一个小区间中发生事件的个数,能够推出整个随机过程的信息。
泊松过程的样本路径
记表示第
次和第
次事件发生的时间间隔,再记
表示第
次事件发生的时刻,则
- 随机变量
是服从参数为
的指数分布
- 随机变量
是服从参数为与
的
分布
利用上面的约定,可将泊松过程表示为
同样,也可以用均匀分布对泊松过程进行刻画。假设为区间
上独立同分布的均匀分布的随机变量。那么随机变量
的顺序统计量的联合分布就是条件分布
利用指数分布随机数构成泊松过程
从上面的分析可以看出,利用服从指数分布的随机数的累积是可以形成泊松过程的一条样本曲线的。重复执行,即可获得泊松过程。
利用生成
个服从参数为成
的指数分布的随机数,这些随机数不妨用
表示。
第
次和第
次事件发生的时间间隔。 第
次事件发生的时刻可表示为
因此,绘制曲线即可获得泊松过程的一次实现。
Matlab实现代码
clear
n = 20;
lambda = 0.2;
xn = exprnd(lambda, 1, n);
tn = zeros(1,n);
tn(1) = xn(1);
for k = 2:n
tn(k) = tn(k-1)+xn(k);
end
tnFinal = [0, tn];
poission = 0:n;
figure, stairs(tnFinal, poission);
xlabel('时间/s');
ylabel('次数k');
利用均匀分布随机数构成泊松过程
如前所述,假设为区间
上均匀分布的随机变量,且相互独立。那么随机变量
的顺序统计量
可用于表示第
次事件发生的时刻,相应的联合分布就是条件分布
换而言之,对于给定的时间区间,已经事件发生
次的前提下, 这
次事件发生时刻在
上服从均匀分布。
仿真步骤:
- 假设在时间区间
内,事件发生了
次。当然这种情况发生的概率服从泊松分布。而当下我们需要考虑的不是这种情况发生的概率,而是需要考虑此时各次事件发生的时刻。
- 产生
个在
内均匀分布的随机数,将这些随机数由小到大排序,构成事件发生时刻的随机变量序列
。
绘制曲线即可获得泊松过程的一次实现。
Matlab实现代码
clear
n = 20;
lambda = 0.2;
t_end = 4
tn = t_end*rand(1,n);
tn = sort(tn, 2);
tnFinal = [0, tn];
poission = 0:n;
figure, stairs(tnFinal, poission);
xlabel('时间/s');
ylabel('次数k');