Fits a support vector regression or classification on a 'tidyFit' R6
class. The function can be used with regress
or classify
.
Details
Hyperparameters:
cost (cost of constraint violation)
epsilon (epsilon in the insensitive-loss function)
Important method arguments (passed to m
)
The function provides a wrapper for e1071::svm
. See ?svm
for more details.
Implementation
The default value for the kernel
argument is set to 'linear'. If set to a different value, no coefficients will be returned.
References
Meyer D, Dimitriadou E, Hornik K, Weingessel A, Leisch F (2022). e1071: Misc Functions of the Department of Statistics, Probability Theory Group (Formerly: E1071), TU Wien. R package version 1.7-12, https://CRAN.R-project.org/package=e1071.
See also
.fit.boost
, .fit.lasso
and m
methods
Examples
# Load data
data <- tidyfit::Factor_Industry_Returns
data <- dplyr::filter(data, Industry == "HiTec")
# Stand-alone function
fit <- m("svm", Return ~ `Mkt-RF` + HML + SMB, data, cost = 0.1)
fit
#> # A tibble: 1 × 5
#> estimator_fct `size (MB)` grid_id model_object settings
#> <chr> <dbl> <chr> <list> <list>
#> 1 e1071::svm 0.335 #0010000 <tidyFit> <tibble [1 × 3]>
# Within 'regress' function
fit <- regress(data, Return ~ ., m("svm", cost = 0.1),
.mask = c("Date", "Industry"))
coef(fit)
#> # A tibble: 7 × 4
#> # Groups: model [1]
#> model term estimate model_info
#> <chr> <chr> <dbl> <list>
#> 1 svm (Intercept) 0.592 <tibble [1 × 0]>
#> 2 svm Mkt-RF 1.05 <tibble [1 × 0]>
#> 3 svm SMB 0.0812 <tibble [1 × 0]>
#> 4 svm HML -0.332 <tibble [1 × 0]>
#> 5 svm RMW -0.300 <tibble [1 × 0]>
#> 6 svm CMA -0.472 <tibble [1 × 0]>
#> 7 svm RF 0.281 <tibble [1 × 0]>