第十七章 马氏链模型
§1 随机过程的概念
一个随机试验的结果有多种可能性,在数学上用一个随机变量(或随机向量)来描述。在许多情况下,人们不仅需要对随机现象进行一次观测,而且要进行多次,甚至接连不断地观测它的变化过程。这就要研究无限多个,即一族随机变量。随机过程理论就是研究随机现象变化过程的概率规律性的。
定义1 设{?t,t?T}是一族随机变量,若对任意实数t?T,?tT是一个实数集合,是一个随机变量,则称{?t,t?T}为随机过程。
T称为参数集合,参数t可以看作时间。?t的每一个可能取值称为随机过程的一个状态。其全体可能取值所构成的集合称为状态空间,记作E。当参数集合T为非负整
数集时,随机过程又称随机序列。本章要介绍的马尔可夫链就是一类特殊的随机序列。
例1 在一条自动生产线上检验产品质量,每次取一个,“废品”记为1,“合格品”记为0。以?n表示第n次检验结果,则?n是一个随机变量。不断检验,得到一列随机变量?1,?2,?,记为{?n,n?1,2,?}。它是一个随机序列,其状态空间E?{0,1}。 例2 在m个商店联营出租照相机的业务中(顾客从其中一个商店租出,可以到m个商店中的任意一个归还),规定一天为一个时间单位,“?t?j”表示“第t天开始营业时照相机在第j个商店”,j?1,2,?,m。则{?n,n?1,2,?}是一个随机序列,其状态空间E?{1,2,?,m}。
例3 统计某种商品在t时刻的库存量,对于不同的t,得到一族随机变量,{?t,t?[0,??)}是一个随机过程,状态空间E?[0,R],其中R为最大库存量。 我们用一族分布函数来描述随机过程的统计规律。一般地,一个随机过程{?t,t?T},对于任意正整数n及T中任意n个元素t1,?,tn相应的随机变量?t1,?,?tn的联合分布函数记为
Ft1?tn(x1,?,xn)?P{?t1?x1,?,?tn?xn} (1)
由于n及ti(i?1,?,n)的任意性,(1)式给出了一族分布函数。记为
{Ft1?tn(x1,?,xn),ti?T,i?1,?,n;n?1,2,?}
称它为随机过程{?t,t?T}的有穷维分布函数族。它完整地描述了这一随机过程的统计规律性。
§2 马尔可夫链
2.1 马尔可夫链的定义
现实世界中有很多这样的现象:某一系统在已知现在情况的条件下,系统未来时刻的情况只与现在有关,而与过去的历史无直接关系。比如,研究一个商店的累计销售额,如果现在时刻的累计销售额已知,则未来某一时刻的累计销售额与现在时刻以前的任一时刻累计销售额无关。上节中的几个例子也均属此类。描述这类随机现象的数学模型称为马氏模型。
定义2 设{?n,n?1,2,?}是一个随机序列,状态空间E为有限或可列集,对于任意的正整数m,n,若i,j,ik?E(k?1,?,n?1),有
-207-
P{?n?m?j|?n?i,?n?1?in?1,?,?1?i1}?P{?n?m?j|?n?i} (2)
则称{?n,n?1,2,?,(2)式称为马氏性。 }为一个马尔可夫链(简称马氏链)
事实上,可以证明若等式(2)对于m?1成立,则它对于任意的正整数m也成立。因此,只要当m?1时(2)式成立,就可以称随机序列{?n,n?1,2,?}具有马氏性,即{?n,n?1,2,?}是一个马尔可夫链。
定义3 设{?n,n?1,2,?}是一个马氏链。如果等式(2)右边的条件概率与n无关,即
P{?n?m?j|?n?i}?pij(m) (3)
则称{?n,n?1,2,?称pij(m)为系统由状态i经过m个时间间隔(或}为时齐的马氏链。(3)称为时齐性。它的含义是:系统由状态i到状态m步)转移到状态j的转移概率。
j的转移概率只依赖于时间间隔的长短,与起始的时刻无关。本章介绍的马氏链假定都是时齐的,因此省略“时齐”二字。
2.2 转移概率矩阵及柯尔莫哥洛夫定理 对于一个马尔可夫链{?n,n?1,2,?},称以m步转移概率pij(m)为元素的矩阵当m?1时,记P(1)?P称为马尔可P(m)?(pij(m))为马尔可夫链的m步转移矩阵。
夫链的一步转移矩阵,或简称转移矩阵。它们具有下列三个基本性质: (i)对一切i,j?E,0?pij(m)?1;
(ii)对一切i?E,
?p(m)?1;
ijj?E(iii)对一切i,j?E,pij(0)??ij???1,当i?j时。
0,当i?j时?当实际问题可以用马尔可夫链来描述时,首先要确定它的状态空间及参数集合,然
后确定它的一步转移概率。关于这一概率的确定,可以由问题的内在规律得到,也可以由过去经验给出,还可以根据观测数据来估计。
例4 某计算机机房的一台计算机经常出故障,研究者每隔15分钟观察一次计算机的运行状态,收集了24小时的数据(共作97次观察)。用1表示正常状态,用0表示不正常状态,所得的数据序列如下:
1110010011111110011110111111001111111110001101101 111011011010111101110111101111110011011111100111
解 设Xn(n?1,?,97)为第n个时段的计算机状态,可以认为它是一个时齐马氏链,状态空间E?{0,1},编写如下Matlab程序:
a1='1110010011111110011110111111001111111110001101101'; a2='111011011010111101110111101111110011011111100111'; a=[a1 a2];
f00=length(findstr('00',a)) f01=length(findstr('01',a)) f10=length(findstr('10',a)) f11=length(findstr('11',a))
或者把上述数据序列保存到纯文本文件data1.txt中,存放在Matlab下的work子目录中,编写程序如下:
clc,clear
-208-
format rat
fid=fopen('data1.txt','r'); a=[];
while (~feof(fid)) a=[a fgetl(fid)]; end
for i=0:1 for j=0:1
s=[int2str(i),int2str(j)];
f(i+1,j+1)=length(findstr(s,a)); end end
fs=sum(f'); for i=1:2
f(i,:)=f(i,:)/fs(i); end f
求得96次状态转移的情况是:
0?0,8次; 0?1,18次; 1?0,18次; 1?1,52次, 因此,一步转移概率可用频率近似地表示为
84? 8?1813189p01?P{Xn?1?1|Xn?0}??
8?1813189p10?P{Xn?1?0|Xn?1}??
18?52355226p11?P{Xn?1?1|Xn?1}??
18?5235例5 设一随机系统状态空间E?{1,2,3,4},记录观测系统所处状态如下: p00?P{Xn?1?0|Xn?0}?4 3 2 1 4 3 1 1 2 3 2 1 2 3 4 4 3 3 1 1 1 3 3 2 1 2 2 2 4 4 2 3 2 3 1 1 2 4 3 1
若该系统可用马氏模型描述,估计转移概率pij。
解 首先将不同类型的转移数nij统计出来分类记入下表
i?j转移数nij
1 2 3 4 各类转移总和
1 2 3 4 4 4 1 1 3 2 4 2 4 4 2 1 0 1 4 2 ijj行和ni 10 11 11 7 ??ni等于观测数据中马氏链处于各种状态次数总和减1,而行和ni是
-209-
系统从状态i转移到其它状态的次数,nij是由状态i到状态j的转移次数,则pij的估计值pij?nijni。计算得
?2/5?3/11???P?4/11??02/52/114/111/71/104/112/114/71/10?2/11?? 1/11??2/7?Matlab计算程序如下: format rat clc
a=[4 3 2 1 4 3 1 1 2 3 ... 2 1 2 3 4 4 3 3 1 1 ... 1 3 3 2 1 2 2 2 4 4 ... 2 3 2 3 1 1 2 4 3 1]; for i=1:4 for j=1:4
f(i,j)=length(findstr([i j],a)); end end f
ni=(sum(f'))' for i=1:4
p(i,:)=f(i,:)/ni(i); end p
例6(带有反射壁的随机徘徊)如果在原点右边距离原点一个单位及距原点s(s?1)个单位处各立一个弹性壁。一个质点在数轴右半部从距原点两个单位处开始随机徘徊。每次分别以概率p(0?p?1)和q(q?1?p)向右和向左移动一个单位;若在+1处,则以概率p反射到2,以概率q停在原处;在s处,则以概率q反射到s?1,以概率p停在原处。设?n表示徘徊n步后的质点位置。{?n,n?1,2,?}是一个马尔可夫链,其状态空间E?{1,2,?,s},写出转移矩阵P。
解 P{?0?i}???1,当i?2时
?0,当i?2时?q,当j?1时? p1j??p,当j?2时
?0,其它??p,当j?s时? psj??q,当j?s?1时
?0,其它? -210-

