Main Content

Cross-validated generalized additive model (GAM) for regression

`RegressionPartitionedGAM`

is a set of generalized additive models
trained on cross-validated folds. Estimate the quality of the cross-validated regression by
using one or more *kfold* functions: `kfoldPredict`

,
`kfoldLoss`

, and `kfoldfun`

.

Every *kfold* object function uses models trained on training-fold
(in-fold) observations to predict the response for validation-fold (out-of-fold) observations.
For example, suppose you cross-validate using five folds. The software randomly assigns each
observation into five groups of equal size (roughly). The *training fold*
contains four of the groups (roughly 4/5 of the data), and the *validation
fold* contains the other group (roughly 1/5 of the data). In this case,
cross-validation proceeds as follows:

The software trains the first model (stored in

`CVMdl.Trained{1}`

) by using the observations in the last four groups, and reserves the observations in the first group for validation.The software trains the second model (stored in

`CVMdl.Trained{2}`

) by using the observations in the first group and the last three groups. The software reserves the observations in the second group for validation.The software proceeds in a similar manner for the third, fourth, and fifth models.

If you validate by using `kfoldPredict`

, the software computes
predictions for the observations in group *i* by using the
*i*th model. In short, the software estimates a response for every
observation by using the model trained without that observation.

You can create a `RegressionPartitionedGAM`

model in two ways:

Create a cross-validated model from a GAM object

`RegressionGAM`

by using the`crossval`

object function.Create a cross-validated model by using the

`fitrgam`

function and specifying one of the name-value arguments`'CrossVal'`

,`'CVPartition'`

,`'Holdout'`

,`'KFold'`

, or`'Leaveout'`

.

`kfoldPredict` | Predict responses for observations in cross-validated regression model |

`kfoldLoss` | Loss for cross-validated partitioned regression model |

`kfoldfun` | Cross-validate function for regression |