Hi everyone,
A few years ago there was a discussion about a robust regression confidence
interval (https://stat.ethz.ch/pipermail/r-sig-robust/2008/000217.html) and I
would like to resort your courtesy again.
I'm trying to compare a few regression models for my data. For linear
regression everything is quite understandable, but robust and quantile
regressions are not so obvious. I could not find almost anything about
calculating confidence interval for these regression models unless I looked for
something wrong.
My code in R looks as follows:
# Robust linear modeling
library(MASS)
library(robustbase)
library(robust)
set.seed(343);
x <- rnorm(1000)
y <- x + 2*rnorm(1000)
lm1<-lm(y~x); rlm1<-rlm(y~x); rlm2 <- lmRob(y~x); rlm3 <- lmrob(y~x)
cbind(summary(lm1)$coeff, confint(lm1))
cbind(summary(rlm1)$coeff, confint(rlm1))
cbind(summary(rlm2)$coeff, confint(rlm2))
cbind(summary(rlm3)$coeff, confint(rlm3))
And produces the following result:
> cbind(summary(lm1)$coeff, confint(lm1))
Estimate Std. Error t value Pr(>|t|) 2.5 % 97.5 %
(Intercept) -0.06973191 0.06408983 -1.088034 2.768429e-01 -0.1954982 0.05603438
x 0.97647196 0.06619635 14.751145 1.071805e-44 0.8465720 1.10637196
> cbind(summary(rlm1)$coeff, confint(rlm1))
Value Std. Error t value 2.5 % 97.5 %
(Intercept) -0.06131788 0.06714405 -0.9132288 NA NA
x 0.96016596 0.06935096 13.8450275 NA NA
> cbind(summary(rlm2)$coeff, confint(rlm2))
Error in UseMethod("vcov") :
no applicable method for 'vcov' applied to an object of class "lmRob"
> cbind(summary(rlm3)$coeff, confint(rlm3))
Estimate Std. Error t value Pr(>|t|) 2.5 % 97.5 %
(Intercept) -0.0568964 0.06608987 -0.8608945 3.895029e-01 -0.1865874 0.07279464
x 0.9612520 0.06821558 14.0913850 2.921913e-41 0.8273896 1.09511448
It's easy to spot that linear model works OK and only one robust regression
gives a sensible result. Another observation is that lmrob(), which produces
some actual confidence interval, calculates it in the same manner as lm(), with
using 1.96 as the student coefficient.
Could you share your opinion if it is a correct way to produce a confidence
interval for the robust regression model (same as for the linear regression)?
May the same method be used for the quantile regression model? If not, what
should I use?
Thank you in advance,
Anton
_______________________________________________
R-SIG-Robust@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-robust