首页 > 其他分享 >马尔可夫转换模型研究交通伤亡人数事故时间序列预测|附代码数据

马尔可夫转换模型研究交通伤亡人数事故时间序列预测|附代码数据

时间:2023-08-14 18:34:56浏览次数:64  
标签:伤亡人数 转换 变量 模型 残差 马尔可夫 序列 Regime

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

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

本文描述了R语言中马尔克夫转换模型的分析过程

首先,对模拟数据集进行详细建模。接下来,将马尔可夫转换模型拟合到具有离散响应变量的真实数据集。用于验证对这些数据集建模的不同方法。

模拟实例

示例数据是一个模拟数据集,用于展示如何检测两种不同模式的存在:一种模式中的响应变量高度相关,另一种模式中的响应仅取决于外生变量x。自相关观测值的区间为1到100、151到180 和251到300。每种方案的真实模型为:
图片

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

   
> summary(mod) 

Call:
lm(formula = y ~ x, data = example)

Residuals:

      Min 1Q Median 3Q Max

-2.8998 -0.8429 -0.0427 0.7420 4.0337

> plot(ts(example))

图片

图1:模拟数据,y变量是响应变量

   
Coefficients:
Estimate Std. Error t value Pr(>|t|)

(Intercept)    9.0486    0.1398    64.709    < 2e-16 ***
x    0.8235    0.2423    3.398    0.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)设置为具有四个分量的矢量。拟合线性模型时的最后一个值称为残差。

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

   
Markov Switching Model


AIC    BIC    logLik
637.0736 693.479 -312.5368
Coefficients:
Regime 1
---------
Estimate Std. Error t value    Pr(>|t|)
(Intercept)(S)    0.8417    0.3025    2.7825    0.005394 **
x(S)    -0.0533    0.1340 -0.3978    0.690778
y_1(S)    0.9208    0.0306 30.0915 < 2.2e-16 ***
---
Signif. codes:    0    '***' 0.001    '**' 0.01    '*' 0.05    '.' 0.1    ' ' 1

Residual standard error: 0.5034675
Multiple R-squared: 0.8375

Standardized Residuals:
Min    Q1    Med    Q3    Max
-1.5153666657 -0.0906543311    0.0001873641    0.1656717256    1.2020898986
Regime 2
---------    Estimate Std. Error t value    Pr(>|t|)
(Intercept)(S)    8.6393    0.7244 11.9261 < 2.2e-16 ***
x(S)    1.8771    0.3107    6.0415 1.527e-09 ***
y_1(S)    -0.0569    0.0797 -0.7139    0.4753
---
Signif. codes:    0    '***' 0.001    '**' 0.01    '*' 0.05    '.' 0.1    ' ' 1

Residual 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平方均具有较高的值。最后,转移概率矩阵具有较高的值,这表明很难从接通状态更改为另一个状态。该模型可以完美地检测每个状态的周期。残差看起来像是白噪声,它们适合正态分布。而且,自相关消失了。

图片

图片

图片

图片

图形显示已完美检测到每个方案的周期。

   
> plot(mod.mswm,expl="x")

图片


点击标题查阅往期内容

图片

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

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

交通事故

交通数据包含2010年西班牙交通事故的每日人数,平均每日温度和每日降水量。该数据的目的是研究死亡人数与气候条件之间的关系。由于在周末和工作日变量之间存在不同的行为,因此我们说明了在这种情况下使用广义马尔科夫转换模型的情况。
在此示例中,响应变量是计数变量。因此,我们拟合了泊松广义线性模型。

   
> summary(model)
Call:
glm(formula = NDead ~ Temp + Prec, family = "poisson", data = traffic)

图片

   
Deviance Residuals:

Min    1Q    Median    3Q    Max
-3.1571    -1.0676    -0.2119    0.8080    3.0629

Coefficients:
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 Model


AIC    BIC    logLik
1713.878 1772.676 -850.9388
Coefficients:
Regime 1
---------
Estimate Std. Error t value    Pr(>|t|)
(Intercept)(S)    0.7649    0.1755    4.3584    1.31e-05 ***
Temp(S)    0.0288    0.0082    3.5122 0.0004444 ***
Prec(S)    0.0002    0.0002    1.0000 0.3173105
---
Signif. codes:    0    '***' 0.001    '**' 0.01    '*' 0.05    '.' 0.1    ' ' 1

Regime 2
---------
Estimate Std. Error t value Pr(>|t|)

