Learn R Programming

RFreak (version 0.3-0)

robreg.evol: Robust Evolutionary Regression

Description

Carries out robust regression with an evolutionary algorithm. ltsreg, ltareg, lmsreg, lqsreg, and lqdreg are wrappers.

Usage

robreg.evol(x, y, method = c("lts", "lta", "lms", "lqs", "lqd"), quantile=NULL, adjust=FALSE, runs=1, generations=10000, duration=0)
## Wrappers: ltsreg.evol(...) ltareg.evol(...) lmsreg.evol(...) lqsreg.evol(...) lqdreg.evol(...)

Arguments

x
Matrix or data frame containing the explanatory variables
y
Vector with the response variables
method
The method to be used. One of "lts", "lta", "lms", "lqs", and "lqd".
quantile
The quantile to be used: see Details.
adjust
Whether to perform intercept adjustment at each step
runs
Number of independent runs
generations
Number of generations after which the algorithm will be stopped
duration
Duration in seconds after which the algorithm will be stopped
...
Arguments to be passed to the default method

Value

The function robreg.evol returns an object of class "evolreg". This object contains:
summary
Summary of the FrEAK run
best
The best subset found
coefficients
Vector of coefficient estimates
crit
The value of the objective function of the regression method

Details

Suppose there are n data points and p regressors, including any intercept.

The first four methods minimize some function of the sorted squared residuals. For methods "lqs" and "lms" it is the quantile squared residual, and for "lts" ("lts") it is the sum of the quantile smallest squared (absolute) residuals. "lqd" minimizes approximately the quartile of the absolute residual differences.

References

O. Morell, T. Bernholt, R. Fried, J. Kunert, and R. Nunkesser (2008). An Evolutionary Algorithm for LTS-Regression: A Comparative Study. Proceedings of COMPSTAT 2008. To Appear.

P. J. Rousseeuw (1984), Least Median of Squares Regression. Journal of the American Statistical Association 79, 871--881.

See Also

"evolreg"

Examples

Run this code
# load example data
data(stackloss)

# compute different regressions
robreg.evol(stackloss[, 1:3], stackloss[, 4], method= "lts", generations=1000)
lqsreg.evol(stackloss[, 1:3], stackloss[, 4], generations=1000)
lqdreg.evol(stackloss[, 1:3], stackloss[, 4], generations=1000)

Run the code above in your browser using DataLab