nmfs-ost / nmfs-ost/ss3-source-code

[Feature]: Add generalized gamma index likelihood

Open
#497 16 comments 0 reactions 3 assignees View on GitHub

@Cole-Monnahan-NOAA is already working on this.

Since Oct 10, 2023.

statistics survey_&_Q wishlist
Dominant language
C++
Stars
46
Forks
19
PR merge metrics
No merged PRs in 30d

Description

Describe the solution you would like.

In many cases I believe it is more statistically justifiable to use a more flexible index likelihood than the lognormal. One appealing alternative is the generalized gamma distribution (GGD). It requires reading in a third parameter ("Q"), and has a complicated PDF function.

I forked the repo and have added a prototype on this branch and it appears to work well on the few models I've tested. It also does not appear to break backwards compatibility because the new data are only read in with the new likelihood option.

The point of this issue is to gauge the interest in this feature by the SS3 team for incorporating this into a future release of SS3. IF so, how should I proceed with development (git workflow, timing, testing, etc.)?

I think the only other main component to add is a simulator for the bootstrapper, and perhaps some reporting? I'll need help with the latter. I also need to further comment the code and update the documentation.

Describe alternatives you have considered

None so far

Statistical validity, if applicable

In many (most?) cases there is no statistical justification for assuming a lognormal index resulting from a design-based or model-based estimator. This is because sums of positive r.v.s are not necessarily lognormal, even if each r.v. is lognormal. Thus a more flexible distribution which can more accurately convey the information in the survey biomass indices is needed.

Describe if this is needed for a management application

No response

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.