I tend to agree with Sven that "forward selection" is not a great
thing to add. However, I mentioned that it might be useful for
pedagogical purposes. To that end I've written a function that
some people might like to experiment with.
One gives a base specification for a model, with the
unconditionally included regressors in list0, along with a list of
possible additional regressors, list1. The function searches
list1 for the regressor, x*, which gives the greatest improvement
in the AIC. If there is such an x*, it is added to list0 and
removed from list1, and the search is repeated. The search stops
when no further improvement in AIC is possible, or when list1 is
exhausted, whichever comes first.
Obviously one could modify the function to use a different
criterion for "improvement" at each step, or make it fancier by
adding a control parameter to select from a given menu of
such criteria (e.g. AIC, BIC, HQC, adjusted R^2).
The example below uses Ramanathan's data4-10, and contains a
caution, namely a demonstration that the model arrived at via this
algorithm does _not_ in fact offer the "best" AIC that can be
achieved with the available regressors. Neither of the variables
INCOME or COLLEGE individually improves the AIC in relation to the
model selected by the forward procedure, but jointly they do.
function addlist (series y, list list0, list list1)
ols y list0 --quiet
aic_min = $aic
printf "Baseline AIC = %g\n", aic_min
loop while (nelem(list1) > 0) --quiet
string bestx = null
# check each remaining additional regressor
loop foreach i list1 --quiet
ols y list0 $i --quiet
aic = $aic
if (aic < aic_min)
aic_min = aic
string bestx = "$i"
endif
endloop
if isstring(bestx)
printf "Adding %-8s AIC = %g\n", @bestx, aic
list list0 += @bestx
list list1 -= @bestx
else
break
endif
endloop
printf "\nMinimized AIC = %g, with this model:\n", aic_min
ols y list0
end function
open data4-10
list list0 = 0
list list1 = 2 3 4 5 6 7 8 9
addlist(ENROLL, list0, list1)
# but compare...
ols ENROLL 0 CATHOL WHITE INCOME COLLEGE
--
Allin Cottrell
Department of Economics
Wake Forest University, NC
Show replies by date