First R program run. > nams(x=ncaa2[,1:19],y=ncaa2[,20],B=4000,seed=34)->out var pval pvmax 1 2 0.0000 0.0000 2 3 0.0001 0.0001 3 5 0.0116 0.0116 4 4 0.0053 0.0116 5 7 0.0025 0.0116 6 17 0.0433 0.0433 7 15 0.0527 0.0527 8 6 0.1056 0.1056 9 9 0.0826 0.1056 10 8 0.0536 0.1056 11 12 0.2350 0.2350 12 10 0.2864 0.2864 13 13 0.3163 0.3163 14 18 0.2697 0.3163 15 11 0.4953 0.4953 16 1 0.6326 0.6326 17 14 0.7056 0.7056 18 19 0.8605 0.8605 19 16 0.9032 0.9032 m n B seed tau ng alphahat 1 19 94 4000 34 6.847734 74 0.03802676 Variables Selected = x2 x3 x5 x4 x7 The program selected alpha=.038 because there is a local max at alpha index=20, and alpha[21]=.038. The first 30 slopes and alphas are below and confirm that. Here is the same run and seed using the second program. We suppress the printing of p-values. > nams2(x=ncaa2[,1:19],y=ncaa2[,20],B=4000,seed=34,print=F)->out m n B seed tau ng alphahat alpha.index 1 19 94 4000 34 6.847734 74 0.00966541 16 Variables Selected = x2 x3 So this second program chooses an alpha that is too small because it does not consider local maxima. In Monte Carlo runs, this problem seems to be fairly minor. Some alphas and slopes: > data.frame(alpha=round(out$alpha,3),slope=out$slope)[1:30,] alpha slope 1 0.000 46.80076 2 0.000 46.80076 3 0.000 46.80076 4 0.000 46.80076 5 0.000 46.80076 6 0.000 46.80076 7 0.000 46.91300 8 0.000 47.32895 9 0.000 47.69292 10 0.000 47.96412 11 0.000 48.16979 12 0.002 49.06924 13 0.004 48.12386 14 0.006 47.61976 15 0.008 47.17240 16 0.010 46.94845 17 0.017 46.72706 18 0.022 46.77776 19 0.027 46.88092 20 0.033 46.97705 21 0.038 46.92536 22 0.045 46.81071 23 0.046 46.81524 24 0.048 46.77506 25 0.050 46.72071 26 0.051 46.69242 27 0.062 46.46548 28 0.070 46.15943 29 0.079 45.79370 30 0.088 45.56822 > data.frame(alpha=round(out$alpha,3),slope=out$slope)[74,] alpha slope 74 1 46.97743