atsa-es/marssTMB

to do

eeholmes opened this issue · 2 comments

  • add tinitx so x0 can be at 0
  • estimate_marss2() is slow. Try logging the diagonal and then Q.diagonal() = Q.diagonal().exp(); https://stackoverflow.com/questions/33834873/modify-eigen-matrix-diagonal. vector diag_exp = Q.diagonal().array().exp();` Q.diagonal().array() = diag.exp;
  • Not handling convergence messages from nlminb
  • add Q estimation (diag or unconstrained)
  • nlminb not picking up maxit? check might have been the print issue that I fixed
  • check tinitx = 0 and V0 not zero
  • allow zeros on diagonal of R and Q
  • add D estimation; cutting out all the extraneous stuff to make just like MARSS
  • add C estimation
  • fix the print out. something is off with metadata
  • I bet CRAN will complain re ::: what to do?
  • Add in test for marssTMB being installed and loaded if method="TMB"
  • Revamp the vignettes
  • Add vignette for model comparisons/testing

LATER

  • Add G and H to allow zeros on the diagonal of Q and R
  • Test time-varying Q and R
  • look into how to do equal var cov; the diag splitting didn't work.

MARSS

  • add method="TMB"
  • fix the error with iterations for optim. should be counts[2]
  • need Rd file for MARSS::MARSSfit

Also -- at some point, change the parameter matrices to arrays to allow them to be time-varying like MARSS? Or add that on later?

@ericward-noaa I think I got the time-varying code working. All models that can be fit with BFGS should be able to be fit now with TMB. Will need latest marssTMB installed but after just call MARSS(..., method="TMB") use BFGS_TMB to use optim() instead of nlminb().