Estoy ajustando un modelo lineal en el que la respuesta es una función tanto del tiempo como de las covariables estáticas (es decir, las que son independientes del tiempo). El objetivo final es identificar los efectos significativos de las covariables estáticas.
¿Es ésta la mejor estrategia general para la selección de variables (en R, utilizando el nlme
paquete)? ¿Hay algo que pueda hacer mejor?
- Desglosa los datos por grupos y traza un gráfico en función del tiempo. Para las covariables continuas, divida los datos en grupos y trace los datos de cada grupo en función del tiempo. Utilice las tendencias específicas del grupo para hacer una conjetura inicial sobre qué términos de tiempo incluir - tiempo, tiempo^n, sin(2*pi*tiempo)+cos(2*pi*tiempo), log(tiempo), exp(tiempo), etc.
- Añade un término a la vez, comparando cada modelo con su predecesor, nunca añadiendo un orden superior en ausencia de términos de orden inferior. El pecado y el cos nunca se suman por separado. ¿Es aceptable pasar por alto un término que mejora significativamente el ajuste del modelo si no hay una interpretación física de ese término? .
- Con el conjunto de datos completo, utilice la selección directa para añadir variables estáticas al modelo y, a continuación, los términos de interacción pertinentes entre sí y con los términos temporales. He visto algunas críticas fuertes a la regresión por pasos, pero ¿la selección hacia adelante no ignora los términos significativos de orden superior si los términos de orden inferior de los que dependen no son significativos? Y me he dado cuenta de que es difícil elegir un modelo de partida para la eliminación hacia atrás que no esté saturado, o sea singular, o no converja. ¿Cómo se decide entre los algoritmos de selección de variables?
- Añadir efectos aleatorios al modelo. ¿Es tan sencillo como hacer la selección de variables con
lm()
y luego poner la fórmula final enlme()
y especificando los efectos aleatorios? ¿O debo incluir los efectos aleatorios desde el principio? . Compare los ajustes de los modelos utilizando sólo un intercepto aleatorio, una interacción aleatoria con el término temporal lineal y una interacción aleatoria con cada término temporal sucesivo. - Trace un semivariograma para ver si es necesario un término de error autorregresivo. ¿Cómo debería ser un semivariograma si la respuesta es "no"? ¿Una línea horizontal? ¿Cómo de recta, cómo de horizontal? ¿Incluir la autoregresión en el modelo requiere comprobar las posibles variables e interacciones para asegurarse de que siguen siendo relevantes?
- Grafique los residuos para ver si la varianza cambia en función del valor ajustado, el tiempo o cualquiera de los otros términos. Si lo hace, ponderar las varianzas adecuadamente (para
lme()
Utiliza elweights
para especificar unvarFunc()
) y comparar con el modelo no ponderado para ver si esto mejora el ajuste. ¿Es ésta la secuencia correcta para realizar este paso, o debería hacerse antes de la autocorrelación? . - Haga
summary()
del modelo ajustado para identificar los coeficientes significativos de las covariables numéricas. HagaAnova()
del modelo ajustado para identificar los efectos significativos de las covariables cualitativas.