(完整版)马氏链模型及matlab程序
- 格式:doc
- 大小:201.27 KB
- 文档页数:13
马尔科夫链matlab程序自己编写的马尔科夫链程序A 代表一组数据序列一维数组本程序的操作对象也是如此t=length(A); % 计算序列“A”的总状态数 B=unique(A); % 序列“A”的独立状态数顺序,“E”E=sort(B,'ascend');a=0;b=0;c=0;d=0;for j=1:1:ttLocalization=find(A==E(j)); % 序列“A”中找到其独立状态“E”的位置for i=1:1:length(Localization) if Localization(i)+1>tbreak; % 范围限定 elseif A(Localization(i)+1)== E(1)a=a+1;elseif A(Localization(i)+1)== E(2)b=b+1;elseif A(Localization(i)+1)== E(3)c=c+1;% 依此类推,取决于独立状态“E”的个数elsed=d+1;endendT(j,1:tt)=[a,b,c,d]; % “T”为占位矩阵 endTT=T;for u=2:1:ttTT(u,:)= T(u,:)- T(u-1,:); endTT; % 至此,得到转移频数矩阵Y=sum(TT,2);for uu=1:1:ttTR(uu,:)= TT(uu,:)./Y(uu,1); endTR % 最终得到马尔科夫转移频率/概率矩阵 % 观测序列马尔科夫性质的检验: N=numel(TT);uuu=1;Col=sum(TT,2); % 对列求和Row=sum(TT,1); % 对行求和 Total=sum(Row); % 频数总和 for i=1:1:tt for j=1:1:ttxx(uuu,1)=sum((TT(i,j)-(Row(i)*Col(j))./Total).^2./( (Row(i)*Col(j))./Total));uuu=uuu+1; % 计算统计量x2 endendxx=sum(xx)。
1 马氏链模型正则链 从任意的状态出发经过有限次的转移都能达到另外的任意状态,定义如下: 一个有K 个状态的马氏链如果存在正整数N ,使从任意状态i 经过N 次转移都以大于零的概率到达状态j (i ,j=1,2,...k )则称为正则链。
定理1 若马氏链的转移矩阵为P ,则它是正则链的充要条件是:存在正整数N 使p N >0(指p N 的每个元素大于零)定理 2 正则链存在唯一的极限状态概率w=()12k ωωω ,,,使得当n →∞时状态概率()a n w →,w 与初始状态概率无关,w 又称稳定概率,满足11k i i wP ww ===∑从状态i 出发经过n 次转移,第一次到状态j 的概率称为i 到j 的首次概率,记作()ij f n 于是()1i j i j n n f n μ∞==∑为状态i 第一次到达状态j 的平均转移次数,特别地,ij μ是状态i 首次返回的平均转移次数。
ij μ与稳定概率ω有密切地关系,即定理3 对于正则链ij =1/μω吸收链 1ii p =,于是系统一旦进入状态i 就不再离开它,可以把它看作“吸收”其它状态的一个状态,并且从其它的状态可以经过有限次的转移到达状态i 定义如下: 定义2 转移概率1ii p =的状态i 称为吸收状态。
如果马氏链至少包含一个吸收状态,并且从每个非吸收状态出发,能以正的概率经有限次的转移到达某个吸收状态,那么这个马氏链称为吸收链。
吸收链的转移矩阵可以写成简单的标准形式,若有r 个 吸收状态,k-r 个非吸收状态,则转移矩阵P 可表示为r r I O P R Q ⨯⎡⎤=⎢⎥⎣⎦其中k-r 阶子方阵Q 的特征值λ满足1λ<这要求子阵()k r r R -⨯中必含有非零元素,已满足从任意一非吸收状态出发经有限次转移可到达某个吸收状态的条件。
这样Q 就不是随机矩阵, 它至少存在一个小于1的行和,且如下定理成立定理4 对吸收链P 的标准形式,(I-Q )可逆,()10s s M I Q Q ∞-==-=∑记元素全为1的列向量()1,1,,1Te = 则y=Me的第i 个分量是从第i 个非吸收状态出发,被某个吸收状态吸收的平均转移次数。
马氏链预测模型:
马氏链分为正则链和吸收链
正则链即任意状态都可通过正概率到达其他状态,吸收链为存在一个状态,当到达此状态时,就不能再向其他状态转移,其他任意状态都可经过一个正概率向此状态转移,且经过足够长时间后,所有状态都将变为这个状态。
基本模型:
状态⎪⎪⎩⎪⎪⎨⎧=4
3
21n X ,分别表示四种水质,状态概率)()(i X P n a n i ==,
状态转移概率..2,1,0;,...,2,1,)),(|)((1=====+n k j i i X j X P P n n ij
经n 次转以后状态概率:
k i P n a n a k j ij j i ...,2,1,*)()1(1
==+∑=
当经过足够长时间达到稳态时,对于正则链,假设w 为稳态概率,则满足:
w P w =*
利用MATLAB 程序实现:
function Markov_Chain=f1(P,n,A0)
%P 为转移概率矩阵,n 为递推时间,A0为初始状态列向量
b=size(A0,1);%确定初始状态矩阵A0行数
A=zeros(b,n);
A(:,1)=A0;
p=P';%按照递推公式,需将转移概率矩阵P 转置
j=1;
while j<=n
A(:,j+1)= p*A(:,j)%第j 列代表递推j 次后的状态向量
j=j+1;
end
A_n=A(:,n) %得到递推n 次后的状态向量
根据数据可分别求出四个地区四种水质的转移概率:
P1=。
一、用法,用来干什么,什么时候用 二、步骤,前因后果,算法的步骤,公式 三、程序 四、举例五、前面国赛用到此算法的备注一下马氏链模型用来干什么马尔可夫预测法是应用概率论中马尔可夫链(Markov chain )的理论和方法来研究分析时间序列的变化规律,并由此预测其未来变化趋势的一种预测技术。
什么时候用应用马尔可夫链的计算方法进行马尔可夫分析, 主要目的是根据某些变量现在的情 况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依 据。
马尔可夫链的基本原理我们知道,要描述某种特定时期的随机现象如某种药品在未来某时期的销售情况,比如说第n 季度是畅销还是滞销,用一个随机变量X n 便可以了,但要描述未来所有时期的情况,则需要一系列的随机变量 X 1,X 2,…,X n ,….称{ X t ,t ∈T ,T 是参数集}为随机过程,{ X t }的取值集合称为状态空间.若随机过程{ X n }的参数为非负整数, X n 为离散随机变量,且{ X n }具有无后效性(或称马尔可夫性),则称这一随机过程为马尔可夫链(简称马氏链).所谓无后效性,直观地说,就是如果把{ X n }的参数n 看作时间的话,那么它在将来取什么值只与它现在的取值有关,而与过去取什么值无关.对具有N 个状态的马氏链,描述它的概率性质,最重要的是它在n 时刻处于状态i 下一时刻转移到状态j 的一步转移概率:N j i n p i X j X P j i n n ,,2,1,)()|(1 ====+若假定上式与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 j i n p i X j X P k j i n k n ,,2,1,)()|()( ====+同样由平稳性,上式概率与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 ji ,,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(畅销) 62(滞销)122(滞销)181(畅销)241(畅销)分析表中的数据,其中有15个季度畅销,9个季度滞销,连续出现畅销和由畅销转入滞销以及由滞销转入畅销的次数均为7,连续滞销的次数为2.由此,可得到下面的市场状态转移情况表(表2).表2 市场状态转移情况表现计算转移概率.以频率代替概率,可得连续畅销的概率:1170.5151p ===-连续出现畅销的次数出现畅销的次数分母中的数为15减1是因为第24季度是畅销,无后续记录,需减1.同样得由畅销转入滞销的概率:1270.5151p ===-畅销转入滞销的次数出现畅销的次数滞销转入畅销的概率:2170.789p ===滞销转入畅销的次数出现滞销的次数连续滞销的概率:2220.229p ===连续滞销的次数出现滞销的次数综上,得销售状态转移概率矩阵为:⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛=22.078.05.05.022211211p pp p P 从上面的计算过程知,所求转移概率矩阵P 的元素其实可以直接通过表2中的数字计算而得到,即将表中数分别除以该数所在行的数字和便可:77711+=p 77712+=p27721+=p77222+=p Matlab 程序:format rat clca=[ 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:2f(i,j)=length(findstr([i j],a)); end end fni=(sum(f'))' for i=1:2p(i,:)=f(i,:)/ni(i);endp由此,推广到一般情况,我们得到估计转移概率的方法:假定系统有m种状态S1,S2,…,S m,根据系统的状态转移的历史记录,得到表3的统计表格,以j i pˆ表示系统从状态i转移到状态j的转移概率估计值,则由表3的数据计算估计值的公式如下:表3 系统状态转移情况表(3)带利润的马氏链在马氏链模型中,随着时间的推移,系统的状态可能发生转移,这种转移常常会引起某种经济指标的变化.如抗病毒药的销售状态有畅销和滞销两种,在时间变化过程中,有时呈连续畅销或连续滞销,有时由畅销转为滞销或由滞销转为畅销,每次转移不是盈利就是亏本.假定连续畅销时盈r11元,连续滞销时亏本r22元,由畅销转为滞销盈利r12元,由滞销转为畅销盈利r21元,这种随着系统的状态转移,赋予一定利润的马氏链,称为有利润的马氏链.对于一般的具有转移矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛=N N N N N N p p p p p p p p p P212222111211 的马氏链,当系统由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 步转移之后的总期望利润,则一步转移的期望利润为:∑==+==212211)1()1()(j j i j i i i i i i i p r p r p r x E v其中)()1(i x E 是随机变量)1(i x 的数学期望.二步转移的期望利润为:∑=+=+++==21)1(2)1(221)1(11)2()2(][][][)(j j i j j i i i i i i i p v r p v r p v r x E v其中随机变量)2(i x (称为二步利润随机变量)的分布为:2,1,)()1()2(==+=j p v r x P j i j j i i例如,若⎪⎪⎭⎫ ⎝⎛=6.04.05.05.0P , ⎪⎪⎭⎫⎝⎛-=7339R则抗病毒药销售的一步利润随机变量:抗病毒药畅销和滞销时的一步转移的期望利润分别为:65.035.09)(12121111)1(1)1(1=⨯+⨯=+==p r p r x E v 36.074.03)(22222121)1(2)1(2-=⨯-⨯=+==p r p r x E v二步利润随机变量为:抗病毒药畅销和滞销时的二步转移的期望利润分别为:12)1(21211)1(111)2(1)2(1][][)(p v r p v r x E v +++==5.75.0)33(5.0)69(=⨯-+⨯+=22)1(22221)1(121)2(2)2(2][][)(p v r p v r x E v +++==4.26.0)37(4.0)63(-=⨯--+⨯+=一般地定义k 步转移利润随机变量),2,1()(N i x k i=的分布为:N j p v r x P ji k j j i k i ,2,1)()1()(==+=-则系统处于状态i 经过k 步转移后所得的期望利润)(k iv 的递推计算式为:j i k j Nj j i k i k i p v r x E v )()()1(1)()(-=+==∑∑∑∑=-=-=+=+=Nj j i k j i Nj ji 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(=iv .称一步转移的期望利润为即时的期望利润,并记N i q v i i ,2,1,)1(==.可能的应用题型题型一、市场占有率预测例题1在购买该药的总共1000家对象(购买力相当的医院、药店等)中,买A 、B 、C 三药厂的各有400家、300家、300家,预测A 、B 、C 三个厂家生产的某种抗病毒药在未来的市场占有情况。
一、用法,用来干什么,什么时候用二、步骤,前因后果,算法得步骤,公式ﻫ三、程序四、举例五、前面国赛用到此算法得备注一下马氏链模型用来干什么马尔可夫预测法就是应用概率论中马尔可夫链(Markov chain)得理论与方法来研究分析时间序列得变化规律,并由此预测其未来变化趋势得一种预测技术.什么时候用应用马尔可夫链得计算方法进行马尔可夫分析,主要目得就是根据某些变量现在得情ﻫ况及其变动趋向,来预测它在未来某特定区间可能产生得变动,作为提供某种决策得依据.马尔可夫链得基本原理我们知道,要描述某种特定时期得随机现象如某种药品在未来某时期得销售情况,比如说第n季度就是畅销还就是滞销,用一个随机变量Xn便可以了,但要描述未来所有时期得情况,则需要一系列得随机变量X1,X2,…,X n,…。
称{ Xt,t∈T,T就是参数集}为随机过程,{ Xt}得取值集合称为状态空间。
若随机过程{X n}得参数为非负整数, XXn }具有无后效性(或称马尔可夫性),则称这一随机过程为马尔n为离散随机变量,且{可夫链(简称马氏链)。
所谓无后效性,直观地说,就就是如果把{ X n}得参数n瞧作时间得话,那么它在将来取什么值只与它现在得取值有关,而与过去取什么值无关。
对具有N个状态得马氏链,描述它得概率性质,最重要得就是它在n时刻处于状态i下一时刻转移到状态j得一步转移概率:若假定上式与n无关,即,则可记为(此时,称过程就是平稳得),并记(1) 称为转移概率矩阵.转移概率矩阵具有下述性质:(1).即每个元素非负。
(2)。
即矩阵每行得元素与等于1。
如果我们考虑状态多次转移得情况,则有过程在n时刻处于状态i,n+k时刻转移到状态j得k步转移概率:同样由平稳性,上式概率与n无关,可写成。
记(2) 称为k步转移概率矩阵.其中具有性质:;。
一般地有,若为一步转移矩阵,则k步转移矩阵(3) (2)状态转移概率得估算在马尔可夫预测方法中,系统状态得转移概率得估算非常重要.估算得方法通常有两种:一就是主观概率法,它就是根据人们长期积累得经验以及对预测事件得了解,对事件发生得可能性大小得一种主观估计,这种方法一般就是在缺乏历史统计资料或资料不全得情况下使用。
一、用法,用来干什么,什么时候用 二、步骤,前因后果,算法的步骤,公式 三、程序 四、举例五、前面国赛用到此算法的备注一下马氏链模型用来干什么马尔可夫预测法是应用概率论中马尔可夫链(Markov chain )的理论和方法来研究分析时间序列的变化规律,并由此预测其未来变化趋势的一种预测技术。
什么时候用应用马尔可夫链的计算方法进行马尔可夫分析, 主要目的是根据某些变量现在的情 况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依 据。
马尔可夫链的基本原理我们知道,要描述某种特定时期的随机现象如某种药品在未来某时期的销售情况,比如说第n 季度是畅销还是滞销,用一个随机变量X n 便可以了,但要描述未来所有时期的情况,则需要一系列的随机变量 X 1,X 2,…,X n ,….称{ X t ,t ∈T ,T 是参数集}为随机过程,{ X t }的取值集合称为状态空间.若随机过程{ X n }的参数为非负整数, X n 为离散随机变量,且{ X n }具有无后效性(或称马尔可夫性),则称这一随机过程为马尔可夫链(简称马氏链).所谓无后效性,直观地说,就是如果把{ X n }的参数n 看作时间的话,那么它在将来取什么值只与它现在的取值有关,而与过去取什么值无关.对具有N 个状态的马氏链,描述它的概率性质,最重要的是它在n 时刻处于状态i 下一时刻转移到状态j 的一步转移概率:N j i n p i X j X P j i n n ,,2,1,)()|(1若假定上式与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 j i n p i X j X P k j i n k n ,,2,1,)()|()(同样由平稳性,上式概率与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 ji ,,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(畅销) 62(滞销)122(滞销)181(畅销)241(畅销)分析表中的数据,其中有15个季度畅销,9个季度滞销,连续出现畅销和由畅销转入滞销以及由滞销转入畅销的次数均为7,连续滞销的次数为2.由此,可得到下面的市场状态转移情况表(表2).表2 市场状态转移情况表现计算转移概率.以频率代替概率,可得连续畅销的概率:1170.5151p连续出现畅销的次数出现畅销的次数分母中的数为15减1是因为第24季度是畅销,无后续记录,需减1.同样得由畅销转入滞销的概率:1270.5151p畅销转入滞销的次数出现畅销的次数滞销转入畅销的概率:2170.789p滞销转入畅销的次数出现滞销的次数连续滞销的概率:2220.229p连续滞销的次数出现滞销的次数综上,得销售状态转移概率矩阵为:22.078.05.05.022211211p pp p P 从上面的计算过程知,所求转移概率矩阵P 的元素其实可以直接通过表2中的数字计算而得到,即将表中数分别除以该数所在行的数字和便可:77711p 77712p 27721p 77222p Matlab 程序:format rat clca=[ 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:2f(i,j)=length(findstr([i j],a)); end end fni=(sum(f'))' for i=1:2p(i,:)=f(i,:)/ni(i); end p由此,推广到一般情况,我们得到估计转移概率的方法:假定系统有m 种状态S 1,S 2,…,S m ,根据系统的状态转移的历史记录,得到表3的统计表格,以j i pˆ表示系统从状态i 转移到状态j 的转移概率估计值,则由表3的数据计算估计值的公式如下:表3 系统状态转移情况表(3)带利润的马氏链在马氏链模型中,随着时间的推移,系统的状态可能发生转移,这种转移常常会引起某种经济指标的变化.如抗病毒药的销售状态有畅销和滞销两种,在时间变化过程中,有时呈连续畅销或连续滞销,有时由畅销转为滞销或由滞销转为畅销,每次转移不是盈利就是亏本.假定连续畅销时盈r 11元,连续滞销时亏本r 22元,由畅销转为滞销盈利r 12元,由滞销转为畅销盈利r 21元,这种随着系统的状态转移,赋予一定利润的马氏链,称为有利润的马氏链.对于一般的具有转移矩阵N N N N N N p p p p p p p p p P212222111211的马氏链,当系统由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 步转移之后的总期望利润,则一步转移的期望利润为:212211)1()1()(j j i j i i i i i i i p r p r p r x E v其中)()1(i x E 是随机变量)1(i x 的数学期望.二步转移的期望利润为:21)1(2)1(221)1(11)2()2(][][][)(j j i j j i i i i i i i p v r p v r p v r x E v其中随机变量)2(ix (称为二步利润随机变量)的分布为:2,1,)()1()2( j p v r x P j i j j i i例如,若6.04.05.05.0P ,7339R则抗病毒药销售的一步利润随机变量:抗病毒药畅销和滞销时的一步转移的期望利润分别为:65.035.09)(12121111)1(1)1(1 p r p r x E v 36.074.03)(22222121)1(2)1(2 p r p r x E v二步利润随机变量为:抗病毒药畅销和滞销时的二步转移的期望利润分别为:12)1(21211)1(111)2(1)2(1][][)(p v r p v r x E v5.75.0)33(5.0)69(22)1(22221)1(121)2(2)2(2][][)(p v r p v r x E v4.26.0)37(4.0)63(一般地定义k 步转移利润随机变量),2,1()(N i x k i的分布为:N j p v r x P ji k j j i k i ,2,1)()1()(则系统处于状态i 经过k 步转移后所得的期望利润)(k iv 的递推计算式为:j i k j Nj j i k i k i p v r x E v )()()1(1)()(Nj j i k j i Nj j i k j Nj j i j i p v v p v p r 1)1()1(1)1(1(6)当k =1时,规定边界条件0)0( iv .称一步转移的期望利润为即时的期望利润,并记N i q v i i ,2,1,)1( .可能的应用题型题型一、市场占有率预测例题1在购买该药的总共1000家对象(购买力相当的医院、药店等)中,买A 、B 、C 三药厂的各有400家、300家、300家,预测A 、B 、C 三个厂家生产的某种抗病毒药在未来的市场占有情况。
-207-第十七章 马氏链模型§1 随机过程的概念一个随机试验的结果有多种可能性,在数学上用一个随机变量(或随机向量)来描述。
在许多情况下,人们不仅需要对随机现象进行一次观测,而且要进行多次,甚至接连不断地观测它的变化过程。
这就要研究无限多个,即一族随机变量。
随机过程理论就是研究随机现象变化过程的概率规律性的。
定义1 设},{T t t ∈ξ是一族随机变量,T 是一个实数集合,若对任意实数t T t ξ,∈是一个随机变量,则称},{T t t ∈ξ为随机过程。
T 称为参数集合,参数t 可以看作时间。
t ξ的每一个可能取值称为随机过程的一个状态。
其全体可能取值所构成的集合称为状态空间,记作E 。
当参数集合T 为非负整数集时,随机过程又称随机序列。
本章要介绍的马尔可夫链就是一类特殊的随机序列。
例1 在一条自动生产线上检验产品质量,每次取一个,“废品”记为1,“合格品”记为0。
以n ξ表示第n 次检验结果,则n ξ是一个随机变量。
不断检验,得到一列随机变量 ,,21ξξ,记为},2,1,{ =n n ξ。
它是一个随机序列,其状态空间}1,0{=E 。
例2 在m 个商店联营出租照相机的业务中(顾客从其中一个商店租出,可以到m 个商店中的任意一个归还),规定一天为一个时间单位,“j t =ξ”表示“第t 天开始营业时照相机在第j 个商店”,m j ,,2,1 =。
则},2,1,{ =n n ξ是一个随机序列,其状态空间},,2,1{m E =。
例 3 统计某种商品在t 时刻的库存量,对于不同的t ,得到一族随机变量,)},0[,{+∞∈t t ξ是一个随机过程,状态空间],0[R E =,其中R 为最大库存量。
我们用一族分布函数来描述随机过程的统计规律。
一般地,一个随机过程},{T t t ∈ξ,对于任意正整数n 及T 中任意n 个元素n t t ,,1 相应的随机变量n t t ξξ,,1 的联合分布函数记为},,{),,(1111n t t n t t x x P x x F n n ≤≤=ξξ (1)由于n 及),,1(n i t i =的任意性,(1)式给出了一族分布函数。
马尔可夫链是一种在概率论和统计学中常用的模型,用来描述状态空间中,从一个状态到另一个状态的概率转移过程。
这种模型在许多领域都有着广泛的应用,比如金融、生物学、计算机科学等。
本文将介绍matlab中如何使用马尔可夫链来建立转换模型。
一、马尔可夫链的基本概念1. 马尔可夫链的定义马尔可夫链是指一个随机过程,具有马尔可夫性质,即在给定当前状态的情况下,未来的状态只依赖于当前状态,而与过去状态无关。
数学上可以用条件概率的形式表示为P(Xn+1|Xn,Xn-1,...,X1) =P(Xn+1|Xn)。
2. 马尔可夫链的状态空间马尔可夫链的状态空间可以是有限的,也可以是无限的。
有限状态空间的马尔可夫链通常可以用状态转移矩阵来描述,而无限状态空间的马尔可夫链则需要用到更为复杂的数学工具。
二、在matlab中建立马尔可夫链转换模型的方法1. 生成随机马尔可夫链在matlab中,我们可以使用随机矩阵生成函数rand来生成一个随机的状态转移矩阵,然后利用这个状态转移矩阵来模拟马尔可夫链的转移过程。
```Matlab生成状态转移矩阵P = rand(n,n); n为状态空间的维度for i = 1:nP(i,:) = P(i,:)/sum(P(i,:)); 将每一行的元素归一化,使得每一行的和为1end模拟马尔可夫链的转移过程state = randi(n); 随机选择一个初始状态ch本人n = [state]; 用数组ch本人n来记录整个转移过程for i = 1:1000 模拟1000次状态转移state = randsample(1:n,1,true,P(state,:)); 根据状态转移矩阵P进行状态转移ch本人n = [ch本人n,state]; 将新的状态添加到数组ch本人n中end```通过上述代码,我们可以生成一个随机的马尔可夫链,并模拟其状态转移过程。
这种方法可以帮助我们更好地理解马尔可夫链的基本概念和特性。
一、用法,用来干什么,什么时候用 二、步骤,前因后果,算法的步骤,公式 三、程序 四、举例五、前面国赛用到此算法的备注一下马氏链模型用来干什么马尔可夫预测法是应用概率论中马尔可夫链(Markov chain )的理论和方法来研究分析时间序列的变化规律,并由此预测其未来变化趋势的一种预测技术。
什么时候用应用马尔可夫链的计算方法进行马尔可夫分析, 主要目的是根据某些变量现在的情 况及其变动趋向,来预测它在未来某特定区间可能产生的变动,作为提供某种决策的依 据。
马尔可夫链的基本原理我们知道,要描述某种特定时期的随机现象如某种药品在未来某时期的销售情况,比如说第n 季度是畅销还是滞销,用一个随机变量X n 便可以了,但要描述未来所有时期的情况,则需要一系列的随机变量 X 1,X 2,…,X n ,….称{ X t ,t ∈T ,T 是参数集}为随机过程,{ X t }的取值集合称为状态空间.若随机过程{ X n }的参数为非负整数, X n 为离散随机变量,且{ X n }具有无后效性(或称马尔可夫性),则称这一随机过程为马尔可夫链(简称马氏链).所谓无后效性,直观地说,就是如果把{ X n }的参数n 看作时间的话,那么它在将来取什么值只与它现在的取值有关,而与过去取什么值无关.对具有N 个状态的马氏链,描述它的概率性质,最重要的是它在n 时刻处于状态i 下一时刻转移到状态j 的一步转移概率:N j i n p i X j X P j i n n ,,2,1,)()|(1若假定上式与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 j i n p i X j X P k j i n k n ,,2,1,)()|()(同样由平稳性,上式概率与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 ji ,,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(畅销) 62(滞销)122(滞销)181(畅销)241(畅销)分析表中的数据,其中有15个季度畅销,9个季度滞销,连续出现畅销和由畅销转入滞销以及由滞销转入畅销的次数均为7,连续滞销的次数为2.由此,可得到下面的市场状态转移情况表(表2).表2 市场状态转移情况表现计算转移概率.以频率代替概率,可得连续畅销的概率:1170.5151p连续出现畅销的次数出现畅销的次数分母中的数为15减1是因为第24季度是畅销,无后续记录,需减1.同样得由畅销转入滞销的概率:1270.5151p畅销转入滞销的次数出现畅销的次数滞销转入畅销的概率:2170.789p滞销转入畅销的次数出现滞销的次数连续滞销的概率:2220.229p连续滞销的次数出现滞销的次数综上,得销售状态转移概率矩阵为:22.078.05.05.022211211p pp p P 从上面的计算过程知,所求转移概率矩阵P 的元素其实可以直接通过表2中的数字计算而得到,即将表中数分别除以该数所在行的数字和便可:77711p 77712p 27721p 77222p Matlab 程序:format rat clca=[ 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:2f(i,j)=length(findstr([i j],a)); end end fni=(sum(f'))' for i=1:2p(i,:)=f(i,:)/ni(i); end p由此,推广到一般情况,我们得到估计转移概率的方法:假定系统有m 种状态S 1,S 2,…,S m ,根据系统的状态转移的历史记录,得到表3的统计表格,以j i pˆ表示系统从状态i 转移到状态j 的转移概率估计值,则由表3的数据计算估计值的公式如下:表3 系统状态转移情况表(3)带利润的马氏链在马氏链模型中,随着时间的推移,系统的状态可能发生转移,这种转移常常会引起某种经济指标的变化.如抗病毒药的销售状态有畅销和滞销两种,在时间变化过程中,有时呈连续畅销或连续滞销,有时由畅销转为滞销或由滞销转为畅销,每次转移不是盈利就是亏本.假定连续畅销时盈r 11元,连续滞销时亏本r 22元,由畅销转为滞销盈利r 12元,由滞销转为畅销盈利r 21元,这种随着系统的状态转移,赋予一定利润的马氏链,称为有利润的马氏链.对于一般的具有转移矩阵N N N N N N p p p p p p p p p P212222111211的马氏链,当系统由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 步转移之后的总期望利润,则一步转移的期望利润为:212211)1()1()(j j i j i i i i i i i p r p r p r x E v其中)()1(i x E 是随机变量)1(i x 的数学期望.二步转移的期望利润为:21)1(2)1(221)1(11)2()2(][][][)(j j i j j i i i i i i i p v r p v r p v r x E v其中随机变量)2(ix (称为二步利润随机变量)的分布为:2,1,)()1()2( j p v r x P j i j j i i例如,若6.04.05.05.0P ,7339R则抗病毒药销售的一步利润随机变量:抗病毒药畅销和滞销时的一步转移的期望利润分别为:65.035.09)(12121111)1(1)1(1 p r p r x E v 36.074.03)(22222121)1(2)1(2 p r p r x E v二步利润随机变量为:抗病毒药畅销和滞销时的二步转移的期望利润分别为:12)1(21211)1(111)2(1)2(1][][)(p v r p v r x E v5.75.0)33(5.0)69(22)1(22221)1(121)2(2)2(2][][)(p v r p v r x E v4.26.0)37(4.0)63(一般地定义k 步转移利润随机变量),2,1()(N i x k i的分布为:N j p v r x P ji k j j i k i ,2,1)()1()(则系统处于状态i 经过k 步转移后所得的期望利润)(k iv 的递推计算式为:j i k j Nj j i k i k i p v r x E v )()()1(1)()(Nj j i k j i Nj j i k j Nj j i j i p v v p v p r 1)1()1(1)1(1(6)当k =1时,规定边界条件0)0( iv .称一步转移的期望利润为即时的期望利润,并记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)为目前市场的占有分布或称初始分布.此外,我们需要查清使用对象的流动情况。
流动情况的调查可通过发放信息调查表来了解顾客以往的资料或将来的购买意向,也可从下一时期的订货单得出。