马氏链模型及matlab程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
马氏链模型及m a t l a b
程序
文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]
一、用法,用来干什么,什么时候用
二、步骤,前因后果,算法的步骤,公式
三、程序
四、举例
五、前面国赛用到此算法的备注一下
马氏链模型
用来干什么
马尔可夫预测法是应用概率论中马尔可夫链(Markov chain)的理论和方法来研究分析时间序列的变化规律,并由此预测其未来变化趋势的一种预测技术。
什么时候用
应用马尔可夫链的计算方法进行马尔可夫分析,主要目的是根据某些变量现在的情
况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依
据。
马尔可夫链的基本原理
我们知道,要描述某种特定时期的随机现象如某种药品在未来某时期的销售情况,比如说第n季度是畅销还是滞销,用一个随机变量X n便可以了,但要描述未来所有时期的情况,则需要一系列的随机变量X1,X2,…,X n,….称{ X t,t∈T ,T是参数集}为随机过程,{ X t }的取值集合称为状态空间.若随机过程{ X n }的参数为非负整数, X n 为离散随机变量,且{ X n }具有无后效性(或称马尔可夫性),则称这一随机过程为马尔可夫链(简称马氏链).所谓无后效性,直观地说,就是如果把{ X n }的参数n看作时间的话,那么它在将来取什么值只与它现在的取值有关,而与过去取什么值无关.
对具有N 个状态的马氏链,描述它的概率性质,最重要的是它在n 时刻处于状态i 下一时刻转移到状态j 的一步转移概率:
若假定上式与n 无关,即 ====)()1()0(n p p p j i j i j i ,则可记为j i p (此时,称过程是平稳的),并记
⎪⎪
⎪
⎪
⎪⎭
⎫
⎝
⎛=N N N N N N p p p p p p p p p P
2
12222111211 (1)
称为转移概率矩阵.
转移概率矩阵具有下述性质:
(1)N j i p j i ,,2,1,,0 =≥.即每个元素非负.
(2)N i p N
j j i ,,2,1,11 ==∑=.即矩阵每行的元素和等于1.
如果我们考虑状态多次转移的情况,则有过程在n 时刻处于状态i ,n +k 时刻转移到状态j 的k 步转移概率:
同样由平稳性,上式概率与n 无关,可写成)
(k j i p .记
⎪⎪⎪⎪
⎪⎭⎫ ⎝⎛=)()(2
)(1
)(2)(22)(21)(1)(12)
(11)
(k N N k N k N k N k k k N k k k p p p p p p p p p P
(2) 称为k 步转移概率矩阵.其中)
(k j i p 具有性质:
N j i p k j i ,,2,1,,0)
( =≥; N i p N
j k j i ,,2,1,11
)
( ==∑=.
一般地有,若P 为一步转移矩阵,则k 步转移矩阵
⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛=)()(2
)(1
)(2)(22)(21)(1)(12)
(11)
(k N N k N k N k N k k k N k k k p p p p p p p p p P
(3)
(2)状态转移概率的估算
在马尔可夫预测方法中,系统状态的转移概率的估算非常重要.估算的方法通常有两种:一是主观概率法,它是根据人们长期积累的经验以及对预测事件的了解,对事件发生的可能性大小的一种主观估计,这种方法一般是在缺乏历史统计资料或资料不全的情况下使用.二是统计估算法,现通过实例介绍如下.
例3 记录了某抗病毒药的6年24个季度的销售情况,得到表1.试求其销售状态的转移概率矩阵.
表1 某抗病毒药24个季度的销售情况
季度销售状
态
季度
销售状态
季度销售状态
季度
销售状态
11 (畅
销)
7
1(畅销)
131(畅销)
19
2(滞销)
21(畅销)81(畅销)141(畅销)201(畅销)
32(滞销)91(畅销)152(滞销)212(滞销)
41(畅销)102(滞销)162(滞销)221(畅销)
52(滞销)111(畅销)171(畅销)231(畅销)
62(滞销)122(滞销)181(畅销)241(畅销)分析表中的数据,其中有15个季度畅销,9个季度滞销,连续出现畅销和由畅销转入滞销以及由滞销转入畅销的次数均为7,连续滞销的次数为2.由此,可得到下面的市场状态转移情况表(表2).
表2 市场状态转移情况表
现计算转移概率.以频率代替概率,可得连续畅销的概率:
分母中的数为15减1是因为第24季度是畅销,无后续记录,需减1.同样得由畅销转入滞销的概率:
滞销转入畅销的概率:
连续滞销的概率:
综上,得销售状态转移概率矩阵为:
从上面的计算过程知,所求转移概率矩阵P的元素其实可以直接通过表2中的数字计算而得到,即将表中数分别除以该数所在行的数字和便可:
Matlab程序:
format rat
clc
a=[ 1 1 2 1 2 2 1 1 1 2 1 2,1 1 2 2 1 1 2 1 2 1 1 1];
for i=1:2
for j=1:2
f(i,j)=length(findstr([i j],a));
end
end
f
ni=(sum(f'))'
for i=1:2
p(i,:)=f(i,:)/ni(i);
end
p
由此,推广到一般情况,我们得到估计转移概率的方法:假定系统有m种状态S1,
S
2,…,S
m
,根据系统的状态转移的历史记录,得到表3的统计表格,以
j i
pˆ表示系统从
状态i转移到状态j的转移概率估计值,则由表3的数据计算估计值的公式如下:
表3 系统状态转移情况表