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

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

分解商業(yè)周期時間序列:線性濾波器、HP濾波器、Baxter濾波器、Beveridge Nelson分解等

2022-12-01 17:58 作者:拓端tecdat  | 我要投稿

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

最近我們被客戶要求撰寫關(guān)于商業(yè)周期分解的研究報告,包括一些圖形和統(tǒng)計輸出。本文包含各種過濾器,可用于分解南非GDP的方法。我們做的第一件事是清除當(dāng)前環(huán)境中的所有變量。這可以通過以下命令進(jìn)行

分解南非GDP數(shù)據(jù)

本文包含各種過濾器,可用于分解南非GDP的方法。我們做的第一件事是清除當(dāng)前環(huán)境中的所有變量。這可以通過以下命令進(jìn)行。

rm(list?=?ls()) graphics.off()

載入數(shù)據(jù)

如前所述,南非的GDP數(shù)據(jù)將其作為時間序列存儲在gdp中,我們執(zhí)行以下命令。

gdp?<-?ts(dat.tmp,?start?=?c(1960,?2),?frequency?=?4)

為了確保這些計算和提取的結(jié)果是正確的,我們檢查一下數(shù)據(jù)的圖表。

plot(gdp)

線性濾波器_去除數(shù)據(jù)線性趨勢_

為了估計一個線性趨勢,我們可以利用一個包括時間趨勢和常數(shù)的線性回歸模型。為了估計這樣一個模型,我們使用lm命令,如下。

lin.mod$fitted.values??#?擬合值與時間趨勢有關(guān)ts(lin.trend,?start?=?c(1960,?1))??#?為趨勢創(chuàng)建一個時間序列變量gdp?-?linear??#?周期是數(shù)據(jù)和線性趨勢之間的差異

回歸的擬合值包含與線性趨勢有關(guān)的信息。這些信息需要從模型對象lin.mod中提取,在上面的塊中,我們將這些值分配給時間序列對象linear。然后從數(shù)據(jù)中剔除趨勢,就得到了周期。

然后我們可以借助下面的命令來繪制這個結(jié)果,其中趨勢和周期被繪制在不同的數(shù)字上。

plot.ts(gdp,?ylab?=?"")?? lines(linear,?col?=?"red")?? legend("topleft",?legend?=?c("data",?"trend")

霍德里克 - 普雷斯科特?(Hodrick-Prescott,HP)?_濾波器_對數(shù)據(jù)進(jìn)行去趨勢處理

要用流行的HP濾波法分解這個數(shù)據(jù)。在這種情況下,我們將lambda的值設(shè)置為1600,這也是對季度數(shù)據(jù)的建議。

hp(gdp,?freq?=?1600) plot.ts(gdp,?ylab?=?"")??#?繪制時間序列plot.ts(hp.decom$cycle,?ylab?=?"")??#?繪制周期圖

這似乎更準(zhǔn)確地反映了我們對南非經(jīng)濟(jì)表現(xiàn)的理解。

點擊標(biāo)題查閱往期內(nèi)容

R語言從經(jīng)濟(jì)時間序列中用HP濾波器,小波濾波和經(jīng)驗?zāi)B(tài)分解等提取周期性成分分析

左右滑動查看更多

01

02

03

04

用Baxter-King濾波器去趨勢數(shù)據(jù)

為了利用Baxter-King 濾波器。在這種情況下,我們需要指定周期的頻帶,其上限被設(shè)定為32,下限被設(shè)定為6。

bk(gdp,?pl?=?6,?pu?=?32) plot.ts(gdp,?ylab?=?"") plot.ts(cycle,?ylab?=?"")

這似乎再次為南非經(jīng)濟(jì)活動的周期性提供了一個相當(dāng)準(zhǔn)確的表述。還要注意的是,周期的表示比以前提供的要平滑得多,因為噪音不包括在周期中。

Christiano-Fitzgerald濾波器去趨勢數(shù)據(jù)

這個濾波器的性質(zhì)與上面提供的非常相似。此外,產(chǎn)生與Baxter-King濾波器高度相似的結(jié)果。

plot.ts(gdp,?ylab?=?"") plot.ts(cfcycle,?ylab?=?"")

用Beveridge-Nelson分解法 "去趨勢 "數(shù)據(jù)?

