A Hybrid Genetic Programming Method in Optimization and Forecasting : A Case Study of the Broadband Penetration in OECD Countries

The introduction of a hybrid genetic programming method hGP in fitting and forecasting of the broadband penetration data is proposed. The hGP uses some well-known diffusion models, such as those of Gompertz, Logistic, and Bass, in the initial population of the solutions in order to accelerate the algorithm. The produced solutions models of the hGP are used in fitting and forecasting the adoption of broadband penetration. We investigate the fitting performance of the hGP, and we use the hGP to forecast the broadband penetration in OECD Organisation for Economic Co-operation and Development countries. The results of the optimized diffusion models are compared to those of the hGP-generated models. The comparison indicates that the hGP manages to generate solutions with high-performance statistical indicators. The hGP cooperates with the existing diffusion models, thus allowing multiple approaches to forecasting. The modified algorithm is implemented in the Python programming language, which is fast in execution time, compact, and user friendly.


Introduction
Many methods have been proposed for predicting the penetration of new technology in a community.The subject has been described and analyzed by worldwide literature, extensively 1-6 .
Examples of the above methods are the diffusion models for the adoption of new technologies.The diffusion models are mathematical functions that follow an S-shaped curve in time.The diffusion models used in this study are the Gompertz, Logistic, and Bass 4 .The parameters of the models have been estimated by regression analysis 5 .
Genetic algorithm GA is a probabilistic search method which uses the Darwinian principle of natural selection in finding an appropriate solution of a specific problem 7 .

Diffusion Models
Typically the diffusion process of innovative technologies in a society, such as broadband access, follows the sigmoid curve 6 .In this paper, some well-known diffusion models have been used as follows.

Logistic Model
The logistic diffusion model is the most known model among the sigmoid curves.The model is described by 2.1 : where the diffusion of a new product in a society at time t is presented as y t .Also, f t a b • t is a time-dependant function, and a, b are constant parameters.The S parameter is the limit of the function y t .When time t → ∞, then y t → S 5 .

Gompertz Model
The Gompertz model was introduced as a law of mortality 10 .The equation that we use is the known format of 2.2 , as follows:

Advances in Operations Research
We can also use the alternative format, Gompertz with constant, which is described in 2.3 : where f t a b • t is a time-dependent function and a, b, c are constant parameters 5 .

Bass Model
The Bass model proposes that the market for a new product consists of two major categories: innovators and imitators.Firstly, the innovators purchase the new product, and the imitators follow afterwards.This model's function is an extended logistic curve, where the cumulative adoption of the new technology y t for time t is presented in 2.4 : In 2.4 , parameter A corresponds to initial purchasers of the new technology product.Parameter B is the sum of the innovators and imitators coefficients, p and q, respectively.This is presented as B p q.
C parameter is C r • p, where r is a constant and D parameter is D r • q/A 4, 11 .

Genetic Programming Method
The specific hGP implements a hybrid strategy, which consists of two parts, the nonlinear regression analysis and the modified genetic algorithm part.The flowchart of Figure 1 shows the parts of the hGP.Firstly, a random set of solutions is created.Simultaneously, the candidate diffusion models are optimized by regression analysis and the produced models are inserted into the initial set of solutions.Now, the initial population of the hGP is prepared.Then, each solution is evaluated by its fitness function and the best solutions are inserted into a sorted list.The first, initial generation is ready.The termination criterion of the program is the maximum number of generations.After that, the selection of the best solutions takes place.It consists of the random combination of the best solutions, according to the crossover law and the random change of another randomly chosen solution.These solutions are going to be optimized by regression, and the next generation is ready.Finally, the whole process is repeated.

Solution Representation
In GP, each chromosome is not a fixed-length character string but a program that is a possible solution to the problem 12 .A chromosome in hGP, specifically, is presented as a string of characters in the Python programming language or as a parse tree.For example, the chromosome a b * •e c−d * t is presented in Figures 2 and 3 as string and parse tree, respectively 12 .The functions that are used in hGP are the addition , subtraction − , protected division / , multiplication * , and exponential E , because these are the same with the diffusion models' functions.

