Multi-step Ahead Forecasting Using Cartesian Genetic Programming

  • Ivars Dzalbs
  • Tatiana Kalganova
Part of the Emergence, Complexity and Computation book series (ECC, volume 28)


This paper describes a forecasting method that is suitable for long range predictions. Forecasts are made by a calculating machine of which inputs are the actual data and the outputs are the forecasted values. The Cartesian Genetic Programming (CGP) algorithm finds the best performing machine out of a huge abundance of candidates via evolutionary strategy. The algorithm can cope with non-stationary highly multivariate data series, and can reveal hidden relationships among the input variables. Multiple experiments were devised by looking at several time series from different industries. Forecast results were analysed and compared using average Symmetric Mean Absolute Percentage Error (SMAPE) across all datasets. Overall, CGP achieved comparable to Support Vector Machine algorithm and performed better than Neural Networks.



The authors would like to thank the supporter of this work: Intel Corporation.


  1. 1.
    Palit, A.K., Popovic, D.: Computational intelligence in time series forecasting: theory and engineering applications (advances in industrial control). Springer (2005)Google Scholar
  2. 2.
    Xiong, T., Bao, Y., Hu, Z.: Beyond one-step-ahead forecasting: evaluation of alternative multi-step-ahead forecasting models for crude oil prices. Energy Econ. 40, 405–415 (2013)Google Scholar
  3. 3.
    Andalib, A., Atrya, F.: Multi-step ahead forecasts for electricity prices using NARX: a new approach, a critical analysis of one-step ahead forecasts. Energy Convers. Manage. 50(3), 739–747 (2009)Google Scholar
  4. 4.
    Chang, F.J., Chiang Y.M., Chang, L.C.: Multi-step-ahead neural networks for flood forecasting. Hydrol. Sci. J. 52(1), 114–130 (2007)Google Scholar
  5. 5.
    Cortez, P.: Sensitivity analysis for time lag selection to forecast seasonal time series using neural networks and support vector machines. In: The 2010 International Joint Conference on Neural Networks (IJCNN) (2010)Google Scholar
  6. 6.
    Sorjamaa, A., Hao, J., Reyhani, N., Ji, Y., Lendasse, A.: Methodology for long-term prediction of time series. Neurocomputing 70(16–18), 2861–2869 (2007)Google Scholar
  7. 7.
    Al-Saba, T., El-Amin, I.: Artificial neural networks as applied to long-term demand forecasting. Artif. Intell. Eng. 13(2), 189–197 (1999)Google Scholar
  8. 8.
    Miller, J.F., Job, D., Vassilev, V.K.: Principles in the evolutionary design of digital circuits—part I. Genet. Program Evolvable Mach. 1(1), 7–35 (2000)Google Scholar
  9. 9.
    Gajda, Z., Sekanina, L.: Gate-level optimization of polymorphic circuits using Cartesian genetic programming. In: Evolutionary Computation (2009)Google Scholar
  10. 10.
    Walker, J.A., Liu, Y., Tempesti, G., Tyrrell, A.M.: Automatic code generation on a MOVE processor using Cartesian genetic programming. In: Evolvable Systems: From Biology to Hardware, pp. 238–249 (2010)Google Scholar
  11. 11.
    Miller, J.F.: Cartesian Genetic Programming. Springer, Berlin Heidelberg (2011)Google Scholar
  12. 12.
    Armstrong, J.S.: Long-Range Forecasting: From Crystal Ball to Computer. Wiley-Interscience (1985)Google Scholar
  13. 13.
    NIST, Measures of Skewness and Kurtosis.
  14. 14.
    Hawkins, D.M., The problem of overfitting. J. Chem. Inf. Comput. Sci. pp. 1–12 (2004)Google Scholar
  15. 15.
    Taieba, S.B., Bontempia, G., Atiyac, A.F., Sorjamaab, A.: A review and comparison of strategies for multi-step ahead time series forecasting based on the NN5 forecasting competition. Expert Syst. Appl. 39(8), 7067–7083 (2012)Google Scholar
  16. 16.
    Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever I., Salakhutdinov, R.: Dropout: A simple way to prevent neural networks from overfitting, J Mach Learn Res 15, pp. 1929–1958, (2014)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Brunel University LondonUxbridgeUK

Personalised recommendations