Hubungan antara dua seri waktu: ARIMA

12

Dengan dua seri waktu berikut ( x , y ; lihat di bawah), apa metode terbaik untuk memodelkan hubungan antara tren jangka panjang dalam data ini?

Kedua seri waktu memiliki tes Durbin-Watson yang signifikan ketika dimodelkan sebagai fungsi waktu dan tidak ada yang stasioner (seperti yang saya pahami istilahnya, atau apakah ini berarti hanya perlu stasioner dalam residu?). Saya telah diberitahu bahwa ini berarti saya harus mengambil perbedaan urutan pertama (setidaknya, mungkin bahkan urutan kedua) dari setiap rangkaian waktu sebelum saya dapat memodelkan satu sebagai fungsi dari yang lain, pada dasarnya menggunakan arima (1,1,0 ), arima (1,2,0) dll.

Saya tidak mengerti mengapa Anda perlu melakukan detrend sebelum Anda dapat membuat model. Saya mengerti perlunya memodelkan korelasi-otomatis, tetapi saya tidak mengerti mengapa harus ada perbedaan. Bagi saya, tampak seolah-olah detrending dengan differencing menghilangkan sinyal primer (dalam hal ini tren jangka panjang) dalam data yang kami minati dan meninggalkan "noise" frekuensi tinggi (menggunakan istilah noise dengan longgar). Memang, dalam simulasi di mana saya membuat hubungan yang hampir sempurna antara satu seri waktu dan lainnya, tanpa autokorelasi, membedakan seri waktu memberi saya hasil yang berlawanan dengan intuisi untuk tujuan deteksi hubungan, misalnya,

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))

Dalam hal ini, b sangat terkait dengan a , tetapi b memiliki lebih banyak noise. Bagi saya ini menunjukkan bahwa perbedaan tidak berfungsi dalam kasus yang ideal untuk mendeteksi hubungan antara sinyal frekuensi rendah. Saya memahami bahwa pembeda umumnya digunakan untuk analisis deret waktu, tetapi tampaknya lebih bermanfaat untuk menentukan hubungan antara sinyal frekuensi tinggi. Apa yang saya lewatkan?

Contoh Data

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
Matt Albrecht
sumber

Jawaban:

6

Matt, Anda sangat benar dalam kekhawatiran yang Anda ajukan sehubungan dengan penggunaan struktur pembeda yang tidak perlu. Untuk mengidentifikasi model yang sesuai masukkan deskripsi gambar di siniuntuk data Anda menghasilkan struktur yang signifikan saat merender proses Gaussian Error masukkan deskripsi gambar di sinidengan ACFmasukkan deskripsi gambar di siniproses pemodelan Identifikasi Fungsi Transfer memerlukan (dalam hal ini) perbedaan yang sesuai untuk membuat seri pengganti yang stasioner dan dengan demikian dapat digunakan untuk MENGIDENTIFIKASI hubungan. Dalam hal ini persyaratan perbedaan untuk IDENTIFIKASI adalah perbedaan ganda untuk X dan perbedaan tunggal untuk Y. Selain itu filter ARIMA untuk X yang dibedakan ganda ditemukan sebagai AR (1). Menerapkan filter ARIMA ini (hanya untuk tujuan identifikasi!) Untuk kedua seri stasioner menghasilkan struktur lintas korelatif berikut. masukkan deskripsi gambar di sinimenyarankan hubungan kontemporer yang sederhana. masukkan deskripsi gambar di sini. Perhatikan bahwa sementara seri asli menunjukkan non-stasioneritas, ini tidak selalu menyiratkan bahwa perbedaan diperlukan dalam model sebab akibat. Model akhir masukkan deskripsi gambar di sinidan dukungan akhir mendukung inimasukkan deskripsi gambar di sini. Dalam menutup persamaan terakhir selain dari satu pergeseran tingkat yang diidentifikasi secara empiris (benar-benar perubahan intersep) adalah

 Y(t)=-4.78 + .192*X(t) - .177*X(t-1) which is NEARLY equal to 

 Y(t)=-4.78 + .192*[X(t)-X(t-1)] which means that changes in X effect the level of Y

