拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测

原文链接:http://tecdat.cn/?p=12227 原文出处:拓端数据部落公众号 摘要 本文描述了R语言中马尔克夫转换模型的分析过程。首先,对模拟数据集进行详细建模。接下来,将马尔可夫转换模型拟合到具有离散响应变量的真实数据集。用于验证对这些数据集建模的不同方法。
模拟实例 示例数据是一个模拟数据集,用于展示如何检测两种不同模式的存在:一种模式中的响应变量高度相关,另一种模式中的响应仅取决于外生变量x。自相关观测值的区间为1到100、151到180 和251到300。每种方案的真实模型为:
拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

图1中的曲线表明,在不存在自相关的区间中,响应变量y具有与协变量x相似的行为。拟合线性模型以研究协变量x如何解释变量响应y。

> summary(mod) Call: lm(formula = y ~ x, data = https://www.it610.com/article/example)Residuals:Min 1Q Median 3Q Max-2.8998 -0.8429 -0.0427 0.7420 4.0337> plot(ts(example))

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

图1:模拟数据,y变量是响应变量
Coefficients: Estimate Std. Error t value Pr(>|t|)(Intercept)9.04860.139864.709< 2e-16 *** x0.82350.24233.3980.00077 ***Residual standard error: 1.208 on 298 degrees of freedom Multiple R-squared: 0.03731, Adjusted R-squared: 0.03408 F-statistic: 11.55 on 1 and 298 DF, p-value: 0.0007701

协变量确实很重要,但是模型解释的数据行为非常糟糕。图1中的线性模型残差图表明,它们的自相关很强。残差的诊断图(图2)确认它们似乎不是白噪声,并且具有自相关关系。接下来,将自回归马尔可夫转换模型(MSM-AR)拟合到数据。自回归部分设置为1。为了指示所有参数在两个周期中都可以不同,将转换参数(sw)设置为具有四个分量的矢量。拟合线性模型时的最后一个值称为残差。
拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

标准偏差。有一些选项可控制估算过程,例如用于指示是否完成了过程并行化的逻辑参数。

Markov Switching ModelAICBIClogLik 637.0736 693.479 -312.5368 Coefficients: Regime 1 \-\-\-\-\-\-\-\-\- Estimate Std. Error t valuePr(>|t|) (Intercept)(S)0.84170.30252.78250.005394 ** x(S)-0.05330.1340 -0.39780.690778 y_1(S)0.92080.0306 30.0915 < 2.2e-16 *** \-\-\- Signif. codes:0'***' 0.001'**' 0.01'*' 0.05'.' 0.1' ' 1Residual standard error: 0.5034675 Multiple R-squared: 0.8375Standardized Residuals: MinQ1MedQ3Max -1.5153666657 -0.09065433110.00018736410.16567172561.2020898986 Regime 2 ---------Estimate Std. Error t valuePr(>|t|) (Intercept)(S)8.63930.7244 11.9261 < 2.2e-16 *** x(S)1.87710.31076.0415 1.527e-09 *** y_1(S)-0.05690.0797 -0.71390.4753 \-\-\- Signif. codes:0'***' 0.001'**' 0.01'*' 0.05'.' 0.1' ' 1Residual standard error: 0.9339683 Multiple R-squared: 0.2408 Standardized Residuals: Min Q1 Med Q3 Max -2.31102193 -0.03317756 0.01034139 0.04509105 2.85245598 Transition probabilities: Regime 1 Regime 2 Regime 1 0.98499728 0.02290884 Regime 2 0.01500272 0.97709116

模型mod.mswm具有协方差x非常显着的状态,而在其他情况下,自相关变量也非常重要。两者的R平方均具有较高的值。最后,转移概率矩阵具有较高的值,这表明很难从接通状态更改为另一个状态。该模型可以完美地检测每个状态的周期。残差看起来像是白噪声,它们适合正态分布。而且,自相关消失了。
拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

图形显示已完美检测到每个方案的周期。
> plot(mod.mswm,expl="x")

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

交通事故
交通数据包含2010年西班牙交通事故的每日人数,平均每日温度和每日降水量。该数据的目的是研究死亡人数与气候条件之间的关系。由于在周末和工作日变量之间存在不同的行为,因此我们说明了在这种情况下使用广义马尔科夫转换模型的情况。
在此示例中,响应变量是计数变量。因此,我们拟合了泊松广义线性模型。
> summary(model) Call: glm(formula = NDead ~ Temp + Prec, family = "poisson", data = https://www.it610.com/article/traffic)

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

Deviance Residuals:Min1QMedian3QMax -3.1571-1.0676-0.21190.80803.0629Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.1638122 0.0808726 14.391 < 2e-16 *** Temp 0.0225513 0.0041964 5.374 7.7e-08 *** Prec 0.0002187 0.0001113 1.964 0.0495 * \-\-\- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: 597.03 on 364 degrees of freedom Residual deviance: 567.94 on 362 degrees of freedom AIC: 1755.9 Number of Fisher Scoring iterations: 5

下一步,使用拟合马尔可夫转换模型。为了适应广义马尔可夫转换模型,必须包含族参数,而且glm没有标准偏差参数,因此sw参数不包含其切换参数。
> Markov Switching ModelAICBIClogLik 1713.878 1772.676 -850.9388 Coefficients: Regime 1 \-\-\-\-\-\-\-\-\- Estimate Std. Error t valuePr(>|t|) (Intercept)(S)0.76490.17554.35841.31e-05 *** Temp(S)0.02880.00823.5122 0.0004444 *** Prec(S)0.00020.00021.0000 0.3173105 \-\-\- Signif. codes:0'***' 0.001'**' 0.01'*' 0.05'.' 0.1' ' 1Regime 2 \-\-\-\-\-\-\-\-\- Estimate Std. Error t value Pr(>|t|)(Intercept)(S)1.56590.15769.9359< 2e-16 *** Temp(S)0.01940.00802.42500.01531 * Prec(S)0.00040.00022.00000.04550 * \-\-\- Signif. codes:0'***' 0.001'**' 0.01'*' 0.05'.' 0.1' ' 1Transition probabilities: Regime 1 Regime 2 Regime 1 0.7287732 0.4913893 Regime 2 0.2712268 0.5086107

两种状态都有显着的协变量,但降水协变量仅在这两种状态之一中是显着的。
Aproximate intervals for the coefficients. Level= 0.95 (Intercept): Lower Estimation Upper Regime 1 0.4208398 0.7648733 1.108907Regime 2 1.2569375 1.5658582 1.874779 Temp: Lower Estimation Upper Regime 1 0.012728077 0.02884933 0.04497059 Regime 2 0.003708441 0.01939770 0.03508696 Prec: Lower Estimation Upper Regime 1 -1.832783e-04 0.0001846684 0.0005526152 Regime 2 -4.808567e-05 0.0004106061 0.0008692979


拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

由于模型是通用线性模型的扩展,因此从类对象计算出图中的Pearson残差。该残差有白噪声的经典结构。残差不是自相关的,但它们与正态分布不太吻合。但是,Pearson残差的正态性不是广义线性模型验证的关键条件。
> plot(m1,which=2)

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

我们可以看到短时间内的状态分配,因为较大的状态基本上包含工作日。
拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
文章图片

最受欢迎的见解
1.用R语言模拟混合制排队随机服务排队系统
2.R语言中使用排队论预测等待时间
【拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测】3.R语言中实现马尔可夫链蒙特卡罗MCMC模型
4.R语言中的马尔科夫机制转换(Markov regime switching)模型模型")
5.matlab贝叶斯隐马尔可夫hmm模型
6.用R语言模拟混合制排队随机服务排队系统
7.Python基于粒子群优化的投资组合优化
8.R语言马尔可夫转换模型研究交通伤亡人数事故预测
9.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用

    推荐阅读