Próbuję oszacować wielokrotną regresję liniową w R za pomocą następującego równania:
regr <- lm(rate ~ constant + askings + questions + 0)
pytania i pytania są kwartalnymi szeregami czasowymi danych, zbudowanymi z askings <- ts(...)
.
Problem polega na tym, że otrzymałem resztki autokorelowane. Wiem, że można dopasować regresję za pomocą funkcji gls, ale nie wiem, jak zidentyfikować prawidłową strukturę błędów AR lub ARMA, którą muszę zaimplementować w funkcji gls.
Spróbuję teraz oszacować ponownie,
gls(rate ~ constant + askings + questions + 0, correlation=corARMA(p=?,q=?))
ale niestety nie jestem ekspertem od R ani ekspertem statystycznym w ogóle, aby zidentyfikować p i q.
Byłbym zadowolony, gdyby ktoś mógł dać mi przydatną wskazówkę. Z góry bardzo dziękuję!
Jo
źródło
Jeśli Twoim celem jest przewidywanie, możesz dopasować zakres modeli do parametrów:
gdzie
P
iQ
są maksymalnymi warunkami AR (p) i MA (q), które chcesz uwzględnić, i wybierz model najlepiej dopasowany, określony przez BIC.auto.arima()
w opakowaniu prognoza będzie w tym pomóc, ale może to być kodowane przy użyciu łatwo ręcznieexpand.grid()
i pętla, aarima()
funkcja, która pochodzi z R.Powyższe dotyczy resztek
gls()
z bezcorrelation
struktury.Możesz również zrobić to wszystko ręcznie bezpośrednio,
gls()
po prostu dopasowując wiele modeli do kombinacjip
iq
wbudowanejAIC()
funkcji.Można również wykreślić ACF (
acf()
) i częściowy ACF (pacf()
) reszt z modelu liniowego bez struktury korelacji i użyć ich do zasugerowania wymaganej kolejności modelu.źródło