本文整理下齐次有限状态离散时间马氏链的相关基础内容并及MATLAB中提供的与之相关的性质。
基本性质
为进行状态分类,先引入一组重要性质和定义
平稳分布
式子7-94为平衡方程:
π
=
π
∗
P
\pi=\pi*P
π=π∗P
不可约且正常返的马氏链一定存在平稳分布,更一般的,只要马氏链存在一个闭的不可约子集,并且该集合中的状态均是正常返的,则存在平稳分布。
混合时间(mixing time)
在概率论中,马尔可夫链的混合时间是马尔可夫链“接近”其稳态分布的所需时间。
对于遍历链,任何初始分布都以第二大特征值模量(SLEM)
μ
\mu
μ确定的速率收敛到平稳分布。 谱间隙
1
−
μ
1-\mu
1−μ,提供了一种可视化的测量方法,具有较大的间隙(较小的SLEM圆),可产生更快的收敛。matlab中估计mixing time的式子是:
t
M
i
x
=
−
1
log
μ
tMix=-\frac{1}{\log{\mu}}
tMix=−logμ1
MATLAB马氏链工具包
MATLAB在Econometrics Toolbox中提供dtmc类,可绘制状态转移图、判断遍历性等等
- 生成马氏链
直接输入一步状态转移矩阵即可P = [ 0 0 1/2 1/4 1/4 0 0 ; 0 0 1/3 0 2/3 0 0 ; 0 0 0 0 0 1/3 2/3; 0 0 0 0 0 1/2 1/2; 0 0 0 0 0 3/4 1/4; 1/2 1/2 0 0 0 0 0 ; 1/4 3/4 0 0 0 0 0 ]; mc = dtmc(P);
- 状态类的判断
通过绘制状态转移图即可判断马氏链中state类型:graphplot(mc,'ColorNodes',true);
- 可约性、遍历性
tfRed = isreducible(mc) tfErg = isergodic(mc)
- 周期性
周期性可以状态分布概率直观的看出来X1 = redistribute(mc,20); figure; distplot(mc,X1);
- 平稳分布及混合时间
直接调用下面命令即可
为观察收敛速度,可绘制特征图[xFix,tMix] = asymptotics(mc)
figure; eigplot(mc);
其中粉色阴影表示最大特征值和第二大特征值之间的gap,越大则收敛越快(mixing time越小),若存在周期=k,则半径为1的圆上会有k个点,即存在k个模为1的特征值。
参考
https://www.mathworks.com/help/econ/markov-process-models.html?s_tid=CRUX_lftnav
《随机过程及其应用》第二版 陆大金