Skip to content

Log-Normal distribution GoF criteria #54

@alex98247

Description

@alex98247

All statistics are located in pysatl_criterion/statistics

To start, you can implement criteria that are applicable to different types of distributions, since they use the empirical distribution function and compare it with a reference distribution function. Such statistics are located in pysatl_criterion/statistics/common.py.

To implement a statistic for a specific distribution, you need to inherit from the appropriate base class (for example, for the Kolmogorov–Smirnov statistic for the exponential distribution, you can look at the class KolmogorovSmirnovExponentialityGofStatistic, which inherits from KSStatistic and overrides the code and execute_statistic methods).

It is necessary to create a base statistic class for the given distribution, which will be inherited by all statistics of this distribution (for example, AbstractExponentialityGofStatistic).

The code() method should return a unique identifier of the criterion.

For each test statistic, it is necessary to calculate the value of this statistic manually or using other packages, and implement unit tests.

For each test, you need to add a docstring that specifies the parameters accepted by the method, the returned result, a brief description of how the statistic is calculated, and a reference to the article describing this statistic.

Gitflow:
Create your branch from main branch name it criteria/log_normal

Plan:

  1. Add pysatl_criterion/statistics/log_normal.py
  2. Add abstract class AbstractLogNormalGofStatistic
  3. Implement common criteria (like Kolmogorov-Smirnov, Anderson-Darling etc)
  4. Inspect scientific articles for other Goodness-of-Fit test statistics
  5. Implement Goodness-of-Fit test statistics
  6. Verify Goodness-of-Fit test statistics writing unit tests
  7. Create pull request to main branch

It is important that all pipelines pass successfully.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions