马尔可夫链和隐马尔可夫模型

马尔可夫模型可以分为四种:马尔可夫链、隐马尔可夫模型、马尔可夫决策过程和部分可观测马尔可夫过程 [1]。其中马尔可夫链是理解马尔可夫模型的基础,隐马尔可夫模型被广泛应用于预测和交易中 [2]。


马尔可夫模型

马尔可夫模型是用来预测依赖于当前状态的随机过程,即该过程并不是完全随机的,它受到前一状态的影响。当一个系统它的状态是可以被完全观测的我们就用马尔可夫链模型,当一个系统只能部分被观测,我们就使用隐马尔可夫模型。马尔可夫模型可以根据给定状态预测输出状态的概率。

一个马尔科夫过程就是指过程中的每个状态的转移只依赖于之前的 n个状态,这个过程被称为 n阶马尔科夫模型,其中 n是影响转移状态的数目。最简单的马尔科夫过程就是一阶过程,每一个状态的转移只依赖于其之前的那一个状态,这也是后面很多模型的讨论基础 [4]。对于一个一阶的马尔可夫模型,第i时刻的取值仅取决于第i-1时刻,即:


1.马尔可夫链模型

详情请参考网页,有动画演示 [3]。

马尔可夫链是一种随机过程中的过程,它可以用转移矩阵或者是转移图定义。举个例子加以说明,例如某地的天气状态只有晴天(Sunny, S)和下雨(Rainy,R)两种,如果一天下雨,第二天可能还会下雨或者转晴。如果一天是晴天,第二天可能是晴天也可能是下雨。


天气变化

下雨和晴天之间天气变化的概率如下:当当前状态是晴天时,有0.9的概率会保持晴天,有0.1的概率会转为下雨;当当前状态为下雨时,有0.9的概率会保持下雨状态,0.1的概率会转晴,则该事件的状态转移矩阵如下所示:

R S
R 0.9 0.1
S 0.1 0.9

先给定一个初始状态为雨天,则可根据这一转移矩阵就可以得到如下随机序列:

RRRRRRRSSSSSSRRRRR.....

例如我们先定义一下初始状态,初始状态有0.6的可能性是晴天,0.4的可能性是雨天,那么第二天的状态可以表述为:



P({R,R,S,S})=P(S|S)P(S|R)P(RR)P(R)=0.540.040.36*0.4=0.0031104$

2.马尔可夫模型

隐马尔可夫模型是状态不可直接观测的马尔可夫模型,例如某地的气温高低无法直接观测,如果当前为低气温状态,它有0.3的概率将会继续保持低气温,0.7的概率将会转成高气温,如果当前为高气温,它有0.8的概率会保持高气温,0.2的概率会转成低气温。其中当气温较低时,有0.6的概率会下雨,0.4的概率会晴天,当气温较高时有0.4的概率会下雨,有0.6的概率会是晴天 [5]。

image.png

当地的气温是无法直接观测的,但是是否下雨可以观测。假设气温高低的初始状态为0.4为低气温,0.6为高气温:
P(Low)=0.4
P(High)=0.6
低温和高温的转移概率如下:
P(Low|Low)=0.3
P(High|Low)=0.7
P(High|High)=0.8
P(Low|High)=0.2
观测概率如下:
P(Rain|Low)=0.6
P(Rain|High)=0.4
P(Dry|Low)=0.4
P(Dry|High)=0.6
假设我们要计算一个序列{Dry, Rain}的概率,构成这一序列有四种可能,即{Low, Low}、{Low, High}、{High, High}、{High, Low}。所以P({Dry, Rain})的计算公式为:
P({Dry,Rain})=P({Dry,Rain},{Low,Low})+P({Dry,Rain},{Low, High})+P({Dry,Rain},{High, High})+P({Dry,Rain},{High, Low})
其中P({Dry,Rain},{Low,Low})=P({Dry,Rain}|{Low,Low})·P({Low,Low})
= P(Dry|Low) · P(Rain|Low) · P(Low) · P(Low|Low)
= 0.4 x 0.4 x 0.6 x 0.4 x 0.3
= 0.01152

参考
[1] Hidden Markov Models - An Introduction
[2] Markov Model - An Introduction
[3] Markov Chains
[4] 马尔科夫模型系列文章(一)——马尔科夫模型
[5] Hidden Markov Models

你可能感兴趣的:(马尔可夫链和隐马尔可夫模型)