Apakah auto.arima dalam R pernah melaporkan model dengan AIC, AICC, dan BIC yang lebih tinggi daripada model lain yang dipertimbangkan?

8

Saya telah menggunakan auto.arima agar sesuai dengan model deret waktu (regresi linear dengan kesalahan ARIMA, seperti yang dijelaskan di situs Rob Hyndman ) Ketika selesai - output melaporkan bahwa model terbaik memiliki (5,1,0) dengan struktur melayang - dan melaporkan kembali nilai kriteria informasi sebagai

AIC: 2989.2 AICC: 2989.3 BIC: 3261.2

Ketika saya menggunakan Arima agar sesuai dengan model dengan (1,1,1) dengan struktur melayang - output melaporkan kembali IC yang lebih rendah dari

AIC: 2510.3 AICC: 2510.4 BIC: 2759

Saya dapat memaksa auto.arima untuk mempertimbangkan (1,1,1) dengan model drift (menggunakan parameter start.p dan start.q), dan ketika saya melakukan itu, dan mengatur "trace = TRUE" - Saya melihat bahwa (1,1,1) dengan model drift dianggap, tetapi ditolak, oleh auto.arima. Ini masih melaporkan kembali (5,1,0) dengan model drift sebagai hasil terbaik.

Apakah ada keadaan ketika auto.arima menggunakan kriteria lain untuk memilih antara model?

Diedit untuk ditambahkan (sebagai tanggapan atas permintaan)

Data untuk contoh ini dapat ditemukan di spreadsheet Google ini

dan kode R untuk mereproduksi contohnya adalah

repro = read.csv("mindata.csv")
reprots = ts(repro, start=1, frequency=24)
fitauto = auto.arima(reprots[,"lnwocone"],
xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]),
start.p=1, start.q=1, trace=TRUE, seasonal=FALSE)
fitdirect <- Arima(reprots[,"lnwocone"], order=c(1,1,1), seasonal=c(0,0,0),
xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]), include.drift=TRUE)
summary(fitauto)
summary(fitdirect)

Permintaan maaf jika data dokumen Google - kode sebaris bukan cara terbaik untuk memberikan contoh. Saya pikir saya telah melihat dalam pedoman sebelumnya tentang cara terbaik untuk melakukan ini - tetapi tidak dapat menemukan pedoman itu dalam pencarian pagi ini.

Don Dresser LatentView
sumber
1
Berikan contoh yang dapat direproduksi.
Rob Hyndman

Jawaban:

9

auto.arimamenggunakan beberapa perkiraan untuk mempercepat pemrosesan. Model akhir dilengkapi menggunakan MLE penuh, tetapi sepanjang jalan model diperkirakan menggunakan CSS kecuali Anda menggunakan argumen approximation=FALSE. Ini dijelaskan dalam file bantuan:

aproksimasi Jika TRUE, estimasi adalah melalui jumlah kuadrat bersyarat dan kriteria informasi yang digunakan untuk pemilihan model didekati. Model akhir masih dihitung menggunakan estimasi kemungkinan maksimum. Perkiraan harus digunakan untuk deret waktu lama atau periode musiman tinggi untuk menghindari waktu perhitungan yang berlebihan.

Pengaturan default adalah approximation=(length(x)>100 | frequency(x)>12), sekali lagi ini ditentukan dalam file bantuan. Saat Anda memiliki 17544 pengamatan, pengaturan default memberikanapproximation=TRUE .

Menggunakan perkiraan, model terbaik yang ditemukan adalah regresi dengan kesalahan ARIMA (5,1,0) dengan AICc dari 2989,33. Jika Anda mematikan pendekatan, model terbaik memiliki kesalahan ARIMA (2,1,1) dengan AICc dari 2361,40.

> fitauto = auto.arima(reprots[,"lnwocone"], approximation=FALSE,
                xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
                reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]),
                start.p=1, start.q=1, trace=TRUE, seasonal=FALSE)
> fitauto
Series: reprots[, "lnwocone"] 
ARIMA(2,1,1) with drift         
...
sigma^2 estimated as 0.08012:  log likelihood=-1147.63
AIC=2361.27   AICc=2361.4   BIC=2617.76
Rob Hyndman
sumber
1
Terima kasih banyak atas tanggapannya. Model itu tidak hanya cocok dengan lebih baik - tetapi lebih masuk akal dalam beberapa cara.
Don Dresser LatentView