前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >matlab对国内生产总值(GDP)建立马尔可夫链模型(MC)并可视化|附代码数据

matlab对国内生产总值(GDP)建立马尔可夫链模型(MC)并可视化|附代码数据

原创
作者头像
拓端
发布于 2023-02-07 15:39:07
发布于 2023-02-07 15:39:07
96600
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=17549

最近我们被客户要求撰写关于马尔可夫链模型的研究报告,包括一些图形和统计输出。

本示例说明如何创建并可视化Markov链模型的结构和演化 。考虑从随机转移矩阵中创建马尔可夫链的四状态马尔可夫链,该模型模拟了国内生产总值(GDP)的动态 

创建实际GDP的马尔可夫链模型。指定状态名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
P = [0.5 0.5 0.0 0.0;
     0.5 0.0 0.5 0.0;
     0.0 0.0 0.0 1.0;
     0.0 0.0 1.0 0.0];
stateNames = ["Regime 1" "Regime 2" "Regime 3" "Regime 4"];
mc = mc(P,'StateNames'

可视化马尔可夫链的一种方法是绘制转移矩阵的热图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
imagesc(P);
colormap(jet);
colorbar;
axis squar

点击标题查阅往期内容

R语言连续时间马尔科夫链模拟案例 Markov Chains

左右滑动查看更多

01

02

03

04

有向图

有向图将链中的状态显示为节点,并将状态之间的可行转换显示为有向边。

绘制马尔可夫链的默认有向图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
plot(mc);

通过基于转移概率指定边缘颜色来比较转移概率。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
plot(mc,'ColorEdges'

通过根据状态类型指定节点颜色和标记来识别循环状态和瞬态状态。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
h = hplot(mc,'ColorEdges',true,

低均值状态是瞬态的,最终转移到递归的高均值状态。

节点标签的默认字体大小为8。将字体大小减少到7。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FontSize = 7;

混合图

可以通过在有向图中绘制目标概率和预期的第一次命中时间来可视化。

 从马尔可夫链中的每个状态开始计算命中目标状态的指定子集的概率。其中节点颜色表示命中概率。

绘制马尔可夫链的有向图,其中节点颜色表示命中方案1的概率。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
htp(mc,"Regime 1",'Graph

 从马尔可夫链中的每个状态开始,计算目标状态的指定子集的预期首次命中时间。其中节点颜色表示命中时间。

绘制马尔可夫链的有向图,其节点颜色表示包含状态3和4的目标子类的预期首次命中时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
target = ["Regime 3" "Regime 4"];
htime(mc,target

从方案1开始,该子类的预期首次命中时间为6个时间步长。

特征值图

特征值图显示了复平面上的特征值。特征值图并标识:

  • Perron-Frobenius特征值,使用粗体星号为非负矩阵。
  • 光谱间隙,即长度等于第二大特征值幅度(SLEM)的半径和长度为1的半径之间的区域。光谱间隙决定了马尔可夫链的混合时间。大间隙表示混合较快,而细间隙表示混合较慢。

在复杂平面上绘制并返回转换矩阵的特征值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
eigplt(mc)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
eVals = 4×1

    0.8090
   -0.3090
    1.0000
   -1.0000

两个特征值的模量为1,表明马尔可夫链的周期为2。

重新分配图

重新分布图从初始分布绘制了状态重新分布。 使用马尔可夫链对象生成的数据来绘制重新分布 。可以将重新分布绘制为静态热图或动画直方图或有向图。

从初始分布生成10步重新分布。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis(mc,numSteps,'X0',x0);

将重新分布绘制为热图。

由于状态1和状态2是瞬态的,因此马尔可夫链最终将概率集中在状态3和状态4。此外,如特征值图所示,状态3和状态4的周期为2。

绘制动画直方图。将帧速率设置为一秒。

仿真图

仿真图绘制了从特定初始状态开始的马尔可夫链的随机游动图。 

生成100个十步随机游走,其中每个状态都会初始化游走25次。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
simu(mc,numSteps,

将模拟绘制为热图,以显示每个步骤达到的状态比例。

绘制已实现转移矩阵的热图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
simp(mc,X,'Type','transition');

所实现的转移矩阵看起来类似于理论转移矩阵。


点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《matlab对国内生产总值(GDP)建立马尔可夫链模型(MC)并可视化》。

点击标题查阅往期内容

PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列 R语言中实现马尔可夫链蒙特卡罗MCMC模型matlab贝叶斯隐马尔可夫hmm模型实现 R语言如何做马尔科夫转换模型markov switching model matlab中的隐马尔可夫模型(HMM)实现 R语言马尔可夫体制转换模型Markov regime switching R语言马尔可夫转换模型研究交通伤亡人数事故预测 R语言中的马尔科夫机制转换(Markov regime switching)模型 用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)股票指数预测实战 用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)的应用 R语言中实现马尔可夫链蒙特卡罗MCMC模型用R语言模拟M / M / 1随机服务排队系统 用R语言模拟混合制排队随机服务排队系统 用R语言模拟M/M/1随机服务排队系统

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
R语言如何做马尔可夫转换模型markov switching model|附代码数据
假设 有时间序列数据,如下所示。经验表明,目标变量y似乎与解释变量x有关。然而,乍一看,y在水平中间波动,所以它似乎并不总是有稳定的关系(背后有多个状态)
拓端
2023/01/11
7420
MATLAB中的马尔可夫区制转移(Markov regime switching)模型|附代码数据
最近我们被客户要求撰写关于马尔可夫区制转移(Markov regime switching)模型的研究报告,包括一些图形和统计输出。
拓端
2023/03/30
4050
HMM(隐马尔可夫模型)
概率图用图的形式来表示概率分布:其中结点表示变量,结点之间直接相连的边表示相应变量之间的概率关系。
流川疯
2024/09/05
1280
HMM(隐马尔可夫模型)
马尔可夫转换模型研究交通伤亡人数事故时间序列预测|附代码数据
首先,对模拟数据集进行详细建模。接下来,将马尔可夫转换模型拟合到具有离散响应变量的真实数据集。用于验证对这些数据集建模的不同方法。
拓端
2023/08/14
2710
MATLAB中的马尔可夫区制转移(Markov regime switching)模型
分析师通常关心检测市场何时“发生变化”:几个月或几年内市场的典型行为可以立即转变为非常不同的行为。投资者希望及时发现这些变化,以便可以相应地调整其策略,但是这可能很困难。
拓端
2023/08/31
3990
MATLAB中的马尔可夫区制转移(Markov regime switching)模型
隐马尔科夫模型(HMM)| 一个不可被忽视的统计学习模型 | 机器语音
小编最早接触隐马尔科夫模型(Hidden Markov Model,HMM),是利用HMM对机械设备的隐含退化状态进行建模、估计和预测,直观的感受是HMM的建模非常便利,可解释性很强,通用性强,缺点是对转移概率和观测概率估计学习时计算量较大,尤其是维数增多时易出现维数灾难问题,但随着DNN技术的发展和GPU计算能力的增强,计算能力已不再是HMM应用的瓶颈,HMM的能力将会得到充分的释放。
用户7623498
2020/08/04
1.7K0
隐马尔科夫模型(HMM)| 一个不可被忽视的统计学习模型 | 机器语音
【视频】马尔可夫链原理可视化解释与R语言区制转换MRS实例|数据分享
例如,如果您制作了婴儿行为的马尔可夫链模型,您可能会将“玩耍”、“吃饭”、“睡觉”和“哭泣”作为状态,它们与其他行为一起可以形成“状态空间”:所有可能状态的列表。此外,在状态空间之上,马尔可夫链告诉您从一个状态跳跃或“转换”到任何其他状态的概率——例如,正在玩耍的婴儿在下一个状态下入睡的可能性五分钟不先哭。
拓端
2024/08/19
2490
【视频】马尔可夫链原理可视化解释与R语言区制转换MRS实例|数据分享
多渠道归因分析:python实现马尔可夫链归因(三)
马尔可夫链是一个过程,它映射运动并给出概率分布,从一个状态转移到另一个状态。马尔可夫链由三个属性定义:
悟乙己
2021/12/07
9680
多渠道归因分析:python实现马尔可夫链归因(三)
R语言隐马尔可夫模型HMM识别不断变化的股票市场条件
某些策略在波动剧烈的市场中表现良好,而其他策略则需要强劲而平稳的趋势,否则将面临长时间的下跌风险。搞清楚什么时候开始或停止交易策略,调整风险和资金管理技巧,甚至设置进入和退出条件的参数都取决于市场“制度”或当前的情况。
拓端
2020/09/04
9100
R语言隐马尔可夫模型HMM识别不断变化的股票市场条件
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列|附代码数据
最近我们被客户要求撰写关于波动率的研究报告。 波动率是一个重要的概念,在金融和交易中有许多应用。它是期权定价的基础。波动率还可以让您确定资产配置并计算投资组合的风险价值 (VaR)。
拓端
2022/11/16
6950
用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)股票指数预测实战
“了解不同的股市状况,改变交易策略,对股市收益有很大的影响。弄清楚何时开始或何时止损,调整风险和资金管理技巧,都取决于股市的当前状况。
拓端
2020/09/04
2K0
用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)股票指数预测实战
MATLAB中的马尔可夫区制转移(Markov regime switching)模型|附代码数据
最近我们被客户要求撰写关于马尔可夫区制转移模型的研究报告,包括一些图形和统计输出。
拓端
2023/05/11
3580
matlab贝叶斯隐马尔可夫hmm模型实现|附代码数据
最近我们被客户要求撰写关于贝叶斯隐马尔可夫hmm的研究报告,包括一些图形和统计输出。
拓端
2023/11/07
3380
R语言中的马尔可夫区制转移(Markov regime switching)模型|附代码数据
最近我们被客户要求撰写关于马尔可夫区制转移模型的研究报告,包括一些图形和统计输出。
拓端
2023/11/20
2540
一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!(词性标注代码实现)
相信大家都看过上一节我讲得贝叶斯网络,都明白了概率图模型是怎样构造的,如果现在还没明白,请看我上一节的总结:贝叶斯网络
mantch
2019/07/30
12.5K0
一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!(词性标注代码实现)
概率图模型笔记(PART II)隐马尔科夫模型
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语音识别,自然语言处理,模式识别等领域得到广泛的应用。那么什么样的问题需要HMM模型来解决,一般有以下两个特征: (1)我们的问题是基于序列的,比如时间序列,或者状态序列; (2)我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。
NewBeeNLP
2020/08/26
9410
概率图模型笔记(PART II)隐马尔科夫模型
R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列|附代码数据
本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。
拓端
2023/09/01
2450
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列|附代码数据
本文提供了一个在统计模型中使用马可夫转换模型模型的例子,来复现Kim和Nelson(1999)中提出的一些结果。它应用了Hamilton(1989)的滤波器和Kim(1994)的平滑器
拓端
2022/12/28
3300
马尔可夫Markov区制转移模型分析基金利率|附代码数据
最近我们被客户要求撰写关于马尔可夫Markov区制转移模型的研究报告,包括一些图形和统计输出。
拓端
2023/03/01
7710
【视频】随机波动率SV模型原理和Python对标普SP500股票指数预测|数据分享|附代码数据
在金融建模的背景下,随机建模迭代随机变量的连续值,这些值彼此不独立。非独立的意思是虽然变量的值会随机变化,但其起点将取决于其先前的值,因此取决于其先前的值,依此类推;这描述了所谓的随机游走。
拓端
2022/11/15
7630
推荐阅读
R语言如何做马尔可夫转换模型markov switching model|附代码数据
7420
MATLAB中的马尔可夫区制转移(Markov regime switching)模型|附代码数据
4050
HMM(隐马尔可夫模型)
1280
马尔可夫转换模型研究交通伤亡人数事故时间序列预测|附代码数据
2710
MATLAB中的马尔可夫区制转移(Markov regime switching)模型
3990
隐马尔科夫模型(HMM)| 一个不可被忽视的统计学习模型 | 机器语音
1.7K0
【视频】马尔可夫链原理可视化解释与R语言区制转换MRS实例|数据分享
2490
多渠道归因分析:python实现马尔可夫链归因(三)
9680
R语言隐马尔可夫模型HMM识别不断变化的股票市场条件
9100
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列|附代码数据
6950
用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)股票指数预测实战
2K0
MATLAB中的马尔可夫区制转移(Markov regime switching)模型|附代码数据
3580
matlab贝叶斯隐马尔可夫hmm模型实现|附代码数据
3380
R语言中的马尔可夫区制转移(Markov regime switching)模型|附代码数据
2540
一次性弄懂马尔可夫模型、隐马尔可夫模型、马尔可夫网络和条件随机场!(词性标注代码实现)
12.5K0
概率图模型笔记(PART II)隐马尔科夫模型
9410
R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列|附代码数据
2450
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列|附代码数据
3300
马尔可夫Markov区制转移模型分析基金利率|附代码数据
7710
【视频】随机波动率SV模型原理和Python对标普SP500股票指数预测|数据分享|附代码数据
7630
相关推荐
R语言如何做马尔可夫转换模型markov switching model|附代码数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验