[R] R strucchange question -- robust regression

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Thu May 8 19:59:39 CEST 2008


On Thu, 8 May 2008, Kittler, Richard wrote:

> Is it possible to use some form of robust regression with the
> breakpoints routine so that it is less sensitive to outliers?

Conceptually, it is possible to use the underlying dynamic programming
algorithm for other objective functions than the residual sum of squares.
However, the implementation of breakpoints() exploits the special
structure of OLS to speed up computations.

For package "fxregime", I've written a more general (and hence even
slower) object-oriented implementation. Because it is still a bit instable
it's currently hidden in the namespace and essentially undocumented.

It could be used for what you want to do if:
  - Your robust regression is available in R in a function, fit() say,
    with a formula interface
      fm <- fit(formula, data)
  - Your robust regression has an objective function which is additive
    in the observations and accessible in an extractor, objfun() say:
      objfun(fm)

For OLS these would be lm() and deviance():

  ## OLS-optimized interface
  bp1 <- breakpoints(Nile ~ 1)

  ## object-oriented interface
  nile <- data.frame(Nile = Nile)
  bp2 <- fxregime:::gbreakpoints(Nile ~ 1, data = nile,
    fit = lm, objfun = deviance)

  ## compare results
  summary(bp1)$breakpoints
  summary(bp2)$breakpoints

So if you've got something sensible as an alternative to lm() and
deviance(), you could plug that in. The downsides are: (1) This can be
terribly slow. (2) Information criteria are not automatically available
for selecting the number of breakpoints.

I hope that helps,
Z

> --Rich
>
> Richard Kittler
> Advanced Micro Devices, Inc.
> Sunnyvale, CA
>
> ______________________________________________
> 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.
>
>



More information about the R-help mailing list