Wrapper functions for terms in gpe.
rTerm(x)lTerm(x, lb = -Inf, ub = Inf, scale = 1/0.4)
eTerm(x, scale = 1/0.4)
Input symbol.
Lower quantile when winsorizing. -Inf
yields no winsorizing in the lower tail.
Lower quantile when winsorizing. Inf
yields no winsorizing in the upper tail.
Inverse value to time x
by. Usually the standard deviation is used. 0.4 / scale
is used as the multiplier as suggested in Friedman & Popescu (2008) and gives each linear term the same a-priori influence as a typical rule.
x
potentially transformed with additional information provided in the attributes.
The motivation to use wrappers is to ease getting the different terms as shown in the examples and to simplify the formula passed to cv.glmnet
in gpe
. lTerm
potentially rescales and/or winsorizes x
depending on the input. eTerm
potentially rescale x
depending on the input.
Friedman, J. H., & Popescu, B. E. (2008). Predictive learning via rule ensembles. The Annals of Applied Statistics, 2(3), 916-954.
# NOT RUN {
mt <- terms(
~ rTerm(x1 < 0) + rTerm(x2 > 0) + lTerm(x3) + eTerm(x4),
specials = c("rTerm", "lTerm", "eTerm"))
attr(mt, "specials")
# $rTerm
# [1] 1 2
#
# $lTerm
# [1] 3
#
# $eTerm
# [1] 4
# }
Run the code above in your browser using DataLab