Bisakah seri stasioner tren dimodelkan dengan ARIMA?

12

Saya punya pertanyaan / kebingungan tentang seri stasioner yang diperlukan untuk pemodelan dengan ARIMA (X). Saya lebih memikirkan hal ini dalam hal inferensi (efek intervensi), tetapi ingin tahu apakah perkiraan versus inferensi membuat perbedaan dalam respons.

Pertanyaan:

Semua sumber pengantar yang telah saya baca menyatakan bahwa seri ini harus stasioner, yang masuk akal bagi saya dan di situlah "Aku" dalam arima masuk (berbeda).

Yang membingungkan saya adalah penggunaan tren dan pergeseran dalam ARIMA (X) dan implikasi (jika ada) untuk persyaratan stasioner.

Apakah penggunaan baik konstanta / drift term dan / atau variabel tren sebagai variabel eksogen (yaitu menambahkan 't' sebagai regressor) meniadakan persyaratan seri menjadi stasioner? Apakah jawabannya berbeda tergantung pada apakah seri memiliki unit root (mis. Tes ADF) atau memiliki tren deterministik tetapi tidak ada unit root?

ATAU

Apakah seri selalu harus diam, dibuat melalui differencing dan / atau detrending sebelum menggunakan ARIMA (X)?

B_Miner
sumber

Jawaban:

12

Melihat komentar tampaknya kita tidak menjawab pertanyaan tentang bagaimana memilih antara tren deterministik atau stochastic. Artinya, bagaimana melanjutkan dalam praktik daripada konsekuensi atau sifat dari masing-masing kasus.

Salah satu cara untuk melanjutkan adalah sebagai berikut: Mulai dengan menerapkan tes ADF.

  • Jika nol unit root ditolak, kita selesai. Tren (jika ada) dapat diwakili oleh tren linier deterministik.
  • Jika nol dari tes ADF tidak ditolak maka kami menerapkan tes KPSS (di mana hipotesis nol adalah kebalikannya, stasioneritas atau stasioneritas di sekitar tren linier).

    o Jika nol dari tes KPSS ditolak maka kami menyimpulkan bahwa ada root unit dan bekerja dengan perbedaan pertama dari data. Setelah perbedaan pertama dari seri ini, kita dapat menguji signifikansi regressor lain atau memilih model ARMA.

    o Jika nol dari tes KPSS tidak ditolak maka kami harus mengatakan bahwa data tidak banyak informatif karena kami tidak dapat menolak satupun hipotesis nol. Dalam hal ini mungkin lebih aman untuk bekerja dengan perbedaan pertama seri.

Seperti disebutkan dalam jawaban sebelumnya, ingatlah bahwa tes ini dapat dipengaruhi oleh kehadiran pencilan (mis. Pencilan pada satu titik waktu karena kesalahan saat merekam data atau perubahan level karena misalnya perubahan kebijakan yang mempengaruhi seri dari titik waktu tertentu pada). Dengan demikian, disarankan untuk memeriksa masalah ini juga dan ulangi analisis sebelumnya setelah memasukkan regressor untuk beberapa outlier potensial.

