A heterogeneous ensemble architecture coupling model selection sorting and residual error iterative correction for crude oil price forecasting