馬爾可夫轉換模型研究交通傷亡人數事故時間序列預測|附代碼數據

2023-08-14     tecdat拓端

原標題:馬爾可夫轉換模型研究交通傷亡人數事故時間序列預測|附代碼數據

原文連結: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模型

文章來源: https://twgreatdaily.com/zh-tw/0866584fa6c56ea387024c5a3a829888.html