最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

拓端tecdat|R語言時(shí)間序列TAR閾值自回歸模型

2021-06-30 23:27 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=5231

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

為了方便起見,這些模型通常簡稱為TAR模型。這些模型捕獲了線性時(shí)間序列模型無法捕獲的行為,例如周期,幅度相關(guān)的頻率和跳躍現(xiàn)象。Tong和Lim(1980)使用閾值模型表明,該模型能夠發(fā)現(xiàn)黑子數(shù)據(jù)出現(xiàn)的不對(duì)稱周期性行為。

一階TAR模型的示例:

σ是噪聲標(biāo)準(zhǔn)偏差,Yt-1是閾值變量,r是閾值參數(shù), {et}是具有零均值和單位方差的iid隨機(jī)變量序列。

每個(gè)線性子模型都稱為一個(gè)機(jī)制。上面是兩個(gè)機(jī)制的模型。

考慮以下簡單的一階TAR模型:


  1. #低機(jī)制參數(shù)



  2. i1 = 0.3

  3. p1 = 0.5

  4. s1 = 1


  5. #高機(jī)制參數(shù)



  6. i2 = -0.2

  7. p2 = -1.8

  8. s2 = 1


  9. thresh = -1

  10. delay = 1


  11. #模擬數(shù)據(jù)

  12. y=sim(n=100,Phi1=c(i1,p1),Phi2=c(i2,p2),p=1,d=delay,sigma1=s1,thd=thresh,sigma2=s2)$y


  13. #繪制數(shù)據(jù)



  14. plot(y=y,x=1:length(y),type='o',xlab='t',ylab=expression(Y[t])

  15. abline(thresh,0,col="red")

?TAR模型框架是原始TAR模型的修改版本。它是通過抑制噪聲項(xiàng)和截距并將閾值設(shè)置為0來獲得的:

框架的穩(wěn)定性以及某些規(guī)律性條件意味著TAR的平穩(wěn)性。穩(wěn)定性可以理解為,對(duì)于任何初始值Y1,框架都是有界過程。

在[164]中:

  1. #使用不同的起點(diǎn)檢查穩(wěn)定性

  2. startvals = c(-2, -1.1,-0.5, 0.8, 1.2, 3.4)


  3. count = 1

  4. for (s in startvals) {

  5. ysk[1

  6. } else {

  7. ysk[i] = -1.8*ysk[i-1]

  8. }


  9. count = count + 1

  10. }


  11. #繪制不同實(shí)現(xiàn)

  12. matplot(t(x),type="l"

  13. abline(0,0)

Chan和Tong(1985)證明,如果滿足以下條件,則一階TAR模型是平穩(wěn)的

一般的兩機(jī)制模型寫為:

在這種情況下,穩(wěn)定性更加復(fù)雜。然而,Chan and Tong(1985)證明,如果

模型估計(jì)

一種方法以及此處討論的方法是條件最小二乘(CLS)方法。

為簡單起見,除了假設(shè)p1 = p2 = p,1≤d≤p,還假設(shè)σ1=σ2=σ。然后可以將TAR模型方便地寫為

如果Yt-d> r,則I(Yt-d> r)= 1,否則為0。CLS最小化條件殘差平方和:

在這種情況下,可以根據(jù)是否Yt-d≤r將數(shù)據(jù)分為兩部分,然后執(zhí)行OLS估計(jì)每個(gè)線性子模型的參數(shù)。

如果r未知。

在r值范圍內(nèi)進(jìn)行搜索,該值必須在時(shí)間序列的最小值和最大值之間,以確保該序列實(shí)際上超過閾值。然后從搜索中排除最高和最低10%的值

  1. 在此受限頻帶內(nèi),針對(duì)不同的r = yt值估算TAR模型。

  2. 選擇r的值,使對(duì)應(yīng)的回歸模型的殘差平方和最小。

  1. #找到分位數(shù)

  2. lq = quantile(y,0.10)

  3. uq = quantile(y,0.90)


  4. #繪制數(shù)據(jù)

  5. plot(y=y,x=1:length(y),type='o',xlab='t'abline(lq,0,col="blue")

  6. abline(uq,0,col="blue")

  1. #模型估計(jì)數(shù)



  2. sum( (lq <= y ) & (y <= uq) )


80

如果d未知。

令d取值為1,2,3,...,p。為每個(gè)d的潛在值估算TAR模型,然后選擇殘差平方和最小的模型。

Chan(1993)已證明,CLS方法是一致的。

最小AIC(MAIC)方法

由于在實(shí)踐中這兩種情況的AR階數(shù)是未知的,因此需要一種允許對(duì)它們進(jìn)行估計(jì)的方法。對(duì)于TAR模型,對(duì)于固定的r和d,AIC變?yōu)?/p>

然后,通過最小化AIC對(duì)象來估計(jì)參數(shù),以便在某個(gè)時(shí)間間隔內(nèi)搜索閾值參數(shù),以使任何方案都有足夠的數(shù)據(jù)進(jìn)行估計(jì)。

  1. #估算模型

  2. #如果知道閾值


  3. #如果閾值尚不清楚


  4. #MAIC 方法



  5. for (d in 1:3) {

  6. if (model.tar.s$AIC < AIC.best) {

  7. AIC.best = model.tar.s$AIC

  8. model.best$d = d

  9. model.best$p1 = model.tar.s

  10. ar.s$AIC, signif(model.tar.s$thd,4)


  11. AICM


dAICR121311.2-1.0020112372.60.2218123388.4-1.387010

非線性測(cè)試

1.使用滯后回歸圖進(jìn)行目測(cè)。

繪制Yt與其滯后。擬合的回歸曲線不是很直,可能表明存在非線性關(guān)系。

在[168]中:

lagplot(y)

?

2.Keenan檢驗(yàn):

考慮以下由二階Volterra展開引起的模型:

其中{?t} 的iid正態(tài)分布為零均值和有限方差。如果η=0,則該模型成為AR(mm)模型。

可以證明,Keenan檢驗(yàn)等同于回歸模型中檢驗(yàn)η=0:

其中Yt ^ 是從Yt-1,...,Yt-m上的Yt回歸得到的擬合值。

3. Tsay檢驗(yàn):

Keenan測(cè)試的一種更通用的替代方法。用更復(fù)雜的表達(dá)式替換為Keenan檢驗(yàn)給出的上述模型中的項(xiàng)η(∑mj = 1?jYt-j)2。最后對(duì)所有非線性項(xiàng)是否均為零的二次回歸模型執(zhí)行F檢驗(yàn)。

在[169]中:

  1. #檢查非線性: Keenan, Tsay

  2. #Null is an AR model of order 1

  3. Keenan.test(y,1)

  1. $test.stat


  2. 90.2589565661567


  3. $p.value


  4. 1.76111433596097e-15


  5. $order


  6. 1

在[170]中:

Tsay.test(y,1)

  1. $test.stat


  2. 71.34


  3. $p.value


  4. 3.201e-13


  5. $order


  6. 1

4.檢驗(yàn)閾值非線性

這是基于似然比的測(cè)試。

零假設(shè)是AR(pp)模型;另一種假設(shè)是具有恒定噪聲方差的p階的兩區(qū)域TAR模型,即σ1=σ2=σ。使用這些假設(shè),可以將通用模型重寫為

零假設(shè)表明?2,0 = ?2,1 = ... = ?2,p = 0。

似然比檢驗(yàn)統(tǒng)計(jì)量可以證明等于

其中n-p是有效樣本大小,σ^ 2(H0)是線性AR(p)擬合的噪聲方差的MLE,而σ^ 2(H1)來自TAR的噪聲方差與在某個(gè)有限間隔內(nèi)搜索到的閾值的MLE。

H0下似然比檢驗(yàn)的采樣分布具有非標(biāo)準(zhǔn)采樣分布;參見Chan(1991)和Tong(1990)。

在[171]中:

  1. res = tlrt(y, p=1, d=1, a=0.15, b=0.85)

  2. res

  1. $percentiles


  2. 14.1


  3. 85.9

  4. $test.statistic


  5. :?142.291963130459


  6. $p.value


  7. :?0

模型診斷

使用殘差分析完成模型診斷。TAR模型的殘差定義為

標(biāo)準(zhǔn)化殘差是通過適當(dāng)?shù)臉?biāo)準(zhǔn)偏差標(biāo)準(zhǔn)化的原始?xì)埐睿?/p>

如果TAR模型是真正的數(shù)據(jù)機(jī)制,則標(biāo)準(zhǔn)化殘差圖應(yīng)看起來是隨機(jī)的??梢酝ㄟ^檢查標(biāo)準(zhǔn)化殘差的樣本ACF來檢查標(biāo)準(zhǔn)化誤差的獨(dú)立性假設(shè)。

  1. #模型診斷


  2. diag(model.tar.best, gof.lag=20)

預(yù)測(cè)

預(yù)測(cè)分布通常是非正態(tài)的。通常,采用模擬方法進(jìn)行預(yù)測(cè)。考慮模型

然后給定Yt = yt,Yt-1 = yt-1,...

因此,可以通過從誤差分布中繪制et + 1并計(jì)算h(yt,et + 1),來獲得單步預(yù)測(cè)分布的Yt + 1的實(shí)現(xiàn)。 。

通過獨(dú)立重復(fù)此過程?B?次,您可以?從向前一步預(yù)測(cè)分布中隨機(jī)獲得B值樣本?。

可以通過這些B?值的樣本平均值來估計(jì)提前一步的預(yù)測(cè)平均值?。

通過迭代,可以輕松地將仿真方法擴(kuò)展為找到任何l步提前預(yù)測(cè)分布:

其中Yt = yt和et + 1,et + 2,...,et + l是從誤差分布得出的ll值的隨機(jī)樣本。

在[173]中:

  1. #預(yù)測(cè)

  2. model.tar.pred r.best, n.ahead = 10, n.sim=1000)

  3. y.pred = ts(c

  4. lines(ts(model.tar.pred$pred.interval[2,], start=end(y) + c(0,1), freq=1), lty=2)

  5. lines(ts(model

樣例

這里模擬的時(shí)間序列是1700年至1988年太陽黑子的年數(shù)量。

在[174]中:

  1. #數(shù)據(jù)集

  2. #太陽黑子序列,每年


  3. plot.ts(sunsp

  1. #通過滯后回歸圖檢查非線性

  2. lagplot(sunspo)

  1. #使用假設(shè)檢驗(yàn)檢查線性

  2. Keenan.test(sunspot.year)

  3. Tsay.test(sunspot.year)

  1. $test.stat


  2. 18.2840758932705


  3. $p.value


  4. 2.64565849317573e-05


  5. $order


  6. 9


  7. $test.stat


  8. 3.904


  9. $p.value


  10. 6.689e-12


  11. $order


  12. 9

在[177]中:

  1. #使用MAIC方法

  2. AIC{

  3. sunspot.tar.s = tar(sunspot.year, p1 = 9, p2 = 9, d = d, a=0.15, b=0.85)


  4. AICM

dAICR121228522.7692224841.0993222631.5794225147.8875229684.8936229119.8897227243.9998224448.5929222147.593

在[178]中:

  1. #測(cè)試閾值非線性

  2. tl(sunspot.year, p=9, d=9, a=0.15, b=0.85)


  1. $percentiles


  2. 15


  3. 85

  4. $test.statistic


  5. :?52.2571950943405


  6. $p.value


  7. :?6.8337179274236e-06

  1. #模型診斷

  2. tsdiag(sunspot.tar.best)

  1. #預(yù)測(cè)

  2. sunspot.tar.pred <- predict(sunspot.tar.best, n.ahead = 10, n.sim=1000)


  3. lines(ts(sunspot.tar.pred$pretart=e

  1. #擬合線性AR模型

  2. #pacf(sunspot.year)

  3. #嘗試AR階數(shù)9

  4. ord = 9

  5. ar.mod <- arima(sunspot.year, order=c(ord,0,0), method="CSS-ML")


  6. plot.ts(sunspot.year[10:289]

模擬TAR模型上的AR性能

示例1.?將AR(4)擬合到TAR模型

  1. set.seed(12349)

  2. #低機(jī)制參數(shù)

  3. i1 = 0.3

  4. p1 = 0.5

  5. s1 = 1


  6. #高機(jī)制參數(shù)

  7. i2 = -0.2

  8. p2 = -1.8

  9. s2 = 1


  10. thresh = -1

  11. delay = 1


  12. nobs = 200

  13. #模擬200個(gè)樣本

  14. y=sim(n=nobs,Phi1=c(i1,p1),Phi$y


  15. #使用Tsay的檢驗(yàn)確定最佳AR階數(shù)

  16. ord <- Tsay.test(y)$order

  17. #線性AR模型

  18. #pacf(sunspot.year)

  19. #try AR order 4

例子2.?將AR(4)擬合到TAR模型

例子3.?將AR(3)擬合到TAR模型

例子3.?將AR(7)擬合到TAR模型

參考文獻(xiàn)

恩德斯(W. Enders),2010年。應(yīng)用計(jì)量經(jīng)濟(jì)學(xué)時(shí)間序列

最受歡迎的見解

1.在python中使用lstm和pytorch進(jìn)行時(shí)間序列預(yù)測(cè)

2.python中利用長短期記憶模型lstm進(jìn)行時(shí)間序列預(yù)測(cè)分析

3.使用r語言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析

4.r語言多元copula-garch-模型時(shí)間序列預(yù)測(cè)

5.r語言copulas和金融時(shí)間序列案例

6.使用r語言隨機(jī)波動(dòng)模型sv處理時(shí)間序列中的隨機(jī)波動(dòng)

7.r語言時(shí)間序列tar閾值自回歸模型

8.r語言k-shape時(shí)間序列聚類方法對(duì)股票價(jià)格時(shí)間序列聚類

9.python3用arima模型進(jìn)行時(shí)間序列預(yù)測(cè)


拓端tecdat|R語言時(shí)間序列TAR閾值自回歸模型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
鄂伦春自治旗| 图片| 昭觉县| 乐安县| 陆河县| 通江县| 北海市| 株洲县| 建瓯市| 治县。| 青河县| 荣成市| 财经| 梧州市| 大埔区| 丹寨县| 南乐县| 桦川县| 卢湾区| 嘉荫县| 修武县| 滦平县| 新津县| 如皋市| 和林格尔县| 巨野县| 天祝| 郑州市| 竹山县| 遵化市| 炎陵县| 淮阳县| 若羌县| 汝州市| 景泰县| 岱山县| 清流县| 沧源| 桐城市| 呼图壁县| 邳州市|