一、用法,用来干什么,什么时候用二、步骤,前因后果,算法的步骤,公式三、程序四、举例五、前面国赛用到此算法的备注一下马氏链模型用来干什么马尔可夫预测法是应用概率论中马尔可夫链(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 P212222111211 (1)称为转移概率矩阵.转移概率矩阵具有下述性质:(1)N j i p j i ,,2,1,,0 =≥.即每个元素非负.(2)N i p Nj 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 Nj 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个季度的销售情况季度销售状态季度销售状态季度销售状态季度销售状态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 市场状态转移情况表现计算转移概率.以频率代替概率,可得连续畅销的概率:分母中的数为15减1是因为第24季度是畅销,无后续记录,需减1.同样得由畅销转入滞销的概率:滞销转入畅销的概率:连续滞销的概率:综上,得销售状态转移概率矩阵为:从上面的计算过程知,所求转移概率矩阵P的元素其实可以直接通过表2中的数字计算而得到,即将表中数分别除以该数所在行的数字和便可:Matlab程序:format ratclca=[ 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:2for j=1:2f(i,j)=length(findstr([i j],a));endendfni=(sum(f'))'for i=1:2p(i,:)=f(i,:)/ni(i);endp由此,推广到一般情况,我们得到估计转移概率的方法:假定系统有m种状态S1,S2,…,S m,根据系统的状态转移的历史记录,得到表3的统计表格,以pˆ表示系统从状态i转移j i到状态j的转移概率估计值,则由表3的数据计算估计值的公式如下:表3 系统状态转移情况表(3)带利润的马氏链在马氏链模型中,随着时间的推移,系统的状态可能发生转移,这种转移常常会引起某种经济指标的变化.如抗病毒药的销售状态有畅销和滞销两种,在时间变化过程中,有时呈连续畅销或连续滞销,有时由畅销转为滞销或由滞销转为畅销,每次转移不是盈利就是亏本.假定连续畅销时盈r 11元,连续滞销时亏本r 22元,由畅销转为滞销盈利r 12元,由滞销转为畅销盈利r 21元,这种随着系统的状态转移,赋予一定利润的马氏链,称为有利润的马氏链.对于一般的具有转移矩阵的马氏链,当系统由i 转移到j 时,赋予利润r ij (i ,j =1,2,…,N ),则称⎪⎪⎪⎪⎪⎭⎫⎝⎛=N N N N N N r r r r r r r r r R212222111211(5) 为系统的利润矩阵,r ij >0称为盈利,r ij <0称为亏本,r ij = 0称为不亏不盈.随着时间的变化,系统的状态不断地转移,从而可得到一系列利润,由于状态的转移是随机的,因而一系列的利润是随机变量,其概率关系由马氏链的转移概率决定.例如从抗病毒药的销售状态的转移矩阵,得到一步利润随机变量)1(1x 、)1(2x 的概率分布分别为:其中 p 11+ p 12 = 1 ,p 21+ p 22 = 1.如果药品处于畅销阶段,即销售状态为i =1,我们想知道,经过n 个季度以后,期望获得的利润是多少?为此,引入一些计算公式.首先,定义)(n i v 为抗病毒药现在处于)2,1(=i i ,经过n 步转移之后的总期望利润,则 一步转移的期望利润为:其中)()1(i x E 是随机变量)1(i x 的数学期望.二步转移的期望利润为:其中随机变量)2(i x (称为二步利润随机变量)的分布为:例如,若⎪⎪⎭⎫ ⎝⎛=6.04.05.05.0P , ⎪⎪⎭⎫⎝⎛-=7339R则抗病毒药销售的一步利润随机变量:抗病毒药畅销和滞销时的一步转移的期望利润分别为: 二步利润随机变量为:抗病毒药畅销和滞销时的二步转移的期望利润分别为:一般地定义k 步转移利润随机变量),2,1()(N i x k i =的分布为: 则系统处于状态i 经过k 步转移后所得的期望利润)(k i v 的递推计算式为:∑∑∑=-=-=+=+=Nj j i k j i Nj j i k j N j j i j i p v v p v p r 1)1()1(1)1(1(6)当k =1时,规定边界条件0)0(=i v .称一步转移的期望利润为即时的期望利润,并记N i q v i i ,2,1,)1(==.可能的应用题型题型一、市场占有率预测例题1在购买该药的总共1000家对象(购买力相当的医院、药店等)中,买A、B、C三药厂的各有400家、300家、300家,预测A、B、C三个厂家生产的某种抗病毒药在未来的市场占有情况。
顾客订货情况如下表5:表5 顾客订货情况表下季度订货情况合计来自A B CA 160 120 120 400B 180 90 30 300C 180 30 90 300合计520 240 240 1000模型建立与求解一、问题分析目前的市场占有情况为:在购买该药的总共1000家对象(购买力相当的医院、药店等)中,买A、B、C三药厂的各有400家、300家、300家,那么A、B、C三药厂目前的市场占有份额分别为:40%、30%、30%.称(0.4,0.3,0.3)为目前市场的占有分布或称初始分布.此外,我们需要查清使用对象的流动情况。
流动情况的调查可通过发放信息调查表来了解顾客以往的资料或将来的购买意向,也可从下一时期的订货单得出。
由题已知顾客订货情况如下表5表5 顾客订货情况表下季度订货情况合计来 自A B CA 160 120 120 400B 180 90 30 300 C1803090300合计520 240 240 1000二、模型的建立 2.1模型构建假定在未来的时期内,顾客相同间隔时间的流动情况不因时期的不同而发生变化,以1、2、3分别表示顾客买A 、B 、C 三厂家的药这三个状态,以季度为模型的步长(即转移一步所需的时间),那么根据表5,我们可以得模型的转移概率矩阵:矩阵中的第一行(0.4,0.3,0.3)表示目前是A 厂的顾客下季度有40%仍买A 厂的药,转为买B 厂和C 厂的各有30%.同样,第二行、第三行分别表示目前是B 厂和C 厂的顾客下季度的流向.由P 我们可以计算任意的k 步转移矩阵,如三步转移矩阵:从这个矩阵的各行可知三个季度以后各厂家顾客的流动情况.如从第二行(0.504,0.252,0.244)知,B 厂的顾客三个季度后有50.4%转向买A 厂的药,25.2%仍买B 厂的,24.4%转向买C 厂的药.设),,()(3)(2)(1)(k k k k p p p S =表示预测对象k 季度以后的市场占有率,初始分布则为),,()0(3)0(2)0(1)0(p p p S =,市场占有率的预测模型为P S P S S k k k ⋅=⋅=-)1()0()( (7)已知)3.0,3.0,4.0()0(=S ,由此,我们可预测任意时期A 、B 、C 三厂家的市场占有率.例如,三个季度以后的预测值为:大致上,A 厂占有一半的市场,B 厂、C 厂各占四分之一.模型(7)可推广到N 个状态的情形:kN N N N N N Nk k k p p p p p p p p p p p p P S P S S ⎪⎪⎪⎪⎪⎭⎫⎝⎛===-212222111211)0()0(2)0(1)0()1()(),,((8) 如果我们按公式(7)继续逐步求A 、B 、C 三家的市场占有率,会发现,当k 大到一定的程度,S (k ) 将不会有多少改变,即有稳定的市场占有率,设其稳定值为),,(321p p p S =,满足1321=++p p p .事实上,如果市场的顾客流动趋向长期稳定下去,则经过一段时期以后的市场占有率将会出现稳定的平衡状态,即顾客的流动,不会影响市场的占有率,而且这种占有率与初始分布无关.如何求出这种稳定的市场占有率呢?2.2模型求解以A 、B 、C 三家的情况为例,当市场出现平衡状态时,从公式(7)可得方程S = S P ,即 由此得经整理,并加上条件1321=++p p p ,得 0.4 0.3 0.3,0.6 0.3 0.1,0.6 0.1 0.3上方程组是三个变量四个方程的方程组,在前三个方程中只有二个是独立的,任意删去一个,从剩下的三个方程中,可求出唯一解:5.01=p , 25.02=p , 25.03=p这就是A 、B 、C 三家的最终市场占有率.一般N 个状态的稳定市场占有率(稳态概率)),,(21N p p p S =可通过解方程组⎪⎪⎪⎩⎪⎪⎪⎨⎧=⎪⎪⎪⎪⎪⎭⎫⎝⎛=∑=1),,(),,(12122221112112121Nk k N N N N N N NN p p p p p p p p p p pp p p p p(9) 求得,而(9)的前N 个方程中只有N -1个是独立的,可任意删去一个。