Como encaixo um modelo linear com erros autocorrelacionados em R? Em stata, eu usaria o prais
comando, mas não consigo encontrar um equivalente em R ...
r
time-series
autocorrelation
Zach
fonte
fonte
Além da
gls()
função denlme
, você também pode usar aarima()
função nostats
pacote usando o MLE. Aqui está um exemplo com as duas funções.A vantagem da função arima () é que você pode ajustar uma variedade muito maior de processos de erro do ARMA. Se você usar a função auto.arima () do pacote de previsão, poderá identificar automaticamente o erro ARMA:
fonte
arima
opção parece mais diferente da Stataprais
à primeira vista, mas é mais flexível e você também pode usartsdiag
para obter um bom visual de quão bem sua suposição de AR (1) realmente se encaixa.Use a função gls do pacote nlme . Aqui está o exemplo.
Como o modelo é ajustado usando a probabilidade máxima, você precisa fornecer valores iniciais. O valor inicial padrão é 0, mas como sempre, é bom tentar vários valores para garantir a convergência.
Como o Dr. G apontou, você também pode usar outras estruturas de correlação, a saber, o ARMA.
Observe que, em geral, as estimativas de mínimos quadrados são consistentes se a matriz de covariância dos erros de regressão não for múltipla da matriz de identidade; portanto, se você ajustar o modelo a uma estrutura de covariância específica, primeiro precisará testar se é apropriado.
fonte
Você pode usar prever na saída GLS. Veja? Predict.gls. Também é possível especificar a ordem da observação pelo termo "formulário" na estrutura de correlação. Por exemplo:
corr=corAR1(form=~1)
indica que a ordem dos dados é a que eles estão na tabela.corr=corAR1(form=~Year)
indica que a ordem é a do fator Ano. Finalmente, o valor "0,5"corr=corAR1(0.5,form=~1)?
é geralmente definido como o valor do parâmetro estimado para representar a estrutura de variação (phi, no caso de AR, teta, no caso de MA .. .). É opcional configurá-lo e usá-lo para otimização, como Rob Hyndman mencionou.fonte