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 = P0 ∪ N 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 ≤ t ≤ K) 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. |