R語言馬爾可夫轉(zhuǎn)換模型研究交通傷亡人數(shù)事故預(yù)測(cè)
原文鏈接:http://tecdat.cn/?p=12227
?
摘要
本文描述了R語言中馬爾克夫轉(zhuǎn)換模型的分析過程。首先,對(duì)模擬數(shù)據(jù)集進(jìn)行詳細(xì)建模。接下來,將馬爾可夫轉(zhuǎn)換模型擬合到具有離散響應(yīng)變量的真實(shí)數(shù)據(jù)集。用于驗(yàn)證對(duì)這些數(shù)據(jù)集建模的不同方法。
模擬實(shí)例
示例數(shù)據(jù)是一個(gè)模擬數(shù)據(jù)集,用于展示如何檢測(cè)兩種不同模式的存在:一種模式中的響應(yīng)變量高度相關(guān),另一種模式中的響應(yīng)僅取決于外生變量x。自相關(guān)觀測(cè)值的區(qū)間為1到100、151到180 和251到300。每種方案的真實(shí)模型為:

圖1中的曲線表明,在不存在自相關(guān)的區(qū)間中,響應(yīng)變量y具有與協(xié)變量x相似的行為。擬合線性模型以研究協(xié)變量x如何解釋變量響應(yīng)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:模擬數(shù)據(jù),y變量是響應(yīng)變量
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
協(xié)變量確實(shí)很重要,但是模型解釋的數(shù)據(jù)行為非常糟糕。圖1中的線性模型殘差圖表明,它們的自相關(guān)很強(qiáng)。殘差的診斷圖(圖2)確認(rèn)它們似乎不是白噪聲,并且具有自相關(guān)關(guān)系。接下來,將自回歸馬爾可夫轉(zhuǎn)換模型(MSM-AR)擬合到數(shù)據(jù)。自回歸部分設(shè)置為1。為了指示所有參數(shù)在兩個(gè)周期中都可以不同,將轉(zhuǎn)換參數(shù)(sw)設(shè)置為具有四個(gè)分量的矢量。擬合線性模型時(shí)的最后一個(gè)值稱為殘差。

?
標(biāo)準(zhǔn)偏差。有一些選項(xiàng)可控制估算過程,例如用于指示是否完成了過程并行化的邏輯參數(shù)。
?
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具有協(xié)方差x非常顯著的狀態(tài),而在其他情況下,自相關(guān)變量也非常重要。兩者的R平方均具有較高的值。最后,轉(zhuǎn)移概率矩陣具有較高的值,這表明很難從接通狀態(tài)更改為另一個(gè)狀態(tài)。該模型可以完美地檢測(cè)每個(gè)狀態(tài)的周期。殘差看起來像是白噪聲,它們適合正態(tài)分布。而且,自相關(guān)消失了。

?



?圖形顯示已完美檢測(cè)到每個(gè)方案的周期。
> plot(mod.mswm,expl="x")

交通事故
?
交通數(shù)據(jù)包含2010年西班牙交通事故的每日人數(shù),平均每日溫度和每日降水量。該數(shù)據(jù)的目的是研究死亡人數(shù)與氣候條件之間的關(guān)系。由于在周末和工作日變量之間存在不同的行為,因此我們說明了在這種情況下使用廣義馬爾科夫轉(zhuǎn)換模型的情況。
在此示例中,響應(yīng)變量是計(jì)數(shù)變量。因此,我們擬合了泊松廣義線性模型。
> 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
下一步,使用擬合馬爾可夫轉(zhuǎn)換模型。為了適應(yīng)廣義馬爾可夫轉(zhuǎn)換模型,必須包含族參數(shù),而且glm沒有標(biāo)準(zhǔn)偏差參數(shù),因此sw參數(shù)不包含其切換參數(shù)。
>
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
兩種狀態(tài)都有顯著的協(xié)變量,但降水協(xié)變量?jī)H在這兩種狀態(tài)之一中是顯著的。
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
?
?

由于模型是通用線性模型的擴(kuò)展,因此從類對(duì)象計(jì)算出圖中的Pearson殘差。該殘差有白噪聲的經(jīng)典結(jié)構(gòu)。殘差不是自相關(guān)的,但它們與正態(tài)分布不太吻合。但是,Pearson殘差的正態(tài)性不是廣義線性模型驗(yàn)證的關(guān)鍵條件。
> plot(m1,which=2)
?

?

我們可以看到短時(shí)間內(nèi)的狀態(tài)分配,因?yàn)檩^大的狀態(tài)基本上包含工作日。

最受歡迎的見解
1.用R語言模擬混合制排隊(duì)隨機(jī)服務(wù)排隊(duì)系統(tǒng)
2.R語言中使用排隊(duì)論預(yù)測(cè)等待時(shí)間
3.R語言中實(shí)現(xiàn)馬爾可夫鏈蒙特卡羅MCMC模型
4.R語言中的馬爾科夫機(jī)制轉(zhuǎn)換(Markov regime switching)模型
5.matlab貝葉斯隱馬爾可夫hmm模型
6.用R語言模擬混合制排隊(duì)隨機(jī)服務(wù)排隊(duì)系統(tǒng)
7.Python基于粒子群優(yōu)化的投資組合優(yōu)化
8.R語言馬爾可夫轉(zhuǎn)換模型研究交通傷亡人數(shù)事故預(yù)測(cè)
9.用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況——隱馬爾可夫模型的應(yīng)用