have you choose which ones will go in your model • In the best case, you have a clear hypothesis you want to test in the context of known confounders • (Always keep in mind that no model is “true”) Model selection
case, but still have to do something • This isn’t an easy thing to do • For nested models, you have tests – You have to be worried about multiple comparisons and “fishing” • For non-nested models, you don’t have tests – AIC / BIC / etc are traditional tools – Balance goodness of fit with “complexity” Model selection is hard
my model not complex enough? Too complex? – Am I underfitting? Overfitting? – Do I have high bias? High variance? • Another way to think of this is out-of-sample goodness of fit: – Will my model generalize to future datasets? Questioning fit
a dataset – Go out and get new data – Confirm that your model “works” for the new data • That doesn’t really happen • So maybe just act like it does? Prediction accuracy
randomness • Repeating the process – Illustrates variability in prediction accuracy – Can indicate whether differences in models are consistent across splits • I usually repeat the training / testing split • Folding (5-fold, 10-fold, k-fold, LOOCV) partitions data into equally-sized subsets – One fold is used as testing, with remaining folds as training – Repeated for each fold as testing • I don’t do this as often Refinements and variations
all “traditional” • Comes up a lot in “modern” methods – Automated variable selection (e.g. lasso) – Additive models – Regression trees Cross validation is general
hypothesis you want to test in the context of known confounders – I know I already said this, but it’s important • Prediction accuracy matters as well – Different goal than statistical significance – Models that make poor predictions probably don’t adequately describe the data generating mechanism, and that’s bad Prediction as a goal