Skip to contents

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

Value

a list of the plsr_model and the regression curves (and intercept).

Author

Francois Bassac