¿Cómo ajusto un modelo lineal con errores autocorrelacionados en R? En estado usaría elprais
comando, pero no puedo encontrar un R equivalente ...
19
¿Cómo ajusto un modelo lineal con errores autocorrelacionados en R? En estado usaría elprais
comando, pero no puedo encontrar un R equivalente ...
Además de la
gls()
función fromnlme
, también puede usar laarima()
función en elstats
paquete usando MLE. Aquí hay un ejemplo con ambas funciones.La ventaja de la función arima () es que puede adaptarse a una variedad mucho mayor de procesos de error ARMA. Si usa la función auto.arima () del paquete de pronóstico, puede identificar automáticamente el error ARMA:
fuente
arima
opción se ve más diferente de la de Stataprais
a primera vista, pero es más flexible y también se puede usartsdiag
para obtener una buena visión de qué tan bien se ajusta realmente su suposición AR (1).Utilice la función gls del paquete nlme . Aquí está el ejemplo.
Dado que el modelo se ajusta utilizando la máxima probabilidad, debe proporcionar valores iniciales. El valor inicial predeterminado es 0, pero como siempre es bueno probar varios valores para garantizar la convergencia.
Como señaló el Dr. G, también puede usar otras estructuras de correlación, a saber, ARMA.
Tenga en cuenta que, en general, las estimaciones de mínimos cuadrados son consistentes si la matriz de covarianza de los errores de regresión no es múltiplo de la matriz de identidad, por lo que si ajusta el modelo con una estructura de covarianza específica, primero debe probar si es apropiado.
fuente
Puede usar predecir en la salida de gls. Ver? Predic.gls. También puede especificar el orden de la observación por el término "forma" en la estructura de correlación. Por ejemplo:
corr=corAR1(form=~1)
indica que el orden de los datos es el que están en la tabla.corr=corAR1(form=~Year)
indica que el orden es el del factor Año. Finalmente, el valor "0.5" encorr=corAR1(0.5,form=~1)?
general se configura al valor del parámetro estimado para representar la estructura de varianza (phi, en el caso de AR, theta en el caso de MA .. .). Es opcional configurarlo y usarlo para la optimización como mencionó Rob Hyndman.fuente