Akhirnya catat karakteristik model yang disarankan.masukkan deskripsi gambar di sini

seri Level Shift (0,0,0,0,0,0,0,0,0,0,1,1, ........., 1) menunjukkan jika dibiarkan tanpa residu model akan menunjukkan level bergeser pada atau sekitar periode waktu 10 THUS tes hipotesis rata-rata residu umum antara 10 residu pertama dan 42 terakhir akan signifikan pada alpha = .0002 berdasarkan pada "uji t -4,10". Perhatikan bahwa dimasukkannya jaminan konstan bahwa rata-rata keseluruhan residu tidak berbeda secara signifikan dari nol TETAPI ini tidak harus untuk semua interval waktu subset. Grafik berikut dengan jelas menunjukkan ini (mengingat bahwa Anda disuruh melihat!). Perkiraan Aktual / Fit / Prakiraan ini cukup mencerahkan masukkan deskripsi gambar di sini. Statistik seperti tiang lampu, beberapa menggunakannya untuk bersandar pada yang lain menggunakannya untuk penerangan.

IrishStat
sumber
Terima kasih untuk analisis komprehensif Dave. Jadi saya memastikan saya mengerti, 2 adalah variabel x sebagaimana adanya, 3 adalah variabel x dengan lag -1, dan 4 adalah level shift? Tidak ada spesifikasi arima?
Matt Albrecht
@MattAlbrecht Y adalah dependen (y Anda dengan nilai .0192, -. 0748 ...); X1 adalah x Anda dengan nilai 315,97; X2 adalah variabel dummy 0,0,0,0,0,0,0,0,0,0,1,1,1, ... 1. Variabel X1 memiliki bot efek kontemporer dan lag dengan koefisien [, masing-masing .192 dan -.177]. Persamaan lengkap terakhir adalah
IrishStat
@MattAlbrecht Y adalah dependen (y Anda dengan nilai .0192, -. 0748 ...); X1 adalah x Anda dengan nilai 315,97; X2 adalah variabel dummy 0,0,0,0,0,0,0,0,0,0,1,1,1, ... 1. Variabel X1 memiliki efek kontemporer dan lag dengan koefisien [, masing-masing .192 dan -.177]. Persamaan akhir akhir memiliki 4 koefisien; sebuah konstanta; dua koefisien untuk x dan a Anda
IrishStat
1

Saya juga tidak mengerti saran itu. Membedakan menghilangkan tren polinomial. Jika seri serupa karena tren perbedaan pada dasarnya menghilangkan hubungan itu. Anda hanya akan melakukan itu jika Anda mengharapkan komponen detrended terkait. Jika urutan pembedaan yang sama mengarah ke ACF untuk residu yang terlihat seperti mereka dapat berasal dari model ARMA stasioner termasuk white noise yang mungkin mengindikasikan bahwa kedua seri memiliki tren polinomial yang sama atau serupa.

Michael R. Chernick
sumber
Membedakan juga dapat digunakan untuk memperbaiki ketidakstabilan ketika tidak ada tren. Penggunaan yang tidak beralasan dapat membuat statistik / ekonometrik omong kosong seperti yang Anda tunjukkan dengan benar.
IrishStat
1

Cara saya memahaminya, membedakan memberikan jawaban yang lebih jelas dalam fungsi lintas-korelasi. Bandingkan ccf(df1$x,df1$y)dan ccf(ddf$dx,ddf$dy).

Kees
sumber
Saya setuju bahwa korelasi silang menunjukkan hubungan apa yang ada di antara seri yang dibedakan tetapi poin saya adalah bahwa rangkaian ini tampaknya terkait terutama karena tren yang dihilangkan perbedaan.
Michael R. Chernick
Apakah Anda tidak menjawab pertanyaan Anda sendiri di sana? Ada tren yang sama, kami sepakat tentang itu. Membedakan memungkinkan untuk melihat melewati tren: Bagaimana fluktuasi di sekitar tren? Dalam hal ini, korelasi antara x dan y terjadi dengan lag 0 dan 8. Efek pada lag 8 juga terlihat dalam autokorelasi ddf $ dy. Anda tidak akan tahu itu tanpa membedakan.
Kees