目录
3.1 方法1: 多次mmult( 转移概率矩阵, 转移概率矩阵)
3.2 方法2:使用公式 [Pa,Pb]= [Pa,Pb] * [转移概率矩阵]
1 马尔科夫链的基本情况
1.1 什么是马尔科夫链?Markov Chain
1.1.1 百度百科
- 马尔可夫性质(英语:Markov property)是概率论中的一个概念,因为俄国数学家安德雷·马尔可夫得名。当一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态;换句话说,在给定现在状态时,它与过去状态(即该过程的历史路径)是条件独立的,那么此随机过程即具有马尔可夫性质。具有马尔可夫性质的过程通常称之为马尔可夫过程
- 具有马尔可夫表示的非马尔可夫过程的例子,例如有移动平均时间序列。
- 最有名的马尔可夫过程为马尔可夫链,但不少其他的过程,包括布朗运动也是马尔可夫过程。
- 马尔可夫链(Markov Chain, MC)是概率论和数理统计中具有马尔可夫性质(Markov property)且存在于离散的指数集(index set)和状态空间(state space)内的随机过程(stochastic process)
1.1.2 WIKI百科的更清晰
1.1.3 分类
- 吸收马尔可夫链: 从任何状态出发,最终都会进入吸收态就是吸收马尔可夫链。
- 离散时间马尔可夫链
- 连续时间马尔可夫链
- (时间)齐次马尔可夫链
- 非齐次马尔可夫链
- 隐式马尔科夫链等等
1.1.4 转移概率,转移概率矩阵
1.1.5 转移图 和 各种概念定义
下图来自百科百科
状态分类
- 可达状态类:比如状态Si和Sj之间的所有转移概率不为0,则状态Si是状态Sj的可达状态,在转移图中表示为有向连接
- 联通状态类:如果状态Si和Sj互为可达状态,则二者是连通的,在转移图中形成闭合回路
闭合集:
- 给定状态空间的一个子集,若马尔可夫链进入该子集后无法离开,则该子集是闭合的,称为闭合集
- 一个闭合集外部的所有状态都不是其可达状态。
吸收态:
- 若闭合集中只有一个状态,则该状态是吸收态
- 在转移图中是一个概率为1的自环。
- 一个闭合集可以包括一个或多个连通类。
例子:
- 上图中
- 闭合集:{6} {5,6,7,8} {1,2,3,4,5,6,7,8}
- 吸收态:6
1.1.6 还很多复杂知识,先放这以后再学习
这里对马尔可夫链的4个性质:不可约性、常返性、周期性和遍历性进行定义。与马尔可夫性质不同,这些性质不是马尔可夫链必然拥有的性质,而是其在转移过程中对其状态表现出的性质。上述性质都是排他的,即不具有可约性的马尔可夫链必然是不可约的,以此类推。
2 马尔科夫链的应用
2.0 马尔科夫链的关键点
- 马尔可夫链,当前是n,只考虑n-1的情况,
- 认为n-1包含了所有历史信息
- 有个很好的计算方法,就是概率转移矩阵
3 例题1
3.0 Question:
题目:
假设今天下雨,则明天下雨概率0.7,晴天概率0.3
假设今天晴天,则明天下雨概率0.4,晴天概率0.6
求第5天下雨的概率是多少呢?
求第300天下雨的概率是多少呢?
A:
3.1 方法1: 多次mmult( 转移概率矩阵, 转移概率矩阵)
3.1.1 具体步骤
- step1: 先确定能否用马尔可夫转移链的方法,比如如果是多合1一般就不适用!
- step2: 先根据问题,整理出转移概率矩阵
- step3: 每随机n次,转移概率矩阵^n次方。但是实际计算的时候,因为excel只有矩阵相乘函数 mmult(数组,数组),但是没有矩阵乘方函数,所以在EXCEL内计算做法只能是每随机1次,转移概率矩阵乘方结果*最初的矩阵
- mmult(上次转移矩阵乘方结果,原始转移矩阵)
- 比如第1天下雨,第5天后下雨的概率是0.57247
- 比如第1天晴天,第5天后下雨的概率是0.57004
3.1.2 结论
- 随着随机次数变多,转移矩阵乘方的结果呈现以下特征
-
同1列的数会趋近,且越来越趋近算出来哪个极限值。也就是说,起始第1天是下雨还是晴天,最后下雨的概率都一样,也就是初始值概率(原始转移概率矩阵)的影响慢慢可以忽略了。
-
而且这些数,会趋于稳定2个极限值的概率。
3.1.3 这个方法优缺点
- 优点,可以方便的计算出每一次的具体概率
- 缺点,次数大了不好算,除非EXCEL有矩阵乘方函数(其实可以自己用VBA,利用mmult() 函数写一个 自定义函数的)
3.2 方法2:使用公式 [Pa,Pb]= [Pa,Pb] * [转移概率矩阵]
3.2.1 方法步骤
具体公式
矩阵相乘: [Pa,Pb] * [转移概率矩阵]
= [Pa,Pb] * [Paa,Pab; Pba,Pbb]
=[Pa*Paa+Pa*Pba; Pb*Pab+Pa*Pbb]
而[Pa,Pb] * [转移概率矩阵]=[Pa,Pb] (这个公式的正面很复杂,这里我只知道结论)
因此 [Pa*Paa+Pa*Pba; Pb*Pab+Pa*Pbb]=[Pa,Pb]
- 也就是 Pa=Pa*Paa+Pa*Pba
- 还有是 Pb=Pb*Pab+Pa*Pbb
- 另外还有 Paa+Pab=1
这3个等式联合可以解出概率值
3.2.2 优缺点
- 除了不方便求 某些具体次的 概率分布情况
- 计算非常快
3.4 总结
- 这个例题总结如下
- MMULT(H7:I8,H7:I8)
- MMULT(MMULT(H7:I8,H7:I8),H7:I8)
- 可以嵌套
- 但是矩阵的乘方,不能像数字乘方一样用 power( , 5) 只能用嵌套,
- 或者用VBA写个 自定义函数
4 马尔可夫链的 局限性
总结1:
- 一般来说,求次数,求个数都可以用条件期望等。
- 而马尔可夫链一般是用来求概率的,当然也可以来求平均次数
总结2:
- 条件期望,全期望公式,比马尔可夫链的适用性更广,
- 马尔可夫链的要求比较严格,但是对适合处理的情况,处理更快更方便。
- 马尔可夫链只关注 n-1状态和n状态之间的关系
- 马尔可夫链一般适合1个东西进行多状态之间切换,一般不适合多变1等合成问题
- 一般要求各个状态之间是等权重的,步长相等,不能被扭曲。而且如果状态数量太大,好像马尔可夫链计算也很麻烦。
5 例题:求马尔可夫转移矩阵的次数
5.0 例题
Q: 材料升级/转化功能
这里不是合成,而是转化,也就是1个东西变成另外一个东西
也就是每次变化时,只消耗1个东西,也只生成1个东西
比如材料1转化时,可能生成1-5中的任何1个
求问,用材料1合成1个材料5,需要多少次呢?
能否用 条件期望算?
还是马尔可夫的方法算?
5.1 下面是用马尔可夫的方法算的
- 先选择了一个策略:就是先把所有的低级材料全部合成高级材料
- 设计的转移矩阵是上三角矩阵,否则不能这么算。。。。
- 第1步,权重转化为概率
- 第2步,去掉最后的1行和1列,得到处理后的转移矩阵
- 第3步,用标准矩阵I - 处理后的转移矩阵 =相减后的矩阵
- 第4步,对相减后的矩阵 取反 minverse() 得到一个矩阵
- 第4步,累加获得各个档次的次数
验算
验算 4-5 的次数,确实是 1/P , 符合
5.2 用条件期望算次数,没算对。。。
6 未解决的问题
6.1 求上三角转移概率矩阵的最终个数和合成次数?
- 求这样一个上三角矩阵的,最终转化的个数,比然是100%?
- 应该和我这个上三角矩阵的写法有关系
- 但次数应该是用 条件期望来算,具体到这里次数=几何期望次数=1/p
6.2 求 完全转移概率矩阵的最终个数和合成次数?
在如果把 转移概率矩阵搞成非上三角的,而是全的,就更复杂了
感觉好难搞,先放这儿
其他例子,待整理
马尔可夫链
转移概率
但是必须保证,是1个东西变化,
而这里横纵坐标系的量纲不同,所以需要修改,我现在删除了横轴坐标系里 奇数部分,保证两边量纲一样
然后中间是概率
需要去掉蓝色部分,最大的一列和最大的1行
然后原矩阵* 标准矩阵I,
然后用标准矩阵 - 原均值 得到中间结果
下面这一步,需要用到取反
数组矩阵整体取反,数组公式,选择一整个矩阵,输出给一整个矩阵区域
minverse
坐标得到的就是从3合成到15的次数
例子2
3可以生成3,4,5,6分别对应不同的概率。 p33 p34 p35 p36
2*E(X) = P33*E(X) +P34*1 + P35*0 +P36*0
3-4
E(X) 是3skill生成4skill的个数
4 本身就是 4skill的个数
5本身就是 5skill的个数,无法转化为4skill个数
6 本身就是 6skill的个数,无法转化为4skill个数
如果是要判断, 生成num4的概率,可用马尔可夫
如果是要判断,生成num4的个数
古典概率模型的
丢硬币
丢骰子
都可以用马尔可夫?
因为就几个状态,而且有转移概率?
马尔可夫链
比如
上面这个矿工题目
例题:
一个矿工被困矿井里,面前可以打开3个门,均等概率,1个门回到外面花费3小时,1个门回到现在地方花费5小时,1个门回到现在地方花费7小时,求问矿工回到外面平均需要时间?
设置X为矿工出去要花的时间
E(X) = 1/3* 3+ 1/3* (E(X)+5)+1/3* (E(X)+7)
3 E(X) = 3+ E(X)+5 +E(X)+7
E(X) = 15
这个题目里,只有1个边界出口,一个吸收态, 一般需要2个?至少?