Cho hai chuỗi thời gian sau ( x , y ; xem bên dưới), phương pháp tốt nhất để mô hình hóa mối quan hệ giữa các xu hướng dài hạn trong dữ liệu này là gì?
Cả hai chuỗi thời gian đều có các thử nghiệm Durbin-Watson đáng kể khi được mô hình hóa theo chức năng của thời gian và không dừng (như tôi hiểu thuật ngữ này, hoặc điều này có nghĩa là nó chỉ cần đứng yên trong phần dư?). Tôi đã được thông báo rằng điều này có nghĩa là tôi nên lấy chênh lệch bậc một (ít nhất, thậm chí là bậc 2) của mỗi chuỗi thời gian trước khi tôi có thể mô hình hóa một chức năng của một chuỗi khác, về cơ bản sử dụng arima (1,1,0 ), arima (1,2,0), v.v.
Tôi không hiểu tại sao bạn cần phải giảm giá trước khi bạn có thể mô hình hóa chúng. Tôi hiểu sự cần thiết phải mô hình hóa tương quan tự động, nhưng tôi không hiểu tại sao cần phải có sự khác biệt. Đối với tôi, dường như việc giảm dần bằng cách phân biệt đang loại bỏ các tín hiệu chính (trong trường hợp này là xu hướng dài hạn) trong dữ liệu mà chúng ta quan tâm và để lại "nhiễu" tần số cao hơn (sử dụng thuật ngữ nhiễu một cách lỏng lẻo). Thật vậy, trong các mô phỏng nơi tôi tạo mối quan hệ gần như hoàn hảo giữa chuỗi thời gian này và chuỗi khác, không có tự động tương quan, việc phân biệt chuỗi thời gian mang lại cho tôi kết quả trái ngược với mục đích phát hiện mối quan hệ, ví dụ:
a = 1:50 + rnorm(50, sd = 0.01)
b = a + rnorm(50, sd = 1)
da = diff(a); db = diff(b)
summary(lmx <- lm(db ~ da))
Trong trường hợp này, b có liên quan mạnh với a , nhưng b có nhiều nhiễu hơn. Đối với tôi điều này cho thấy sự khác biệt không hoạt động trong trường hợp lý tưởng để phát hiện mối quan hệ giữa các tín hiệu tần số thấp. Tôi hiểu rằng sự khác biệt thường được sử dụng để phân tích chuỗi thời gian, nhưng nó có vẻ hữu ích hơn để xác định mối quan hệ giữa các tín hiệu tần số cao. Tôi đang thiếu gì?
Dữ liệu mẫu
df1 <- structure(list(
x = c(315.97, 316.91, 317.64, 318.45, 318.99, 319.62, 320.04, 321.38, 322.16, 323.04, 324.62, 325.68, 326.32, 327.45, 329.68, 330.18, 331.08, 332.05, 333.78, 335.41, 336.78, 338.68, 340.1, 341.44, 343.03, 344.58, 346.04, 347.39, 349.16, 351.56, 353.07, 354.35, 355.57, 356.38, 357.07, 358.82, 360.8, 362.59, 363.71, 366.65, 368.33, 369.52, 371.13, 373.22, 375.77, 377.49, 379.8, 381.9, 383.76, 385.59, 387.38, 389.78),
y = c(0.0192, -0.0748, 0.0459, 0.0324, 0.0234, -0.3019, -0.2328, -0.1455, -0.0984, -0.2144, -0.1301, -0.0606, -0.2004, -0.2411, 0.1414, -0.2861, -0.0585, -0.3563, 0.0864, -0.0531, 0.0404, 0.1376, 0.3219, -0.0043, 0.3318, -0.0469, -0.0293, 0.1188, 0.2504, 0.3737, 0.2484, 0.4909, 0.3983, 0.0914, 0.1794, 0.3451, 0.5944, 0.2226, 0.5222, 0.8181, 0.5535, 0.4732, 0.6645, 0.7716, 0.7514, 0.6639, 0.8704, 0.8102, 0.9005, 0.6849, 0.7256, 0.878),
ti = 1:52),
.Names = c("x", "y", "ti"), class = "data.frame", row.names = 110:161)
ddf<- data.frame(dy = diff(df1$y), dx = diff(df1$x))
ddf2<- data.frame(ddy = diff(ddf$dy), ddx = diff(ddf$dx))
ddf$ti<-1:length(ddf$dx); ddf2$year<-1:length(ddf2$ddx)
summary(lm0<-lm(y~x, data=df1)) #t = 15.0
summary(lm1<-lm(dy~dx, data=ddf)) #t = 2.6
summary(lm2<-lm(ddy~ddx, data=ddf2)) #t = 2.6