Statistik Ljung-Box untuk residu ARIMA di R: hasil tes membingungkan

14

Saya memiliki rangkaian waktu yang saya coba ramalkan, yang mana saya telah menggunakan model ARIMA musiman (0,0,0) (0,1,0) [12] (= fit2). Berbeda dengan apa yang disarankan R dengan auto.arima (R hitung ARIMA (0,1,1) (0,1,0) [12] akan lebih cocok, saya menamakannya fit1). Namun, dalam 12 bulan terakhir dari deret waktu saya model saya (fit2) tampaknya lebih cocok ketika disesuaikan (itu bias kronis, saya telah menambahkan rata-rata residu dan cocok baru tampaknya lebih pas di sekitar deret waktu asli) Berikut adalah contoh 12 bulan terakhir dan MAPE selama 12 bulan terakhir untuk kedua pasangan:

fit1, fit2 dan data asli

Rangkaian waktu terlihat seperti ini:

seri waktu asli

Sejauh ini baik. Saya telah melakukan analisis residual untuk kedua model, dan inilah kebingungannya.

ACF (resid (fit1)) tampak hebat, sangat noisey putih:

ACF dari fit1

Namun, tes Ljung-Box tidak terlihat bagus, misalnya, 20 lag:

    Box.test(resid(fit1),type="Ljung",lag=20,fitdf=1)

Saya mendapatkan hasil sebagai berikut:

    X-squared = 26.8511, df = 19, p-value = 0.1082

Menurut pemahaman saya, ini adalah konfirmasi bahwa residu tidak independen (p-value terlalu besar untuk bertahan dengan Hipotesis Kemerdekaan).

Namun, untuk lag 1 semuanya hebat:

    Box.test(resid(fit1),type="Ljung",lag=1,fitdf=1)

memberi saya hasilnya:

    X-squared = 0.3512, df = 0, p-value < 2.2e-16

Entah saya tidak memahami tes, atau sedikit bertentangan dengan apa yang saya lihat di plot acf. Autokorelasi rendah sekali.

Kemudian saya memeriksa fit2. Fungsi autokorelasi terlihat seperti ini:

ACF Fit2

Terlepas dari autokorelasi yang begitu jelas pada beberapa kelambatan pertama, tes Ljung-Box memberi saya hasil yang jauh lebih baik pada 20 kelambatan, dibandingkan dengan fit1:

    Box.test(resid(fit2),type="Ljung",lag=20,fitdf=0)

menghasilkan:

    X-squared = 147.4062, df = 20, p-value < 2.2e-16

sedangkan hanya memeriksa autokorelasi pada lag1, juga memberi saya konfirmasi hipotesis nol!

    Box.test(resid(arima2.fit),type="Ljung",lag=1,fitdf=0)
    X-squared = 30.8958, df = 1, p-value = 2.723e-08 

Apakah saya memahami tes dengan benar? Nilai-p sebaiknya lebih kecil dari 0,05 untuk mengkonfirmasi hipotesis nol dari independensi residual. Fit mana yang lebih baik digunakan untuk peramalan, fit1 atau fit2?

Info tambahan: residu dari fit1 menampilkan distribusi normal, mereka yang fit2 tidak.

zima
sumber
2
Anda tidak memahami nilai-p, & menafsirkannya dengan cara yang salah.
Scortchi
Ya, itu bisa menjadi masalah pemahaman. Bisakah Anda memperluas? Misalnya, apa sebenarnya arti jika nilai p lebih besar dari 0,5? Saya telah membaca definisi nilai-p (probabilitas memperoleh statistik setidaknya sama ekstrimnya dengan statistik uji mengingat hipotesis nol berlaku). Bagaimana ini berlaku untuk tes Ljung-Box? Apakah "setidaknya sama ekstrimnya" berarti "lebih besar dari X kuadrat"? Saya akan berterima kasih atas contoh dengan data saya, karena pengujian signifikansi telah menantang bagi saya untuk mengerti.
zima
5
Statistik uji Ljung-Box ( X-squared) semakin besar ketika sampel korelasi-otomatis residu semakin besar (lihat definisi), & nilai-p adalah probabilitas mendapatkan nilai sebesar atau lebih besar dari yang diamati di bawah nol hipotesis bahwa inovasi sejati adalah independen. Oleh karena itu nilai-p kecil adalah bukti yang menentang independensi.
Scortchi
@Scortchi, saya pikir saya mengerti. Tetapi itu juga membuat pengujian saya pada lag = 1 untuk fit1 gagal. Bagaimana ini bisa dijelaskan? Saya tidak melihat autokorelasi pada lag = 1. Apakah ada semacam ekstremitas dari tes ini dengan sejumlah kecil lag (sampel sangat kecil)?
zima
3
Box-Ljung adalah ujian kemandirian omnibus di semua keterlambatan hingga yang Anda tentukan. Tingkat kebebasan yang digunakan adalah tidak. tertinggal minus no. Parameter AR & MA ( fitdf) jadi Anda menguji terhadap distribusi chi-kuadrat dengan nol derajat kebebasan.
Scortchi

