一、马尔科夫模型简介
这里通过一个例子引出马尔科夫模型。
大学生小魏日常处于以下4种状态之一:睡觉、吃饭、打游戏、看动漫。若已知小魏当前处于某种状态,则他未来的状态只与现在有关,而与过去无关。例如已知昨天小魏在睡觉,现在在吃饭,能影响到明天的只有今天的“吃饭”状态。那么明天的状态只与今天的“吃饭”有关,而与昨天的“睡觉”无关。注意,小魏的状态是随机的,只能求明天处于每一种状态的概率,而这概率有只与今天的状态有关,不需要管昨天或更早的状态是什么。描述这种随机现象的模型,称为马尔科夫模型。
从小魏到马尔科夫链
- 离散时间:小魏的昨天为初始时间n=1,则今天为2,明天为3,以及以后得4,5等
- 状态空间:小魏处于睡觉状态记为j=1,则处于吃饭、打游戏、看动漫依次记为2,3,4
- 状态:Xn = j表示第n天小魏处于状态j,例如X3 = 2,表示第3天小魏处于吃饭的状态
- 马尔科夫链:设{Xn, n = 1, 2, ...}是一个随机序列
- 假设已知小魏第1天为状态3即X1 = 3;第2天为状态1即X2 = 1;第3天为状态4即X3 = 4;...;第n天为状态2即Xn = 2
- 那么第n+m天小魏处于状态1的概率:P{Xn+m = 1| Xn = 2, ..., X3 = 4, X2 = 1, X1 = 3} = P{Xn+m = 1| Xn = 2}
- 即条件概率表达式里,一大堆的条件都是无用的,只有第n天的条件才是有用的
- 同样的形式可写出第n+1天小魏处于状态2、状态3和状态4的概率计算式
二、适用赛题
健康与疾病
- 人的健康状态是会随着时间变化的,而变化又是随机的
- 预测一个人下一年的健康状态,只需要看当前的状态,无需关心过去
- 可能与优化模型结合,例如保险公司追求收益最大化,需要预测投保人的健康状态
销售与贮存
- 一些奢侈品例如钢琴,一般销量很小,商店不会贮存太多
- 钢琴每周的销售量也是随机的,进货贮存过多会积压资金,贮存过少又有可能失去销售机会
- 商家需要根据一周的销量决定是否进货
等级结构
- 工程师按照级别分为技术员、助理工程师、中级工程师、副高级工程师和高级工程师
- 一个人明年的级别也是随机的,无论升级还是降级都只与其当前级别有关
- 预测下一年的级别变动,也可用马尔科夫预测
此类问题最基本的特点:状态随机,下一阶段的状态只与当前有关
三、模型流程
四、流程分析
1.一步转移矩阵
这里先介绍一个概念:时齐性
若第n天小魏处于状态i,则经过了m天后,小魏处于状态j的概率满足:
P{Xn+m = j| Xn = i} = Pij(m)
则称{Xn, n = 1, 2, ...}为时齐的马尔科夫链
- 两种状态转换的概率,只与时间间隔有关,与更早的过去无关,也与起始时刻无关
- 满足这种条件的马尔科夫链,称为时齐的马尔科夫链
- 是否满足时齐,是问题本身决定的(查文献),一般带有周期性的问题才会满足时齐,例如销售类问题,可以在论文的模型假设里写“假设销售规律满足时齐性”
- m = 1时,称Pij(1)为一步转移概率,所有Pij(1)所组成的矩阵为马尔科夫链的一步转移矩阵
假设有x个状态,p为一步转移矩阵,nij为从i转移成j的次数,则有
这里小魏的x是4
这样一步转移矩阵就出来了
2.n步后的概率分布
假设该系统初始时4种状态出现的概率为P0 = [0.2, 0.3, 0.3, 0.2]
则系统初始化后,运行到第2步最有可能出现状态几?第5步呢?
这时候就要计算n步后的概率分布了
注意:求“第n步”状态的概率分布,需要根据题目确定究竟是否把“初始化”算作第1步
3.预测
根据问题要求,做出解答
五、补充
1.马尔科夫预测和其他预测有什么不同?
- 其他预测模型:计算的是“数值”,理论上是无数种可能
- 马尔科夫预测:计算的是“概率”,需要有限种已知的可能结
例如根据城市近几年的噪声值,预测下一年的噪声值之类的问题。因为“噪声值”是数值,理论上可以是任何实数,所以有无数种可能的结果,此时就不能用马尔科夫预测。
例如根据某销量很小的奢侈品过去几个月的销量,预测下个月销量。某奢侈品的“销量”只能是正整数,又因为“销量很少”可以根据已知数据假定小于某个正整数(例如月销量不超过10),此时“销量”有0到10总共11个可能的结果,可以用马尔科夫预测下个月的销量最有可能是几。
2.马尔科夫预测的重难点
- 马尔科夫预测计算过程非常简单,没有复杂原理、公式或推导
- 理解马尔科夫链的核心:未来只与当前有关、与过去无关,以及时齐性
- 能否用马尔科夫预测,是看问题本身决定的