[R] updating observations in lm

Bert Gunter gunter.berton at gene.com
Mon May 27 19:09:48 CEST 2013


?lm.fit   ## may be useful to you then. Have you tried it?

-- Bert

On Mon, May 27, 2013 at 9:52 AM, ivo welch <ivo.welch at gmail.com> wrote:
> 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
> algorithm.)
>
> 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.
>
> regards,
>
> /iaw
>
> ----
> 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



-- 

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