>>>>> Stromberg, Arnold <astr...@uky.edu> >>>>> on Mon, 16 Feb 2015 20:14:06 +0000 writes:
> Jonathan, > Seems straightforward theoretically, let's see if anyone has implemented them in R. > Arny > Arnold J. Stromberg > Professor and Chair, Department of Statistics, University of Kentucky [ ........... ] Well, the predict() method for lmrob() fits (package 'robustbase') has built in. I wonder why nobody has seen that and mentioned it here. In the mean time, Jonathan has also asked on R-help and got some advice there... and now has found predict.lmrob "in some way" and asked me (as 'robustbase' maintainer) about it. I'm taking the liberty of answering here -- so others are also helped in the future, *and* this thread is somewhat decently closed within the R-SIG-robust list : >>>>> Burns, Jonathan (NONUS) <jonathan.bur...@gdit.com> >>>>> on Thu, 19 Feb 2015 21:37:26 +0000 writes: [..........] > I am interested in creating prediction intervals for the robust regression models. I tried to use the function predict.lmrob(); however, R gave me an error - could not find function "predict.lmrob". I thought perhaps this was because I was using an older version of the package. I updated the package and I still get the error. I am using R version 3.1.0. > I also got the same error with the function print.lmrob, plot.lmrob() and anova.lmrob(). Lmrob() itself works fine. > This is the result that I get when I list the functions in robustbase: >> ls("package:robustbase") > [1] "adjbox" "adjboxStats" "adjOutlyingness" > [4] "aircraft" "airmay" "alcohol" ...................... ...................... > [103] "vaso" "wagnerGrowth" "wgt.himedian" > [106] "wood" print(), predict() etc are all generic functions, their lmrob S3 methods *are* called print.lmrob(), predict.lmrob(), etc, but they are *hidden* and you do not see them normally. Rather you should use print(..), predict(...), etc. If you really need to see them you can use getAnywhere("predict.lmrob") etc. {This is all general R knowledge - somewhat intermediate level - about using S3 methods in R packages and namespaces} Note that you've also asked about this on the R-help mailing list on Feb 11, and you got two answers, the second one by Prof Brian Ripley explained to you that matters *are* actually more complicated: If you use robustness for a good reason, it seems a bit optimistic to assume that a future observation has normal errors, (rather than a mixture of normal + "outlier") and so the standard assumptions about prediction intervals would be doubtful. But I agree (with you I assume) that sometimes you *want* to make this somewhat optimistic assumption.... and for that case, everything is ready for you on a silver plate : Why did you not just read the help page for predict.lmrob ? Even though the object is hidden -- because you should call predict() -- it still has nice help page {well, that can be improved, and I will for the next version of robustbase}, and that help *does* answer your question on how to compute prediction intervals: Andreas Ruckstuhl, the author of the function does provide them (under the optimistic assumption), in the exact same way as the predict() method for lm {called "predict.lm"} does. ==> Just use predict( <fitted lmrob object>, interval = "prediction") (or a variant where you specify new data, weights, etc). Best regards, Martin > -----Original Message----- > From: R-SIG-Robust [mailto:r-sig-robust-boun...@r-project.org] On Behalf Of Jonathan Burns > Sent: Wednesday, February 11, 2015 12:42 PM > To: r-sig-robust@r-project.org > Subject: [RsR] Prediction Intervals for Robust Regression > I have created robust regression models using least trimmed squares and MM- regression (using robustbase). > I am now looking to create prediction intervals for the predicted results. While I have seen some discussion in the literature about confidence intervals on the estimates for robust regression, I haven’t had much success on prediction intervals for the results. I was wondering anyone would be able to provide some direction on how to create these prediction intervals in the robust regression setting. > Thanks, > Jonathan Burns > Sr. Statistician > General Dynamics Information Technology > Medicare & Medicaid Solutions > One West Pennsylvania Avenue > Baltimore, MD 21204 > jonathan.bur...@gdit.com > _______________________________________________ > 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