javlacalle
sumber
Luar biasa! Apakah pertanyaan komentar saya di atas benar bahwa jika kita melihat apa yang tampak seperti tren, kami menggunakan tes ADF yang menyertakan tren (opsi # 3 dalam tautan yang saya posting)?
B_Miner
Pertanyaan terakhir - apa yang Anda dapatkan dari situasi di mana Anda memasukkan ARIMA, katakan ARIMA (0,1,1) ke sebuah seri dan rata-rata perbedaannya adalah tidak nol? Ini berarti saya percaya bahwa Anda menambahkan konstanta pada model - yang juga mewakili tren linier dalam seri aslinya. Apa artinya kasus ini? Apakah tren dalam seri asli deterministik karena membedakan seri tidak menghilangkan tren?
B_Miner
@ B_Miner Mengenai komentar pertama Anda, saya akan mulai dengan memasukkan hanya intersep. Jika tren terlihat agak eksponensial, Anda juga dapat menambahkan parameter kemiringan tren linier dan melihat apakah itu signifikan. Secara umum, lebih baik memulai dengan model dengan beberapa parameter dan jika diagnostik residu tidak memuaskan maka pertimbangkan untuk menambahkan elemen lain.
javlacalle
@B_Miner Mengambil perbedaan pertama menghilangkan tren deterministik dan stochastic. Jika Anda melihat tren dalam seri berbeda dalam model dengan intersep, maka Anda harus mempertimbangkan untuk mengambil perbedaan lagi (yaitu tes untuk root unit kedua).
javlacalle
1
@pidosaurus kurangnya persetujuan antara dan tes ADF dan KPSS mungkin karena ukuran sampel yang kecil, kehadiran pencilan, tren non-linear, ... jika setelah pemeriksaan lebih lanjut masih tidak jelas mana yang lebih tepat, mungkin lebih aman untuk mempertimbangkan keberadaan unit root. Tampilan cepat ke data Anda menyarankan kepada saya adanya tren non-linear, tren kuadrat dari bentuk mungkin sesuai. a1t+a2t2
javlacalle
5

Ingatlah bahwa ada berbagai jenis non-stasioneritas dan cara berbeda dalam menghadapinya. Empat yang umum adalah:

1) Tren deterministik atau tren stasioneritas. Jika seri Anda seperti ini, jangan tren atau sertakan tren waktu dalam regresi / model. Anda mungkin ingin memeriksa teorema Frisch – Waugh – Lovell yang satu ini.

2) Level shift dan penembusan struktural. Jika hal ini terjadi, Anda harus memasukkan variabel dummy untuk setiap jeda atau jika sampel Anda cukup panjang dengan masing-masing regimen.

3) Mengubah varian. Baik memodelkan sampel secara terpisah atau memodelkan varians berubah menggunakan kelas pemodelan ARCH atau GARCH.

4) Jika seri Anda berisi unit root. Secara umum Anda kemudian harus memeriksa hubungan kointegrasi antara variabel tetapi karena Anda khawatir dengan peramalan univariat, Anda harus membedakannya sekali atau dua kali tergantung pada urutan integrasi.

Untuk memodelkan serangkaian waktu menggunakan kelas pemodelan ARIMA, langkah-langkah berikut harus tepat:

1) Lihatlah ACF dan PACF bersama-sama dengan plot seri waktu untuk melihat apakah seri tersebut stasioner atau non-stasioner.

2) Uji seri untuk root unit. Ini dapat dilakukan dengan berbagai tes, beberapa yang paling umum adalah tes ADF, tes Phillips-Perron (PP), tes KPSS yang memiliki nol stasioneritas atau tes DF-GLS yang merupakan tes yang paling efisien dari tes tersebut di atas. CATATAN! Kalau-kalau seri Anda mengandung istirahat struktural, tes ini bias terhadap tidak menolak nol dari root unit. Jika Anda ingin menguji ketahanan dari tes ini dan jika Anda mencurigai satu atau lebih kerusakan struktural Anda harus menggunakan tes istirahat struktural endogen. Dua yang umum adalah tes Zivot-Andrews yang memungkinkan untuk satu istirahat struktural endogen dan Clemente-Montañés-Reyes yang memungkinkan untuk dua istirahat struktural. Yang terakhir memungkinkan untuk dua model yang berbeda.

3) Jika ada root unit dalam seri maka Anda harus membedakan seri. Setelah itu Anda harus menjalankan tampilan pada ACF, PACF dan plot seri waktu dan mungkin memeriksa root unit kedua untuk berada di sisi yang aman. ACF dan PACF akan membantu Anda memutuskan berapa banyak persyaratan AR dan MA yang harus Anda sertakan.

4) Jika seri tidak mengandung akar unit tetapi plot seri waktu dan ACF menunjukkan bahwa seri memiliki tren deterministik Anda harus menambahkan tren saat memasang model. Beberapa orang berpendapat bahwa itu sepenuhnya valid untuk hanya membedakan seri ketika berisi tren deterministik walaupun informasi dapat hilang dalam proses. Namun ide yang bagus untuk membedakannya untuk melihat memiliki banyak AR dan / atau istilah MA yang perlu Anda sertakan. Tapi tren waktu itu valid.

