Smoothes functional data using tf::tf_smooth().
This preprocessing operator is similar to PipeOpFDAInterpol, however it does not interpolate to unobserved
x-values, but rather smooths the observed values.
Parameters
The parameters are the parameters inherited from PipeOpTaskPreprocSimple,
as well as the following parameters:
method::character(1)
One of:"lowess": locally weighted scatterplot smoothing (default)"rollmean": rolling mean"rollmedian": rolling meadian"savgol": Savitzky-Golay filtering
All methods but
"lowess"ignore non-equidistant arg values.args:: namedlist()
List of named arguments that is passed totf_smooth(). See the help page oftf_smooth()for default values.verbose::logical(1)
Whether to print messages during the transformation. Is initialized toFALSE.
Super classes
mlr3pipelines::PipeOp -> mlr3pipelines::PipeOpTaskPreproc -> mlr3pipelines::PipeOpTaskPreprocSimple -> PipeOpFDASmooth
Methods
Method new()
Initializes a new instance of this Class.
Usage
PipeOpFDASmooth$new(id = "fda.smooth", param_vals = list())Examples
task = tsk("fuel")
po_smooth = po("fda.smooth", method = "rollmean", args = list(k = 5))
task_smooth = po_smooth$train(list(task))[[1L]]
task_smooth
#>
#> ── <TaskRegr> (129x4): Spectral Data of Fossil Fuels ───────────────────────────
#> • Target: heatan
#> • Properties: -
#> • Features (3):
#> • tfr (2): NIR, UVVIS
#> • dbl (1): h20
task_smooth$data(cols = c("NIR", "UVVIS"))
#> NIR
#> <tfd_reg>
#> 1: [1]: (1, 0.3);(2, 0.3);(3, 0.3); ...
#> 2: [2]: (1, 0.3);(2, 0.3);(3, 0.3); ...
#> 3: [3]: (1,-0.01);(2,-0.01);(3,-0.01); ...
#> 4: [4]: (1,-0.03);(2,-0.03);(3,-0.03); ...
#> 5: [5]: (1, -0.1);(2, -0.1);(3, -0.1); ...
#> ---
#> 125: [6]: (1,-0.04);(2,-0.04);(3,-0.04); ...
#> 126: [7]: (1, -0.6);(2, -0.6);(3, -0.6); ...
#> 127: [8]: (1, -0.8);(2, -0.8);(3, -0.8); ...
#> 128: [9]: (1,-0.05);(2,-0.05);(3,-0.05); ...
#> 129: [10]: (1, 0.1);(2, 0.1);(3, 0.1); ...
#> UVVIS
#> <tfd_reg>
#> 1: [1]: (1, 0.7);(2, 0.7);(3, 0.7); ...
#> 2: [2]: (1,-0.9);(2,-0.9);(3,-0.9); ...
#> 3: [3]: (1,-0.2);(2,-0.2);(3,-0.2); ...
#> 4: [4]: (1,-0.5);(2,-0.5);(3,-0.5); ...
#> 5: [5]: (1,-0.8);(2,-0.8);(3,-0.8); ...
#> ---
#> 125: [6]: (1,-0.6);(2,-0.6);(3,-0.6); ...
#> 126: [7]: (1,-0.9);(2,-0.9);(3,-0.9); ...
#> 127: [8]: (1,-0.8);(2,-0.8);(3,-0.8); ...
#> 128: [9]: (1, 0.6);(2, 0.6);(3, 0.6); ...
#> 129: [10]: (1,-0.8);(2,-0.8);(3,-0.8); ...