R语言如何做马尔可夫转换模型markov switching model

假设有时间序列数据,如下所示。经验表明,目标变量y似乎与解释变量x有关。

由Kaizong Ye,Sherry Deng撰写

然而,乍一看,y的水平在中间移动,所以它似乎并不总是有稳定的关系(背后有多个状态)。


上面的样本数据创建如下。数据根据时间改变x和y之间的关系。

x和y1,y2之间的关系如下图所示。如果您知道x和y有两种状态,则x和y看起来像这样。

数据 


热门课程

R语言数据分析挖掘必知必会

面对扑面而来的数据浪潮,包含Google、Facebook等国际企业,都已采用R语言进行数据分析

探索课程

​ 在马尔可夫转换模型中,观察数据被认为是从几个状态生成的,并且如上所示很好地分离。

观察到的数据


创建马尔可夫转换模型

模型公式 

 参数的含义是

  • k:马尔可夫转换模型的状态数。在这里,它被指定为后面有两个状态。
  • sw:使用逻辑指定每个参数在状态更改时是否更改
  • pAR模型系数
  • family:(在GLM的情况下)概率分布族

输出中的制度1和制度2表示后面的两个状态 。 

y1 <- x * 4 + 20 可以看到Regime 2 与之兼容。


随时关注您喜欢的主题


 可以说从调整后的R平方值整体上有所改善。

 模型

对于每个regime,目标变量+指定的解释变量和处于该状态的概率以阴影绘制


R语言隐马尔可夫模型HMM识别不断变化的市场条件

阅读文章


每个时间点的概率 


每次获取状态和更改点

如果你想知道你在某个特定时间点所在的regime,那么就选择那个时刻概率最高的 。

异常值/变化点是Regime更改的时间 

因此,我们可以看到检测到在第一次数据创建时指定的变化点(201,401th)附近的点。

1


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498