[RsR] The robust regression confidence interval
Roger Koenker
rkoenker @end|ng |rom ||||no|@@edu
Wed May 8 18:07:31 CEST 2013
For quantile regression you can again just use summary(rq(...)).
url: www.econ.uiuc.edu/~roger Roger Koenker
email rkoenker using uiuc.edu Department of Economics
vox: 217-333-4558 University of Illinois
fax: 217-244-6678 Urbana, IL 61801
On May 8, 2013, at 10:51 AM, Anton Kochepasov wrote:
> 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 using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-robust
More information about the R-SIG-Robust
mailing list