Який тест Діккі-Фуллера для часового ряду моделювався з перехопленням / дрейфом та лінійною тенденцією?


17

Коротка версія:

У мене є часовий ряд кліматичних даних, які я тестую на стаціонарність. Виходячи з попередніх досліджень, я очікую, що модель, що лежить в основі (або "генерація", так би мовити) даних, має термін перехоплення та позитивну лінійну тенденцію часу. Щоб перевірити ці дані на стабільність, чи слід використовувати тест Діккі-Фуллера, що включає перехоплення та тенденцію часу, тобто рівняння №3 ?

yt=α0+α1t+δyt1+uт

Або я повинен використовувати тест DF, який включає лише перехоплення, оскільки перша різниця рівняння, на яку я вважаю, лежить в основі моделі, має лише перехоплення?

Довга версія:

Як було сказано вище, у мене є часовий ряд кліматичних даних, які я тестую на стаціонарність. На основі попередніх досліджень, я очікую, що модель, що лежить в основі даних, має термін перехоплення, позитивну лінійну тенденцію часу та деякий звичайно розподілений помилку. Іншими словами, я очікую, що основна модель буде виглядати приблизно так:

yt=a0+a1t+βyt1+ut

де нормально розподілений. Оскільки я припускаю, що в базовій моделі є як перехоплення, так і лінійна тенденція часу, я перевірив одиничний корінь з рівнянням №3 простого тесту Діккі-Фуллера, як показано:ut

yt=α0+α1t+δyt1+ut

Цей тест повертає критичне значення, яке призвело б до того, щоб я відкинув нульову гіпотезу і дійшов висновку про нестаціонарну модель. Однак я сумніваюся, чи правильно я це застосовую, оскільки, хоча вважається, що в основі лежить перехоплення та часова тенденція, це не означає, що перша різниця yt буде також. Насправді навпаки, якщо моя математика правильна.

Обчислення першої різниці на основі рівняння передбачуваної базової моделі дає: yt=ytyt1=[a0+a1t+βyt1+ut][a0+a1(t1)+βyt2+ut1]

yt=[a0a0]+[a1tat(t1)]+β[yt1yt2]+[utut1]

yt=a1+βyt1+utut1

Тому, схоже , перша різниця має лише перехоплення, а не тенденцію часу.yt

Я думаю, моє запитання подібне до цього , за винятком того, що я не впевнений, як застосувати цю відповідь до мого запитання.

Приклад даних:

Ось деякі зразки температури температури, з якими я працюю.

64.19749  
65.19011  
64.03281  
64.99111  
65.43837  
65.51817  
65.22061  
65.43191  
65.0221  
65.44038  
64.41756  
64.65764  
64.7486  
65.11544  
64.12437  
64.49148  
64.89215  
64.72688  
64.97553  
64.6361  
64.29038  
65.31076  
64.2114  
65.37864  
65.49637  
65.3289  
65.38394  
65.39384  
65.0984  
65.32695  
65.28  
64.31041  
65.20193  
65.78063  
65.17604  
66.16412  
65.85091  
65.46718  
65.75551  
65.39994  
66.36175  
65.37125  
65.77763  
65.48623  
64.62135  
65.77237  
65.84289  
65.80289  
66.78865  
65.56931  
65.29913  
64.85516  
65.56866  
64.75768  
65.95956  
65.64745  
64.77283  
65.64165  
66.64309  
65.84163  
66.2946  
66.10482  
65.72736  
65.56701  
65.11096  
66.0006  
66.71783  
65.35595  
66.44798  
65.74924  
65.4501  
65.97633  
65.32825  
65.7741  
65.76783  
65.88689  
65.88939  
65.16927  
64.95984  
66.02226  
66.79225  
66.75573  
65.74074  
66.14969  
66.15687  
65.81199  
66.13094  
66.13194  
65.82172  
66.14661  
65.32756  
66.3979  
65.84383  
65.55329  
65.68398  
66.42857  
65.82402  
66.01003  
66.25157  
65.82142  
66.08791  
65.78863  
66.2764  
66.00948  
66.26236  
65.40246  
65.40166  
65.37064  
65.73147  
65.32708  
65.84894  
65.82043  
64.91447  
65.81062  
66.42228  
66.0316  
65.35361  
66.46407  
66.41045  
65.81548  
65.06059  
66.25414  
65.69747  
65.15275  
65.50985  
66.66216  
66.88095  
65.81281  
66.15546  
66.40939  
65.94115  
65.98144  
66.13243  
66.89761  
66.95423  
65.63435  
66.05837  
66.71114 

1
Я не знаю, чи є те, що міститься в цьому посиланні ( tamino.wordpress.com/2010/03/11/not-a-random-walk ) відповідає на ваше запитання, але я подумав, що вам це, мабуть, буде цікаво все одно.
Метт Альбрехт

@MattAlbrecht Це дуже цікаве посилання. Я все ще плутаю те, як мені слід застосувати тест Дікі-Фуллера до мого початкового часового ряду. Я спробував додати більш релевантну інформацію до своєї останньої редакції.
Рікардо Альтамірано

