>>>>> Eduardo Conceicao <econcei...@kanguru.pt> >>>>> on Tue, 25 Jun 2013 23:23:45 +0100 writes:
> Hi all, > I am making available some basic code for robust nonlinear regression. > Currently, there are available three functions for the tau-, CM-, and MTL- > estimates with a rule for the adaptive choice of coverage. > Please, keep in mind that the code is in a very initial > stage. However, if you find it useful I want to use it, I > would be delighted. Yes, indeed, I find it very useful! > License is GPL (>= 2). Good! Note that you should mention the licence, some people say, you should do so (once) in every source file. I think you should do it in every file where you also say 'Copyright Eduardo Conceicao'. But of course you said things were preliminary anyway.. > I would very much appreciate comments regarding in particular > (a) issues of statistical methodology and > (b) ways of improving the code. I only have had a quick look, and __ if you know me then you know this is always the case __ "of course" I have small ways of improving the code, that I can communicate to you, not in this e-mail though, rather privately. > You can download file nonlinrobreg_0.0.1.zip from: > https://www.dropbox.com/s/1oiqiansbgzed4j/nonlinrobreg_0.0.1.zip > = A few details = > The implementation follows loosely the code of nlrob() from package > robustbase. The approach for computing the estimates is the direct solution of > the respective optimization problem using the Differential Evolution (DE) > heuristic (coupled with an algorithm for dealing with constraints for the CM- > estimates). Sounds really interesting.. I didn't know that yet at all. Interesting how you then use the polynom arithmetic (from 'PolynomF') there > The code uses packages PolynomF, robustbase, and ggplot2. > The methods for predict(), coef(), resid(), etc. are those developed for nlrob(). > However, summary() is not compatible. Yes... I'd like to help you making them more compatible if possible. To make vcov() work may be important, too, and linked to be able to provide a good summary(). Also, I've been changing nlrob() in robustbase itself, (not yet finished, committed), notably allowing it to use the new Mpsi(), Mchi(), Mwgt() functions in the latest release of robustbase. Also if you look at the latest research by Manuel Koller and Werner Stahel, you see that "the optimal Psi" function is really not at all optimal in some situations, and it would be nice if the new nlrob.*() estimators could also use different psi/chi/rho functions. We can (and should) talk about these details in private e-mail exchange I think. > = Contents = > deopt.R: implementation of the jDE variant of the DE algorithm > test-funs.R: a few benchmark problems for unconstrained and constrained > optimization > nlrobreg.R: > nlrob.tau() (tau-estimator), > nlrob.CM() (CM-estimator), > nlrob.mtl() (MTL-estimator with adaptive coverage) > example_nlrobreg: example (based on the example for nlrob() from package > robustbase) > = Running the example = > library(PolinomF) > library(robustbase) > library(ggplot2) > source(deopt.R) > source(nlrobreg.R) > #run the code from the example file Yes indeed, and that example is really very convincing! Thank you very much Eduardo, for this good and important contribution to "robustness with R" !! Martin Maechler, ETH Zurich > Eduardo > ---------------------------------------- > Eduardo L. T. Conceicao econcei...@kanguru.pt > CIEPQPF > Department of Chemical Engineering > University of Coimbra, Portugal > _______________________________________________ > 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