5) Paskan model yang berbeda dan lakukan pemeriksaan diagnostik biasa, Anda mungkin ingin menggunakan kriteria informasi atau MSE untuk memilih model terbaik mengingat sampel yang sesuai dengan Anda.

6) Lakukan dalam peramalan sampel pada model yang paling cocok dan hitung fungsi kerugian seperti MSE, MAPE, MAD untuk melihat mana di antara mereka yang benar-benar berkinerja terbaik ketika menggunakannya untuk memperkirakan karena itulah yang ingin kita lakukan!

7) Lakukan peramalan sampel seperti bos dan senang dengan hasil Anda!

Plissken
sumber
Dan untuk menjawab pertanyaan Anda dengan cepat. Ya bisa.
Plissken
Saya tidak diizinkan untuk mengomentari hal di atas karena saya tidak memiliki reputasi yang cukup tetapi saya ingin menunjukkan bahwa proses white noise diam. Mean dan variansnya tidak berubah dari waktu ke waktu sehingga stasioner!
Plissken
Dan, jawaban yang bagus! Mengenai komentar terakhir Anda di sini, apakah Anda mengatakan bahwa jika Anda berakhir dengan residual white noise, yang stasioner .... maka itu memberi tahu Anda bahwa Anda telah memodelkan seri secara memadai (yaitu menangani masalah stasioneritas dengan benar / memadai)?
B_Miner
1
Ya persis. Seringkali tes Ljung-Box Q digunakan untuk menguji residu untuk melihat apakah mereka acak atau tidak. Jika mereka kemudian model adalah representasi data yang memadai. Sesuatu yang saya lupa sebutkan dalam jawaban di atas juga bahwa setelah Anda memasang model Anda dapat melihat ACF dan plot time series dari residual dari seri yang dipasang. Ini akan memberi Anda indikasi yang baik apakah residu Anda adalah white noise atau tidak (ACF seharusnya tidak memiliki kelambatan yang signifikan). Bagaimanapun, sebagian besar paket statistik memiliki perintah untuk tes Ljung-Box Q.
Plissken
Berikut ini tautan wiki untuk tes Ljung-Box Q: en.wikipedia.org/wiki/Ljung%E2%80%93Box_test
Plissken
5

Menentukan apakah tren (atau komponen lain seperti musiman) bersifat deterministik atau stokastik adalah bagian dari teka-teki dalam analisis deret waktu. Saya akan menambahkan beberapa poin pada apa yang telah dikatakan.

1) Perbedaan antara tren deterministik dan stochastic adalah penting karena jika unit root hadir dalam data (misalnya jalan acak) maka statistik uji yang digunakan untuk inferensi tidak mengikuti distribusi tradisional. Lihat posting ini untuk beberapa detail dan referensi.

Kita dapat mensimulasikan jalan acak (tren stokastik di mana perbedaan pertama harus diambil), menguji signifikansi tren deterministik dan melihat persentase kasus di mana nol tren deterministik ditolak. Di R, kita bisa melakukan:

require(lmtest)
iter <- 10000
cval <- 0.05
n <- 120
rejections <- 0
set.seed(123)
for (i in seq.int(iter))
{
  x <- cumsum(rnorm(n)) # random walk
  fit <- lm(x ~ seq(n))
  if (coeftest(fit)[2,"Pr(>|t|)"] < cval)
    rejections <- rejections + 1
}
100 * rejections / iter
#[1] 88.67

Pada tingkat signifikansi 5%, kami berharap untuk menolak nol dalam 95% kasus, namun, dalam percobaan ini ditolak hanya dalam ~ 89% kasus dari 10.000 jalan acak yang disimulasikan.

Kami dapat menerapkan tes unit root untuk menguji apakah unit root hadir. Tetapi kita harus menyadari bahwa tren linier pada gilirannya dapat menyebabkan kegagalan untuk menolak nol dari unit root. Untuk mengatasi hal ini, tes KPSS mempertimbangkan nol stasioneritas di sekitar tren linier.

