<div dir="ltr">Allan,<div><br></div><div>There are two bounding functions controlled by the variable "hybrid_bounded_flag", so if you want to know the transformation used for a model you need to know that value. Fortunately it's included in the .hes file. You can read more about this at:</div>

<div><br></div><div><a href="http://www.admb-project.org/examples/admb-tricks/covariance-calculations">http://www.admb-project.org/examples/admb-tricks/covariance-calculations</a></div><div><br></div><div>Hope that helps.</div>

<div><br></div><div>Cheers,</div><div>Cole<br><div class="gmail_extra"><br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<br>
Message: 2<br>
Date: Mon, 4 Nov 2013 11:40:47 +0200<br>
From: Allan Clark <<a href="mailto:allan.northpine@gmail.com">allan.northpine@gmail.com</a>><br>
To: Admb users <<a href="mailto:Users@admb-project.org">Users@admb-project.org</a>>, Ben Bolker<br>
        <<a href="mailto:bbolker@gmail.com">bbolker@gmail.com</a>><br>
Subject: [ADMB Users]  extract Hessian from within R<br>
Message-ID:<br>
        <CAHpUJXDyNduANc0=5HTaywdaT03tNBUGaJ=<a href="mailto:kfzkD7iaFcnpW0g@mail.gmail.com">kfzkD7iaFcnpW0g@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
Hello all<br>
<br>
I've coded up a simple model where I estimate various probabilities. These<br>
are restricted to (0,1) and decided to rather transform these variables so<br>
that they are not bounded anymore. How does one extract the hessian of the<br>
parameters from within R?<br>
<br>
i've found functions on the following cite useful:<br>
<a href="http://qfc.fw.msu.edu/userfun.asp#r3" target="_blank">http://qfc.fw.msu.edu/userfun.asp#r3</a> . But are there other wasys of<br>
extracting the Hessian as well?<br>
<br>
(Once one has the hessian in terms of the transformed parameters, it is eay<br>
to calculate the hessian in terms of the initial variables.)<br>
<br>
regards<br>
<br>
<br>
<br>
<br>
<br>
read.admbFit()<br>
<br>
<br>
## Function to read AD Model Builder fit from its par and cor files.<br>
## Use by:<br>
## simple.fit <- read.admbFit('c:/admb/examples/simple')<br>
## Then the object 'simple.fit' is a list containing sub-objects<br>
# 'names', 'est', 'std', 'cor', and 'cov' for all model<br>
# parameters and sdreport quantities.<br>
#<br>
read.admbFit<-function(file){<br>
  ret<-list()<br>
  # read par file<br>
  parfile<-as.numeric(scan(paste(file,'.par', sep=''),<br>
    what='', n=16, quiet=TRUE)[c(6,11,16)])<br>
  ret$nopar<-as.integer(parfile[1])<br>
  ret$nloglike<-parfile[2] #objective function value<br>
  ret$maxgrad<-parfile[3]<br>
<br>
  # read cor file<br>
  file<-paste(file,'.cor', sep='')<br>
  lin<-readLines(file)<br>
  # total parameter including sdreport variables<br>
  ret$totPar<-length(lin)-2<br>
  #log of the determinant of the hessian<br>
  ret$logDetHess<-as.numeric(strsplit(lin[1], '=')[[1]][2])<br>
  sublin<-lapply(strsplit(lin[1:ret$totPar+2], ' '),function(x)x[x!=''])<br>
  ret$names<-unlist(lapply(sublin,function(x)x[2]))<br>
  ret$est<-as.numeric(unlist(lapply(sublin,function(x)x[3])))<br>
  ret$std<-as.numeric(unlist(lapply(sublin,function(x)x[4])))<br>
  ret$cor<-matrix(NA, ret$totPar, ret$totPar)<br>
  corvec<-unlist(sapply(1:length(sublin), function(i)sublin[[i]][5:(4+i)]))<br>
  ret$cor[upper.tri(ret$cor, diag=TRUE)]<-as.numeric(corvec)<br>
  ret$cor[lower.tri(ret$cor)] <- t(ret$cor)[lower.tri(ret$cor)]<br>
  # covariance matrix<br>
  ret$cov<-ret$cor*(ret$std %o% ret$std)<br>
  return(ret)<br>
}<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.admb-project.org/pipermail/users/attachments/20131104/9cb46bc9/attachment-0001.html" target="_blank">http://lists.admb-project.org/pipermail/users/attachments/20131104/9cb46bc9/attachment-0001.html</a>><br>


<br><br>
</blockquote></div><br></div></div></div>