https://github.com/nolanbconaway/poisson-etest
A poisson e-test for python.
https://github.com/nolanbconaway/poisson-etest
inferential-statistics poisson python statistics
Last synced: 11 months ago
JSON representation
A poisson e-test for python.
- Host: GitHub
- URL: https://github.com/nolanbconaway/poisson-etest
- Owner: nolanbconaway
- Created: 2019-03-24T21:07:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-02T22:49:04.000Z (over 5 years ago)
- Last Synced: 2025-04-19T20:43:46.037Z (about 1 year ago)
- Topics: inferential-statistics, poisson, python, statistics
- Language: Fortran
- Homepage:
- Size: 18.6 KB
- Stars: 7
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Python Poisson E-Test
[](https://travis-ci.org/nolanbconaway/poisson-etest)
[](https://badge.fury.io/py/poisson-etest)
This library contains a function to compute a two-sample poisson E-test, as defined
in [Krishnamoorthy & Thomson (2004)](http://www.ucs.louisiana.edu/~kxk4695/JSPI-04.pdf). I simply edited the [fortran code](http://www.ucs.louisiana.edu/~kxk4695/statcalc/pois2pval.for) posted on Krishnamoorthy's website so that numpy could wrap it. You can look at the edits in one of the early commits to this repo.
The code as it stands has a few problems, but I figured it'd be worth getting a direct implementation up. Here are some problems that I have noticed:
1. Floats not supported for `k` and `n` values.
2. Odd behavior with large numbers (I saw it at `k = n = 10000`).
3. Odd behavior at `k = 0`.
One day I'll fix these issues by reimplementing in pure python, assuming that doesn't also require a big hit in efficiency.
## Install
Numpy is a requirement for poisson-etest, so make sure that's installed first. Then:
```sh
pip install poisson-etest
```
## Usage
Test whether two samples of Poisson data were drawn from the same distribution.
```python
>>> from poisson_etest import poisson_etest
>>> sample1_k, sample1_n = 10, 20
>>> sample2_k, sample2_n = 15, 20
>>> poisson_etest(sample1_k, sample2_k, sample1_n, sample2_n)
0.33116214285801826
```