Terms

This blog is for educational and informational purposes only. The contents of this blog are opinions of the author and should not be interpreted as investment advice. The author takes no responsibility for the investment decisions of other individuals or institutions, and is not liable for any losses they may incur. By reading this blog, you are agreeing that you understand and agree to the terms above.

Saturday, August 25, 2012

Predictive Models, Meta-Optimization, and the Importance of Parameters

Most of my favorite statistical models have parametric, so when I seek to apply them to financial markets, I need some way to train them until they learn the structure of the data in question.

And yet some of my favorite optimization algorithms are also parametric. The predictive ability of parametric models is obviously affected by their ability to properly learn from the data. And what defines 'properly?' Well, unless we're changing the structure of the model or the optimization algorithm, both of which warrant whole other discussions, we want to find optimal parameters--ones that reflect the data. But to undertake that search with a parametric search algorithm is (a hyperbole, perhaps) as bad as not optimizing the model parameters at all. So what we need is to see what means of learning--what optimization parameters--give the model the best ability to learn. To do this requires we again search a parameter space. Sound familiar?

So we do, despite it seeming as though we have only postponed our problem. How can we search the parameter space of an algorithm if we couldn't search the parameter space of the model? Well, we could apply the same algorithm (with some unadventurous default parameters itself) to search it's algorithm's parameter space. In other words, it would go through the parameter space, settle on some spot, and use the algorithm with those parameters to train the model, and then measure the performance of the model. And if we so chose, we could try to optimize the parameters of the algorithm searching the algorithm parameter space. But that is beginning to sound ridiculous.

Another approach is to use a search algorithm that uses fewer parameters, or none at all. But this may mean settling on a set of algorithm parameters that aren't as good as they could be. This then means that we have not properly learned how to learn, as our approach was too rigid. Ultimately, this becomes a judgement call.

I personally like training my hidden Markov models with particle swarm optimization, but this is computationally intensive, and it is unclear what the social weight, cognizant weight, and momentum should be for the swarm. Applying PSO to the PSO parameter space has worked nicely. So has a cuckoo search.