This PipeOp applies a functional principal component analysis (FPCA) to functional columns and then
extracts the principal components as features. This is done using a (truncated) weighted SVD.
To apply this PipeOp to irregular data, convert it to a regular grid first using PipeOpFDAInterpol.
For more details, see tf::tfb_fpc(), which is called internally.
Parameters
The parameters are the parameters inherited from PipeOpTaskPreproc,
as well as the following parameters:
- pve::- numeric(1)
 The percentage of variance explained that should be retained. Default is- 0.995.
- n_components::- integer(1)
 The number of principal components to extract. This parameter is initialized to- Inf.
Naming
The new names generally append a _pc_{number} to the corresponding column name.
If a column was called "x" and the there are three principcal components, the corresponding
new columns will be called "x_pc_1", "x_pc_2", "x_pc_3".
Super classes
mlr3pipelines::PipeOp -> mlr3pipelines::PipeOpTaskPreproc -> PipeOpFPCA
Methods
Method new()
Initializes a new instance of this Class.
Usage
PipeOpFPCA$new(id = "fda.fpca", param_vals = list())Examples
task = tsk("fuel")
po_fpca = po("fda.fpca", n_components = 3L)
task_fpca = po_fpca$train(list(task))[[1L]]
task_fpca$data()
#>       heatan    h20   NIR_pc_1   NIR_pc_2     NIR_pc_3 UVVIS_pc_1 UVVIS_pc_2
#>        <num>  <num>      <num>      <num>        <num>      <num>      <num>
#>   1: 26.7810 2.3000  7.5675043  1.1371827 -0.377501250  11.000976 -2.7804661
#>   2: 27.4720 3.0000  6.2793462  1.9345782  0.160548831  -9.298016 -1.7955553
#>   3: 23.8400 2.0002  0.2348390 -0.1721228 -0.024101132  -3.078812 -0.6114645
#>   4: 18.1680 1.8500  0.2913332  0.2052379  0.040952119  -5.349049 -0.7030112
#>   5: 17.5170 2.3898  1.1406877  1.2563331  0.001074654  -8.497281 -1.2413718
#>  ---                                                                        
#> 125: 23.8340 2.1100  1.6980728  0.9841985  0.041623661  -6.427319 -0.2898928
#> 126: 11.8050 1.6200 -4.0420811  2.2340299 -0.029562942 -10.843930 -0.0918478
#> 127:  8.8315 1.4200 -5.5013835  2.8333813 -0.034304440 -12.227632 -0.1838102
#> 128: 11.3450 1.4800  2.1809306  1.4395300 -0.397523197   5.871679 -1.0021267
#> 129: 28.9940 2.5000  1.9734804 -0.1998806  0.034337704  -6.893096 -1.4463943
#>       UVVIS_pc_3
#>            <num>
#>   1:  0.13667224
#>   2: -0.46762503
#>   3: -0.27479445
#>   4:  0.08631440
#>   5: -0.19140105
#>  ---            
#> 125: -0.02865269
#> 126:  0.56113685
#> 127:  1.11134683
#> 128:  1.01323166
#> 129: -0.81054907