wham icon indicating copy to clipboard operation
wham copied to clipboard

Dense hessian when only NAA-1 (recruitment) are random effects

Open brianstock-NOAA opened this issue 4 years ago • 1 comments

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)

m1_dense

# 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)

m3_sparse

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

brianstock-NOAA avatar Aug 10 '20 14:08 brianstock-NOAA