[ADMB Users] ADMB and hierarchical (multi-level) models

Saang-Yoon shyunuw at gmail.com
Fri Aug 13 09:04:21 PDT 2010

Dear ADMB users.

I wonder about how people code multi-level models in ADMB.  I
illustrate my question with a simple example.  Let's assume we have a
simple regression model,
Y = beta0 + beta1*X + error, where error ~ N(0, sigma2)

Please think about two problems of (1) estimation of parameters
(beta0, beta1, and sigma2), and then (2) prediction of unknown random
variable (Y at a future time, given new X).  Strictly speaking,
unknown Y at a future time (say, newY) is NOT a parameter but a random
variable, although many fisheries papers treat the Y as a parameter.
But I follow the incorrect treatment (i.e., newY as a parameter) at
the moment to focus on my question about ADMB.  Also this is a simple
“example” for showing my problem with ADMB when facing a hierarchical

(1) Estimation of parameters, beta0, beta1, and sigma2
L(beta0, beta1, sigma2 | observed Ys, observed Xs)
This likelihood provides inference of these three parameters.  I call
it L1

(2) Calculation of new Y given new X.
L(newY | beta0, beta1, sigma2, newX)
I call this second likelihood function L2.  newX is a constant.

These two steps can be viewed as a multi-level or hierarchical
structure.  In ADMB, the objection function would be the sum of the
respective negative loglikelihood functions: i.e.,
 f = – logL1 – logL2;
where beta0, beta1, sigma2, and newY are declared as free parameters

My problem with this above coding is that estimates of beta0, beta1,
and sigma2 are affected by “newY” as well as “observed Ys” and
“observed Xs”.  This is WRONG!!!   Estimation of beta0, and beta1, and
sigma2 must depend ONLY on “observed Ys”, and “observed Xs”.

I wonder about how ADMB experts do around this problem.  I would
extremely appreciate your guidance and help.   Thank you,


More information about the Users mailing list