Ví dụ đẹp trong đó một loạt không có gốc đơn vị là không cố định?


18

Tôi đã thấy nhiều lần mọi người từ chối null trong một thử nghiệm Dickey-Fuller tăng cường , và sau đó tuyên bố rằng nó cho thấy loạt của họ là ổn định (thật không may, tôi không thể hiển thị các nguồn của các khiếu nại này, nhưng tôi tưởng tượng các khiếu nại tương tự tồn tại ở đây và ở đó một hoặc một tạp chí khác).

Tôi cho rằng đó là một sự hiểu lầm (việc từ chối null của một đơn vị gốc không nhất thiết giống như có một loạt văn phòng phẩm, đặc biệt là vì các hình thức không cố định khác hiếm khi được điều tra hoặc thậm chí được xem xét khi các thử nghiệm như vậy được thực hiện).

Những gì tôi tìm kiếm là:

a) một ví dụ rõ ràng tốt đẹp cho yêu cầu (tôi có thể tưởng tượng ra một cặp vợ chồng ngay bây giờ nhưng tôi cá rằng một người khác không phải tôi sẽ có thứ gì đó tốt hơn những gì tôi có trong đầu). Nó có thể là một mô tả về một tình huống cụ thể, có thể với dữ liệu (mô phỏng hoặc thực; cả hai đều có lợi thế của chúng); hoặc là

b) một lập luận thuyết phục tại sao sự từ chối trong một Dickey-Fuller tăng cường nên được coi là thiết lập sự ổn định

(hoặc thậm chí cả (a) và (b) nếu bạn cảm thấy thông minh)


3
với xác suất 1.Xn=(1)n
hồng y

@cardinal Chà, điều đó chắc chắn sẽ bị từ chối bởi thử nghiệm ADF (chỉnh sửa: vâng, đúng vậy) và rõ ràng là không cố định (một gốc trên vòng tròn đơn vị, nhưng không phải là gốc bằng 1 mà ADF phát hiện); vì vậy sẽ được tính.
Glen_b -Reinstate Monica

Lưu ý rằng thử nghiệm ADF có các biến thể trong đó xu hướng được bao gồm. Nếu null bị từ chối, chuỗi này là ổn định theo xu hướng, tức là đứng yên nếu xu hướng bị loại bỏ, tuy nhiên không phải là văn phòng phẩm.
mpiktas

+1. Glen_b, liệu một xu hướng tuyến tính + nhiễu AR (1) tĩnh có được tính là một ví dụ ngược lại không?
amip nói rằng Phục hồi lại

Câu trả lời:


15

Dưới đây là một ví dụ về loạt không cố định mà thậm chí không có kiểm tra tiếng ồn trắng nào có thể phát hiện (huống chi là kiểm tra loại Dickey-Fuller):

đây không phải là tiếng ồn trắng

Vâng, điều này có thể gây ngạc nhiên nhưng Đây không phải là tiếng ồn trắng .

Hầu hết các ví dụ về bộ đếm không cố định đều dựa trên sự vi phạm hai điều kiện đầu tiên của văn phòng phẩm: xu hướng xác định (trung bình không cố định) hoặc chuỗi thời gian gốc đơn vị / không đồng nhất (phương sai không liên tục). Tuy nhiên, bạn cũng có thể có các quy trình không cố định có giá trị trung bình và phương sai không đổi, nhưng chúng vi phạm điều kiện thứ ba: hàm tự động điều khiển (ACVF) không đổi theo thời gian và hàm của | s - t | chỉ có.cov(xs,xt)|st|

Chuỗi thời gian ở trên là một ví dụ về chuỗi như vậy, có giá trị trung bình bằng 0, phương sai đơn vị, nhưng ACVF phụ thuộc vào thời gian. Chính xác hơn, quá trình trên là một MA văn phòng phẩm tại địa phương (1) quá trình với các thông số như vậy mà nó trở thành tiếng ồn trắng giả mạo (xem tài liệu tham khảo dưới đây): tham số của quá trình MA thay đổi theo thời gianxt=εt+θ1εt1

θ1(u)=0.51u,

u=t/T

Để biết thêm mã R và biết thêm chi tiết, xem thêm bài đăng trên blog này .

Cập nhật sau khi mpiktas bình luận :

θ(u)γθ(k,u)θ^θ(u)θ(u)θ^θ^

Hãy xem một ví dụ

library(fracdiff)
library(data.table)