Advances in Operations Research
The parse tree consists of nodes.The terminal nodes are referred to as leaves.The leaves of the tree contain the variables or the constants of the program.As we can see the nonterminal nodes of the tree correspond to the function set of the hGP.

Initial Population
The initial population is generated by the fusion of a randomly produced number of chromosomes and the diffusion models which are optimized by regression analysis.The initial diffusion models' chromosomes are the optimized Logistic, Gompertz family, and Bass models.It should be noted that the diffusion models may differ according to the problem.The parameters of the initial diffusion models are optimized by nonlinear regression analysis, and the Levenberg-Marquardt algorithm has been used.
From a programmer's point of view, each chromosome is a string data type which is presented as a parse tree in the internal structure of the Python programming language.The population appears as a list of strings.This list corresponds to the first generation for the program.

Evaluation
During the evaluation process, we can use many functions as fitness indicators with real data .In the specific implementation, we use two different fitness functions as follows.In the fitting process, each chromosome is evaluated with the sum of squared error SSE , as in Appendix C in C.1 .In forecasting, the evaluation function corresponds to the weighted sum of squared error wSSE function, as in C.2 .

Selection
In hGP, the chromosomes with the best values of the fitness function smaller than a precision limit are inserted into a Python's list.The members of the list are sorted according to their fitness value.In Figure 4, we can see the structure of the sorted list.Then some randomly chosen chromosomes will be selected in order to produce the next generation using crossover and mutation processes.

Crossover
As it has been aforementioned, in the implementation of hGP, each chromosome is a string data type or a parse tree in the internal structure of the programming language.In the crossover process, two parents are randomly selected from the chromosomes' list with the best fitness value.
A crossover point is randomly chosen in the first parent string.Also another crossover point is randomly chosen in the second parent string.The first child offspring is generated when the substring of the first parent, which begins at the crossover point, is replaced by the substring from the second parent, which begins at the second crossover point.The second child is generated by the crossing over of the other parts substrings of the parents' strings.In Figures 5 and 6, the crossover operation is presented.

Second parent
Crossover points

Mutation
In the mutation process, a chromosome is randomly chosen from the chromosomes list, with the best fitness value.The substring point, in which the mutation will take place, is also randomly chosen.The mutation replaces the function , −, /, * , E which is presented at the mutation point with a new random function in the substring.The mutation operation is presented in Figures 7 and 8.

Results
In this section, the dataset, the statistic indicators, and the results of the study will be presented.The results will also be analysed in order to provide a satisfactory prediction for the broadband penetration in OECD countries.

Dataset
In this study, the proposed method has been implemented on two different datasets.The first dataset presents the overall OECD broadband penetration.The data came from the OECD portal 13 , which presents the total fixed wired broadband penetration in OECD countries.According to OECD reports, the overall broadband penetration is rapidly growing.The dataset concerns the time period from the second quarter Q2 of the year 2002 until the forth quarter Q4 of the year 2010.The dataset is comprised of 18 data points.
The method is also implemented on the second dataset which concerns three innovators countries in fixed wired broadband technology adoption 14 , namely, Sweden, The Netherlands, and Denmark.This dataset concerns the time period from the second quarter Q2 of the year 2001 until the fourth quarter Q4 of 2010 that is 20 data points.Thus, the fitting and forecasting ability of hGP are both tested in markets that have reached or are going to reach the saturation point of the penetration curve.

Statistic Indicators
As mentioned above, the fitness function of each individual is the sum of squared error SSE for the fitting process.The results are analyzed by the estimation of some widely used statistical indices.The main indices of our analysis are the mean absolute percentage error MAPE , the mean square error MSE , the mean absolute error MAE , and the root mean square error RMSE .
The statistic indicators of MAPE, MSE, MAE and RMSE are presented in Appendix B.