Jawaban:

32

Anda mengartikan tes salah. Jika nilai p lebih besar dari 0,05 maka residu independen yang kita inginkan agar model menjadi benar. Jika Anda mensimulasikan deret waktu derau putih menggunakan kode di bawah ini dan menggunakan tes yang sama untuk itu maka nilai p akan lebih besar dari 0,05.

m = c(ar, ma)
w = arima.sim(m, 120)
w = ts(w)
plot(w)
Box.test(w, type="Ljung-Box")
Joe Ferrelly
sumber
3
Penjelasan singkat dan rapi. +1 untuk contoh kode.
Dawny33
1
Penafsiran Anda juga tidak benar. Nilai p 0,05 berarti Anda memiliki peluang 5% untuk membuat kesalahan jika Anda menolak hipotesis nol tanpa korelasi-otomatis hingga pesanan 1 dalam kasus Anda.
DJJ
7

Banyak uji statistik digunakan untuk mencoba menolak beberapa hipotesis nol. Dalam kasus khusus ini tes Ljung-Box mencoba untuk menolak independensi dari beberapa nilai. Apa artinya?

  • Jika p-value <0,05 1 : Anda dapat menolak hipotesis nol dengan asumsi peluang 5% untuk melakukan kesalahan. Jadi, Anda dapat mengasumsikan bahwa nilai-nilai Anda menunjukkan ketergantungan satu sama lain.

  • Jika p-value> 0,05 1 : Anda tidak memiliki cukup bukti statistik untuk menolak hipotesis nol. Jadi, Anda tidak dapat mengasumsikan bahwa nilai Anda bergantung. Ini bisa berarti bahwa nilai Anda tergantung pula atau itu dapat berarti bahwa nilai Anda independen. Tetapi Anda tidak membuktikan kemungkinan spesifik apa pun, yang sebenarnya dikatakan oleh tes Anda adalah bahwa Anda tidak dapat menegaskan ketergantungan nilai-nilai tersebut, Anda juga tidak dapat menegaskan independensi nilai-nilai tersebut.

Secara umum, yang penting di sini adalah untuk diingat bahwa nilai-p <0,05 memungkinkan Anda menolak hipotesis nol, tetapi nilai-p> 0,05 tidak memungkinkan Anda mengkonfirmasi hipotesis nol.

Secara khusus, Anda tidak dapat membuktikan independensi nilai Time Series menggunakan tes Ljung-Box. Anda hanya bisa membuktikan ketergantungannya.


α=0,05

Alejandro Jiménez Rico
sumber
α=0,05
0

Menurut grafik ACF, jelas bahwa fit 1 lebih baik karena koefisien korelasi pada lag k (k> 1) turun tajam, dan mendekati 0.

Tao
sumber
0

Jika Anda menilai dengan ACF maka pas 1 lebih tepat. Alih-alih bingung pada tes Ljung Anda masih dapat menggunakan korelasiogram residu untuk memastikan kesesuaian terbaik antara fit1 dan fit2

Vincent
sumber
1
Saya tidak mengerti jawaban ini.
Michael R. Chernick
Ketika kami mengunjungi statistik kotak Ljung, kita mungkin tertarik pada pemeriksaan diagnostik model Yaitu, kecukupan model ..... Jika menggunakan itu membingungkan Anda ada cara lain untuk memeriksa kecukupan model yang saya sebutkan di atas. Anda dapat memplot korelasiogram, yaitu, ACF dan PACF dari sisa data dan kemudian memeriksa batas-batas seri jika itu white noise ...... Tidak harus menggunakan uji kotak Ljung
Vincent