## Evolutionary algorithm for the adaptive smoothing spline estimator (EAASS).

### Description

EAASS algorithm to choose the tuning parameters for the AdaSS estimator (Centofanti et al., 2020).

### Usage

adass.fr_eaass(
Y_fd,
X_fd,
basis_s,
basis_t,
beta_ders = NULL,
beta_dert = NULL,
grid_eval_ders = NULL,
grid_eval_dert = NULL,
rand_search_par = list(c(-4, 4), c(-4, 4), c(0, 1, 5, 10, 15), c(0, 1, 2, 3, 4), c(0,
1, 5, 10, 15), c(0, 1, 2, 3, 4)),
popul_size = 12,
iter_num = 10,
r = 0.2,
pert_vec = c(0.8, 1.2),
X_fd_test = NULL,
Y_fd_test = NULL,
progress = TRUE,
ncores = 1,
K = 10
)


### Arguments

 Y_fd An object of class fd corresponding to the response functions. X_fd An object of class fd corresponding to the covariate functions. basis_s B-splines basis along the s-direction of class basisfd. basis_t B-splines basis along the t-direction of class basisfd. beta_ders Initial estimate of the partial derivative of the coefficient function along the s-direction. Either a matrix or a class basisfd object. If NULL no adaptive penalty is used along the s-direction. beta_dert Initial estimate of the partial derivative of the coefficient function along the t-direction. Either a matrix or a class basisfd object. If NULL no adaptive penalty is used along the t-direction. grid_eval_ders Grid of evaluation of the partial derivatives along the s-direction. grid_eval_dert Grid of evaluation of the partial derivatives along the t-direction. rand_search_par List containing the initial population ranges for the tuning parameters. popul_size Initial population size. iter_num Algorithm iterations. r Truncation parameter in the exploitation phase. pert_vec Perturbation parameters in the exploration phase. X_fd_test Test set covariate functions. Default is NULL. If X_fd_test and Y_fd_test are both provided the prediction error on the test set is used as performance metric in place of the cross-validation prediction error. Y_fd_test Test set response functions. Default is NULL. If X_fd_test and Y_fd_test are both provided the prediction error on the test set is used as performance metric in place of the cross-validation prediction error. progress If TRUE a progress bar is printed. Default is TRUE. ncores If ncores>1, then parallel computing is used, with ncores cores. Default is 1. K Number of folds. Default is 10.

### Value

A list containing the following arguments:

• tun_par_opt: Vector of optimal tuning parameters.

• CV: Estimated prediction errors.

• CV_sd: Standard errors of the estimated prediction errors.

• comb_list: The combinations of tuning parameters explored.

• Y_fd: The response functions.

• X_fd: The covariate functions.

### References

Centofanti, F., Lepore, A., Menafoglio, A., Palumbo, B., Vantini, S. (2020). Adaptive Smoothing Spline Estimator for the Function-on-Function Linear Regression Model. arXiv preprint arXiv:2011.12036.

adass.fr_eaass

### Examples

library(adass)
data<-simulate_data("Scenario HAT",n_obs=100)
X_fd=data$X_fd Y_fd=data$Y_fd
basis_s <- fda::create.bspline.basis(c(0,1),nbasis = 5,norder = 4)
basis_t <- fda::create.bspline.basis(c(0,1),nbasis = 5,norder = 4)
mod_smooth <-adass.fr(Y_fd,X_fd,basis_s = basis_s,basis_t = basis_t,tun_par=c(10^-6,10^-6,0,0,0,0))
grid_s<-seq(0,1,length.out = 5)
grid_t<-seq(0,1,length.out = 5)
beta_der_eval_s<-fda::eval.bifd(grid_s,grid_t,mod_smooth$Beta_hat_fd,sLfdobj = 2) beta_der_eval_t<-fda::eval.bifd(grid_s,grid_t,mod_smooth$Beta_hat_fd,tLfdobj = 2)