资源描述
Poisson过程得模拟与检验
实验目得:理解掌握Poisson过程得理论,了解随机过程得模拟实现技术,学习并掌握在实际中如何检验给定得随机过程就是否为Poisson过程。
实验内容:利用C语言、MATLAB等工具,结合Poisson过程等相关结论,模拟Poisson过程(还可选:非齐次Poisson过程等);查找资料、学习关于Poisson过程假设检验得相关知识,检验上述模拟实现得到达过程就是否满足Poisson过程得定义(编程或利用统计软件,如SPSS、SAS等作为辅助工具)。
作业要求:提交实验报告电子版,说明模拟实现得过程,检验原理、步骤等以及实现过程;提交程序源代码。
一、泊松过程得模拟
1.基本原理
根据服务系统接受服务顾客数服从泊松分布这一模型可知,{X(n),t}就是一个计数过程,{,n就是对应得时间间隔序列,若(n)(n=1,2,、、、)就是独立同分布得均值为得指数分布,则{X(n),t}就是具有参数为λ得泊松。
2.具休实现过程
思路:本实验从用MATLAB编程软件,从构造服从指数分布得时间间隔入手,计算每个事件得发生时刻,最后得到X(t),也就模拟了泊松过程。
实现步骤如下:
(1)、由函数random(‘exponential’,lamda)构造服从指数分布得序列。
(2)、根据服务系统模型,=+。
(3)、对任意t(,),X(t)=n,由此得到泊松过程得模拟。
3.过程模拟验证
(1)设定t=0时刻,计数为0,满足X(0)=0这一条件。
(2) 就是由random(‘exponential’,lamda)生成,间相互独立。
(3)由实验结果图可以很清楚地瞧出,在充分小得时间间隔内,最多有一个事情发生,而不可能有两个或两个以上事件同时发生,同时可以瞧出X(t)就是一个平稳增量过程,结合条件(2)可知,X(t)就是独立平稳增量过程。
图1:模拟泊松过程图
由此可知,根据服务系统模型,由具有指数分布得时间间隔序列模拟泊松过程可行。
二、泊松过程得检验
1.检验方法
Kolmogorov-Smirnov检验(柯尔莫哥洛夫-斯摩洛夫),亦称拟合优度检验法,用来检用来检验模拟所得得数据得分布就是不就是符合一个理论得已知分布。
检验步骤及过程:
(1)条件设定:
H1:实验产生模拟泊松分布数据得总体分布服从泊松分布。
H0:实验产生模拟泊松分布数据得总体分布不服从泊松分布。
(2)检验准备:
对于H1,已经假定所产生模拟泊松过程数据服从泊松分布,而强度未知,利用函数poissfit(x,alpha)估算出模拟泊松过程得强度,再利用函数poisscdf(x,lamda)得到泊松分布得累积分布函数。
(3) Kolmogorov-Smirnov检验
直接调用Kolmogorov-Smirnov检验函数kstest(x,[x,p],alpha),其中,x为输入模拟泊松序列,P为累积分布函数,1- alpha为置信区间,当结果时,则输入数据位泊松分布,否则,不就是泊松分布。
三、程序代码
clear
lamda=2;Tmax=50;
delta_t=0、1;%时间精度
i=1;a=random('exponential',lamda);
T(1)=round(a*10)/10;
w(1)=T(1);%初始化
%%%%%%%%%%%%%%泊松过程模拟%%%%%%%%%%%%%%%
while(w(i)<Tmax)
T(i)=random('exponential',lamda);%构造服从指数分布得时间间隔序列Tn
T(i)=round(T(i)*10)/10;
w(i+1)=w(i)+T(i);%计算等待时间
i=i+1;
end
w=w';
x=zeros(w(1)/delta_t,1);
for k=1:size(w,1)-1
length=w(k+1)/delta_t-w(k)/delta_t;
x=[x;ones(length,1)*k];%得到泊松分布X(t)序列
end
%%%%%%%%%%%泊松过程检验%%%%%%%%%%%%%%%%%
alpha=0、05;
lamda1=poissfit(x,alpha);%用MLE算法计算出泊松分布得强度lamda,置信区间为1-lamda
p=poisscdf(x,lamda1);%计算累计分布
[H,s]=kstest(x,[x,p],alpha)%利用Kolmogorov-Smirnov检验,置信区间为1-lamda
if H==1;
disp('该数据源服从泊松分布。')
else
disp('该数据源不服从泊松分布。')
end
展开阅读全文