brianlangseth-NOAA / Spatial-Workshop-SPASAM

Spatially stratified simulation-estimation framework incorporating multistage stock-recruit relationships and incorporating larval IBM outputs
1 stars 0 forks source link

Include years of zero catches in the likelihood? #34

Closed brianlangseth-NOAA closed 2 years ago

brianlangseth-NOAA commented 2 years ago

When fixing selectivity and estimating F, the population often crashes. Much of the reason for this is that there is a first year of very high F in one or two fleets resulting in high yield. This also causes the fleet likelihood to go sky high.

Diagnostics: Fix selectivity and reduce lower bound on F

The model appears to want to do this because observed catches with values of 0 are included in the likelihood (fleet 3 has about 5 years of 0 catches in the beginning years and fleet 6 has ~100 years of 0). The model could reduce values of F (and decreasing the lower bound of F helps with this so F is closer to 0) but the model wants instead to crash the population so as to get low catches in all but a few years. Even with the F_pen on, it doesn't do enough to set F near 0.

I tested out a run with years of 0 catch removed from the likelihood component. The results are promising, in that catch likelihood is drastically reduced. However, the first years still have highish F that leads to a decline in abundance, but overall Fs aren't huge. For years where catch is in the likelihood the fit is perfect. Furthermore, the fit to the survey is the best Ive seen (and this is with q hitting the bound).

Diagnostics: Remove years of 0 catch from likelihood

This raises two questions for discussing 1) Do we remove years of 0 catch from the likelihood? 2) How do we deal with catch (really F) during years with no information?

brianlangseth-NOAA commented 2 years ago

There were three options discussed during meeting on 5/20/2022 including

  1. fix F to 0 when catch is 0 Add the following to the tpl after the lines below

    if(OBS_yield_fleet(j,r,y,z)==0){
    F_year(j,r,y,z) = 0;              
    }

    https://github.com/brianlangseth-NOAA/Spatial-Workshop-SPASAM/blob/b843bc62782b17de75edfab166456d3139468398/YFT_1area/Estimation_Model/YFT_1area.tpl#L1910-L1914

  2. set catch to some arbitrary and low value

  3. remove early years of data from the model (added functionality in commit b843bc6)

brianlangseth-NOAA commented 2 years ago

Update on my attempts

  1. I encountered issues with this. F was 0 when catch was 0 but was constant. Move to separate issue #35
  2. This was not effectual.
  3. This showed promise. The model with 80 years removed (beginning of survey time series) caused fleet 6 catch to be high still. Tried again with 105 years removed (after all 0 catch years) and model converged.