Tes Dickey-Fuller manakah untuk seri waktu yang dimodelkan dengan intersep / drift dan tren linier?


16

Versi pendek:

Saya memiliki serangkaian waktu data iklim yang saya uji untuk stasioneritas. Berdasarkan penelitian sebelumnya, saya berharap model yang mendasari (atau "menghasilkan", dengan demikian) data memiliki istilah intersep dan tren waktu linier positif. Untuk menguji data ini untuk stasioneritas, haruskah saya menggunakan tes Dickey-Fuller yang mencakup intersep dan tren waktu, yaitu persamaan # 3 ?

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

Atau, haruskah saya menggunakan tes DF yang hanya mencakup intersep karena perbedaan pertama dari persamaan yang saya yakini mendasari model hanya memiliki intersep?

Versi panjang:

Seperti yang dinyatakan di atas, saya memiliki serangkaian waktu data iklim yang saya uji untuk stasioneritas. Berdasarkan penelitian sebelumnya, saya berharap model yang mendasari data memiliki istilah intersep, tren waktu linier positif, dan beberapa istilah kesalahan berdistribusi normal. Dengan kata lain, saya berharap model yang mendasarinya terlihat seperti ini:

yt=a0+a1t+βyt1+ut

di mana biasanya didistribusikan. Karena saya berasumsi model yang mendasarinya memiliki baik intersep maupun tren waktu linier, saya menguji unit root dengan persamaan # 3 dari tes Dickey-Fuller sederhana, seperti yang ditunjukkan:ut

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

Tes ini mengembalikan nilai kritis yang akan menuntun saya untuk menolak hipotesis nol dan menyimpulkan bahwa model yang mendasarinya adalah non-stasioner. Namun, saya pertanyaan jika saya menerapkan ini dengan benar, karena meskipun model yang mendasari diasumsikan memiliki mencegat dan trend waktu, ini tidak berarti bahwa perbedaan pertama akan juga. Justru sebaliknya, sebenarnya, jika matematika saya benar.yt

Menghitung perbedaan pertama berdasarkan persamaan dari model dasar yang diasumsikan memberikan: yt=ytyt1=[a0+a1t+βyt1+ut][a0+a1(t1)+βyt2+ut1]

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

yt=a1+βyt1+utut1

Oleh karena itu, yang pertama perbedaan tampaknya hanya memiliki intercept, bukan trend waktu.yt

Saya pikir pertanyaan saya mirip dengan yang ini , kecuali saya tidak yakin bagaimana menerapkan jawaban itu untuk pertanyaan saya.

Contoh data:

Berikut adalah beberapa contoh data suhu yang saya kerjakan.

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
Saya tidak tahu apakah apa yang terkandung dalam tautan ini ( tamino.wordpress.com/2010/03/11/not-a-random-walk ) menjawab pertanyaan Anda, tetapi saya pikir Anda mungkin akan tetap tertarik dengan itu.
Matt Albrecht

@MattAlbrecht Itu tautan yang sangat menarik. Saya masih bingung bagaimana saya harus menerapkan tes Dickey-Fuller ke seri waktu asli saya. Saya mencoba untuk menambahkan informasi yang lebih relevan di edit terbaru saya.
Ricardo Altamirano

Maaf saya tidak bisa memberi Anda jawaban yang lebih baik - Saya tidak terlalu menyukai analisis deret waktu saya. Namun, Anda mungkin juga tertarik dengan pertanyaan yang saya tanyakan baru-baru ini ( stats.stackexchange.com/questions/27748 ) yang juga tentang seri waktu iklim dan memiliki analisis rinci yang bagus tentang suhu vs CO2 dari pro time series. Mungkin membantu orang lain jika Anda juga memiliki beberapa data yang dapat Anda posting?
Matt Albrecht

@MattAlbrecht Saya menambahkan beberapa data sampel. Apakah ada format yang lebih baik untuk saya sertakan?
Ricardo Altamirano

Jawaban:


19

Anda perlu mempertimbangkan tren drift dan (parametrik / linier) di level deret waktu untuk menentukan istilah deterministik dalam regresi Dickey-Fuller yang diperbesar yang merupakan perbedaan pertama dari deret waktu. Kebingungan muncul tepat dari menurunkan persamaan first-difference dengan cara yang telah Anda lakukan.

(Augmented) Model regresi Dickey-Fuller

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

ΔYt=β1,l+β2,lΔYt1+Δεt
However, this is not the (augmented) Dickey Fuller regression as used in the test.

Instead, the correct version can be had by subtracting Yt1 from both sides of the first equation resulting in

Δ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], which can be tested using an F-test with appropriate critical values. These tests and critical values are produced by the R function ur.df in the urca package.