為了將數(shù)據(jù)分解為隨機(jī)趨勢和平穩(wěn)周期,我們可以采用Beveridge-Nelson分解法。當(dāng)采用這種技術(shù)時,我們需要指定與平穩(wěn)部分有關(guān)的滯后期的數(shù)量。在我下面的例子中,我假設(shè)有八個滯后期。

plot.ts(gdp,?ylab?=?"") lines(bn.trend,?col?=?"red") plot.ts(bn.cycle,?ylab?=?"")

比較周期的不同衡量標(biāo)準(zhǔn)

然后,我們可以將所有這些結(jié)果結(jié)合在一張圖上,考慮各自的相似性和差異。在這個例子中,我創(chuàng)建了一個時間序列ts.union,但是我也可以先繪制一個單一的序列,然后再使用lines命令在上面繪制連續(xù)的圖。

?ts.union(lin.cycle,?hp.decom,?bp.decom,? ????cf.decom,?bn.cycle) plot.ts(comb,?ylab?=?"")

譜分解

在我們考慮使用譜技術(shù)之前,最好先清除當(dāng)前環(huán)境中的所有變量,并關(guān)閉所有的圖。下一步是確保你可以通過使用library命令來訪問這些包中的程序。

library(tsm)library(TSA)library(mFilter)

使用譜技術(shù)進(jìn)行分解。我們可以為三個時間序列變量生成數(shù)值,然后將它們組合成一個單一的變量。

2?*?cos(2?*?pi?*?t?*?w[1])?+?3?*?sin(2?*?pi?*?t?*? ????w[1])??#?no.obs點上的6個周期的頻率4?*?cos(2?*?pi?*?t?*?w[2])?+?5?*?sin(2?*?pi?*?t?*? ????w[2])??#頻率為10個周期的觀察點6?*?cos(2?*?pi?*?t?*?w[3])?+?7?*?sin(2?*?pi?*?t?*? ????w[3])??#?在沒有觀測點的情況下,頻率為40個周期y?<-?x1?+?x2?+?x3

為了觀察這些變量,我們可以把它們繪制在一個單獨(dú)的軸上。

par(mfrow?=?c(2,?2),?mar?=?c(2.2,?2.2,?2,?1),?cex?=?0.8) plot(x1,?type?=?"l",?main?=?"x1") plot(x2,?type?=?"l",?main?=?"x2") plot(x3,?type?=?"l",?main?=?"x3") plot(y,?type?=?"l",?main?=?"y")

此后,我們可以使用周期圖來考慮這些時間序列變量的每一個屬性。

gram(y,?main?=?"y",?col?=?"red")

當(dāng)然,我們可以利用一個過濾器,從總體時間序列變量中去除一些不需要的成分。為此,我們可以應(yīng)用上下限相對較窄的Christiano-Fitzgerald濾波器。此后,我們使用應(yīng)用于與周期有關(guān)的信息的周期圖,來調(diào)查它是否成功地剔除了一些頻率成分。

cf(y0)gram(cycle)

這個結(jié)果將表明,濾波器已經(jīng)排除了大部分的高頻率成分。為了看看這個周期與之前的數(shù)據(jù)有什么關(guān)系,我們把通過濾波器的周期性信息繪制在分量上。此外,我們還將這個結(jié)果繪制在綜合周期的變量上。

plot(x1,?type?=?"l",?lty?=?1) lines(cycle,?lty?=?3,?lwd?=?3) plot(y,?type?=?"l",?lty?=?1) lines(cycle,?lty?=?3,?lwd?=?3)

在這兩種情況下,它似乎都對過程中的趨勢做了合理的描述。

南非商業(yè)周期的譜分解法

為了考慮如何在實踐中使用這些頻譜分解,我們現(xiàn)在可以考慮將這些技術(shù)應(yīng)用于南非商業(yè)周期的各種特征中。

下一步將是運(yùn)行所有的過濾器,這些過濾器被應(yīng)用于識別南非商業(yè)周期的不同方法。

現(xiàn)在,讓我們對商業(yè)周期的每一個標(biāo)準(zhǔn)應(yīng)用一個周期圖。





