Code:
capture program drop model_select
program define model_select, sclass
syntax, cenyear(integer) filename(string)
** Read
use "${DATA}/dta/`filename'", clear
** FE ID's
egen state_year = group(state_code_`cenyear' year)
egen distid = group(c_code_`cenyear')
** Controls
local weather temperature_mean rainfall_mean
** Residualize
reghdfe capgw_dist_cum capgw_state_cum_pred, ///
a(c_code_`cenyear'_num month state_code_`cenyear'_num#year) ///
vce(cl state_code_`cenyear'_num#year) residuals(resid_capgw_dist_cum)
** Standard LASSO (K-Fold CV)
lassoregress resid_capgw_dist_cum psc_*
sreturn local lasso_ivs "`e(varlist_nonzero)'"
** RLASSO (Heteroskedasticity-Robust)
rlasso capgw_dist_cum psc_* ///
i.distid i.month i.state_year capgw_state_cum_pred `weather', robust ///
partial(i.distid i.month i.state_year capgw_state_cum_pred) ///
pnotpen(`weather') cluster(state_year) supscore
sreturn local rlasso_ivs "`e(selected)'"
end
Code:
foreach model in lasso_ivs rlasso_ivs {
reghdfe so2_ln capgw_state_cum_pred ///
(capgw_dist_cum = " `s(`model')' "), ///
a(c_code_2011_num month state_code_2011_num#year) vce(cl state_code_2011_num#year old
0 Response to Unable to refer to sreturned varlist outside of program
Post a Comment