[R] updating observations in lm

ivo welch ivo.welch at gmail.com
Mon May 27 18:52:23 CEST 2013

hi bert---thanks for the answer.

my particular problem is well conditioned [stock returns] and speed is
very important.

about 4 years ago, I asked for speedier alternatives to lm (and you
helped me on this one, too),  and then checked into the speed/accuracy
tradeoff.  http://r.789695.n4.nabble.com/very-fast-OLS-regression-td884832.html
. for the particular problem I had, solve(crossprod(x),crossprod(x,y))
worked reasonably well.  moreover, it is easy to debug, being so
simple.   it was faster than lm() by a factor 5..  (for a more generic
library use, it would be nice to have a warning flag when this
"algorithm" fails, in which case it would fall back on a more robust
algorithm or at least emit a warning.  I wonder how much it would cost
to check the condition of the matrix before deciding on the

I looked at update(), but its documentation seems to refer to updating
models, not observations.  even if it did, given the speed of lm(), I
don't think it will be that useful.



Ivo Welch (ivo.welch at gmail.com)

On Mon, May 27, 2013 at 9:26 AM, Bert Gunter <gunter.berton at gene.com> wrote:
> Ivo:
> 1. You should not be fitting linear models as you describe. For why
> not and  how they should be fit, consult a suitable text on numerical
> methods (e.g. Givens and Hoeting).
> 2. In R, I suggest using lm() and ?update, feeding update() data
> modified as you like. This is, after all, the reason for update().
> -- Bert
> On Mon, May 27, 2013 at 8:12 AM, ivo welch <ivo.welch at anderson.ucla.edu> wrote:
>> dear R experts---I would like to update OLS regressions with new
>> observations on the front of the data, and delete some old
>> observations from the rear.  my goal is to have a "flexible"
>> moving-window regression, with a minimum number of observations and a
>> maximum number of observations.  I can keep (X' X) and (X' y), and add
>> or subtract observations from these two quantities myself, and then
>> use crossprod.
>> strucchange does recursive residuals, which is closely related, but it
>> is not designed for such flexible movable windows, nor primarily
>> designed to produce standard errors of coefficients.
>> before I get started on this, I just wanted to inquire whether someone
>> has already written such a function.
>> regards,
>> /iaw
>> ----
>> Ivo Welch (ivo.welch at gmail.com)
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> --
> Bert Gunter
> Genentech Nonclinical Biostatistics
> Internal Contact Info:
> Phone: 467-7374
> Website:
> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm

More information about the R-help mailing list