全文链接:http://tecdat.cn/?p=6962

最近咱们被客户要求撰写对于马尔可夫转换模型的钻研报告,包含一些图形和统计输入。
假如 有工夫序列数据,如下所示。教训表明,指标变量y仿佛与解释变量x无关。然而,乍一看,y在程度两头稳定,所以它仿佛并不总是有稳固的关系(背地有多个状态)

下面的样本数据创立如下。x和y之间的关系数据依据工夫扭转。

x <- rpois(500, lambda = 10)  y1 <- x * 4 + 20     y2 <- x * 2 + 60    noise <- rnorm(1:500, mean = 10, sd = 5)y1 <- y1 + noisey2 <- y2 + noise y <- c(y1[1:200], y2[201:400], y1[401:500]) observed <- data.frame(x = x, y = y)

x和y1,y2之间的关系如下图所示。

数据

 

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

察看到的数据


点击题目查阅往期内容

【视频】马尔可夫链蒙特卡罗办法MCMC原理与R语言实现|数据分享

左右滑动查看更多

01

02

03

04

创立马尔可夫转换模型

 

模型公式 

 

# Call:# lm(formula = y ~ x, data = observed)# # Residuals:#     Min      1Q  Median      3Q     Max # -24.303  -9.354  -1.914   9.617  29.224 # # Coefficients:#             Estimate Std. Error t value Pr(>|t|)    # (Intercept)  45.7468     1.7202   26.59   <2e-16 ***# x             3.2262     0.1636   19.71   <2e-16 ***# ---# Signif. codes:  # 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1# # Residual standard error: 11.51 on 498 degrees of freedom# Multiple R-squared:  0.4383, Adjusted R-squared:  0.4372 # F-statistic: 388.7 on 1 and 498 DF,  p-value: < 2.2e-16

 

 参数的含意是

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

<!---->

 # 马尔可夫转换模型# #        AIC      BIC    logLik#   3038.846 3101.397 -1513.423# # Coefficients:# # Regime 1 # ---------#                Estimate Std. Error t value Pr(>|t|)    # (Intercept)(S)  69.3263     4.0606 17.0729   <2e-16 ***# x(S)             2.1795     0.1187 18.3614   <2e-16 ***# y_1(S)          -0.0103     0.0429 -0.2401   0.8103    # ---# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1# # Residual standard error: 4.99756# Multiple R-squared: 0.6288# # Standardized Residuals:#           Min            Q1           Med            Q3           Max # -1.431396e+01 -2.056292e-02 -1.536781e-03 -1.098923e-05  1.584478e+01 # # Regime 2 # ---------#                Estimate Std. Error t value Pr(>|t|)    # (Intercept)(S)  30.2820     1.7687 17.1210   <2e-16 ***# x(S)             3.9964     0.0913 43.7722   <2e-16 ***# y_1(S)          -0.0045     0.0203 -0.2217   0.8245    # ---# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1# # Residual standard error: 4.836684# Multiple R-squared: 0.8663# # Standardized Residuals:#           Min            Q1           Med            Q3           Max # -13.202056966  -0.771854514   0.002211602   1.162769110  12.417873232 # # Transition probabilities:#             Regime 1    Regime 2# Regime 1 0.994973376 0.003347279# Regime 2 0.005026624 0.996652721

输入中的区制1和区制2示意模型的两个状态 。 

# Regime 1 # ---------#                Estimate Std. Error t value Pr(>|t|)    # (Intercept)(S)  69.3263     4.0606 17.0729   <2e-16 ***# x(S)             2.1795     0.1187 18.3614   <2e-16 ***# y_1(S)          -0.0103     0.0429 -0.2401   0.8103   

能够看到区制2 与y1 <- x * 4 + 20匹配。

从调整后的R方值看整体上有所改善。

# Regime 2 # ---------#                Estimate Std. Error t value Pr(>|t|)    # (Intercept)(S)  30.2820     1.7687 17.1210   <2e-16 ***# x(S)             3.9964     0.0913 43.7722   <2e-16 ***# y_1(S)          -0.0045     0.0203 -0.2217   0.8245    

 模型

对于每个状态,处于该状态的概率以暗影绘制

每个工夫点的概率 

每次获取状态和更改点

如果你想晓得你在某个特定工夫点所在的regime,那么就抉择那个时刻概率最高的 。

> probable  [1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [30] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2...

异样值/变动点是状态更改的工夫 

c(FALSE, diff(probable) != 0)  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [11] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE...[181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[191] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE[201] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE...[381] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE[401] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE...[491] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

因而,咱们能够看到检测到在第一次数据创立时指定的变动点。


点击文末 “浏览原文”

获取全文残缺代码数据资料。

本文选自《R语言如何做马尔可夫转换模型markov switching model》。

点击题目查阅往期内容

matlab用马尔可夫链蒙特卡罗 (MCMC) 的Logistic逻辑回归模型剖析汽车试验数据\
【视频】马尔可夫链蒙特卡罗办法MCMC原理与R语言实现|数据分享\
R语言BUGS/JAGS贝叶斯剖析: 马尔科夫链蒙特卡洛办法(MCMC)采样\
马尔可夫Markov区制转移模型剖析基金利率\
马尔可夫区制转移模型Markov regime switching\
时变马尔可夫区制转换MRS自回归模型剖析经济工夫序列\
马尔可夫转换模型钻研交通伤亡人数事变工夫序列预测\
如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?\
Matlab用BUGS马尔可夫区制转换Markov switching随机稳定率模型、序列蒙特卡罗SMC、M H采样剖析工夫序列\
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机稳定率SV模型、粒子滤波、Metropolis Hasting采样工夫序列剖析\
matlab用马尔可夫链蒙特卡罗 (MCMC) 的Logistic逻辑回归模型剖析汽车试验数据\
stata马尔可夫Markov区制转移模型剖析基金利率\
PYTHON用时变马尔可夫区制转换(MRS)自回归模型剖析经济工夫序列\
R语言应用马尔可夫链对营销中的渠道归因建模\
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型预计\
R语言隐马尔可夫模型HMM辨认一直变动的股票市场条件\
R语言中的隐马尔可夫HMM模型实例\
用机器学习辨认一直变动的股市情况—隐马尔科夫模型(HMM)\
Matlab马尔可夫链蒙特卡罗法(MCMC)预计随机稳定率(SV,Stochastic Volatility) 模型\
MATLAB中的马尔可夫区制转移(Markov regime switching)模型\
Matlab马尔可夫区制转换动静回归模型预计GDP增长率\
R语言马尔可夫区制转移模型Markov regime switching\
stata马尔可夫Markov区制转移模型剖析基金利率\
R语言如何做马尔可夫转换模型markov switching model\
R语言隐马尔可夫模型HMM辨认股市变动剖析报告\
R语言中实现马尔可夫链蒙特卡罗MCMC模型