Вибачте, я не можу дати вам кращої відповіді - я не на цьому переконався у своєму аналізі часових рядів. Однак, можливо, вас також зацікавить це питання, яке я нещодавно задав ( stats.stackexchange.com/questions/27748 ), яке також є часовим рядом клімату, і має приємний детальний аналіз температури проти CO2 від часового ряду pro. Це може допомогти іншим, якщо ви також мали деякі дані, які ви змогли опублікувати?
Метт Альбрехт

@MattAlbrecht Я додав деякі зразкові дані. Чи є для мене кращий формат, щоб включити його?
Рікардо Альтамірано

Відповіді:


20

Потрібно враховувати дрейф та (параметричну / лінійну) тенденцію рівнів часового ряду, щоб вказати детерміновані терміни в розширеній регресії Діккі-Фуллера, що відповідає першим відмінностям часового ряду. Плутанина випливає саме з отримання рівняння перших відмінностей у спосіб, який ви зробили.

(Доповнено) регресійна модель Діккі-Фуллера

Припустимо, що рівні ряду включають дрейф і тренд-термін Нульова гіпотеза про нестаціонарність у цьому випадку буде H 0

Yt=β0,l+β1,lt+β2,lYt1+εt
.H0:β2,l=1

ΔYt=β1,l+β2,lΔYt1+Δεt

Yt1

ΔYt=β0,l+β1,lt+(β2,l1)Yt1+εtβ0,d+β1,dt+β2,dYt1+εt
This is the (augmented) Dickey-Fuller regression, and the equivalent version of the null hypothesis of nonstationarity is the test H0:β2,d=0 which is just a t-test using the OLS estimate of β2,d in the regression above. Note that the drift and trend come through to this specification unchanged.

An additional point to note is that if you are not certain about the presence of the linear trend in the levels of the time series, then you can jointly test for the linear trend and unit root, that is, H0:[β2,d,β1,l]=[0,0], яку можна перевірити за допомогою F-тесту з відповідними критичними значеннями. Ці випробування та критичні значення виробляються функцією R ur.dfв urcaупаковці.

Розглянемо детально деякі приклади.

Приклади

1. Використання інвестиційної серії США

Перший приклад використовує інвестиційний ряд США, про який йде мова в Луткеполі та Крацігу (2005, стор. 9) . Сюжет серії та його перша відмінність наведені нижче.

введіть тут опис зображення

З рівнів серії виходить, що він має нульове середнє значення, але, схоже, не має лінійної тенденції. Отже, ми переходимо до розширеної регресії Діккі Фуллера з перехопленням, а також з трьома відставаннями залежної змінної для врахування послідовного кореляції, тобто:

ΔYт=β0,г+β2,гYт-1+j=13γjΔYт-j+εт
Зверніть увагу на ключовий момент, який я переглянув рівні, щоб вказати рівняння регресії в різницях.

Код R для цього наведено нижче:

    library(urca)
    library(foreign)
    library(zoo)

    tsInv <- as.zoo(ts(as.data.frame(read.table(
      "http://www.jmulti.de/download/datasets/US_investment.dat", skip=8, header=TRUE)), 
                       frequency=4, start=1947+2/4))
    png("USinvPlot.png", width=6,
        height=7, units="in", res=100)
    par(mfrow=c(2, 1))
    plot(tsInv$USinvestment)
    plot(diff(tsInv$USinvestment))
    dev.off()

    # ADF with intercept
    adfIntercept <- ur.df(tsInv$USinvestment, lags = 3, type= 'drift')
    summary(adfIntercept)

Результати показують, що нульова гіпотеза про нестаціонарність може бути відхилена для цього ряду, використовуючи t-тест на основі розрахункового коефіцієнта. Спільний F-випробування перехоплення та коефіцієнта нахилу (Н:[β2,г,β0,л]'=[0,0]') також відкидає нульову гіпотезу про наявність у корені одиничного кореня.

2. Використання німецької (журнальної) серії споживання

Другий приклад - використання німецьких щоквартальних сезоно коригуваних часових рядів (log) споживання. Сюжет серії та його відмінності наведені нижче.

введіть тут опис зображення

З рівнів серії видно, що серія має тенденцію, тому ми включаємо тенденцію до розширеної регресії Діккі-Фуллера разом з чотирма лагами перших відмінностей для обліку послідовного співвідношення, тобто

ΔYт=β0,г+β1,гт+β2,гYт-1+j=14γjΔYт-j+εт

R код для цього є

# using the (log) consumption series
tsConsump <- zoo(read.dta("http://www.stata-press.com/data/r12/lutkepohl2.dta"), frequency=1)
png("logConsPlot.png", width=6,
    height=7, units="in", res=100)
par(mfrow=c(2, 1))
plot(tsConsump$ln_consump)
plot(diff(tsConsump$ln_consump))
dev.off()

# ADF with trend
adfTrend <- ur.df(tsConsump$ln_consump, lags = 4, type = 'trend')
summary(adfTrend)

Результати показують, що нульову нестаціонарність не можна відкинути, використовуючи t-тест на основі розрахункового коефіцієнта. Спільний F-випробування коефіцієнта лінійної тенденції та коефіцієнта нахилу (Н:[β2,г,β1,л]'=[0,0]') також вказує на те, що нуль нестаціонарності не можна відкинути.

