Là một tổ chức tài chính, chúng tôi thường chạy vào phân tích dữ liệu chuỗi thời gian. Rất nhiều lần chúng ta kết thúc việc hồi quy bằng các biến chuỗi thời gian. Khi điều này xảy ra, chúng ta thường gặp các phần dư với cấu trúc chuỗi thời gian vi phạm giả định cơ bản về các lỗi độc lập trong hồi quy OLS. Gần đây, chúng tôi đang xây dựng một mô hình khác trong đó tôi tin rằng chúng tôi đã hồi quy với các lỗi tự động. Phần dư từ mô hình tuyến tính lm(object)
rõ ràng có cấu trúc AR (1), như hiển nhiên từ ACF và PACF. Tôi đã thực hiện hai cách tiếp cận khác nhau, cách đầu tiên rõ ràng là phù hợp với mô hình sử dụng bình phương tối thiểu hóa tổng quát gls()
trong R. Kỳ vọng của tôi là phần dư từ gls (đối tượng) sẽ là nhiễu trắng (lỗi độc lập). Nhưng phần dư từgls(object)
vẫn có cấu trúc ARIMA giống như trong hồi quy thông thường. Thật không may, có điều gì đó sai trong những gì tôi đang làm mà tôi không thể tìm ra. Do đó tôi quyết định điều chỉnh thủ công các hệ số hồi quy từ mô hình tuyến tính (ước tính OLS). Đáng ngạc nhiên là dường như đang hoạt động khi tôi vẽ các phần dư từ hồi quy điều chỉnh (phần dư là tiếng ồn trắng). Tôi thực sự muốn sử dụng gls()
trong nlme
gói để mã hóa sẽ đơn giản và dễ dàng hơn nhiều. Điều gì sẽ là cách tiếp cận tôi nên thực hiện ở đây? Tôi có nên sử dụng REML không? hoặc là kỳ vọng của tôi về phần dư không tương quan (nhiễu trắng) từ đối tượng gls () sai?
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
Có điều gì đó sai với những gì tôi đang làm ???????