tree.ring <- ts(fread(file.path(data.path, "tree-rings.txt"))[, V1])
layout(matrix(1:4, ncol = 2))
plot(tree.ring)
acf(tree.ring)
mod.arfima <- fracdiff(tree.ring)
mod.arfima$d


## [1] 0.236507

d^=0.23d^<0.5

arfima.res <- diffseries(tree.ring, mod.arfima$d)
plot(arfima.res)
acf(arfima.res)

chuỗi thời gian và cốt truyện acf

Có vẻ tốt phải không? Vâng, vấn đề là phần dư là tiếng ồn trắng giả . Làm sao tôi biết? Đầu tiên, tôi có thể kiểm tra nó

Box.test(arfima.res, type = "Ljung-Box")
## 
##  Box-Ljung test
## 
## data:  arfima.res
## X-squared = 1.8757, df = 1, p-value = 0.1708

Box.test.ls(arfima.res, K = 4, type = "Ljung-Box")
## 
##  LS Ljung-Box test; Number of windows = 4; non-overlapping window
##  size = 497
## 
## data:  arfima.res
## X-squared = 39.361, df = 4, p-value = 5.867e-08

và thứ hai, chúng ta biết từ tài liệu rằng dữ liệu vòng cây trên thực tế là nhiễu phân đoạn cố định cục bộ: xem Goerg (2012)Ferreira, Olea và Palma (2013) .

Điều này cho thấy rằng - ví dụ về mặt lý thuyết của tôi, thực sự đang xảy ra trong hầu hết các ví dụ thực tế.


+1, ví dụ rất hay! Tôi quan tâm mặc dù có bất kỳ ví dụ thực tế của loạt như vậy?
mpiktas

@mpiktas Tôi đã thêm một bản cập nhật cho bài đăng sẽ trả lời câu hỏi của bạn.
Georg M. Goerg

γ1(u)=θ(u)σ(u)σ(u1/T)θ(u)γ^101θ(u)du=001θ(u)σ2(u)du=0σ(u)θ(u)εt

Ví dụ đưa ra của bạn nói rằng khi chúng ta có mô hình thay đổi theo thời gian, việc điều chỉnh mô hình không thay đổi theo thời gian sẽ dẫn đến suy luận không chính xác. Nhưng điều này khác xa với việc mỗi chuỗi thời gian thực có thể được mô hình hóa bằng mô hình thay đổi theo thời gian. Mặt khác, bài kiểm tra của bạn có thể được áp dụng để kiểm tra sự hiện diện của biến đổi thời gian. Cảm ơn một lần nữa cho một cái nhìn sâu sắc thú vị.
mpiktas

σ(u)20.5T

7

ví dụ 1

Các quy trình gốc đơn vị có thành phần MA âm tính mạnh được biết là dẫn đến các xét nghiệm ADF với kích thước thực nghiệm cao hơn nhiều so với quy trình danh nghĩa (ví dụ, Schwert, JBES 1989 ).

Yt=Yt1+ϵt+θϵt1,
θ1

T(ρ^1)

library(urca)
reps <- 1000
n <- 100
rejections <- matrix(NA,nrow=reps)

for (i in 1:reps){
  y <- cumsum(arima.sim(n = n, list(ma = -0.98)))
  rejections[i] <- (summary(ur.df(y, type = "drift", selectlags="Fixed",lags=12*(n/100)^.25))@teststat[1] < -2.89)
}
mean(rejections)

Ví dụ 2

Yt

Tùy thuộc vào loại thay đổi phương sai, kiểm tra ADF vẫn sẽ từ chối thường xuyên. Trong ví dụ của tôi dưới đây, chúng ta có một sự phá vỡ phương sai đi xuống, điều này làm cho bài kiểm tra "tin" rằng chuỗi hội tụ, dẫn đến sự từ chối null của một đơn vị gốc.

library(urca)
reps <- 1000
n <- 100
rejections <- matrix(NA,nrow=reps)

for (i in 1:reps){
  u_1 <- rnorm(n/2,sd=5)
  u_2 <- rnorm(n/2,sd=1)
  u <- c(u_1,u_2)
  y <- arima.sim(n=n,list(ar = 0.8),innov=u)
  rejections[i] <- (summary(ur.df(y, type = "drift"))@teststat[1] < -2.89)      
}
mean(rejections)

(Bên cạnh đó, xét nghiệm ADF "mất" phân phối null không có triệu chứng quan trọng của nó với sự hiện diện của tính không đồng nhất vô điều kiện.)