2) Masalah lain adalah interpretasi komponen deterministik dalam suatu proses di tingkat atau perbedaan pertama. Efek intersep tidak sama dalam model dengan tren linier seperti pada jalan acak. Lihat posting ini untuk ilustrasi.

yt=μ+yt1+ϵt,ϵtNID(0,σ2).

ytiyt

yt=μ+yt1μ+yt2+ϵt1+ϵt=2μ+yt2μ+yt3+ϵt2+ϵt1+ϵt=3μ+yt3+ϵt2+ϵt1+ϵt...

Kami tiba di:

yt=y0+μt+i=1tϵi

y0μμμ

Jika representasi grafis dari suatu rangkaian menunjukkan tren linier yang relatif jelas, kami tidak dapat memastikan apakah itu disebabkan oleh adanya tren linier deterministik atau karena pergeseran dalam proses jalan acak. Grafik pelengkap dan statistik pengujian harus diterapkan.

Ada beberapa peringatan yang perlu diingat karena analisis berdasarkan unit root dan statistik uji lainnya tidak mudah. Beberapa dari tes ini mungkin dipengaruhi oleh adanya pengamatan terluar atau pergeseran level dan memerlukan pemilihan urutan lag yang tidak selalu mudah.

Sebagai solusi untuk teka-teki ini, saya berpikir bahwa praktik umum adalah mengambil perbedaan data hingga seri tampak stasioner (misalnya melihat fungsi autokorelasi, yang seharusnya bergerak cepat ke nol) dan kemudian memilih model ARMA.

javlacalle
sumber
Greta post - Anda jelas merupakan aset besar untuk situs ini! Saya ingin tahu melihat di sini dan posting Anda yang lain - apakah mungkin untuk menggunakan tes ADF atau KPSS untuk menentukan apakah yang terlihat seperti tren dalam seri di tingkat adalah deterministik atau stochastic? Saya menemukan ini: fakultas.smu.edu/tfomby/eco6375/BJ%20Notes/ADF%20Notes.pdf yang membuatnya terlihat seperti jika Anda melihat tren secara visual dalam seri, gunakan opsi # 3 dari tes dan jika Anda tidak menolak nol, Anda memiliki bukti untuk tren deterministik.
B_Miner
Berdasarkan komentar Dan, saya kira jika Anda mendapatkan residu white noise, semua ini tidak penting :)
B_Miner
5

Pertanyaan yang sangat menarik, saya juga ingin tahu apa yang orang lain katakan. Saya seorang insinyur dengan pelatihan dan bukan ahli statistik, sehingga seseorang dapat memeriksa logika saya. Sebagai insinyur, kami ingin melakukan simulasi dan bereksperimen, jadi saya termotivasi untuk mensimulasikan dan menguji pertanyaan Anda.

Seperti yang ditunjukkan secara empiris di bawah ini, menggunakan variabel tren di ARIMAX meniadakan kebutuhan untuk membedakan dan membuat tren seri stasioner. Berikut adalah logika yang saya gunakan untuk memverifikasi.

  1. Simulasi proses AR
  2. Menambahkan tren deterministik
  3. Menggunakan ARIMAX dimodelkan dengan tren sebagai variabel eksogen seri di atas tanpa perbedaan.
  4. Memeriksa residu untuk white noise dan murni acak

Di bawah ini adalah kode R dan plot:

set.seed(3215)

##Simulate an AR process
x <- arima.sim(n = 63,list(ar = c(0.7)));
plot(x)

## Add Deterministic Trend to AR
t <- seq(1, 63)
beta <- 0.8
t_beta <- ts(t*beta,frequency=1)
ar_det <- x+t_beta
plot(ar_det)

## Check with arima

ar_model <- arima(ar_det,order=c(1,0,0),xreg=t,include.mean=FALSE)

## Check whether residuals of fitted model is random

pacf(ar_model$residuals)

AR (1) Plot Simulasi masukkan deskripsi gambar di sini

