Me interesaría encontrar formas en R para actualizar eficientemente un modelo lineal cuando se agrega una observación o un predictor. biglm tiene una capacidad de actualización al agregar observaciones, pero mis datos son lo suficientemente pequeños como para residir en la memoria (aunque tengo una gran cantidad de instancias para actualizar). Hay maneras de hacer esto con las manos desnudas, por ejemplo, para actualizar la factorización QR (consulte "Actualización de la factorización QR y el problema de los mínimos cuadrados", por Hammarling y Lucas), pero espero una implementación existente.
15
A pesar de buscar días hace un par de meses, no he podido encontrar un equivalente en R (ten en cuenta que hay muchas funciones de actualización qr. en cran, pero cuando miras debajo del capó son falsas, es decir, llaman
lm.update
todos iguales).Actualización : intente en la fuente del paquete 'saltos'. En la fuente R, encontrará una función 'leaps.forward', que llama a una rutina FORTRAN 'forwrd', ubicada en / src del paquete que parece implementar la actualización QR de rango 1.
fuente
¿Por qué no prueba la capacidad de actualización del objeto de modelo lineal?
Echa un vistazo a estos enlaces
http://stat.ethz.ch/R-manual/R-devel/library/stats/html/update.html
http://www.science.oregonstate.edu/~shenr/Rhelp/update.lm.html
fuente
También he estado buscando desde hace mucho tiempo un equivalente a la actualización matlab qr, ¡los saltos parecen una buena manera!
En R, puede observar la función recresid () en el paquete strucchange, que proporcionará residuos recursivos cuando agregue una observación (¡no variable!). Supongo que esto requerirá poca modificación para obtener betas recursivas (¿el betar en el código?).
fuente