Зв'язок між двома часовими рядами: ARIMA


12

З огляду на наступні два часові ряди ( x , y ; див. Нижче), який найкращий метод моделювання взаємозв'язку між довгостроковими тенденціями в цих даних?

Обидва часові ряди мають значні тести Дурбіна-Уотсона, коли їх моделюють як функцію часу, і не є стаціонарними (наскільки я розумію цей термін, чи це означає, що він повинен бути нерухомим у залишках?). Мені сказали, що це означає, що я повинен приймати різницю першого порядку (принаймні, може, навіть 2-го порядку) кожного часового ряду, перш ніж я зможу моделювати одне як функцію іншого, по суті використовуючи ариму (1,1,0 ), аріма (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

Відповіді:


6

Метт, ти дуже правий у питаннях, які ви порушили щодо використання непотрібної структури розрізнення. Для того, щоб визначити відповідну модель введіть тут опис зображеннядля ваших даних, що дають значну структуру під час надання процесу помилок Гаусса введіть тут опис зображенняз ACFвведіть тут опис зображенняПроцес моделювання ідентифікації функцій передачі вимагає (у даному випадку) відповідного диференціювання для створення сурогатних рядів, які є нерухомими та, таким чином, придатними для ідентифікації взаємозв'язку. При цьому вимоги до розрізнення для ІДЕНТИФІКАЦІЇ були подвійним розмежуванням для X та одинарним розрізненням для Y. Крім того, було встановлено, що фільтром ARIMA для подвійно різничного X є AR (1). Застосування цього фільтра ARIMA (тільки для ідентифікації!) До обох стаціонарних серій дало таку схрещувальну кореляційну структуру. введіть тут опис зображеннящо говорить про прості сучасні відносини. введіть тут опис зображення. Зауважимо, що, хоча оригінальні серії демонструють нестаціонарність, це не обов'язково означає, що необхідна диференціація в причинній моделі. Кінцева модель введіть тут опис зображеннята остаточний ACF це підтверджуютьвведіть тут опис зображення. Замикаючи підсумкове рівняння осторонь одного емпірично визначеного зрушення рівня (насправді перехоплення змін)

 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

Наостанок відзначимо характеристики запропонованої моделі.введіть тут опис зображення

Серія зсуву рівня (0,0,0,0,0,0,0,0,0,1,1, ........., 1) передбачає, якщо залишити їх не обробленими, то залишки моделі демонструватимуть рівень зсув на або в проміжок часу 10 THUS тест гіпотези загальної залишкової середньої величини між першими 10 залишками і останніми 42 був би значущим при альфа = .0002 на основі "t тесту -4,10". Зауважимо, що включення постійної гарантії того, що загальна середня кількість залишків суттєво не відрізняється від нуля, АЛЕ це не обов'язково для всіх інтервалів підмножини. Наведений нижче графік чітко показує це (зважаючи на те, що вам сказали дивитись!). Фактичний / придатний / прогноз досить яскравий введіть тут опис зображення. Статистика схожа на світильники, деякі використовують їх для нахилу, інші використовують для освітлення.


Дякую за всебічний аналіз Дейв. Просто я переконуюсь, що я розумію, 2 - змінна x як є, 3 - змінна x із відставанням -1, а 4 - зсув рівня? Немає специфікації arima?
Метт Альбрехт

@MattAlbrecht Y - залежний (ваш y зі значеннями .0192, -. 0748 ...); X1 - ваш x зі значеннями 315,97; X2 - фіктивна змінна 0,0,0,0,0,0,0,0,0,1,1,1, ... 1. Змінна X1 має суттєвий та відсталий ефект з коефіцієнтами [.192 та -177 відповідно]. Остаточне повне рівняння
IrishStat

@MattAlbrecht Y - залежний (ваш y зі значеннями .0192, -. 0748 ...); X1 - ваш x зі значеннями 315,97; X2 - фіктивна змінна 0,0,0,0,0,0,0,0,0,1,1,1, ... 1. Змінна X1 має як сучасний, так і відстаючий ефект з коефіцієнтами [.192 та -177 відповідно]. Кінцеве повне рівняння має 4 коефіцієнти; постійна; два коефіцієнти для ваших х та а
IrishStat

1

Я також не розумію цієї поради. Диференціація усуває поліноміальні тенденції. Якщо серії подібні через тенденції, що розрізняються, суттєво усуває цей взаємозв'язок. ви зробите це лише в тому випадку, якщо ви очікуєте, що компоненти, що підлягають впливу, пов'язані. Якщо однаковий порядок розрізнення призводить до ACF для залишків, схожих на стаціонарну модель ARMA, включаючи білий шум, що може означати, що обидві серії мають однакові або схожі поліноміальні тенденції.


Диференціація також може бути використана для усунення нестаціонарності, коли немає тенденцій. Неправильне використання може створювати статистичні / економетричні дурниці, як ви правильно вказуєте.
IrishStat

1

Наскільки я це розумію, диференціювання дає чіткіші відповіді у функції перехресної кореляції. Порівняйте ccf(df1$x,df1$y)і ccf(ddf$dx,ddf$dy).


Я погоджуюсь, що перехресна кореляція показує, який взаємозв'язок існує між різними рядами, але я можу сказати, що ці серії, здається, пов'язані головним чином через тенденції, які усуває диференціація.
Майкл Р. Черник

Ви там не відповідаєте на власне запитання? Існує загальна тенденція, ми погоджуємося з цим. Диференціація дозволяє озитися за тенденцією: як коливання навколо тенденції? У цьому випадку кореляція між x і y відбувається з відставанням 0 і 8. Ефект при відставанні 8 також видно в автокореляції ddf $ dy. Ви б не знали цього без розрізнення.
Кіс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.