Skip to main content
. Author manuscript; available in PMC: 2020 Apr 6.
Published in final edited form as: Stat Med. 2018 Dec 26;38(9):1582–1600. doi: 10.1002/sim.8059

Algorithm 1.

Outline of SNIF Algorithm

Input:
y: the n × 1 response vector, xj,: the n × 1 vector corresponding to jth covariate, number of basis functions M and number of iterations K
Step 0: Initialize the following index sets:
   Set L0 = Ø (Index Set of Linear Main Effects Selected)
   Set N0 =Ø (Index Set of Nonlinear Main Effects Selected)
   Set I0 = Ø (Index Set of Interaction Effects Selected)
   Set P0 = {1, ⋯, p} (Set of all Linear Main Effects)
   Set N P0 = {1*, ⋯, p*} (Set of all Nonlinear Main Effects)
   Set C0 = P0N P0 (Set of Candidate Effects for Selection at the first step)
Step 1: Update the index sets Lt, Nt, It, Ct at iteration t (1 ≤ tK) as follows:
   Select one effect st (can be linear main/nonlinear main/interaction effect) from the candidate set Ct–1 that maximizes the measure Mt(·) (see the detailed algorithm)
   Update the index sets Lt, Nt and It by adding st to the relevant set
   Update Ct by removing st, and when st is a main effect by adding interactions of st with the already selected linear and nonlinear main effects
Step 2: Solution Path {s1, ⋯, sK} of the selected effects is obtained by iterating Step 1. A final model is selected by applying BIC to this solution path.