#### Abstract

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.

#### 1. 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]. GP is more general than GA, because the produced solution corresponds to a new program [8]. The implementation of genetic programming (GP) in optimization problems has produced some important forecasting tools [7, 8].

Generally, a GP begins with a set of initial randomly chosen functions (solutions) and this set is called population. A chromosome is a program solution of GP. Each solution has a fitness value, and this chromosome’s fitness is evaluated. The next generation is the resultant of the Darwinian selection process. In this process, the best chromosomes, according to their fitness values, are selected for the next generation. Some of the selected chromosomes are randomly combined (crossover) and generate new chromosomes (offspring). The mutation process also occurs, according to which a part of a randomly selected chromosome is changing. Finally, the chromosomes with better fitness values have better probability of being selected. The chromosomes of the new generation have better overall fitness value than those of the past generations. The whole process is repeated until an end condition has occurred [8, 9].

This paper is structured as follows. At first, the diffusion models are shortly presented. The basic structure of the new modified GP (hGP) and its analysis follow. The next section contains the results analysis, and, finally, the conclusion is presented. In the Appendices A, B, and C, the syntax of some produced models and the statistic indicators as well as the estimation formulas of the modified GA are provided.

#### 2. 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.

##### 2.1. 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 is presented as . Also, is a time-dependant function, and are constant parameters. The parameter is the limit of the function . When time , then [5].

##### 2.2. 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:

We can also use the alternative format, Gompertz with constant, which is described in (2.3): where is a time-dependent function and are constant parameters [5].

##### 2.3. 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 for time is presented in (2.4):

In (2.4), parameter corresponds to initial purchasers of the new technology product. Parameter is the sum of the innovators and imitators coefficients, and , respectively. This is presented as .

*C* parameter is , where is a constant and parameter is [4, 11].

#### 3. 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.

##### 3.1. 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 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 (), because these are the same with the diffusion models’ functions.

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.

##### 3.2. 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.

##### 3.3. 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).

##### 3.4. 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.

##### 3.5. 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.

##### 3.6. 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 (+, −, /, *, ) 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.

#### 4. 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.

##### 4.1. 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.

##### 4.2. 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.

##### 4.3. 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.

###### 4.3.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 (-axis) and time (-axis) as date. Each time point (-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.

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.53047*E *−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.

###### 4.3.2. 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.46756*E *−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.

##### 4.4. 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.

###### 4.4.1. 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.67091*E *−05 while the Logistic model 6.13566*E *−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).

###### 4.4.2. Forecasting Results for the Sweden-The Netherlands-Denmark Broadband Penetration

Table 14 contains 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 of the training points. The graphs of the forecasting performance of the hGP and optimized diffusion models are shown in Figures 20 and 21 for Sweden, Figures 23 and 24 for The Netherlands, and Figures 26 and 27 for Denmark, respectively. The relative statistical indices for the training data are presented in Tables 15 and 16 for Sweden, Tables 17 and 18 for The Netherlands, and Tables 19 and 20 for Denmark. Finally, the statistical indices, MAPE and MAE, that describe the forecasting performance of the models in a forecasting horizon of 2-years are presented in Figures 22, 25, and 28 for the three countries.

* 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.53*E *−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).

* Forpecasting 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 diffusion models for the 16-point training subset. The first hGP model shows a wSSE value of 0.00010 while the Logistic and Bass models 7.31E-05. Both parts, the hGP and diffusion models, specially Logistic and Bass models, achieve well enough performance after the 16th data point, with minimized residuals (errors) for the last 4 data points (2-year forecast horizon, see Figure 25).

* 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 model achieves a wSSE value of 3.39655*E *−05 while the Logistic model 0.000319962. The hGP achieves well enough 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 28).

#### 5. 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.

#### Appendices

#### 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.

##### A.1. Fitting Performance Models

For more details, see Tables 21, 22, 23, 24, 25, 26, 27, and 28.

##### A.2. Forecasting Performance Models

For more details, see Tables 29, 30, 31, 32, 33, 34, 35, and 36.

#### B.

The MAPE is presented in (B.1). The sum is over time period , is the raw data actual value for time , and is the estimated model’s value:

MSE, MAE, and RMSE are presented in (B.2), (B.3), and (B.4), respectively:

#### C.

In the fitting process, each chromosome is evaluated with the sum of squared error (SSE), as in

In (C.1), the sum is over the time period . Also, is the real data for time , and is the model’s value [15].

In forecasting, the evaluation function corresponds to the weighted sum of squared error (wSSE) function, as in

In this function, a weight is used, in order to focus on the time interval near the last observed or training data.

#### Acknowledgment

The authors wish to express their acknowledgments to Professor Yi-Kuei Lin, National Taiwan University of Science and Technology, Taiwan, for his constructive comments and suggestions, which helped to improve the quality of this paper.