# 10.6 - Cross-validation

10.6 - Cross-validationHow do we know that an estimated regression model is generalizable beyond the sample data used to fit it? Ideally,
we can obtain new independent data with which to validate our model. For example, we could refit the model to the
new dataset to see if the various characteristics of the model (e.g., estimates regression coefficients) are
consistent with the model fit to the original dataset. Alternatively, we could use the regression equation of the
model fit to the original dataset to make predictions of the response variable for the new dataset. Then we can
calculate the prediction errors (differences between the actual response values and the predictions) and summarize
the predictive ability of the model by the **mean squared prediction error (MSPE)**. This gives an
indication of how well the model will predict in the future. Sometimes the MSPE is rescaled to provide a
cross-validation \(R^{2}\).

However, most of the time we cannot obtain new independent data to validate our model. An alternative is to
partition the sample data into a **training (or model-building) set**, which we can use to develop the
model, and a **validation (or prediction) set**, which is used to evaluate the predictive ability of
the model. This is called **cross-validation**. Again, we can compare the model fit to the training
set to the model refit to the validation set to assess consistency. Or we can calculate the MSPE for the validation
set to assess the predictive ability of the model.

Another way to employ cross-validation is to use the validation set to help determine the final selected model. Suppose we have found a handful of "good" models that each provide a satisfactory fit to the training data and satisfy the model (LINE) conditions. We can calculate the MSPE for each model on the validation set. Our final selected model is the one with the smallest MSPE.

The simplest approach to cross-validation is to partition the sample observations randomly with 50% of the sample in each set. This assumes there is sufficient data to have 6-10 observations per potential predictor variable in the training set; if not, then the partition can be set to, say, 60%/40% or 70%/30%, to satisfy this constraint.

If the dataset is too small to satisfy this constraint even by adjusting the partition allocation then ** K-fold
cross-validation** can be used. This partitions the sample dataset into

*K*parts which are (roughly) equal in size. For each part, we use the remaining

*K*– 1 parts to estimate the model of interest (i.e., the training sample) and test the predictability of the model with the remaining part (i.e., the validation sample). We then calculate the sum of squared prediction errors, and combine the

*K*estimates of prediction error to produce a

*K*-fold cross-validation estimate.

When *K *= 2, this is a simple extension of the 50%/50% partition method described above. The advantage of
this method is that it is usually preferable to residual diagnostic methods and takes not much longer to compute.
However, its evaluation can have high variance since evaluation may depend on which data points end up in the
training sample and which end up in the test sample.

When *K* = *n*, this is called **leave-one-out cross-validation**. That means that *n*
separate data sets are trained on all of the data (except one point) and then prediction is made for that one
point. The evaluation of this method is very good, but often computationally expensive. Note that the *K*-fold
cross-validation estimate of prediction error is identical to the PRESS statistic.