次の2つの時系列(x、y、以下を参照)が与えられた場合、このデータの長期傾向間の関係をモデル化する最良の方法は何ですか?
両方の時系列は、時間の関数としてモデル化されたときに有意なダービン・ワトソン検定を持ち、どちらも定常ではありません(用語を理解しているように、またはこれは、残差で定常である必要があるだけですか?)。これは、基本的にはarima(1,1,0)を使用して、一方を他方の関数としてモデル化する前に、各時系列の1次の差(少なくとも、おそらく2次)を取得する必要があることを意味します。 )、arima(1,2,0)など
モデル化する前になぜトレンド除去する必要があるのか理解できません。自己相関をモデル化する必要性を理解していますが、なぜ差異化が必要なのかわかりません。私には、差分によるトレンド除去が、関心のあるデータの主要な信号(この場合は長期トレンド)を削除し、より高い周波数の「ノイズ」を残す(ノイズという用語を緩く使用する)ように見えます。確かに、ある時系列と別の時系列との間にほぼ完全な関係を作成し、自己相関がないシミュレーションでは、時系列を差分すると、関係検出の目的に対して直観に反する結果が得られます。たとえば、
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))
この場合、bはaと強く関連していますが、bの方がノイズが多くなります。私にとってこれは、低周波信号間の関係を検出するための理想的なケースでは差分が機能しないことを示しています。差分は時系列分析で一般的に使用されることを理解していますが、高周波信号間の関係を決定するために、より役立つようです。何が欠けていますか?
データの例
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