線性濾波器提供了一個很差的結(jié)果,因為趨勢明顯占主導(dǎo)地位(這不是周期應(yīng)該有的)。這與Hodrick-Prescott濾波器的特征形成對比,后者的趨勢信息已經(jīng)被去除。Baxter & King和Christiano & Fitzgerald的帶通濾波器也是這種情況。在這兩種情況下,噪聲也已經(jīng)被去除。最后的結(jié)果與Beveridge-Nelson分解有關(guān),我們注意到周期包括大量的趨勢和大量的噪聲。

小波分解

為了提供一個小波分解的例子,我們將把該方法應(yīng)用于南非通貨膨脹的數(shù)據(jù)。這將允許使用在這個過程中推導(dǎo)出對趨勢的另一種衡量方法,這可以被認(rèn)為是代表核心通貨膨脹。請注意,這種技術(shù)可以應(yīng)用于任何階數(shù)的單整數(shù)據(jù),所以我們不需要首先考慮變量的單整階數(shù)。

然后,我們將利用消費(fèi)者價格指數(shù)的月度數(shù)據(jù),該數(shù)據(jù)包含在SARB的季度公告中。數(shù)據(jù)可以追溯到2002年。為了計算通貨膨脹的同比指標(biāo),我們使用diff和lag命令。

diff/cpi[-1?*?(length?-?11):length]

為了確保所有這些變量的轉(zhuǎn)換都已正確進(jìn)行,我們對數(shù)據(jù)進(jìn)行繪圖。

plot(inf.yoy)

由于我們在這種情況下主要對識別平滑的趨勢感興趣,我們將使用貝希斯函數(shù)。這樣的函數(shù)是Daubechies 4小波,它應(yīng)用修正的離散小波變換方法。此外,我們還將使用三個母小波來處理各自的高頻成分。

wt(yoy,?"d4")

然后我們可以為每個獨(dú)立的頻率成分繪制結(jié)果,如下所示。

