-
Notifications
You must be signed in to change notification settings - Fork 4
Description
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:
- Add pysatl_criterion/statistics/log_normal.py
- Add abstract class AbstractLogNormalGofStatistic
- Implement common criteria (like Kolmogorov-Smirnov, Anderson-Darling etc)
- Inspect scientific articles for other Goodness-of-Fit test statistics
- Implement Goodness-of-Fit test statistics
- Verify Goodness-of-Fit test statistics writing unit tests
- Create pull request to main branch
It is important that all pipelines pass successfully.