AR (1) dengan tren deterministik masukkan deskripsi gambar di sini

ARIMAX Residual PACF dengan tren sebagai eksogen. Residulasinya acak, tanpa pola yang tersisa masukkan deskripsi gambar di sini

Seperti dapat dilihat di atas, pemodelan tren deterministik sebagai variabel eksogen dalam model ARIMAX meniadakan perlunya perbedaan. Setidaknya dalam kasus deterministik itu berhasil. Saya bertanya-tanya bagaimana ini akan berperilaku dengan tren stokastik yang sangat sulit diprediksi atau model.

Untuk menjawab pertanyaan kedua Anda, YA semua ARIMA termasuk ARIMAX harus dibuat diam. Setidaknya itulah yang dikatakan buku teks.

Selain itu, seperti yang dikomentari, lihat artikel ini . Penjelasan yang sangat jelas tentang Tren Deterministik vs. Tren Stochastic dan bagaimana cara menghapusnya untuk menjadikannya tren dan survei literatur yang sangat bagus tentang topik ini. Mereka menggunakannya dalam konteks jaringan saraf, tetapi berguna untuk masalah deret waktu umum. Rekomendasi akhir mereka adalah ketika itu jelas diidentifikasi sebagai tren deterministik, yang melakukan linear detrending, atau menerapkan pembedaan untuk membuat seri waktu stasioner. Juri masih di luar sana, tetapi sebagian besar peneliti yang dikutip dalam artikel ini merekomendasikan perbedaan sebagai lawan dari linear detrending.

Edit:

Di bawah ini adalah berjalan acak dengan proses stokastik melayang, menggunakan variabel eksogen dan arima perbedaan. Keduanya nampak memberikan jawaban yang sama dan pada intinya keduanya sama.

library(Hmisc)

set.seed(3215)

## ADD Stochastic Trend to simulated Arima this is AR(1) with unit root with non zero mean

y = rep(NA,63)
y[[1]] <- 2


for (i in 2:63)  {
y[i] <-3+1*y[i-1]+ rnorm(1, mean = 0, sd = 1)
} 

plot(y,type="l")

y_ts <- ts(y,frequency=1)

## Lag to create Xreg

y_1 <- Lag(y,shift=1)


## Start from 2 value to avoid NA and make it equal length with xreg

y <- window(y_ts,start =2,end=63)
xreg1 <- y_1[-1]

## Check the values with ARIMA and xreg

g <- arima(y,order=c(0,0,0),xreg=xreg1)

pacf(g$residuals)

## Check the values with ARIM

g1 <- arima(y,order=c(0,1,0))

pacf(g1$residuals)

## 

ARIMA(0,0,0) with non-zero mean 

Coefficients:
      intercept   xreg1
         3.1304  0.9976
s.e.     0.2664  0.0025

Semoga ini membantu!

peramal cuaca
sumber
Saya tertarik pada pandangan orang lain juga - Saya tidak yakin, apakah residual white noise memenuhi persyaratan untuk seri yang stasioner - yaitu jika Anda mencapai white noise dapatkah Anda puas? Atau, apakah dimasukkannya variabel eksogen benar-benar bertindak untuk "de-trend" dan membuat seri ini diam? Saya ingin tahu apakah pemeriksaan pada pertanyaan ini nanti adalah apakah Anda mendapatkan model yang sama (koefisien ar1, dll) jika Anda tidak tren dengan regresi linier dan kemudian sesuai dengan arima (1,0,0) ... Saya melakukan ini dan hasilnya dekat. Jadi mungkin menambahkan variabel eksogen sama dengan detrending.
B_Miner
Ya itu sama, beberapa bulan yang lalu saya menemukan ini dalam artikel perkiraan jaringan saraf. Saya akan memberikan referensi jika saya menemukannya.
peramal
Adakah yang tahu tentang kasus ketika ada unit root atau ketika ada konstanta dalam model?
B_Miner
Saya telah memperbarui jawaban saya dengan artikel yang saya rujuk.
peramal
Saya pikir Anda mungkin belum menyimpannya.
B_Miner