This function performs the smooth PLS algorithm for both the univariate case for a Scalar Functional Data or a Categorical Functional Data and the multivariate case for a mix of functional data of different nature (SFD or CFD). For some input, if the same value is needed for all the different curves, no need to make a list with the value per curve.
Usage
smoothPLS(
df_list,
Y,
basis_obj,
regul_time_obj = NULL,
curve_type_obj,
orth_obj = TRUE,
id_col_obj = "id",
time_col_obj = "time",
int_mode = 1,
print_steps = FALSE,
plot_rmsep = TRUE,
print_nbComp = TRUE,
plot_reg_curves = FALSE,
jackknife = TRUE,
validation = "LOO",
parallel = TRUE
)Arguments
- df_list
a list of dataframe (id, time, value_or_state)
- Y
a vector of the scalar response
- basis_obj
a basis fd object or a list of basis fd object
- regul_time_obj
a vector for time regularization values or a list
- curve_type_obj
a list or vector of the different curves types, 'cat' or 'num.
- orth_obj
a list or a vector of booleans if the orthonormalization is needed
- id_col_obj
a list or a vector of the id column name
- time_col_obj
a list or a vector of time column name
- int_mode
a integer of the integration method : 1 for integrate, 2 for pracma::trapz
- print_steps
a boolean to print the algorithm steps
- plot_rmsep
a boolean to plot the pls model RMSEP
- print_nbComp
a boolean to print the optimal number of components
- plot_reg_curves
a boolean to plot the regressions curves
- jackknife
a boolean for the jackknife input of pls() function, default TRUE
- validation
a character for the validation input of pls() function, default 'LOO'
- parallel
a boolean to use parallelization, default TRUE
