Abstract
Long-term load forecasting is an important issue for a country’s power suppliers to determine the future electric system plan, investment and operation. This paper presents a novel hybrid long-term forecasting method with support vector regression(SVR) and backtracking search algorithm(BSA) optimization algorithm, which is used to obtain the parameters of the SVR. The practical case of China’s annual electricity demand is used to evaluate the effectiveness of the proposed method. According to the results, the performance of the proposed method is better than the SVR model with default parameters, back propagation artificial neural network (BPNN) and regression forecasting models in annual load forecasting.
Introduction
Load forecasting, which is important for electric market’s partners to make their trading decision, can be categorized as short-term and long-term forecasting. The time horizon of short-term forecasting’s range is from a few minutes and a day, and it also provide the decision message to decide the electric company’s dispatching schedule. The time horizon of long-term load forecasting’s range is between a few months and ten years [1]. On the other hand, long-term forecasting’s time range is from a few months and a year. It also plays a key role in the decision of power system long-term investment, power maintenance planning and power system construction schedule. Annual load forecasting is one of the most typical long-term forecasting problem, however, it is difficult to forecast annual load forecasting accurately, because the annual load is affected by many non-linear factors such as GDP, population and other national economic and social factors, which are always uncertain and uncontrollable.
In the last two decades, many researches are focus on long-term load forecasting. The forecasting methods can be categories as two types. One is the economic input-output forecasting method, which uses GDP, population, other economic conditions and history load values as the input variables to create a load forecasting model such as multiple linear regression, artificial neural network (ANN) and so on [2–4]. The input variables, which may affect the long-term load characteristics, can divided into economic variables, society variables, planning development variables and load variables four categories.
The other forecasting methods use only history load values to create a forecasting model, which considers the forecasting problem as a time-series forecasting problem. The forecasting model does not accept the economic variables, society variables and planning development variables because it is no way to confirm the accuracy of the variables value, and how to get the future variables value is also a difficult forecasting problem. One of the classical time series forecasting model is ARMA, which is always employed in the short-term load forecasting [5–7], and like the above economic input-output forecasting method, the ANN and support vector regression (SVR) are also used in the time series forecasting model [8, 9]. The greatest feature of this model can be easily obtained the history load data and not use forecast any variables value. For this advantage, it is better to choose the time-series forecasting model in long-term forecasting.
Recently, support vector regression (SVR) is one of a popular intelligence model in load forecasting. Intelligence model such as ANN and SVR needn’t have any prior knowledge, and it can deal with non-linear fitting at any accuracy [10, 11]. SVR uses the structural risk minimization principle to minimize the generalization errors rather than ANN’s the empirical risk minimization principle, which can easily get global optimal solution. In small sample situation, SVR method can be considered a way to replace ANN. According to many studies, the forecasting result performance of SVR is better than ANN and other time-series forecasting model [12, 13].
The core problem of using SVR to forecast is determining a structure, including input variables, output variables and parameters, which are always determined by experts’ experience, correlation analysis or optimization algorithms. The purpose of correlation analysis of variables and load time series is finding out suitable input variables of intelligence model, and the optimization algorithms are usually used to determine three parameters, which are kernel function parameter r, error penalty parameter C and Insensitive loss function e in SVR. The optimization algorithms include swarm intelligence optimization related algorithm, such as genetic algorithm, differential evolution (DE) algorithm [13]. Backtracking search algorithm (BSA), proposed by P. Civicioglu in 2013, is a new optimization algorithm for searching numerical optimization problems. The algorithm is easy to use because it is real-value coding, only needing a single control parameter and not over sensitive to the initial value. According to comparison results in dozens of benchmark function, BSA’s performance is more successfully than six widely used evolutionary algorithms such as PSO, CMAES, ABC, JDE, CLPSO and SADE [14]. In order to enhance SVR models’ forecasting performance, we employ BSA to determine the parameters of SVR and give the performance of annual load forecasting to explain its effectiveness.
The rest of the paper is organized as follows: Section 2 introduces an annual forecasting model with SVR optimized by BSA. Section 3 gives data and forecasting result description. At last, conclusions are given in Section 4.
Support vector regression model optimized by BSA in annual load forecasting
A brief introduction of support vector regression
Support vector Machine (SVM), based on machine statistical learning theory, firstly used in pattern analysis. It has been successfully applied in many areas such as text categorization, pattern recognition, and signal processing and so on. With the development of SVM, it has promoted to deal with the non-linear regression function fitting problem, which changed into support vector regression model (SVR) method. Suppose a set of data G = {(x
i
, d
i
)}, x
i
∈ R
n
, i = 1 ⋯ N is a n dimension input vector, d
i
∈ R1 is a corresponding target output, N expresses the total number of pattern records. The linear regression estimate function can be express as [15, 16].
In which, ψ (x) is a nonlinear mapping from the input space to a high dimensional feature space. w is a weight vector and b is a threshold value, which can be estimated by minimizing the regularized risk function.
In which,
∥w ∥ 2/2 measures the flatness of the function, and the function L
ɛ
(d, y) is called the e-insensitive loss function. C is considered to specify the trade-off between the empirical risk and the model flatness, e express the Vapnik’s linear loss function zone to measure empirical error. After two slack variables ζ and ζ* are introduced to represent the distance from actual values to the corresponding boundary values of e-tube, Equation (2) can be transformed to Equation (4).
This constrained optimization problem can be solved with the primal Lagrangian form
w, b, ζ, ζ* need be minimized in Equation (5), therefore, it needs satisfy the following conditions.
Using Karush-Kuhn-Tucker conditions and substituting Equation (6) in Equation (5), the dual can be obtained as
In which, and an optimal desired weight vector of the regression hyperplane is
The final regression function is
Where K (x i , x j ) is the inner product of two vectors in the feature space ψ (x i ) and ψ (x j ), K (x i , x j ) = ψ (x i ) ψ (x j ) is called the kernel function which needs to meet Mercer’s condition. The most commonly used kernel function is the Gaussian RBF kernel function K (x i , x j ) = exp(- ∥ x i - x j ∥ 2/2σ2), it is also employed in this study. Therefore, to use the above SVR models need to determine three parameters C, ɛ and σ.
It is important to determine three parameters for using SVR in forecasting. C controls the empirical risk degree of SVR, e controls the width of thee-insensitive loss function and the delta controls the Gaussian function width of the kernel function. Most of the researchers select three parameters by experience or some priori knowledge, it lacks automatically efficiently methods of determining the parameters, in this study, Backtracking search algorithm (BSA) is used for determining the parameters of the proposed SVR forecasting method.
Backtracking Search Algorithm (BSA) algorithm is one of the evolutionary algorithms (EA), which was proposed by Pinar Civicioglu in 2013. As other evolution algorithms such as genetic algorithm (GA), BSA is also population based algorithm, which contains five steps as is done in other EAs: initialization, selection-I, mutation, crossover and selection-II. The detail working steps are as follows [14]:
Step 1. Parameters initialization
The main parameters of BSA algorithm are population size N and length of the chromosome, which is always the problem dimension D, Set g = 0. Generate a N * D matrix with uniform probability distribution random values. The generation method is
In which, i = 1, 2, …, N, j = 1, 2, …, D, rand is a random number with a uniform probability distribution, and high [j], low [j] is the upper bound and lower bound of the jth column, respectively.
Step 2. Selection-I
In this stage, BSA determines which population is to be used for calculating the search direction, the population is determined using Equation (11), and U is the uniform distribution:
The permuting function used in Equation (13) is a random shuffling function.
Step 3. Mutation operation
BSA generates the trial population using mutation function as Equation (14).
In Equation (14), F controls the amplitude of the search-direction matrix (oldP - P). Because the historical population is used in the calculation of the search-direction matrix, BSA generates a trial population, taking partial advantage of its experiences from previous generations. This paper uses F = 3*rndn, where rndn ∼ N (0, 1).
Step 4. Crossover operation
BSA’s crossover process generates the final form of the trial population T. The initial value of the trial population is Mutant, as set in the mutation process. Trial individuals with better fitness values for the optimization problem are used to evolve the target population individuals. BSA’s crossover process has two steps. The first step calculates a binary integer-valued matrix of size N * D that indicates the individuals of T to be manipulated by using the relevant individuals of P.
Step 5. Selection-II operation
Selection-II operation T i s that have better fitness values than the corresponding P i s are used to update the P i s based on a greedy selection. If the best individual Pbest has a better fitness value than the global minimum value obtained so far by BSA, the global minimizer is updated to be Pbest, and the global minimum value is updated to be the fitness value of Pbest.
BSA algorithm has the better performance than PSO, CMAES, ABC, JDE, CLPSO and SADE algorithms in the examination of several widely used benchmark functions [14]. According to the study, BSA algorithm is stable and it can obtain a better solution than other algorithms, and the experiment results are also shown that BSA can get the nearest optimal solution than PSO and GA algorithm. Therefore, the BSA algorithm will use to solve the weight determining optimization problem, whose fitness function is employed the mean absolute percentage error function (MAPE), which is common using in load forecasting performance evaluation.
Where A (i) is the actual value, F (i) is the forecasting value and n is the total numbers.
A flowchart of BSA algorithm for parameters selection of SVR model(BSASVR) is shown in Fig. 1.
The details of the BSASVR model are shown as follows.
Step 1. Initialization parameters. The population numbers (N), the mutation factor (F) and the crossover rate(R) of BSA algorithm should be determined at first, and a chromosome is consist of three parameters C, ɛ and σ, which should be determined in SVR. Therefore, the length of a chromosome is three.
Step 2. Evolution starting. Set g = 0 and employing Equation (10) to generate the population randomly.
Step 3. Using BSA in SVR parameters optimization calculations. Input the generated population into SVR for load forecasting, according to the load forecasting results, calculate and record the fitness function values. And Employing Equation (11) to Equation (14) to generate offspring, then input the offspring into SVR for load forecasting and calculate the fitness value again. Set g = g + 1.
Step 4. Circulation until the stop criterion satisfied. If the g equals the max generation numbers, show the best solution chromosome which is the best parameters of the SVR model, otherwise, go back to Step 3.
A numeric example and results analysis
Annual electricity consumption of Beijing city has been considered in the numeric example study, totally 31 load data from time to 1978 to 2014 listed in Table 1 and Fig. 2 are collected from Beijing’s Statistical Yearbook. The proposed BSASVR model is realized by matlab programming with the libsvm toolbox [17]. It is necessary to divide data to the training set and testing set. According to a series of experiment, when the last six load data Ln-6, Ln-5, …, Ln-1 put into the SVR model with the default parameters, it can get a satisfied performance. Therefore, the input variables of the BSASVR model are Ln-6, Ln-5, …, Ln-1, and the output variable is L n .
In the training stage, a roll-based process is used. Firstly, the top six load data (from 1984 to 1989) of the load series are fed into the BSASVR model, then the first forecasting value of 1990 can be gotten. Secondly, the real value of 1990 in the series is employed to the next forecasting process, in other words, the input six load data is from 1985 to 1990 and the forecasting value of 1991 is obtained. Similarly, the processes are cycling until all of the exacted forecasting values are obtained. The three parameters and C, ɛ and σ are evolved generation by generation, when BSASVR gets the stopping criterion, the three parameters are finally determined from the best chromosome in the terminated population.
As shown in Fig. 2, it can easily find that the increasing linear trend of the load series. Therefore, linear regression forecasting model is employed in order to compare the results. The SVR forecasting model with default parameters and back propagation artificial neural network(BPNN) model are also employed for comparison. The SVR’s structure is the same as the BSASVR’s structure. Similarly, the BPNN contains three layers with six input nodes, eleven hidden nodes and only one output node. The input and output variables are also the same as those of the BSASVR model. The accuracy sets 10–4 and the max generation is 1000, the BPNN realizes by matlab toolbox.
Figure 2 and Table 1 lists the results of BSASVR, SVR, BPNN and regression forecasting models. Because the BPNN forecasting results are difference every time, the best performance in the ten experiments are chosen. Table 1 also lists errors of these models. According to Fig. 2, it can be clearly seen that the performance of three intelligence forecasting models BSASVR is better than other models. Four forecasting models are all capture the increasing trends to the facts.
From the errors in Table 1, the deviation can be captured between the actual value and the forecasting results of four forecasting models. For load forecasting, 3% is always considered as a standard to measure forecasting results’ error range, the range is also used to compare four methods as follows. Firstly, the proposed model has 3 forecasting result points exceed the range in total 25 result points. They are 3.9%, 4.29% and 4.28% in 1989, 1995 and 1999 respectively. In SVR model, there are totally 10 points. SVR reaches the maximum error 14.33% in 2000. The errors of BPNN are 9 points out of 3%. The regression errors are almost higher than three other forecasting models, and the 13 errors are all exceed 3%. Compare with BPNN model, SVR model is more suitable of small sample load forecasting. Furthermore, the proposed BSASVR model makes better performance than SVR model. The results proved that the parameters determined by BSA algorithm can efficiently improve the forecasting accuracy of the SVR.
MAPE is used to measure the performance of the four forecasting models. The MAPE values lists in Table 2. The proposed method has the best performance, which is 0.92%. Second is the SVR model with default parameters, the MAPE value is 2.72%. BPNN has the third MAPE values, which is 3.04%. Finally, Regression model has the maximum MAPE value, which is 3.42%.
As shown in two tables and one figure, the proposed model BSASVR out performs three other models in annual load forecasting. With the comparison of the SVR model, it clearly shows that the parameters found by BSA algorithm can improve the forecasting accuracy effectually.
Conclusions
In this paper, a hybrid forecasting model base on BSA algorithm to determine the SVR model parameters is proposed for annual power consumption forecasting of Beijing city in China. The experiment results show as follows: Firstly, the intelligence load forecasting model has better performance than regression model in the experiment, because the intelligence forecasting models has good non-linear fitting capacity. Secondly, The SVR forecasting model has stability performance in the small sample forecasting, while the BPNN is easily falling into over-fitting problem. Finally, the BSA algorithm can determined the appropriate parameters of SVR model, it can effectually improve the forecasting accuracy. The proposed model is more easily to capture the increasing curve pattern of annual power consumption of Beijing city in China, it is a common electric load pattern in a developing country. In addition, the further research will consider some other advanced optimization searching algorithm to find the appropriate parameters of SVR model and how to reasonably select the input variables of the SVR model.
Footnotes
Acknowledgments
This research was conducted with Natural Science Foundation of China (71401054, 71403030), Beijing Planning Project of Philosophy and Social Science (Grant no. 14JGC108) and the State Grid Corporation headquarters (Grand no. KJGW2015-020).
