Optimization Algorithms
Posted: Thu May 05, 2011 6:49 am
by Novi
Dear Eviews users and developpers,
I was wondering whether there is the possibility in Eviews to perform a Maximum Likelihood estimnation using the Broyden–Fletcher–Goldfarb–Shanno algorithm (BFGS).
I am almost sure that there is no in built-in routine to do that, at least in eviews 6, am I right? Is there maybe somebody who programmed it manually?
Most econometrics software have such routine so... :D
Thanks to all of you, any help will be much appreciated!!
Re: Optimization Algorithms
Posted: Thu May 05, 2011 9:27 am
by EViews Chris
You're right that EViews currently does not use BFGS for any optimizations.
We generally use a hessian approximation based on the outer product of the gradients (called Gauss-Newton in least squares; BHHH in Maximum Likelihood). In a variety of cases we give you a choice between this and a true Newton method using the analytic Hessian for the problem.
For the next version of EViews we have been working on adding general optimization abilities to the EViews programming language, which will include support using a Hessian based on BFGS updates. We'll probably also add BFGS optimization to a variety of the existing optimization routines within EViews.
I'm afraid this doesn't really help you much for the current version of EViews, since I don't have anything in EViews batch programming language that I could give you.
By the way, for ML problems BHHH normally behaves quite well as long as: (1) you can calculate the elementwise contributions to the likelihood (2) you have a decent number of observations (if you only have a handful of observations, the asymptotic approximation of the outer product of the gradients to the expected value of the Hessian can be pretty rough).
BFGS really comes into its own when the thing you are optimizing is not a least squares function or ML function (something like a multi-period consumer optimization problem, for example). In this case there is no approximation based on the outer product of the elementwise gradients, so your only options are to use an update like BFGS or to calculate the true Hessian.