时间序列与R语言应用(part3)--趋势平稳与差分平稳
學(xué)習(xí)筆記
參考書籍:《計(jì)量經(jīng)濟(jì)學(xué)》
PS:本系列停更1天(0408恢復(fù)更新),想先更新隔壁的Xpath和離群點(diǎn)檢測
趨勢平穩(wěn)與差分平穩(wěn)
趨勢平穩(wěn)與差分平穩(wěn)隨機(jī)過程
- 虛假回歸
一些非平穩(wěn)的經(jīng)濟(jì)時(shí)間序列往往表現(xiàn)出共同的變化趨勢,而這些序列間本身不一定有直接的關(guān)聯(lián)關(guān)系,這時(shí)對這些數(shù)據(jù)進(jìn)行回歸,盡管有較高的R2R^2R2,但其結(jié)果是沒有任何實(shí)際意義的,這種現(xiàn)象我們稱之為虛假回歸。
為了避免這種虛假回歸的產(chǎn)生,通常的做法是引入作為趨勢變量的時(shí)間ttt,這樣包含有時(shí)間趨勢變量的回歸,可以消除這種趨勢性的影響。然而這種做法,只有當(dāng)趨勢性變量是確定性的而不是隨機(jī)性的,才會(huì)是有效的。換言之,一個(gè)包含有某種確定性趨勢的非平穩(wěn)時(shí)間序列,可以通過引入趨勢變量,而將確定性趨勢分離出來。
- 隨機(jī)性趨勢與確定性趨勢
考慮如下的含有1階自回歸的隨機(jī)過程:
Xt=α+βt+ρXt?1+μt(1)X_t=\alpha + \beta t + \rho X_{t-1} + \mu_t\tag{1} Xt?=α+βt+ρXt?1?+μt?(1)
其中μt\mu_tμt?為白噪聲,ttt為一個(gè)時(shí)間趨勢。
如果ρ=1,β=0\rho=1, \beta =0ρ=1,β=0,則(1)式為一個(gè)帶位移的隨機(jī)游走過程。根據(jù)α\alphaα的正負(fù),XtX_tXt?表現(xiàn)出明顯的上升或下降趨勢,這種趨勢稱為隨機(jī)性趨勢。
如果ρ=0,β≠0\rho=0, \beta \neq0ρ=0,β?=0,則(1)式為一個(gè)帶時(shí)間趨勢的隨機(jī)變化過程,根據(jù)β\betaβ的正負(fù),XtX_tXt?表現(xiàn)出明顯的上升或下降趨勢,這種趨勢稱為確定性趨勢。
如果ρ=1,β≠0\rho=1, \beta \neq0ρ=1,β?=0,則XtX_tXt?包含確定性與隨機(jī)性兩種趨勢。
判斷一個(gè)非平穩(wěn)的時(shí)間序列,它的趨勢是隨機(jī)性的還是確定性的,可通過ADF檢驗(yàn)中所用的第3個(gè)模型:
ΔXt=α+βt+δXt?1+∑i=1mβiΔXt?i+?t(2)\Delta X_t= \alpha+ \beta t+ \delta X_{t-1}+\sum_{i=1}^m\beta_i \Delta X_{t-i}+\epsilon_t\tag{2} ΔXt?=α+βt+δXt?1?+i=1∑m?βi?ΔXt?i?+?t?(2)
如果檢驗(yàn)結(jié)果表明所給時(shí)間序列有單位根,且時(shí)間變量ttt前的參數(shù)顯著為零,則該序列顯示出隨機(jī)性趨勢。如果沒有單位根,且時(shí)間變量ttt前的參數(shù)顯著地異于零,則該序列顯示出確定性趨勢。
- 差分平穩(wěn)過程與趨勢平穩(wěn)過程
隨機(jī)性趨勢可通過差分的方法消除,比如一個(gè)帶位移的隨機(jī)游走過程,就可以通過差分的方法使其平穩(wěn):
Xt=α+Xt?1+μt?ΔXt=α+μt(3)X_t=\alpha + X_{t-1} + \mu_t \Rightarrow \Delta X_t=\alpha + \mu_t\tag{3} Xt?=α+Xt?1?+μt??ΔXt?=α+μt?(3)
該時(shí)間序列XtX_tXt?稱為差分平穩(wěn)過程。
然而確定性趨勢無法通過差分的方法消除,只能通過除去趨勢項(xiàng)消除,如比如一個(gè)帶時(shí)間趨勢的隨機(jī)變化過程,可以通過去除時(shí)間變量ttt,使其平穩(wěn):
Xt=α+βt+μt?Xt?βt=α+μt(4)X_t=\alpha + \beta t + \mu_t \Rightarrow X_t - \beta t=\alpha + \mu_t\tag{4} Xt?=α+βt+μt??Xt??βt=α+μt?(4)
該時(shí)間序列XtX_tXt?稱為趨勢平穩(wěn)過程。趨勢平穩(wěn)過程代表了一個(gè)時(shí)間序列長期穩(wěn)定的變化過程,因而用于進(jìn)行長期預(yù)測更為可靠。
R語言實(shí)現(xiàn)
下面將模擬2個(gè)時(shí)間序列,通過ADF檢驗(yàn),判斷序列具有哪種趨勢(隨機(jī)性or確定性)
模擬序列(隨機(jī)游走):
#模擬隨機(jī)游走 set.seed(1238) n <- 1000 y <- vector(length = n) y[1] = 0 for (i in 2:n){y[i] = y[i-1] + rnorm(1, 0, 1/n) }#利用ADF檢驗(yàn)中的模型3,獲取時(shí)間變量tt的顯著性檢驗(yàn)結(jié)果 x <- y k <- 1 x <- as.vector(x, mode = "double") x_1 <- diff(x) n <- length(x_1) z <- embed(x_1, k) yt <- z[, 1] xt1 <- x[k:n] tt <- k:n res <- lm(yt ~ xt1 + 1 + tt) summary(res)$coefficients#ADF檢驗(yàn)結(jié)果 adf.test(y)$p.value控制臺輸出結(jié)果:
> summary(res)$coefficientsEstimate Std. Error t value Pr(>|t|) (Intercept) -3.512132e-05 6.686299e-05 -0.5252729 0.59951037 xt1 -4.570506e-03 3.345454e-03 -1.3661843 0.17218951 tt 2.859225e-07 1.665257e-07 1.7169867 0.08629248> adf.test(y)$p.value [1] 0.8823519由結(jié)果可知,時(shí)間變量tt的回歸系數(shù),在大于0.05的顯著性水平,不能拒絕回歸系數(shù)為0的假設(shè),說明沒有確定性趨勢,而ADF單位根檢驗(yàn)結(jié)果說明了,該序列存在單位根,則存在隨機(jī)性趨勢。
模擬序列:
n <- 100 x <- c(1:n) z <- rnorm(n, 0, 1/n) y <- 2*x + 3 + z#利用ADF檢驗(yàn)中的模型3,獲取時(shí)間變量tt的顯著性檢驗(yàn)結(jié)果 x <- y k <- 1 x <- as.vector(x, mode = "double") x_1 <- diff(x) n <- length(x_1) z <- embed(x_1, k) yt <- z[, 1] xt1 <- x[k:n] tt <- k:n res <- lm(yt ~ xt1 + 1 + tt) summary(res)$coefficients#ADF檢驗(yàn)結(jié)果 adf.test(y)$p.value控制臺輸出結(jié)果:
> summary(res)$coefficientsEstimate Std. Error t value Pr(>|t|) (Intercept) 4.7066541 0.3032464 15.520891 6.454279e-28 xt1 -0.9024946 0.1010956 -8.927142 2.998167e-14 tt 1.8050169 0.2021935 8.927177 2.997647e-14> adf.test(y)$p.value [1] 0.01由結(jié)果可知,時(shí)間變量tt的回歸系數(shù),在小于0.05的顯著性水平,拒絕回歸系數(shù)為0的假設(shè),說明存在確定性趨勢,而ADF單位根檢驗(yàn)結(jié)果說明了,該序列不存在單位根,則沒有隨機(jī)性趨勢。
總結(jié)
以上是生活随笔為你收集整理的时间序列与R语言应用(part3)--趋势平稳与差分平稳的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奶块有领地怎么偷坐骑
- 下一篇: 奶块找矿洞技巧(奶萝如何选择)