wham
wham copied to clipboard
Dense hessian when only NAA-1 (recruitment) are random effects
library(wham)
path_to_examples <- system.file("extdata", package="wham")
asap3 <- read_asap3_dat(file.path(path_to_examples,"ex1_SNEMAYT.dat"))
# only recruitments are random effects
# = dense Hessian
input1 <- prepare_wham_input(asap3, recruit_model=2, model_name="Ex 1: SNEMA Yellowtail Flounder",
selectivity=list(model=rep("age-specific",3),
re=rep("none",3),
initial_pars=list(c(0.5,0.5,0.5,0.5,1,0.5),c(0.5,0.5,0.5,1,0.5,0.5),c(0.5,1,0.5,0.5,0.5,0.5)),
fix_pars=list(5,4,2)),
NAA_re = list(sigma="rec", cor="iid"))
m1 <- fit_wham(input1, do.fit=F)
Matrix::image(m1$env$spHess(random=TRUE), border.col=NA)
# Full state-space model (all NAA are random effects)
# = sparse Hessian
input3 <- prepare_wham_input(asap3, recruit_model=2, model_name="Ex 1: SNEMA Yellowtail Flounder",
selectivity=list(model=rep("age-specific",3),
re=rep("none",3),
initial_pars=list(c(0.5,0.5,0.5,0.5,1,0.5),c(0.5,0.5,0.5,1,0.5,0.5),c(0.5,1,0.5,0.5,0.5,0.5)),
fix_pars=list(5,4,2)),
NAA_re = list(sigma="rec+1", cor="iid"))
m3 <- fit_wham(input3, do.fit=F)
Matrix::image(m3$env$spHess(random=TRUE), border.col=NA)
Breadcrumbs:
- https://kaskr.github.io/adcomp/_book/Sparsity.html
- Slides 16-19 in http://www.capamresearch.org/sites/default/files/kristensen.pdf
- https://github.com/kaskr/adcomp/issues/198