MATLAB 马尔可夫链

26 篇文章 0 订阅
20 篇文章 11 订阅

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。



马尔可夫链

马尔可夫链是一种随机过程,它的状态转移是由当前状态决定的,与过去的状态无关。马尔可夫链的状态转移矩阵是一个方阵,它的每一行元素之和为1,这样的矩阵称为概率转移矩阵。马尔可夫链的状态转移矩阵可以用来表示状态转移的概率。


MATLAB 马尔可夫链预测模型

例1
有一个时齐的马尔可夫链,其状态转移矩阵为:

[ 0.5 0.3 0.2 0.2 0.6 0.2 0.4 0.2 0.4 ] \begin{bmatrix} 0.5 & 0.3 & 0.2\\ 0.2 & 0.6 & 0.2\\ 0.4 & 0.2 & 0.4 \end{bmatrix} 0.50.20.40.30.60.20.20.20.4

当前状态为第二个状态,求经过5步后的状态概率分布。

% 状态转移矩阵
P = [0.5 0.3 0.2; 0.2 0.6 0.2; 0.4 0.2 0.4];
% 初始状态
x0 = [0 1 0];
% 经过15步后的状态概率分布
x5 = x0 * P^5

输出结果为:

x5 =
    0.3552    0.3949    0.2499

例2
某农业地区的收成有三个状态,即“丰收”、“平收”和“欠收”,记为1、2、3。下表列出了该地区 1950-1989 年期间农业收成状态:

年份1950195119521953195419551956195719581959
状态1123213212
年份1960196119621963196419651966196719681969
状态3123121331
年份1970197119721973197419751976197719781979
状态3321132212
年份1980198119821983198419851986198719881989
状态1321122312

请根据以上数据,预测 1990-1999 年的收成状态。

40 年中有 39 次状态转移,假设马尔可夫链是时齐的,根据不同状态转移发生的频率来估计概率:

% 转移概率
p11 = 3/15;
p12 = 7/15;
p13 = 5/15;
p21 = 7/13;
p22 = 2/13;
p23 = 4/13;
p31 = 4/11;
p32 = 5/11;
p33 = 2/11;

% 状态转移矩阵
P = [p11 p12 p13; p21 p22 p23; p31 p32 p33];

得到状态转移矩阵为:

[ 0.2000 0.4667 0.3333 0.5385 0.1538 0.3077 0.3636 0.4545 0.1818 ] \begin{bmatrix} 0.2000 & 0.4667 & 0.3333 \\ 0.5385 & 0.1538 & 0.3077 \\ 0.3636 & 0.4545 & 0.1818 \end{bmatrix} 0.20000.53850.36360.46670.15380.45450.33330.30770.1818

以 1989 年的收成状态为初始状态,计算往后 10 年的收成状态概率分布:

% 初始状态
x0 = [0 0 1];
% 往后 10 年的收成状态概率分布
x = zeros(11, 3);
x(1, :) = x0;
for i = 2:11
    x(i, :) = x(i-1, :) * P;
end

输出结果为:

x =
         0         0    1.0000
    0.3636    0.4545    0.1818
    0.3836    0.3223    0.2941
    0.3572    0.3623    0.2805
    0.3685    0.3499    0.2815
    0.3645    0.3538    0.2817
    0.3658    0.3526    0.2816
    0.3654    0.3530    0.2816
    0.3655    0.3528    0.2816
    0.3655    0.3529    0.2816
    0.3655    0.3529    0.2816

可以看出,往后 5 年的收成状态概率分布不断变化、逐渐稳定,到 1998 年后,收成状态概率分布收敛,得到该地区马尔可夫链的终极状态概率分布。“丰收”和“平收”状态的概率相近,而“欠收”状态的概率较低。

  • 8
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小嗷犬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值