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

Saang-Yoon shyunuw at gmail.com
Mon Aug 16 15:59:26 PDT 2010


Hello, Hans.
Thank you very much for your comments.  By the way, in my example,
newY is continuous.   In the multinomial component, newY is a
continuous parameter.  In the regression component (expressed as
Prior), newY is a continuous random variable.
Saang-Yoon

On Aug 16, 9:17 am, "H. Skaug" <hsk... at gmail.com> wrote:
> Saang-Yoon,
>
> Because your newY is a discrete random variable, I do not think
> the prediction problem fits well into ADMB. I would fit the model
> in ADMB, and write a small back-end that does Monte Carlo simulation.
>
> Hans
>
>
>
>
>
> On Fri, Aug 13, 2010 at 11:33 PM, Saang-Yoon <shyu... at gmail.com> wrote:
> > Hi, Mark.
> > Thank you very much for your response.  Your answer is helpful, but
> > still I am not sure about whether ADMB really can do a multi-level
> > (hierarchical) modeling.  Beside the likelihood function in the above
> > example, I have another likelihood function of newY.  In this case,
> > newY is really a parameter.  The newY is decomposed to four age groups
> > (say, newY1, newY2, newY3, and newY4; i.e., newY =
> > newY1+newY2+newY3+newY4).  Given age-catches, I have a multinomial
> > likelihood function of (newY1/newY, newY2/newY, newY3/newY, newY4/
> > newY).   Call the likelihood function L0.
>
> > To clarify my inquiry, I combine this current and previous
> > components.
> > (1)  L0 = L(newY1/newY, newY2/newY, newY3/newY, newY4/newY | age-
> > specific catches)
>
> > (2)  L1 = L(beta0, beta1, sigma2 | observed Ys, observed Xs)
>
> > (2)  Prior1 = Pr(newY | beta0, beta1, sigma2, newX).
> > Strictly speaking this is not a likelihood function, but a predictive
> > function.  I apply the predictive function as a prior for newYs.
>
> > Finally I sum the respective logarithm of these above functions.
> > f = – logL0 – logL1 – logPrior1;
>
> > Then, estimates of beta0, beta1, and sigma2 are affected by newYs as
> > well as observed Ys and observed Xs; again this is WRONG!!!.  Because
> > of L0, I have to declare newYs as free parameters, do I not?  In this
> > example, beta0, beta1, and sigma2 are hyper parameters, and thus they
> > must NOT be affected by parameters and data at a lower level.  I am
> > extremely curious about how you or other ADMB experts get around this
> > problem.  Again thank you very much for your response.  Best,
>
> > Saang-Yoon
>
> > On Aug 13, 12:11 pm, "Mark Maunder" <mmaun... at iattc.org> wrote:
> >> Saang-Yoon,
>
> >> I think you problem is solved simply by creating a new variable in the procedure section
>
> >> sdreport_number newY
>
> >> and then assign ypred a value in the procedure section based on beta0, beta1, sigma2, newX.
>
> >> The value of newY with its standard deviation will be reported in the *.std file.
>
> >> Mark
>
> >> Mark Maunder
> >> Head of the Stock Assessment Program
> >> Inter-American  Tropical Tuna Commission
> >> 8604 La Jolla Shores Drive
> >> La Jolla, CA, 92037-1508, USA
>
> >> Tel:(858) 546-7027begin_of_the_skype_highlighting              (858) 546-7027      end_of_the_skype_highlightingbegin_of_the_skype_highlighting              (858) 546-7027      end_of_the_skype_highlighting
> >> Fax: (858) 546-7133
> >> mmaun... at iattc.orghttp://www.fisheriesstockassessment.com/TikiWiki/tiki-index.php?page=...
>
> >> Visit the AD Model Builder project at
> >>  http://admb-project.org/
>
> >> See the following website for information on fisheries stock assessmenthttp://www.fisheriesstockassessment.com/
>
> >> -----Original Message-----
> >> From: users-boun... at admb-project.org [mailto:users-boun... at admb-project.org] On Behalf Of Saang-Yoon
> >> Sent: Friday, August 13, 2010 9:04 AM
> >> To: us... at admb-project.org
> >> Subject: [ADMB Users] ADMB and hierarchical (multi-level) models
>
> >> 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
> >> model.
>
> >> (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
> >> in PARAMETER SECTION in ADMB.
>
> >> 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,
>
> >> Saang-Yoon
> >> _______________________________________________
> >> Users mailing list
> >> Us... at admb-project.orghttp://lists.admb-project.org/mailman/listinfo/users
> >> _______________________________________________
> >> Users mailing list
> >> Us... at admb-project.orghttp://lists.admb-project.org/mailman/listinfo/users-Hide quoted text -
>
> >> - Show quoted text -
> > _______________________________________________
> > Users mailing list
> > Us... at admb-project.org
> >http://lists.admb-project.org/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> Us... at admb-project.orghttp://lists.admb-project.org/mailman/listinfo/users- Hide quoted text -
>
> - Show quoted text -



More information about the Users mailing list