maximization function
[results]=maxlik(func,xarg,varargin)
* func= (minus likelihood) function to minimize
* xarg= parameter vector fed to func
* argi=
- optional arguments passed for infoz
* 'maxit=x' to set the maximum # iterations (default 100)
*'btol=x' to set the convergence criterium for b (default 1e-5)
*'ftol=x' to set the convergence criterium for function (default 1.49e-8)
*'gtol=x' to set the convergence criterium for gradiant (default 1.49e-8)
*'dirtol=x' to set the maximum change on b authorized during an iteration (default 1)
*'cond=x' to set the maximum condition number authorized for hessian matrix (default 1000)
*'lambda=x' to set lambda in the GN/Marq hess option (default 0.01)
*'delta=x' to set the increment used in the numz func (default 0.01)
* 'optprt=0' not to print the cause of the stop (default 1)
* 'hess=namefunc' to set the name of an hessian update function (default hessz)
*'grad=namefunc' to set the name of a gradiant function (default numz0)
- or: arguments (if any) other than xarg passed to func
* results = a result list with:
- results('meth') = infoz(hess)
= 'dfp', 'bfgs', 'gn', 'marq', 'sd' (from input)
- results('hess') = numerical hessian at the optimum
- results('bhist') = history of b at each iteration
- results('b') = parameter value at the optimum
- results('f') = objective function value at the optimum
- results('g') = gradient at the optimum
- results('dg') = change in gradient
- results('db') = change in b parameters
- results('df') = change in objective function
- results('iter') = # of iterations taken
- results('time') = time (in seconds) needed to find solution
- results('infoz') = infoz (options used)
b = parameter vector (k x 1)
varargin = arguments passed to the function
1) rd=maxlik('f_ssr',init,chdelta, varargin(:),chftol) 2) oresult = maxlik('to_llike',b0,y,x,vtrunc,lopt(:)) 3) oresult = maxlik('filter0',param,func,y,x,F,varargin(:)) These examples are taken from the functions nls, tobit and kalman. The functions maximized are f_ssr, to_llike and filter. The initial parameters are respectively init, b0 and param. In example 2 and 3, y, x and vtrunc (in example 2) or F (in example 3) are the parameters other than b0 of function to_llike. chdelta, chftol, lopt(:) are varargin(:) are options for maxlik. | ![]() | ![]() |