|
Maximum
Likelihood MT
Maximum Likelihood MT (MaxlikMT) uses structures for input, control, and output.
Structures add flexibility and help organize information. In MaxlikMT, the same
procedure computing the log-likelihood or objective function will be used
to compute analytical derivatives as well if they are being provided. Its
return argument is a maxlikmtResults structure with three members, a scalar,
or Nx1 vector containing the log-likelihood (or objective), a 1XK vector, or
NxK matrix of first derivatives, and a KxK matrix or NxKxK array of second
derivatives (it needs to be an array if the log-likelihood is weighted).
Of course the derivatives are optional, or even partially optional, i.e., you
can compute a subset of the derivatives if you like and the remaining will
be computed numerically. This procedure will have an additional argument
which tells the function which to compute, the log-likelihood or objective,
the first derivatives, or the second derivatives, or all three. This means
that calculations in common will not have to be redone.
MaxlikMT uses the DS and PV structures that are now in use in the GAUSS
Run-Time Library. The DS structure is completely flexible, allowing you
to pass anything you can think of into your procedure. The PV structure
revolutionizes how you pass the parameters into the procedure. You no longer
have to struggle to get the parameter vector into matrices for calculating
the function and its derivatives, trying to remember, or figure out, which
parameter is where in the vector. If your log-likelihood uses matrices or
arrays, you can store them directly into the PV structure and remove them
as matrices or arrays with the parameters already plugged into them. The PV
structure can handle matrices and arrays where some of their elements are
fixed and some free. It remembers the fixed parameters and knows where to
plug in the current values of the free parameters. It can handle symmetric
matrices where parameters below the diagonal are repeated above the diagonal.
There will no longer be any need to use global variables. Anything the
procedure needs can be passed into it through the DS structure. And these
new applications will use control structures rather than global variables.
This means, in addition to thread safety, that it will be straightforward
to nest calls to MaxlikMT inside of a call to MaxlikMT, not to mention
Run-Time Library functions like QNewtonmt, QProgmt, and EQsolvemt.
Major Features of Maximum
Likelihood MT
-
Structures
- Simple bounds
- Hypothesis testing for models with bounded parameters
- Log-likelihood function
- Algorithm
- Secant algorithms
- Line search methods
- Weighted maximum likelihood
- Active and inactive parameters
- Bounds
Platform: Windows, LINUX and UNIX.
Requirements: GAUSS/GAUSS Light version 8.0 or higher.
|