私たちは金融機関として、時系列データの分析を頻繁に実行します。多くの場合、時系列変数を使用して回帰を行うことになります。これが発生すると、多くの場合、OLS回帰における独立したエラーの基本的な仮定に違反する時系列構造の残差が発生します。最近、別のモデルを構築しています。自己相関エラーのある回帰があるlm(object)
と思います。ACFとPACFから明らかなように、線形モデルの残差は明らかにAR(1)構造を持っています。私は2つの異なるアプローチをとりました。最初のアプローチは明らかgls()
にRの一般化最小二乗法を使用してモデルを適合させることでした。私の期待は、gls(object)からの残差がホワイトノイズ(独立したエラー)になることでした。しかし、からの残差gls(object)
通常の回帰と同じARIMA構造がまだあります。残念なことに、私がやっていることに、理解できないほどの問題があります。したがって、線形モデル(OLS推定)からの回帰係数を手動で調整することにしました。驚くべきことに、調整された回帰からの残差をプロットすると、それは機能しているようです(残差はホワイトノイズです)。私は本当にコーディングをパッケージで使用gls()
したいnlme
ので、コーディングはずっと簡単で簡単になります。ここで私が取るべきアプローチは何ですか?REMLを使用するはずですか?または、gls()オブジェクトからの相関のない残差(ホワイトノイズ)に対する私の期待は間違っていますか?
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
私がやっていることに何か問題がありますか???????