Skip to main content
. 2022 Jan 28;24(2):203. doi: 10.3390/e24020203
Algorithm 1 An iterative algorithm for optimization in FKMR.
  • 1.1

    Perform FPCA (e.g., the R package fdapace) to extract the functional component features for the p functional predictors, and store them in a grand vector for each individual subject zi=[(zi1),,(zip))], i=1,···,n;

  • 1.2

    Initialize γ to be a vector of ones. which translates to mapping the original component scores to itself. Set up a grid of possible tuning parameters for λ1 and λ2, respectively. Set the kernel bandwidth parameter, which may depend on λ1. For each pair of (λ1,λ2) from our grid, perform Steps 2.1–2.3 and 3.1 below.

  • 2.1

    At the (r+1)-th step in the algorithm, first solve the LSKM problem with fixed (γ(r),λ1) (based on a closed-form solution) to update β(r+1) and α(r+1).

  • 2.2

    Solve the group regularity problem (8) with fixed γ˜=γ(r) and fixed (α(r+1), β(r+1), λ1, λ2) using the r+1 updates from the previous iteration. At this step, the proximal Gauss–Newton algorithm produces an update γ(r+1) at convergence.

  • 2.3

    Repeat Steps 2.1–2.2 until convergence.

  • 3.1

    Perform cross-validation over all pairs of (λ1,λ2) to determine the final (α,β,γ).