# The Log-likelihood Function#

MAXLIKMT is a set of procedures for estimating the parameters of models via the maximum likelihood method with general constraints on the parameters, along with an additional set of procedures for statistical inference.

MAXLIKMT solves the general weighted maximum likelihood problem

$L = \sum^N_{i=1} log P(Y_i;\theta)^{\omega_i}$

where $$N$$ is the number of observations, $$omega_i$$ is a weight, $$P(Y_i, \theta) is the probability of :math:Y_i$$ given $$\theta$$, a vector of parameters, subject to the linear constraints

$A(\theta) = B$
$C(\theta) \geq D$

the nonlinear constraints

$G(\theta) = 0$
$H(\theta) \geq 0$

and bounds,

$\theta_L \leq \theta \leq \theta_u$

$$G(\theta)$$ and $$H(\theta)$$ are functions provided by the user and must be differentiable at least once with respect to the parameters.

The procedure maxlikmt() finds values for the parameters in $$\theta$$ such that $$L$$ is maximized. In fact maxlikmt() minimizes . It is important to note, however, that the user must specify the log-probability to be maximized and maxlikmt() transforms the function into the form to be minimized.

maxlikmt()` has been designed to make the specification of the function and the handling of the data convenient. The user supplies a procedure that computes $$log P(Y_i; \theta)$$ i.e., the log-likelihood, given the parameters in $$\theta$$, for either an individual observation or set of observations (i.e., it must return either the log-likelihood for an individual observation or a vector of log-likelihoods for a matrix of observations). MAXLIKMT uses this procedure to construct the function to be minimized.