Sebagai lembaga keuangan, kami sering mengalami analisis data deret waktu. Banyak kali kita akhirnya melakukan regresi menggunakan variabel deret waktu. Ketika ini terjadi, kita sering menemukan residu dengan struktur deret waktu yang melanggar asumsi dasar kesalahan independen dalam regresi OLS. Baru-baru ini kami sedang membangun model lain di mana saya percaya kami memiliki regresi dengan kesalahan autokorelasi. Residu dari model linier lm(object)
telah jelas memiliki struktur AR (1), sebagaimana terbukti dari ACF dan PACF. Saya mengambil dua pendekatan yang berbeda, yang pertama jelas sesuai dengan model menggunakan Generalized least square gls()
di R. Harapan saya adalah bahwa residu dari gls (objek) akan menjadi white noise (kesalahan independen). Tetapi sisa darigls(object)
masih memiliki struktur ARIMA yang sama seperti pada regresi biasa. Sayangnya ada sesuatu yang salah dalam apa yang saya lakukan yang tidak bisa saya pahami. Karenanya saya memutuskan untuk secara manual menyesuaikan koefisien regresi dari model linier (perkiraan OLS). Anehnya yang tampaknya bekerja ketika saya merencanakan residu dari regresi yang disesuaikan (residu adalah white noise). Saya benar-benar ingin menggunakan gls()
dalam nlme
paket sehingga pengkodean akan jauh lebih sederhana dan lebih mudah. Apa pendekatan yang harus saya ambil di sini? Apakah saya harus menggunakan REML? atau apakah harapan saya terhadap residu yang tidak berkorelasi (white noise) dari objek gls () salah?
gls.bk_ai <- gls(PRNP_BK_actINV ~ PRM_BK_INV_ENDING + NPRM_BK_INV_ENDING,
correlation=corARMA(p=1), method='ML', data = fit.cap01A)
gls2.bk_ai <- update(gls.bk_ai, correlation = corARMA(p=2))
gls3.bk_ai <- update(gls.bk_ai, correlation = corARMA(p=3))
gls0.bk_ai <- update(gls.bk_ai, correlation = NULL)
anova(gls.bk_ai, gls2.bk_ai, gls3.bk_ai, gls0.bk_ai)
## looking at the AIC value, gls model with AR(1) will be the best bet
acf2(residuals(gls.bk_ai)) # residuals are not white noise
Apakah ada yang salah dengan apa yang saya lakukan ???????
predict.arima()
akan memberi Anda prediksi yang lebih baik daripadapredict.gls()
.Anda ingin residu yang dinormalisasi. Lihat
?residuals.lme
.sumber