plot.ts(yoy)for?(i?in?1:4)?plot.ts(d4[[i]]

如果我們現(xiàn)在想在數(shù)據(jù)上繪制趨勢(父小波)。

plot.ts(inf,?ylab?=?"inf") lines(ren)

請注意,由于各自的頻段是相加的,我們可以將其中一個母頻段加入到趨勢中,如下所示。

inf.tmp?<-?inf.tren?+?inf.d4$w3inf.tren2?<-?ts(inf.tmp,?start?=?c(2003,?1),?frequency?=?12)plot.ts(inf.yoy,?ylab?=?"inf") lines(inf.tren2,?col?=?"red")

相關(guān)經(jīng)濟(jì)變量的周期性成分之間的相關(guān)性

為了確定周期的特征是否合適,我們可以考慮宏觀經(jīng)濟(jì)總量的一些不同周期性方法之間的相關(guān)性。例如,我們可以考慮產(chǎn)出和生產(chǎn)(或就業(yè))的周期性在不同的滯后期應(yīng)該是相關(guān)的。如果它們不相關(guān),那么該方法可能無法準(zhǔn)確描述各自變量的周期性成分。

在本文使用的例子中,代碼可能有點難以理解,但我們鼓勵你自己去研究,以提高你對這個編碼環(huán)境的總體理解。?

下一步是讀入數(shù)據(jù)并為數(shù)據(jù)的各種周期性成分創(chuàng)建一些矩陣。

yd?<-?dat[5:n.obs,?]?-?dat[1:(n.obs?-?4),?]??#?存儲輸出yc_li?<-?matrix(rep(0,?n.obs?*?n.var),?ncol?=?n.var) yc_hp?<-?matrix(rep(0,?n.obs?*?n.var),?ncol?=?n.var) yc_bp?<-?matrix(rep(0,?n.obs?*?n.var),?ncol?=?n.var) yc_bn?<-?matrix(rep(0,?n.obs?*?n.var),?ncol?=?n.var)

使用上面包含的方法對數(shù)據(jù)進(jìn)行過濾。

for?(i?in?1:n)?{ ???? ????#?用線性濾波器對數(shù)據(jù)進(jìn)行去趨勢處理????lin.mod?<-?lm(dat[,?i]?~?time(dat[,?i])) ???? ????#?用HP濾波器去趨勢數(shù)據(jù)????yc_hp[,?i]?<-?hp.cycle ???? ????#用帶通濾波器去趨勢數(shù)據(jù)????yc_bp[,?i]?<-?bp.cycle ???? ????#??Beveridge-Nelson分解????yc_bn[,?i]?<-?bn.[,?2]}

計算不同提前期和滯后期的相關(guān)關(guān)系。

for?(i?in?1:n)?{ ????for?(j?in?1:n.var)?{ ????????c_li?<-?leadlag(yc_li[,?i],?yc_li[,?j],?maxLeadLag) ????????c_hp?<-?leadlag(yc_hp[,?i],?yc_hp[,?j],?maxLeadLag) ????????c_bp? ????????c_bn ????????c_yd? ???????? ????????for?(k?in?1:5)?{ ????????????ynamesLong[(cnt?+?k),?1]?<-?paste(ynames.tmp) ????????} ????????cnt?<-?cnt?+?5

繪制結(jié)果。

#?線性趨勢barplot(corrStylizedFact)box()

#?hp濾波器 op?<-?par(mfrow?=?c(1,?3))barplot(corrStyli,?ylim?=?c(-1,?1))box()

#?beveridge?nelson?分解barplot(coracts,?ylim?=?c(-1,?1),?col?=?"red") box()


本文摘選?《?R語言分解商業(yè)周期時間序列:線性濾波器、HP濾波器、Baxter濾波器、Beveridge Nelson分解等去趨勢法?》?,點擊“閱讀原文”獲取全文完整資料。

點擊標(biāo)題查閱往期內(nèi)容

R語言時間序列分解和異常檢測方法應(yīng)用案例R語言矩陣特征值分解(譜分解)和奇異值分解(SVD)特征向量分析有價證券數(shù)據(jù)R語言從經(jīng)濟(jì)時間序列中用HP濾波器,小波濾波和經(jīng)驗?zāi)B(tài)分解等提取周期性成分分析
R語言狀態(tài)空間模型和卡爾曼濾波預(yù)測酒精死亡人數(shù)時間序列matlab實現(xiàn)擴(kuò)展卡爾曼濾波(EKF)進(jìn)行故障檢測
卡爾曼濾波器:用R語言中的KFAS建模時間序列
狀態(tài)空間模型:卡爾曼濾波器KFAS建模時間序列
R語言用LOESS(局部加權(quán)回歸)季節(jié)趨勢分解(STL)進(jìn)行時間序列異常檢測
使用R語言隨機(jī)波動模型SV處理時間序列中的隨機(jī)波動率
PYTHON用時變馬爾可夫區(qū)制轉(zhuǎn)換(MRS)自回歸模型分析經(jīng)濟(jì)時間序列
R語言有限混合模型(FMM,finite mixture model)EM算法聚類分析間歇泉噴發(fā)時間
長短期記憶網(wǎng)絡(luò)LSTM在時間序列預(yù)測和文本分類中的應(yīng)用
Python隨機(jī)波動率(SV)模型對標(biāo)普500指數(shù)時間序列波動性預(yù)測
R語言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于預(yù)測時間序列數(shù)據(jù)
R語言使用ARIMAX預(yù)測失業(yè)率經(jīng)濟(jì)時間序列數(shù)據(jù)
R語言用ARIMA模型,ARIMAX模型預(yù)測冰淇淋消費(fèi)時間序列數(shù)據(jù)
R語言經(jīng)濟(jì)學(xué):動態(tài)模型平均(DMA)、動態(tài)模型選擇(DMS)預(yù)測原油時間序列價格


分解商業(yè)周期時間序列:線性濾波器、HP濾波器、Baxter濾波器、Beveridge Nelson分解等的評論 (共 條)

分享到微博請遵守國家法律
扶绥县| 商水县| 临汾市| 陈巴尔虎旗| 海晏县| 太谷县| 郯城县| 龙海市| 遂溪县| 萍乡市| 怀仁县| 临沭县| 庄浪县| 沾益县| 外汇| 潼南县| 衡山县| 封开县| 平阴县| 勃利县| 湟中县| 平陆县| 余江县| 石嘴山市| 祁东县| 忻州市| 鸡东县| 墨脱县| 文成县| 宁阳县| 伊宁市| 鄂伦春自治旗| 五家渠市| 习水县| 通化县| 保靖县| 隆德县| 分宜县| 綦江县| 隆回县| 类乌齐县|