3. Використання заданих температурних даних

Тепер ми можемо оцінити властивості ваших даних. Звичайні графіки в рівнях та перші відмінності наведені нижче.

введіть тут опис зображення

Вони вказують на те, що у ваших даних є перехоплення та тенденція, тому ми виконуємо тест АПД (без відсталих термінів першої різниці), використовуючи наступний код R

# using the given data
tsTemp <- read.table(textConnection("temp 
64.19749  
65.19011  
64.03281  
64.99111  
65.43837  
65.51817  
65.22061  
65.43191  
65.0221  
65.44038  
64.41756  
64.65764  
64.7486  
65.11544  
64.12437  
64.49148  
64.89215  
64.72688  
64.97553  
64.6361  
64.29038  
65.31076  
64.2114  
65.37864  
65.49637  
65.3289  
65.38394  
65.39384  
65.0984  
65.32695  
65.28  
64.31041  
65.20193  
65.78063  
65.17604  
66.16412  
65.85091  
65.46718  
65.75551  
65.39994  
66.36175  
65.37125  
65.77763  
65.48623  
64.62135  
65.77237  
65.84289  
65.80289  
66.78865  
65.56931  
65.29913  
64.85516  
65.56866  
64.75768  
65.95956  
65.64745  
64.77283  
65.64165  
66.64309  
65.84163  
66.2946  
66.10482  
65.72736  
65.56701  
65.11096  
66.0006  
66.71783  
65.35595  
66.44798  
65.74924  
65.4501  
65.97633  
65.32825  
65.7741  
65.76783  
65.88689  
65.88939  
65.16927  
64.95984  
66.02226  
66.79225  
66.75573  
65.74074  
66.14969  
66.15687  
65.81199  
66.13094  
66.13194  
65.82172  
66.14661  
65.32756  
66.3979  
65.84383  
65.55329  
65.68398  
66.42857  
65.82402  
66.01003  
66.25157  
65.82142  
66.08791  
65.78863  
66.2764  
66.00948  
66.26236  
65.40246  
65.40166  
65.37064  
65.73147  
65.32708  
65.84894  
65.82043  
64.91447  
65.81062  
66.42228  
66.0316  
65.35361  
66.46407  
66.41045  
65.81548  
65.06059  
66.25414  
65.69747  
65.15275  
65.50985  
66.66216  
66.88095  
65.81281  
66.15546  
66.40939  
65.94115  
65.98144  
66.13243  
66.89761  
66.95423  
65.63435  
66.05837  
66.71114"), header=T)
tsTemp <- as.zoo(ts(tsTemp, frequency=1))

png("tempPlot.png", width=6,
    height=7, units="in", res=100)
par(mfrow=c(2, 1))
plot(tsTemp$temp)
plot(diff(tsTemp$temp))
dev.off()

# ADF with trend
adfTrend <- ur.df(tsTemp$temp, type = 'trend')
summary(adfTrend)

Результати як t-тесту, так і F-тесту вказують на те, що нульова нестаціонарність може бути відхилена для температурного ряду. Я сподіваюся, що дещо прояснює справу.


5
Це одна з найяскравіших та найкорисніших відповідей, яку я отримав у мережі Stack Exchange, і це дійсно випрямляє мою плутанину щодо тестів DF. Дякую.
Рікардо Альтамірано

@RicardoAltamirano Вітаємо вас. Радий, що можу допомогти.
чакраварти

2
Погодьтеся, це дуже хороша відповідь.
RAH

0

Нульова гіпотеза тесту Діккі-Фуллера полягає в тому, що в процесі є одиничний корінь. Отже, коли ви відхиляєте нуль, ви отримуєте, що ваш процес нерухомий (із звичайними застереженнями тестування гіпотез).

Щодо математики, вираз

ут=α0+α1т+δут-1+ут

це не означає утмає тенденцію. Щоб сказати, що процес має тенденцію, його визначення повинно включати лише той процес. У попередньому рівнянні у вас єут з одного боку, і ут-1з іншого. Коли ви виражаєтеут-1 з точки зору ут-1 ви правильно прийшли до висновку, що в процесі розрізнення немає тенденції, якщо початковий процес є стаціонарним.


0

Попередні відповіді були відмінними.

Зазвичай ви приймаєте рішення, який тест здійснити на основі сюжету. У цьому випадку, схоже, дані мають перехоплення та тенденцію.

Якщо ви перевіряєте на рівень Unit-Root в рівнях, ви будете використовувати перехоплення та тренд-модель. Якщо ви запускаєте тест на відмінності, ви будете використовувати лише модель перехоплення.

Я щойно відповів на це запитання, оскільки мушу рекомендувати вам використовувати сезонні тести на цих даних. Ці тести дійсно складні (працювати з сезонністю непросто). Однак характер даних (температура) і тому, що в сюжеті можна спостерігати деяку сезонність поведінки. Потім слід вивчити тест HEGY та застосувати його, якщо ви хочете, щоб ваші оцінки були надійними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.