Forums

Back

RE: Discussion regarding how Catch likelihood is calculated and the impact of using different Fmethods when Catch CVs are elevated

MN
Marc Nadon, modified 1 Year ago.

Discussion regarding how Catch likelihood is calculated and the impact of using different Fmethods when Catch CVs are elevated

Youngling Posts: 5 Join Date: 3/8/17 Recent Posts

Rick suggested we post this email discussion here, to share. It's an issue that comes up often and it may be relevant to updating the SS manual with a better description of how Catch likelihood is calculated and the impact of using Fmethod 2 vs. 3 under high Catch CVs. Please see below

MN
Marc Nadon, modified 1 Year ago.

RE: Discussion regarding how Catch likelihood is calculated and the impact of using different Fmethods when Catch CVs are elevated

Youngling Posts: 5 Join Date: 3/8/17 Recent Posts

Aloha Rick,

Meg, Felipe, and I are currently working on SS models for American Samoa bottomfishes. We've been playing around using both Fmethod 2 (Baranov) and Fmethod 3 (hybrid) and running R0 profiles, among other things. 

We've noticed that the Catch component appears in the R0 likelihood profile when using F2, which makes sense since under this SS setup, catches can be adjusted based on their CV (so we have expected and observed catches, with an error distribution, allowing SS to calculate likelihood).

However, we've also noticed the Catch component appearing in some R0 profiles when using F3. This brought us to wonder how the Catch likelihood is calculated in SS under this approach? Isn't Catch fixed and therefore there is no observed vs expected Catch to calculate likelihood on? Also, we are not using a catch multiplier.

We looked at recent and old SS manuals but couldn't find a reference for how Catch likelihood is calculated in SS. Is there a reference available?

Hopefully this makes sense.

--------------------------------------------------

Rick's reply:

Hi Marc et al.

This is sort of a perennial question so I clearly need to make it more clear in the output and manual.  Copying Chantel to help in that.

Catch logL is calculated the same way for method 2 and 3 and by the same code.  The only difference is in how the F that calculates the expected catch is calculated.

With method 2, F is a parameter ( or set of parameters for all the fleets).  SS3 uses that parameter(s) to go straight to calculating expected catch for each fleet, then to the logL.

Method 2 includes option to do method 3 in early phases and then transition to method 2 to finish (which can be faster in high F, many fleet situations)

With method 3, SS3 does a Pope's (method 1) to get each F in right ballpark and then adjusts it through a few iterations to get closer to matching the observed catch.  It then finishes through the method 2 code to calculate the final iteration of expected catch and then logL.  At high F and/or with many fleets it may not get to an exact match to the observed catch.

New'ish method 4 provides more flexibility in that some fleets can do hybrid and other fleets (particularly high F fleets) can do parameters starting at a fleet-specific phase.  Method 4 is clear winner in my mind.

----------------------------------------------------

Marc et al.'s reply:

Aloha Rick,

If I understand correctly, method 2 focuses on estimating F as independent parameters first. I imagine these estimates are heavily informed by size structure data and CPUE trends (and the catch?). It then simply uses these F estimates to calculate expected Catch, as you said. On the other hand, method 3 is more focused on estimating the F values that match the observed catch. Is this roughly correct?

This would match our observation that catch is very minimally adjusted when using Method 3 vs. Method 2, for certain species.

For method 4, if we only have a single fleet, would there be any difference here? I thought the only advantage to this method is that you can assign F methods to different fleets, correct?

------------------------------------------------------

Rick's reply:

Correct on your last point regarding method 4, but someday I might deprecate methods 2 and 3 which really are just more restrictive versions of method 4.  All use the same code.

Your first point regarding other data is not really an issue.  Method 2 uses parameters and method 3 uses internal coefficients.  Both have one parameter/coefficient for each catch observation.  Further, method 2 can start with coefficients in early phases while temporarily using method 3, then during BETWEEN_PHASES copy the coefficients into parameters and proceed.  I have run tests showing that whether you do method 2 with hundreds of F parameters or method 3 with the same number of coefficients has nil impact on the estimated variance of other model derived quantities, like ending year spawning biomass.

We have found one situation in which method 2 vs. 3 matters:  when there is discard.  This has come up in SEFSC assessments.

The F (whether parameter or coeff) produces a total catch, then the retention fxn splits it into retained and discarded catch, then the logL for catch compares the retained catch to the observed retained catch, and the logL for discard compares the estimated discard catch to the observed discard.

