There are a collection of methods summarized in Wilcox, R. R. (2012). Introduction to Robust Estimation and Hypothesis Testing 3rd Edition. New York: Elsevier.
Heteroscedasticity is addressed as well. Descriptions and illustrations of R functions are included. Rand Wilcox Professor Dept of Psychology 3620 McClintock Ave USC Los Angeles, CA 90089-1061 FAX: 213-746-9082 For information about statistics books and software, see http://college.usc.edu/labs/rwilcox/home ----- Original Message ----- From: Roger Koenker <rkoen...@illinois.edu> Date: Wednesday, May 8, 2013 9:22 am Subject: Re: [RsR] The robust regression confidence interval To: Anton Kochepasov <a...@outlook.com> Cc: "r-sig-robust@r-project.org" <r-sig-robust@r-project.org> > For quantile regression you can again just use summary(rq(...)). > > > url: www.econ.uiuc.edu/~roger Roger Koenker > email rkoen...@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@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-sig-robust > > _______________________________________________ > R-SIG-Robust@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-sig-robust > _______________________________________________ R-SIG-Robust@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-robust