Fitting Results
As aforementioned, the statistic indicator used for the fitting process is the SSE.In this section, the fitting performance of the generated models by the hGP as well as the comparison of the optimized diffusion models with the hGP's models is presented.Both hGP and optimized diffusion models concerning the fitting performance are presented in Appendix A.1.

Fitting Results for the Overall OECD Broadband Penetration
Table 1 contains the initialization parameters for the execution of hGP concerning the whole dataset of the OECD countries.An example of the fitting performance for the first five hGP models, according to their fitness value SSE , is presented in Figure 9.The graphs represent the broadband penetration percentage y-axis and time x-axis as date.Each time point x-axis corresponds to a six-month period.The relative statistical indices SSE, MAPE, MSE, RMSE, and MAE of the produced hGP models are presented in Table 2.
Also, the fitting performance of the optimized diffusion models, according to their fitness value SSE , is presented in Figure 10 and their statistical indices in Table 3.

Parameters of the hGP
Maximum number of generations 500

Evaluation function SSE
Upper limit of the precision for the candidates for crossover and mutation 0.5 When considering Tables 2 and 3, the hGP method achieves better statistical indices than those of the optimized diffusion models.For example, the first hGP model shows a SSE value of 4.53047E−05 and the Logistic model 0.000134615.It should be noted that hGP was executed for 500 generations, which is a rather medium number of generations.Thus, better results could be achieved for larger number of generations.

Fitting Results for Sweden, The Netherlands, and Denmark Broadband Penetration
Table 4 contains the initialization parameters for the execution of hGP concerning the dataset for The Netherlands-Sweden-Denmark countries.
The fitting performance for the first five hGP models, according to their fitness value SSE as well as the performance of the optimized diffusion models is presented in Figures 11 and 12 for Sweden, Figures 13 and 14 for The Netherlands, and Figures 15 and 16 for Denmark, respectively.The relative statistical indices SSE, MAPE, MSE, RMSE, and MAE of the produced hGP models are presented in Tables 5 and 6 for Sweden, Tables 7 and 8 for The Netherlands, and Tables 9 and 10 for Denmark.According to Tables 5 and 6, the hGP method achieves better statistical indices than those of the optimized diffusion models.For example, the first hGP model achieves an SSE value 7.46756E−05 while the Logistic model an SSE value of 0.001689.
Once again, according to Tables 7 and 8, the hGP method achieves better statistical indices than those of the optimized diffusion models.
Finally, according to Tables 9 and 10, the hGP method achieves better statistical indices than those of the optimized diffusion models.The first hGP model achieves an SSE value of 0.000566649 while the Logistic model 0.001110701.

Parameters of the hGP
Maximum number of generations 500

Evaluation function wSSE
Upper limit of the precision for the candidates for crossover and mutation 0.09

Forecasting Results
The forecasting results of the generated models by hGP are presented in this section as well as the comparison of the optimized diffusion models with the hGP's models.The statistic indicator used for the forecasting process is the wSSE.Both hGP and the optimized diffusion models concerning the forecasting performance are presented in Appendix A.2.

Forecasting Results for the Overall OECD Broadband Penetration
Table 11 contains the initialization parameters for the execution of hGP for the forecasting process.The whole dataset of the OECD countries contains 18 data points 2 points per year since 2002 until 2010 .The forecasting method for a 2-year prediction uses 14 points data for hGP training of the dataset and implements the statistical indices to this 14-point subset.
The graph of the forecasting performance is shown in Figure 17.In every graph, the forecast period window is presented into the blue rectangle.The relative statistical indices, for the training points, of the produced forecasting hGP models are presented in Table 12.
The forecasting performance of the optimized diffusion models, according to their fitness value wSSE for the 14 training points, is presented in Figure 18 and their statistical indices in Table 13.
Considering Tables 12 and 13, the conclusion is that the hGP method achieves better statistical indices than those of the optimized diffusion models.We can see that the first hGP model achieves a wSSE value 3.67091E−05 while the Logistic model 6.13566E−05.The comparison of the models residuals against time data points , especially for the 4 last data points the forecast period , shows the predominance of the hGP models see Figure 19 .

