Quantcast aiQUANT » Evolutionary Computation

Archive for the 'Evolutionary Computation' Category

Forecasting via Genetic Algorithm: Part 5

Evolutionary Computation, Genetic Algorithm, Matlab No Comments »

Part 5: Programming Issues

I wrote code for the Genetic Algorithm in MATLAB and it is terribly slow.  A run for 50 Generations averages to about 1 second per generation.  Here are some performance measures obtained using Matlab Profiler:

prof1.png

The FitnessFunction function is the biggest culprit and takes almost 100% of the total simulation time.  Evaluation of the fitness function is the most time consuming part in the Genetic Algorithm.  This is generally the case even with simpler fitness functions because on a relative scale, operators such as crossover and mutation require very little algebraic manipulation.  Looking at the function itself we get more detail:

prof2.png

We find that evaluations for alpha and beta take the most time.  I shall attempt to speed up the algorithm by writing a MEX function.  In doing so we expect the simulation time to drop by many orders of magnitude as compiled MEX code would not need to run under Matlab’s interpreted mode.

Support vector machine + Evolutionary Algorithm = ?

Evolutionary Computation, Support Vector Machines No Comments »

Cao, L., Francis, E. (2003) Support Vector Machines with Adaptive Parameters in Financial Timeseries forecasting, IEEE Transactions on Neural Networks, 14(6):1506:1518

svmPaper.PNG

Now here is a point of thought:  Support vector machines + Evolutionary Algorithms = ? 

On the surface, it appears that support vector machines beat neural networks in terms of maintaining generality on both in-sample and out of sample data when applied to forecasting.  But the problem is deciding what kernel function to use for a particular forecasting task using support vectors?  This problem in some ways is analogous to the choice of connectionist structure to use for a neural network.  Perhaps some kind of evolutionary algorithm can be applied to determine the best kernel function, given a population of kernel functions.  This might be an idea for an upcoming paper.

Close
E-mail It