2024-04-01
Case studies:
A. SAT scores by state
B. Deeper dive into sex discrimination in base salary
Model selection
Best subsets
Stepwise methods
Predicting average 1982 SAT score by state.
Features:
Takers (percentage)
Income (parental income of SAT takers)
Years (years of education in key subjects)
Public (percent of takers in public high school)
Expend (state expenditure on high schools per student)
Rank (average percentile of students writing SAT
Same data as earlier, with additional features:
Age (years)
Educ (years)
Exper (months)
Senior (months)
Sal77 (salary in 1977 – used for a different analysis in the book)
\[\begin{equation} Y_{n \times 1} = X_{n \times (p+1)} \beta_{(p+1) \times 1} + \epsilon_{n \times 1}. \end{equation}\]
\[\begin{equation} {\cal M}(A): Y_{n \times 1} = X[,A] \beta[A] + \epsilon_{n \times 1} \end{equation}\]
SAT dataStates with low Takers typically have high Rank
Beyond this effect, what is important for understanding variability in SAT scores?
Maybe want a parsimonious model.
When we have many predictors (with many possible interactions), it can be difficult to formulate a good model from outside considerations.
Which main effects do we include?
Which interactions do we include?
Model selection procedures try to simplify / automate this task.
This is generally an “unsolved” problem in statistics: there are no magic procedures to get you the “best model” or “correct model”.
Inference after selection is full of pitfalls!
To “implement” a model selection procedure, we first need a criterion / score / benchmark to compare two models.
Given a criterion, we also need a search strategy.
Exhaustive: With a limited number of predictors, it is possible to search all possible models.
Sequential: Select a model in a sequence of steps.
leaps in R)\(R^2\): not a good criterion. Always increase with model size \(\implies\) “optimum” is to take the biggest model.
Adjusted \(R^2\): better. It “penalized” bigger models. Follows principle of parsimony / Occam’s razor.
Mallow’s \(C_p\) – attempts to estimate a model’s predictive power, i.e. the power to predict a new observation.
leapsleaps takes a design matrix as argument: throw away the intercept column or leaps will complain:R^2Plot of \(R^2\) of a model as a function of the model size.
The “best” model in terms of \(R^2\) does indeed include all variables.
As we add more and more variables to the model – even random ones, \(R^2\) will increase to 1.
Recall that adjusted \(R^2\) tries to take this into account by replacing sums of squares by mean squares
\[R^2_a = 1 - \frac{SSE/(n-p-1)}{SST/(n-1)} = 1 - \frac{MSE}{MST}.\]
Plot of \(R^2_a\) of a model as a function of the model size.
The “best” model in terms of \(R^2_a\) is not the full model: has size 5 (4 variables plus intercept)
\[C_p({\cal M}) = \frac{SSE({\cal M})}{\widehat{\sigma}^2} + 2 \cdot p({\cal M}) - n.\]
\(\widehat{\sigma}^2=SSE(F)/df_F\) is the “best” estimate of \(\sigma^2\) we have (use the fullest model), i.e. in the SAT data it uses all 6 main effects.
\(SSE({\cal M})\) is the \(SSE\) of the model \({\cal M}\).
\(p({\cal M})\) is the number of predictors in \({\cal M}\).
This is an estimate of the expected mean-squared error of \(\widehat{Y}({\cal M})\), it takes bias and variance into account.
Plot of \(C_p\) of a model as a function of the model size.
The “best” model in terms of \(C_p\) is not the full model: has size 5 (4 variables plus intercept)
Agrees with R^2_a.
step in R)step function uses a specific score for comparing models.\[AIC({\cal M}) = - 2 \log L({\cal M}) + 2 \cdot p({\cal M})\]
\[BIC({\cal M}) = - 2 \log L({\cal M}) + \log n \cdot p({\cal M})\]
\[-2 \log L({\cal M}) = n \log(2\pi \widehat{\sigma}^2_{MLE}) + n\]
\[-2 \log L({\cal M}) = \frac{1}{\sigma^2} SSE({\cal M})\]
BIC will typically choose a model as small or smaller than AIC (if using the same search direction).
As our sample size grows, under some assumptions, it can be shown that
Let’s take a look at step in action. Probably the simplest strategy is forward stepwise which tries to add one variable at a time, as long as it can find a resulting model whose AIC is better than its current position.
When it can make no further additions, it terminates.
Wildcard: . denotes any variable in SAT.df except SAT
.^2 denotes all 2-way interactions
trace=TRUE we see that step does not include an interaction unless both main effects are already in the model.The only difference between AIC and BIC is the price paid per variable. This is the argument k to step. By default k=2 and for BIC we set k=log(n). If we set k=0 it will always add variables.
Just for fun, let’s consider backwards stepwise. This starts at a full model and tries to delete variables.
There is also a direction="both" option.
forwardThe model selected depends on the criterion used.
| Criterion | Model |
|---|---|
| \(R^2\) | ~ . |
| \(R^2_a\) | ~ Years + Public + Expend + Rank |
| \(C_p\) | ~ Years + Public + Expend + Rank |
| AIC forward | ~ Years + Public + Expend + Rank |
| BIC forward | ~ Years + Expend + Rank |
AIC forward .^2 |
~ Years + Public + Expend + Rank + Years:Expend + Years:Public + Rank:Public |
The selected model is random and depends on which method we use!
Pretty stable for this analysis.
Many other “criteria” have been proposed: cross-validation (CV) a very popular criterion.
Some work well for some types of data, others for different data.
Check diagnostics!
These criteria (except cross-validation) are not “direct measures” of predictive power, though Mallow’s \(C_p\) is a step in this direction.
\(C_p\) measures the quality of a model based on both bias and variance of the model. Why is this important?
Bias-variance tradeoff is ubiquitous in statistics!
salary dataInterested in the effect of Sex but there could lots of other covariates we might adjust for…
Considering all second order effects (besides Sex) in salary: \(2^{14}\) models!
Remove confounders, reduce variability of Sex effect.
Fit a model without Sex using a model selection technique.
Estimate the effect of Sex by adding it to this model.
How are we going to choose \(2^{14}\) possible choices!
leapsPlot of \(C_p\) score as a function of model size.
Two models are lower than the rest but quite close. These models used in subsequent analysis.
Sexstep?As \(p\) grows, leaps will be too slow
Even step can get slow
Resistance of \(n=633\) different HIV+ viruses to drug 3TC.
Features \(p=91\) are mutations in a part of the HIV virus, response is log fold change in vitro.