Let us consider some examples in detail.

Examples

1. Using the US investment series

The first example uses the US investment series which is discussed in Lutkepohl and Kratzig (2005, pg. 9). The plot of the series and its first difference are given below.

masukkan deskripsi gambar di sini

From the levels of the series, it appears that it has a non-zero mean, but does not appear to have a linear trend. So, we proceed with an augmented Dickey Fuller regression with an intercept, and also three lags of the dependent variable to account for serial correlation, that is:

ΔYt=β0,d+β2,dYt1+j=13γjΔYtj+εt
Note the key point that I have looked at the levels to specify the regression equation in differences.

The R code to do this is given below:

    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)

The results indicate that the the null hypothesis of nonstationarity can be rejected for this series using the t-test based on the estimated coefficient. The joint F-test of the intercept and the slope coefficient (H:[β2,d,β0,l]=[0,0]) juga menolak hipotesis nol bahwa ada unit root dalam seri.

2. Menggunakan seri konsumsi Jerman (log)

Contoh kedua adalah menggunakan rangkaian waktu (log) konsumsi disesuaikan secara triwulanan Jerman. Plot seri dan perbedaannya diberikan di bawah ini.

masukkan deskripsi gambar di sini

Dari tingkat seri, jelas bahwa seri memiliki tren, jadi kami menyertakan tren dalam regresi Dickey-Fuller yang diperbesar bersama-sama dengan empat kelambatan perbedaan pertama untuk menjelaskan korelasi serial, yaitu

ΔYt=β0,d+β1,dt+β2,dYt-1+j=14γjΔYt-j+εt

Kode R untuk melakukan ini adalah

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

Hasil penelitian menunjukkan bahwa nol nonstasioneritas tidak dapat ditolak dengan menggunakan uji-t berdasarkan pada koefisien estimasi. Uji-F gabungan dari koefisien tren linier dan koefisien kemiringan (H:[β2,d,β1,l]=[0,0]) juga menunjukkan bahwa null nonstationarity tidak dapat ditolak.

3. Menggunakan data suhu yang diberikan

Sekarang kita dapat menilai properti data Anda. Plot biasa dalam level dan perbedaan pertama diberikan di bawah ini.

masukkan deskripsi gambar di sini

Ini menunjukkan bahwa data Anda memiliki intersep dan tren, jadi kami melakukan tes ADF (tanpa persyaratan perbedaan pertama yang tertinggal), menggunakan kode R berikut

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

Hasil untuk uji-t dan uji-F menunjukkan bahwa nol nonstasioneritas dapat ditolak untuk seri suhu. Saya harap itu agak penting.


5
Ini adalah salah satu jawaban paling jelas dan paling membantu yang saya terima di jaringan Stack Exchange dan itu benar-benar meluruskan kebingungan saya tentang tes DF. Terima kasih.
Ricardo Altamirano

@RicardoAltamirano Anda dipersilakan. Senang saya bisa membantu.
tchakravarty

2
Setuju ini adalah jawaban yang sangat bagus.
RAH

0

Hipotesis nol dalam uji Dickey-Fuller adalah bahwa ada unit root dalam suatu proses. Jadi, ketika Anda menolak nol, Anda mendapatkan bahwa proses Anda diam (dengan peringatan pengujian hipotesis yang biasa).

Mengenai matematika Anda, ekspresi

yt=α0+α1t+δyt-1+kamut

bukan berarti itu ytmemiliki tren. Untuk mengatakan bahwa proses memiliki kecenderungan, definisinya harus mencakup hanya proses itu. Dalam persamaan sebelumnya yang Anda milikiyt di satu sisi, dan yt-1di lain. Ketika Anda mengekspresikanyt-1 dengan kondisi yt-1 Anda sampai pada kesimpulan bahwa tidak ada tren dalam proses yang dibedakan, jika proses awalnya adalah diam.


0

Jawaban sebelumnya sangat bagus.

Anda biasanya mengambil keputusan untuk menerapkan tes berdasarkan plot. Dalam hal ini, data tampaknya memiliki intersepsi dan tren.

Jika Anda menguji Unit-Root di level, Anda akan menggunakan model intersep dan tren. Jika Anda menjalankan tes dalam perbedaan, Anda hanya akan menggunakan model intersep.

Saya baru saja menjawab pertanyaan ini karena saya harus merekomendasikan Anda untuk menggunakan tes musiman pada data ini. Tes-tes ini sangat kompleks (bekerja dengan musiman tidak mudah). Namun, sifat data (suhu) dan karena dalam plot Anda dapat mengamati beberapa perilaku musiman. Kemudian, Anda harus meneliti tes HEGY dan mengimplementasikannya jika Anda ingin estimasi Anda kuat.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.