So with method 3, the coeff adjustment algorithm tunes F to match the retained catch, regardless of the catch se value.  The resultant F may not match the discard well and that could result in the model changing other parameters (recruitment, selectivity, etc. ) in order to also fit the discard reasonably well.  

However with method 2 the F as parameter will initially not fit either catch or discard well in early phases and the ADMB gradient algorithms slowly will adjust the F to get a better fit to both retained and discarded catch; with the catch se relative to the discard se influencing the relative fit.  In other words, if you have discard and use method 2, you should not expect an exact fit to the catches unless the have a very tight se.

The other difference between method 2 and method 3 is model speed.  It is a tortoise and hare situation.

method 2 is the tortoise:  F starts off being far off and gradually gets better during the model run, but each model iteration is quick because there are no fancy hybrid loops embedded in each ADMB iteration

method 3 is the hare and uses those several internal hybrid loops to get the F coefficients very close beginning with the first ADMB iteration.  So each ADMB iteration is slightly slower.

At low F situations, method 3 seems to get to final solution faster, but at high F situations the internal dynamics get very nonlinear as the model constantly adjusts the F coefficients to match the observed catch.  Consequently each ADMB iteration tends to only move all the non-F parameters only slowly towards the solution and method 3 loses the race because it needs more ADMB iterations.

Hence method 4 which makes it easy to use hybrid in early phases to get good starting values for F parameters; then polish the run with F as parameters.

--------------------------------------------------------

Marc et al.'s reply:

Thank you for those extra details, very interesting to hear that Fmethod 2 vs 3 can generate a difference in that special edge case you described. More specifically, you mentionned "The resultant F may not match the discard well and that could result in the model changing other parameters (recruitment, selectivity, etc. ) in order to also fit the discard reasonably well. ".

We think this can also happen in a situation where the Catch data have very high CVs and there is some data conflict with length data. We are running very simple models (one fleet, catch data back to 1967 with CVs between 20-50%, size data from 2006-2021, CPUE data from 2016-2021, no rec devs). We find that when there is a conflict between the length and catch data, the SS models with Fmethod 2 will sometimes aggressively adjust the Catch and F estimates while models under Fmethod3 won't adjust catch at all (it seems), but play with other parameters (i.e. selectivity, leading to worst size data fits).

I have put together the attached example comparing model outputs for 4 scenarios: Fmethod 3 with Catch CVs from 10%-50% (i.e. our original estimated CVs), Fmethod 2 with Catch CV=10%, Fmethod2 with Catch CV=15%, and Fmethod2 witch CVs from 10% to 50%. You can see in the attached word doc how Fmethod 3 doesn't adjust Catch much in the model despite the high CVs, while Fmethod2 adjust catch more and more aggressively with higher CVs. You can also see how the SS model under Fmethod3 tries to resolve the conflict by playing with the selectivity parameters (since it's not adjusting the catch), as in your example above.

Note that this is a mild example of catch adjustment. We have worked on this model to reduce the catch vs length conflict by adjusting the growth parameters. The catch adjustments used to be much greater originally (the catch estimates in the mid-1980s would be almost doubled).

Please let us know what you think and what you would advise us to stick with.

--------------------------------------------------------

Rick's reply:

I am sure you are correct about the case with high catch CV.  With Fmethod 2, catch is just data like any other data and data with high CV will not be matched exactly.  I have seen the same thing with the TMB model SAM.

--------------------------------------------------------

Marc et al.'s reply:

Ok, thanks Rick. I think this all makes sense now.

To recap:

1) Both Fmethods generate an expected catch and that's where the likelihood component for "Catch" comes from. It's simply hard to see the difference between Exp. and Obs. catches when catch CVs are low or when Fmethod3 is used.

2) For the vast majority of models, which have low-to-moderate Catch CVs, using either methods generate the same F and Catch estimates (and it is recommended to use Fmethod 4 nowadays).

3) With very high Catch CVs and Fmethod 2, there can be large Catch adjustments if it is conflicting with other data types, since this data is treated like any other data types in the model.

I hope I captured this correctly.

Again, thanks Rick, your help is very much appreciated!

-------------------------------------------------------

Rick's reply:

Perfect!  Now wishing that we had had this conversation on the VLAB forum for all to benefit from.

--------------------------------------------------------

End thread.