@Glen_b, rằng (tôi hy vọng) có thể là một câu trả lời cho đoạn đầu tiên của bạn, nhưng không thực sự cho tiêu đề của câu hỏi của bạn - có sự khác biệt hoặc thiếu hiểu biết về phía tôi không?
Christoph Hanck

"Điều đó" = Ví dụ 1
Christoph Hanck

Nó phụ thuộc vào "đơn vị gốc" được định nghĩa là gì. Ban đầu tôi đã học nó là "gốc trên vòng tròn đơn vị" (gốc của mô đun 1) nhưng bây giờ nó dường như (và trong bối cảnh thử nghiệm ADF liên quan đến) một gốc của đa thức đặc trưng thực sự bằng 1 . Ngay cả khi tôi có ý nghĩa sai trong tiêu đề, câu trả lời của bạn trả lời cho câu hỏi dự định, vì vậy hãy nghĩ rằng nó ổn.
Glen_b -Reinstate Monica

Quan điểm của tôi có lẽ không được diễn đạt rõ ràng: Trong tiêu đề bạn tìm ví dụ về chuỗi "không có gốc đơn vị", trong khi đoạn đầu tiên (với tôi) nghe có vẻ như tìm kiếm các ví dụ trong đó từ chối là sai. Ví dụ đầu tiên của tôi là một ví dụ cho trường hợp sau, trong đó ADF có khả năng từ chối, mặc dù quá trình này có gốc đơn vị.
Christoph Hanck

À, xin lỗi, tôi đã không nghĩ về nó đúng cách. Vâng, hoàn toàn không phù hợp với cách giải thích của tiêu đề, nhưng nó vẫn trả lời cho câu hỏi rộng hơn trong cơ thể. (Các tiêu đề nhất thiết phải ít sắc thái hơn, vì vậy đây không phải là vấn đề.) ... Tôi nghĩ đó là một câu trả lời rất thú vị, và nếu bất cứ điều gì phục vụ mục đích thực sự của tôi tốt hơn những gì tiêu đề yêu cầu.
Glen_b -Reinstate Monica

7

Kiểm tra gốc đơn vị là nổi tiếng khó khăn. Sử dụng một bài kiểm tra thường là không đủ và bạn phải rất cẩn thận về các giả định chính xác mà bài kiểm tra đang sử dụng.

Cách ADF được xây dựng khiến nó dễ bị tổn thương trước một loạt các xu hướng phi tuyến tính đơn giản có thêm nhiễu trắng. Đây là một ví dụ:

library(dplyr)
library(tseries)
set.seed(1000)
oo <- 1:1000  %>% lapply(function(n)adf.test(exp(seq(0, 2, by = 0.01)) + rnorm(201)))
pp <- oo %>% sapply("[[","p.value")

> sum(pp < 0.05)
[1] 680

Ở đây chúng ta có xu hướng theo cấp số nhân và chúng ta thấy rằng ADF hoạt động khá kém. Nó chấp nhận null của đơn vị gốc 30% thời gian và từ chối nó 70% thời gian.

Thông thường, kết quả của bất kỳ phân tích nào là không cho rằng loạt phim có ổn định hay không. Nếu các phương pháp được sử dụng trong phân tích đòi hỏi sự ổn định, thì giả định sai rằng chuỗi này là ổn định khi nó thực sự không, thường biểu hiện theo cách này hay cách khác. Vì vậy, cá nhân tôi nhìn vào toàn bộ phân tích, không chỉ phần kiểm tra gốc đơn vị. Ví dụ, OLS và NLS hoạt động tốt đối với dữ liệu không cố định, trong đó tính không cố định có nghĩa là xu hướng. Vì vậy, nếu ai đó tuyên bố sai rằng bộ phim là ổn định và áp dụng OLS / NLS, yêu cầu này có thể không liên quan.


1
p>0.05

À đúng rồi, tôi nhầm lẫn các dấu hiệu. Tôi đã sửa câu trả lời cho phù hợp. Cảm ơn đã chú ý!
mpiktas

Tại sao bạn không sử dụng sapply(oo, "[[","p.value")?
mầmcd

Vâng, tôi đã sử dụng nó, chỉ với cú pháp ống. Tôi thích đường ống :)
mpiktas

1
Tôi cũng thích dplyr. Đối với mã này là không cần thiết, tải magrittr là đủ.
mpiktas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.