I am working with some time series data and I developed a linear regression model to make future predictions. The model has the following form:
$$ y\left( t \right) =\sum _{ i=1 }^{ M }{ { \alpha }_{ i }{ f }_{ i }\left( x\left( t \right) \right) } $$
where ${ f }_{ i }\left( x\left( t \right) \right) $ is a nonlinear function and ${ \alpha }_{ i }$ are the parameters learned during training.
The data has 120 observations from which 108 are used for training. In order to determine the appropriate number of terms $M$, a time series cross-validation was used on the 12 remaining observations, as described by Prof. Hyndman on his website. I applied a slightly modified version so I describe it below:
- Start with one model term.
- Estimate the parameter coefficients of the model using the first 108 observations, forecast the remaining 12 and compute the errors.
- Move the first observation of the test set to the training set and repeat step 2, i.e. train on 109 observations, forecast on the remaining 11 observations, and compute the errors.
- Step 3 is repeated for the remaining observations in the test set, i.e. until train on 119 observations, forecast the last observation available, and compute the last error.
- All the errors are combined into a Mean Absolute Error value. This represents the CV error for the model.
- Add a new model term, and repeat steps 2-5.
- The procedure is repeated until a specified number of terms is reached.
Such technique produces the following plot:
From the plot, the final model selected has 47 terms because this produced the lowest cross-validation error. However, there are several local minima, the most notorious at 2, 17 and 32 terms.
My questions are:
- Is it common for a cross-validation plot to have several minima? Shouldn't it be smoother with a single optimum?
- Why use all 47 terms when it seems that the inclusion of some of them increased the cross-validation error?
- Why not use the first or the second local minimum as the best number of terms?
Any help is greatly appreciated!