(Intercept)(S)    1.5659    0.1576    9.9359    < 2e-16 ***
Temp(S)    0.0194    0.0080    2.4250    0.01531 *
Prec(S)    0.0004    0.0002    2.0000    0.04550 *
---
Signif. codes:    0    '***' 0.001    '**' 0.01    '*' 0.05    '.' 0.1    ' ' 1

Transition 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.108907

Regime 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

图片

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

   
> plot(m1,which=2)

图片

图片

我们可以看到短时间内的状态分配,因为较大的状态基本上包含工作日。



图片

本文摘选  R语言马尔可夫转换模型研究交通伤亡人数事故预测  ,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列
matlab用马尔可夫链蒙特卡罗 (MCMC) 的Logistic逻辑回归模型分析汽车实验数据
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析
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模型

标签:伤亡人数,转换,变量,模型,残差,马尔可夫,序列,Regime
From: https://www.cnblogs.com/tecdat/p/17629427.html

相关文章

  • 漏洞复现报告:CVE-2020-2551 IIOP反序列化漏洞
    1.漏洞描述: 2020年1月15日,Oracle发布了一系列的安全补丁,其中OracleWebLogicServer产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。Weblogic是一个服务器,可以做web服务器也可以做应用服务器WebLogic是美国Oracle公司出品的......
  • 序列化 - Kryo序列化详解
    什么是序列化序列化是指将数据结构或对象转换为可存储或传输的格式,以便在稍后的时间点重新构建或恢复原始数据结构或对象的过程。在计算机科学和编程中,序列化通常用于将内存中的数据转换为可以在磁盘上保存或通过网络传输的形式,以便在需要时进行持久化存储或在不同系统之间进行数......
  • 序列化 - jdk序列化详解
    当谈到在Java中将对象转换为字节流以便于存储、传输或持久化时,不可避免地会涉及到JDK序列化。JDK序列化是Java编程语言提供的一种机制,允许开发者将对象转换为字节序列,以便在稍后的时间点能够重新构建或恢复对象的状态。本文将深入介绍JDK序列化的概念、用法以及一些相关的......
  • IIS 请求筛选模块被配置为拒绝包含双重转义序列的请求。
    方法1:web.config内容如下:<?xmlversion="1.0"encoding="UTF-8"?><configuration><system.webServer><security><requestFilteringallowDoubleEscaping="true"/></security></system.webServer&g......
  • 时间序列去趋势化和傅里叶变换
    在计算傅里叶变换之前对信号去趋势是一种常见的做法,特别是在处理时间序列时。在这篇文章中,我将从数学和视觉上展示信号去趋势是如何影响傅里叶变换的。这篇文章的目的是让介绍理解什么是常数和线性去趋势,为什么我们使用它们,以及它们是如何影响信号的傅里叶变换的。傅里叶变换快......
  • 数据序列化工具Protobuf编码&避坑指南
    我们现在所有的协议、配置、数据库的表达都是以protobuf来进行承载的,所以我想深入总结一下protobuf这个协议,以免踩坑。先简单介绍一下ProtocolBuffers(protobuf),它是Google开发的一种数据序列化协议(与XML、JSON类似)。它具有很多优点,但也有一些需要注意的缺点:优点:效......
  • dp-最长回文子序列
    最长回文子序列算法导论3rd-15.2问题描述回文:palindrome,是正序和逆序完全相同的非空字符串一个字符串有许多子序列,可以通过删除某些字符而变成回文字符串,字符串“cabbeaf”,删掉‘c’、'e'、‘f’后剩下的子串“abba”就是回文字符串,也是其中最长的回文子序列。在一个给定的......
  • dp-最长公共子序列
    最长公共子序列目录最长公共子序列问题描述最长公共子序列不等于最长公共子串问题分析程序问题描述最长公共子序列(LCS)是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。一个数列,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的......
  • MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类|
    最近我们被客户要求撰写关于长短期记忆(LSTM)神经网络的研究报告,包括一些图形和统计输出。此示例说明如何使用长短期记忆(LSTM)网络对序列数据的每个时间步长进行分类。要训练深度神经网络对序列数据的每个时间步进行分类,可以使用 序列对序列LSTM网络。序列对序列LSTM网络......
  • 最长公共子序列
    最长公共子序列题目描述给定长度为\(n\)的数组\(a\),长度为\(m\)的数组\(b\),求其最长公共子序列长度DP\(f[i][j]\)表示\(a\)前\(i\)项和\(b\)前\(j\)项的最长公共子序列长度因为如果我们要在序列尾巴上加元素是不跟前面选了什么有关系的,所以没有后效性,珂以DP......