Forecasting Results for the Sweden-The Netherlands-Denmark
Broadband Penetration    (

1) Forecasting Results for Sweden Broadband Penetration
Considering Tables 15 and 16, it is concluded that the hGP method again achieves better statistical indices than those of the optimized diffusion models for the training subset.The first hGP model has a wSSE value of 5.53E−05 while the Logistic model 0.000433.It should be mentioned that the hGP achieves a satisfactory performance after the 16th data point, with minimized residuals errors , MAPE and MAE for the last 4 data points 2-year forecast horizon, see Figure 22 . (

2) Forecasting Results for The Netherlands Broadband Penetration
Further commenting on the forecasting results, according to Tables 17 and 18, it is concluded that the hGP method again achieves better statistical indices than those of the optimized       (

3) Forecasting Results for Denmark Broadband Penetration
Finally, according to Tables 19 and 20, once again the hGP method achieves better statistical indices than those of the optimized diffusion models for the training subset.The first hGP

Conclusions
This paper introduces a new GP method that produces fitting and forecasting solutions models with well enough performance.The whole process is assisted by the insertion of some widely used diffusion models like Logistic, Gompertz family, and Bass, in the initial population of the chromosomes.The hGP method was implemented with a dataset concerning the overall broadband penetration of the OECD countries, as well as the datasets of Sweden, The Netherlands, and Denmark which are pioneers in broadband technologies.Both the fitting and the forecasting performance of the method presented satisfactory statistical indices.The proposed method differs from the classic GP method in several points.First, some well-known diffusion models, Logistic, Gompertz family, and Bass, which have been optimized by regression analysis, have been inserted in the randomly generated initial population.Second, the regression process has been implemented for each chromosome and after each crossover and mutation operation in order to maximize the algorithm's efficiency.Also, the crossover and mutation processes are implemented by a random selection of individuals from a sorted list which contains the chromosomes with the best performance.
In general, the produced hGP could be considered as a tool which generates solutions with well enough performance in fitting and forecasting of the broadband penetration.
In this paper, the forecasting horizon of hGP was two years ahead.A further investigation of the hGP performance for a longer forecast horizon would be desirable.It should be noted that the hGP method performance could be further improved with the insertion of more functions into the function set.A future study with an enrichment of the function set of the hGP could thus be considered.

A.
In this section, some of the produced hGP models as well as the optimized diffusion models concerning the fitting and the forecasting performance that were analysed before are presented.Each produced model corresponds to a Python's string data type of the program.

Figure 4 :
Figure 4: Representation of the sorted list of the selected chromosomes in hGP.

Figure 5 :
Figure 5: Crossover of the hybrid genetic programming method string representation .

Figure 6 :
Figure 6: Crossover of the hybrid genetic programming method parse tree representation .

Figure 7 :Figure 8 :
Figure 7: Mutation of the hybrid genetic programming method string representation .

Figure 9 :
Figure 9: The fitting performance of the first five hGP models OECD overall .

Figure 10 :
Figure 10: The fitting performance of the optimized diffusion models for OECD overall dataset.

Figure 11 :Figure 12 :
Figure 11:The fitting performance of the first five hGP models for Sweden.

Figure 13 :Figure 14 :
Figure 13: The fitting performance of the first five hGP models for The Netherlands.

Figure 15 :Figure 16 :
Figure 15: The fitting performance of the first five hGP models for Denmark.

Figure 17 :
Figure 17: The forecasting performance of hGP forecast period-2 years ahead .

Figure 18 :Figure 19 :
Figure 18: The forecasting performance of the optimized diffusion models forecast period-2 years ahead .

