Skip to content

Misleading BarnettZehnwirth Documentation #579

@cdietrich215

Description

@cdietrich215

I think there could be some slightly misleading aspects of the BarnettZehnwirth documentation. Namely, I think that the documentation's inclusion of the valuation predictor does not actually impact results. LDFs do not differ by origin period.

As shown in the code below (run on chain ladder 0.8.24), the valuation predictor shown in the documentation does not impact the resulting LDFs, because there is aliasing between valuation, development, and origin. I believe this would happen whenever the valuation parameter is linear. To impact the model I think we'd need to make it slightly more complex (either stepwise or allowing more degrees of freedom).

import chainladder as cl

abc = cl.load_sample('abc')

# Linear coefficients for origin, development, and valuation
print('LDFs without valuation parameter')
display(cl.BarnettZehnwirth(formula='origin+development').fit(abc).ldf_)
print('LDFs with valuation parameter (original)')
display(cl.BarnettZehnwirth(formula='origin+development+valuation').fit(abc).ldf_)
print('LDFs with valuation parameter (fixed)')
# Possible fix?
display(cl.BarnettZehnwirth(formula='origin + development + valuation + I(valuation**2)').fit(abc).ldf_)

Additionally I think there is some LaTeX formatting issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Documentation 📚Changes to docstrings or the documentation site. No codebase changes.Effort > Brief 🐇Small tasks expected to take a few hours up to a couple of days.Great First Contribution! 🌱Beginner friendly tickets with narrow scope and huge impact. Perfect to join our community!Impact > Minor 🔷Small, backward compatible change. Treat like a patch release (e.g., 0.5.8 → 0.5.9).

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions