Forecasting via Genetic Algorithm: Part 3
Forecasting, Genetic Algorithm, Model Development October 31st. 2007, 10:04pmPart 3: Constraining the Search Space
We noted previously that are integer values which will be evolved by the algorithm. If we are to assuming that the range of possible values for each one of these parameters range from -infinity to +infinity then our algorithm will take an eternity to evaluate each and every permutation. In order to improve convergence to an optimum solution it is useful to specify a range of values that encompasses optimum parameter values. For instance
can only have a minimum value of 2 and a maximum value less than or equal to 800. But clearly numbers closer to 800 seem way off because it is very unlikely that patterns will persist that far back in time given the nature of our prediction function. Parameters
will be decimal numbers with a resolution of one decimal place and will fall over a wider range.
fall in the integer range 2 to 65 (We will refer to these as Integer Genes)
fall in the decimal range -1000 to 1000 (We will refer to these as Decimal Genes)
Other constants shall be set to
- Population Size = 20
- Mutation Probability = 0.7
- Mate Probability = 0.8
We don’t need to limit the algorithm to a fixed set of constants. In-fact we will see later on the effect of altering each of these constants with respect to other parameters and constants.
1. Initialising the Population
We know that there are 13 genes in total that form a chromosome and we also know the boundary values individual genes may take. What is the best way to create the required population of 20 chromosomes in-order to get our algorithm started? We shall do so by selecting random numbers and scaling them to the permitted range
Note that is a decimal number between 0 and one.
means that the number is rounded to the nearest integer value since the corresponding parameters are Integer Genes.
Essentially what we are saying is that Integer genes will be random numbers from the range 2 to 65 and Decimal genes will be random numbers from the range -1000 to 1000.
