Jak dopasować model liniowy z błędami autokorelowanymi w R? W stacie użyłbym prais
polecenia, ale nie mogę znaleźć odpowiednika R ...
19
Jak dopasować model liniowy z błędami autokorelowanymi w R? W stacie użyłbym prais
polecenia, ale nie mogę znaleźć odpowiednika R ...
Oprócz
gls()
funkcji fromnlme
możesz także użyćarima()
funkcji wstats
pakiecie za pomocą MLE. Oto przykład z obiema funkcjami.Zaletą funkcji arima () jest to, że można dopasować znacznie większą różnorodność procesów błędów ARMA. Jeśli użyjesz funkcji auto.arima () z pakietu prognozy, możesz automatycznie zidentyfikować błąd ARMA:
źródło
arima
Opcjaprais
na pierwszy rzut oka wygląda inaczej niż Stata , ale jest bardziej elastyczna i można jej również użyć,tsdiag
aby uzyskać ładny obraz tego, jak dobrze pasuje twoje założenie AR (1).Użyj funkcji gls z pakietu nlme . Oto przykład.
Ponieważ model jest montowany z maksymalnym prawdopodobieństwem, musisz podać wartości początkowe. Domyślna wartość początkowa to 0, ale jak zawsze dobrze jest wypróbować kilka wartości, aby zapewnić zbieżność.
Jak zauważył dr G, możesz również użyć innych struktur korelacji, a mianowicie ARMA.
Zauważ, że ogólnie szacunki najmniejszych kwadratów są spójne, jeśli macierz kowariancji błędów regresji nie jest wielokrotnością macierzy tożsamości, więc jeśli dopasujesz model do określonej struktury kowariancji, najpierw musisz sprawdzić, czy jest on odpowiedni.
źródło
Możesz użyć przewidywania na wyjściu gls. Widzisz? Prognozuj.gls. Możesz także określić kolejność obserwacji według terminu „forma” w strukturze korelacji. Na przykład:
corr=corAR1(form=~1)
wskazuje, że kolejność danych odpowiada kolejności w tabeli.corr=corAR1(form=~Year)
wskazuje, że kolejność jest zgodna z współczynnikiem Rok. Wreszcie wartość „0,5”corr=corAR1(0.5,form=~1)?
jest na ogół ustawiana na wartość parametru oszacowanego jako reprezentujący strukturę wariancji (phi, w przypadku AR, theta w przypadku MA. .). Opcjonalnie można go skonfigurować i używać do optymalizacji, jak wspomniał Rob Hyndman.źródło