Figure 20 :
Figure 20: The forecasting performance of the first five hGP models for Sweden forecast period-2 years ahead .

Figure 21 :Figure 22 :
Figure 21: The forecasting performance of the optimized diffusion models for Sweden forecast period-2 years ahead . .

Figure 23 :Figure 24 :
Figure 23: The forecasting performance of the first five hGP models and the optimized diffusion models for The Netherlands forecast period-2 years ahead .

Figure 25 :
Figure 25: The forecasting performance of the models for The Netherlands forecast period-2 years ahead .

Figure 26 :
Figure 26: The forecasting performance of the first five hGP models for Denmark forecast period-2 years ahead .

Figure 27 :Figure 28 :
Figure 27: The forecasting performance of the optimized diffusion models for Denmark forecast period-2 years ahead .

Table 2 :
Statistical indices of the first five produced hGP models OECD overall .

Table 3 :
Representation of the statistics for the optimized diffusion models sorted by SSE.

Table 4 :
Parameters initialization of the hGP.

Table 5 :
Statistical indices of the first five produced hGP models Sweden .

Table 6 :
Representation of the statistics for the optimized diffusion models sorted by SSE Sweden .
Statistical indices of the optimized diffusion models for Sweden dataset

Table 7 :
Statistical indices of the first five produced hGP models The Netherlands .

Table 8 :
Statistics for the optimized diffusion models sorted by SSE The Netherlands .

Table 9 :
Statistical indices of the first five produced hGP models Denmark .

Table 10 :
Statistics for the optimized diffusion models sorted by SSE Denmark .

Table 12 :
Statistical indices of the first five produced forecasting hGP models for OECD overall.
Table14contains the initialization parameters for the execution of hGP in the forecasting process.The datasets of Sweden, The Netherlands, and Denmark contain 20 data points 2 points per year since 2001 until 2010 .The forecasting method for a 2-year prediction uses 16 data points for hGP training of the dataset and implements the statistical indices to the subset

Table 13 :
Representation of the statistics for the optimized diffusion models sorted by wSSE forecast period-2 years ahead .

Table 15 :
Statistical indices of the first five produced hGP models Sweden forecast period-2 years.

Table 16 :
Statistics for the optimized diffusion models sorted by wSSE Sweden forecast period-2 years.

Table 17 :
Statistical indices of the first five produced hGP models for The Netherlands forecast period-2 years .

Table 18 :
Statistics for the optimized diffusion models sorted by wSSE for The Netherlands forecast period-2 years .

Table 19 :
Statistical indices of the first five produced hGP models for Denmark forecast period-2 years .

Table 20 :
Statistics for the optimized diffusion models sorted by wSSE for Denmark forecast period-2 years .

Table 22 :
Representation of the optimized diffusion models in fitting OECD overall .

Table 23 :
Representation of the first five produced hGP models in fitting Sweden .

Table 24 :
Representation of the optimized diffusion models in fitting Sweden .

Table 26 :
Representation of the optimized diffusion models in fitting The Netherlands .

Table 27 :
Representation of the first five produced hGP models in fitting Denmark .

Table 28 :
Representation of the optimized diffusion models in fitting Denmark .

Table 30 :
Representation of the optimized diffusion models in forecasting OECD overall .

Table 31 :
Representation of the first five produced hGP models in forecasting Sweden .

Table 32 :
Representation of the optimized diffusion models in forecasting Sweden .

Table 34 :
Representation of the optimized diffusion models in forecasting The Netherlands .Forecasting performance-optimized diffusion models for The NetherlandsIn C.1 , the sum is over the time period t 1, ..., T. Also, r t is the real data for time t, and y t is the model's value15 .In forecasting, the evaluation function corresponds to the weighted sum of squared error wSSE function, as in In this function, a weight w t t/T is used, in order to focus on the time interval near the last observed or training data.