Skip to content

[BUG] BurrIII distribution incorrectly wraps scipy.stats.burr12 #952

@hrshx3o5o6

Description

@hrshx3o5o6

Describe the bug
The BurrIII distribution implementation in skpro/distributions/burr_iii.py incorrectly wraps scipy.stats.burr12 (Burr Type XII) instead of scipy.stats.burr (Burr Type III).

While the code contains a comment stating that Burr III is Burr XII with d=1 (which is mathematically true as a special case), this implementation is problematic for several reasons:

Mathematical Inconsistency: Using the wrong Scipy object is conceptually incorrect and error-prone.
Missing Parameters: BurrIII should ideally support two shape parameters ($c$ and $d$) just like BurrXII, but it is currently restricted to one ($c$) with $d$ hardcoded to 1.
Inaccurate Implementation: The _get_scipy_object method explicitly returns burr12.

To Reproduce

# From skpro/distributions/burr_iii.py
def _get_scipy_object(self) -> rv_continuous:
    return burr12  # Should be 'burr'

Expected behavior

BurrIII should wrap scipy.stats.burr.
BurrIII should ideally support both c and d shape parameters.

Environment

OS: mac
skpro version: latest main

Additional context
I found this while auditing the distribution library for missing implementations and inconsistencies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions