马氏链模型及matlab程序.docx
《马氏链模型及matlab程序.docx》由会员分享,可在线阅读,更多相关《马氏链模型及matlab程序.docx(15页珍藏版)》请在冰豆网上搜索。
马氏链模型及matlab程序
一、用法,用来干什么,什么时候用
二、步骤,前因后果,算法的步骤,公式
三、程序
四、举例
五、前面国赛用到此算法的备注一下
马氏链模型
用来干什么
马尔可夫预测法是应用概率论中马尔可夫链(Markovchain)的理论和方法来研究分析时间序列的变化规律,并由此预测其未来变化趋势的一种预测技术。
什么时候用
应用马尔可夫链的计算方法进行马尔可夫分析,主要目的是根据某些变量现在的情
况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依
据。
马尔可夫链的基本原理
我们知道,要描述某种特定时期的随机现象如某种药品在未来某时期的销售情况,比如说第n季度是畅销还是滞销,用一个随机变量Xn便可以了,但要描述未来所有时期的情况,则需要一系列的随机变量X1,X2,…,Xn,….称{Xt,t∈T,T是参数集}为随机过程,{Xt}的取值集合称为状态空间.若随机过程{Xn}的参数为非负整数,Xn为离散随机变量,且{Xn}具有无后效性(或称马尔可夫性),则称这一随机过程为马尔可夫链(简称马氏链).所谓无后效性,直观地说,就是如果把{Xn}的参数n看作时间的话,那么它在将来取什么值只与它现在的取值有关,而与过去取什么值无关.
对具有N个状态的马氏链,描述它的概率性质,最重要的是它在n时刻处于状态i下一时刻转移到状态j的一步转移概率:
若假定上式与n无关,即
,则可记为
(此时,称过程是平稳的),并记
(1)
称为转移概率矩阵.
转移概率矩阵具有下述性质:
(1)
.即每个元素非负.
(2)
.即矩阵每行的元素和等于1.
如果我们考虑状态多次转移的情况,则有过程在n时刻处于状态i,n+k时刻转移到状态j的k步转移概率:
同样由平稳性,上式概率与n无关,可写成
.记
(2)
称为k步转移概率矩阵.其中
具有性质:
;
.
一般地有,若
为一步转移矩阵,则k步转移矩阵
(3)
(2)状态转移概率的估算
在马尔可夫预测方法中,系统状态的转移概率的估算非常重要.估算的方法通常有两种:
一是主观概率法,它是根据人们长期积累的经验以及对预测事件的了解,对事件发生的可能性大小的一种主观估计,这种方法一般是在缺乏历史统计资料或资料不全的情况下使用.二是统计估算法,现通过实例介绍如下.
例3记录了某抗病毒药的6年24个季度的销售情况,得到表1.试求其销售状态的转移概率矩阵.
表1某抗病毒药24个季度的销售情况
季度
销售状态
季度
销售状态
季度
销售状态
季度
销售状态
1
1(畅销)
7
1(畅销)
13
1(畅销)
19
2(滞销)
2
1(畅销)
8
1(畅销)
14
1(畅销)
20
1(畅销)
3
2(滞销)
9
1(畅销)
15
2(滞销)
21
2(滞销)
4
1(畅销)
10
2(滞销)
16
2(滞销)
22
1(畅销)
5
2(滞销)
11
1(畅销)
17
1(畅销)
23
1(畅销)
6
2(滞销)
12
2(滞销)
18
1(畅销)
24
1(畅销)
分析表中的数据,其中有15个季度畅销,9个季度滞销,连续出现畅销和由畅销转入滞销以及由滞销转入畅销的次数均为7,连续滞销的次数为2.由此,可得到下面的市场状态转移情况表(表2).
表2市场状态转移情况表
下季度药品所处的市场状态
1(畅销)
2(滞销)
本季度药品所
1(畅销)
7
7
处的市场状态
2(滞销)
7
2
现计算转移概率.以频率代替概率,可得连续畅销的概率:
分母中的数为15减1是因为第24季度是畅销,无后续记录,需减1.
同样得由畅销转入滞销的概率:
滞销转入畅销的概率:
连续滞销的概率:
综上,得销售状态转移概率矩阵为:
从上面的计算过程知,所求转移概率矩阵P的元素其实可以直接通过表2中的数字计算而得到,即将表中数分别除以该数所在行的数字和便可:
Matlab程序:
formatrat
clc
a=[112122111212,112211212111];
fori=1:
2
forj=1:
2
f(i,j)=length(findstr([ij],a));
end
end
f
ni=(sum(f'))'
fori=1:
2
p(i,:
)=f(i,:
)/ni(i);
end
p
由此,推广到一般情况,我们得到估计转移概率的方法:
假定系统有m种状态S1,S2,…,Sm,根据系统的状态转移的历史记录,得到表3的统计表格,以
表示系统从状态i转移到状态j的转移概率估计值,则由表3的数据计算估计值的公式如下:
表3系统状态转移情况表
系统下步所处状态
S1
S2
…
Sm
系
统
S1
n11
n12
…
n1m
本
步
S2
n21
n22
…
n2m
所
处
…
…
…
…
…
状
态
Sm
nm1
nm2
…
nmm
(3)带利润的马氏链
在马氏链模型中,随着时间的推移,系统的状态可能发生转移,这种转移常常会引起某种经济指标的变化.如抗病毒药的销售状态有畅销和滞销两种,在时间变化过程中,有时呈连续畅销或连续滞销,有时由畅销转为滞销或由滞销转为畅销,每次转移不是盈利就是亏本.假定连续畅销时盈r11元,连续滞销时亏本r22元,由畅销转为滞销盈利r12元,由滞销转为畅销盈利r21元,这种随着系统的状态转移,赋予一定利润的马氏链,称为有利润的马氏链.对于一般的具有转移矩阵
的马氏链,当系统由i转移到j时,赋予利润rij(i,j=1,2,…,N),则称
(5)
为系统的利润矩阵,rij>0称为盈利,rij<0称为亏本,rij=0称为不亏不盈.
随着时间的变化,系统的状态不断地转移,从而可得到一系列利润,由于状态的转移是随机的,因而一系列的利润是随机变量,其概率关系由马氏链的转移概率决定.例如从抗病毒药的销售状态的转移矩阵,得到一步利润随机变量
、
的概率分布分别为:
r11
r12
r21
r22
概率
p11
p12
概率
p21
p22
其中p11+p12=1,p21+p22=1.
如果药品处于畅销阶段,即销售状态为i=1,我们想知道,经过n个季度以后,期望获得的利润是多少?
为此,引入一些计算公式.
首先,定义
为抗病毒药现在处于
,经过
步转移之后的总期望利润,则
一步转移的期望利润为:
其中
是随机变量
的数学期望.
二步转移的期望利润为:
其中随机变量
(称为二步利润随机变量)的分布为:
例如,若
,
则抗病毒药销售的一步利润随机变量:
9
3
3
-7
概率
概率
抗病毒药畅销和滞销时的一步转移的期望利润分别为:
二步利润随机变量为:
9+6
3-3
3+6
-7-3
概率
概率
抗病毒药畅销和滞销时的二步转移的期望利润分别为:
一般地定义k步转移利润随机变量
的分布为:
则系统处于状态i经过k步转移后所得的期望利润
的递推计算式为:
(6)
当k=1时,规定边界条件
.
称一步转移的期望利润为即时的期望利润,并记
.
可能的应用题型
题型一、市场占有率预测
例题1在购买该药的总共1000家对象(购买力相当的医院、药店等)中,买A、B、C三药厂的各有400家、300家、300家,预测A、B、C三个厂家生产的某种抗病毒药在未来的市场占有情况。
顾客订货情况如下表5:
表5顾客订货情况表
下季度订货情况
合计
来
自
A
B
C
A
160
120
120
400
B
180
90
30
300
C
180
30
90
300
合计
520
240
240
1000
模型建立与求解
一、问题分析
目前的市场占有情况为:
在购买该药的总共1000家对象(购买力相当的医院、药店等)中,买A、B、C三药厂的各有400家、300家、300家,那么A、B、C三药厂目前的市场占有份额分别为:
40%、30%、30%.称(,,)为目前市场的占有分布或称初始分布.
此外,我们需要查清使用对象的流动情况。
流动情况的调查可通过发放信息调查表来了解顾客以往的资料或将来的购买意向,也可从下一时期的订货单得出。
由题已知顾客订货情况如下表5
表5顾客订货情况表
下季度订货情况
合计
来
自
A
B
C
A
160
120
120
400
B
180
90
30
300
C
180
30
90
300
合计
520
240
240
1000
2、模型的建立
模型构建
假定在未来的时期内,顾客相同间隔时间的流动情况不因时期的不同而发生变化,以1、2、3分别表示顾客买A、B、C三厂家的药这三个状态,以季度为模型的步长(即转移一步所需的时间),那么根据表5,我们可以得模型的转移概率矩阵:
矩阵中的第一行(,,)表示目前是A厂的顾客下季度有40%仍买A厂的药,转为买B厂和C厂的各有30%.同样,第二行、第三行分别表示目前是B厂和C厂的顾客下季度的流向.
由P我们可以计算任意的k步转移矩阵,如三步转移矩阵:
从这个矩阵的各行可知三个季度以后各厂家顾客的流动情况.如从第二行(,,)知,B厂的顾客三个季度后有%转向买A厂的药,%仍买B厂的,%转向买C厂的药.
设
表示预测对象k季度以后的市场占有率,初始分布则为
,市场占有率的预测模型为
(7)
已知
,由此,我们可预测任意时期A、B、C三厂家的市场占有率.例如,三个季度以后的预测值为:
大致上,A厂占有一半的市场,B厂、C厂各占四分之一.
模型(7)可推广到N个状态的情形:
(8)
如果我们按公式(7)继续逐步求A、B、C三家的市场占有率,会发现,当k大到一定的程度,S(k)将不会有多少改变,即有稳定的市场占有率,设其稳定值为
,满足
.
事实上,如果市场的顾客流动趋向长期稳定下去,则经过一段时期以后的市场占有率将会出现稳定的平衡状态,即顾客的流动,不会影响市场的占有率,而且这种占有率与初始分布无关.如何求出这种稳定的市场占有率呢?
模型求解
以A、B、C三家的情况为例,当市场出现平衡状态时,从公式(7)可得方程S=SP,即
由此得
经整理,并加上条件
,得
,,
上方程组是三个变量四个方程的方程组,在前三个方程中只有二个是独立的,任意删去一个,从剩下的三个方程中,可求出唯一解:
,
,
这就是A、B、C三家的最终市场占有率.
一般N个状态的稳定市场占有率(稳态概率)
可通过解方程组
(9)
求得,而(9)的前N个方程中只有N-1个是独立的,可任意删去一个。
MATLAB程序:
formatrat
p=[,,];
a=[p'-eye(3);ones(1,3)];
b=[zeros(3,1);1];
p_limit=a\b
题型二、期望利润预测
企业追逐市场占有率的真正目的是使利润增加,因此,竞争各方无论是为了夺回市场份额,还是为了保住或者提高市场份额,在制订对策时都必须对期望利润进行预测.
预测主要分两步进行:
①市场统计调查.首先调查销路的变化情况,即查清由畅销到滞销或由滞销到畅销,连续畅销或连续滞销的可能性是多少.其次统计出由于销路的变化,获得的利润和亏损情况.②建立数学模型,列出预测公式进行预测.
例如,通过市场调查,我们得到如下的销路转移表(表6)和利润变化表(表7).由此,我们来建立数学模型.
表6销路转移表
畅销
滞销
1
2
1
畅销
2
滞销
销路转移表说明连续畅销的可能性为50%,由畅销转入滞销的可能性也是50%,由滞销到畅销为40%,连续滞销的可能性为60%.利润表说明的是连续畅销获利900万元,由畅销到滞销或由滞销到畅销均获利300万元,连续滞销则亏损700万元.从而得到销售状态的转移矩阵P和利润矩阵R分别为:
表7利润变化表(单位:
百万元)
畅销
滞销
1
2
1
畅销
9
3
2
滞销
3
-7
P和R便构成一个有利润的马氏链.由前面所述的基本原理及公式(6)得下面的预测公式:
即时期利润:
k步以后的期望利润:
将调查数据代入上公式则可预测各时期的期望利润值.如:
由此可知,当本季度处于畅销时,在下一季度可以期望获得利润600万元;当本季度处于滞销时,下一季度将期望亏损300万元.
同样算得:
,
,
由此可预测本季度处于畅销时,两个季度后可期望获利750万元,三个季度后可期望获利855万元;当本季度处于滞销时,两个季度后将亏损240万元,三个季度后亏损144万元。
MATLAB程序: