Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ALK tolerance mismatch between OM and EM can cause a large bias in SSB #129

Open
k-doering-NOAA opened this issue Jun 8, 2022 · 2 comments
Labels
bug Something isn't working

Comments

@k-doering-NOAA
Copy link
Collaborator

Thanks to the sardine team for pointing this out! In the OM, the ALK tolerance setting is reset to 0, as Rick Methot has recommended turning off tail compression in an OM. However, nothing is done for EM's, so in a sardine model with ALK tolerance of 0.001 in the EM, there was a large bias in SSB between OM and EM (and the EM had estimation issues). Setting the ALK tolerance to 0 as well for the EM seems to solve the issue.

A potential solution would be to reset ALK tolerance to 0 in EMs as well or at least warning users to consider doing this.

@k-doering-NOAA k-doering-NOAA added the bug Something isn't working label Jun 8, 2022
@k-doering-NOAA
Copy link
Collaborator Author

@Rick-Methot-NOAA Nathan and I are trying to figure out the ALK tolerance setting in the starter file vs. the tail compression in the data file length/age comps settings. What's the difference? And how are do they work (can you link us to the code)?

Currently, we are not sure what is the correct way SSMSE should be handling tail compression.

@Rick-Methot-NOAA
Copy link

These are entirely different concepts.

ALK tolerance does tail compression for the length-at-age distribution for each age of each morph. This is intended to speed up the model by eliminating computations for many near 0.0 values in the age-length keys. It does speed up the model even with a tiny value, say 1.0e-06, but even that small value can interfere with the gradient when estimating growth parameters and especially for the growth parameters controlling the variance of the length-at-age distribution. I do not advise using ALK tolerance at all. We should add a warning to steer users away from it. I think there is an issue back in the VLAB system regarding ALK tolerance.

Composition data tail compression is applied in the near final step for the calculation of the logL of composition data. The principle is like the old adage for chi-square tests, e.g. combine adjacent cells so that each cell has a reasonable large expected value. There is a paper out there regarding performance of tail compression, but I think they did it with data that were too good.

No obvious reason these two concepts interact, but I suppose it is possible.

Just create a warning to get users to not use ALK tolerance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants