library(numDeriv)
library(bbmle)
library(coda)

load("fit_fits.RData")
tfit <- fits$fit
tprof <- fits$profile
tmcmc <- fits$mcmc
times <- fits$times


## FIXME: can replace with @details$maxgrad, @details$eratio
##  when bbmle 1.0.1 is available from R-forge/CRAN ...

## compute termination info
maxgrad <-
  max(abs(grad(function(x)
       do.call(tfit@minuslogl,as.list(x)),
       coef(tfit))))

ev <- eigen(tfit@details$hessian)$value
eratio <- min(ev)/max(ev)

results <- list(obj=-logLik(tfit),  ## objective function/Neg log likelihood (NULL for MCMC)
                coef=coef(tfit),  ## coefficients
                sd=sqrt(diag(vcov(tfit))),
                vcov=vcov(tfit),
                confint.quad=confint(tfit,method="quad"),
                confint.profile=confint(tprof),
                confint.mcmc=t(apply(tmcmc,2,quantile,c(0.025,0.975))),
                time=times,
                terminfo=c(maxgrad=maxgrad,eratio=eratio), ## MLE termination info
                convinfo=list(effsize=effectiveSize(tmcmc),
                  geweke=geweke.diag(tmcmc))## MCMC convergence info
                )

save("results",file="fit.RData")

