AutoStatLib - a simple statistical analysis tool
Project description
AutoStatLib - python library for automated statistical analysis
To install run the command:
pip install autostatlib
Example use case:
See the /demo directory on Git repo or use the following example:
import numpy as np
import AutoStatLib
# generate random data:
groups = 2
n = 30
# normal data
data_norm = [list(np.random.normal(.5*i + 4, abs(1-.2*i), n))
for i in range(groups)]
# non-normal data
data_uniform = [list(np.random.uniform(i+3, i+1, n)) for i in range(groups)]
# set the parameters:
paired = False # is groups dependent or not
tails = 2 # two-tailed or one-tailed result
popmean = 0 # population mean - only for single-sample tests needed
# initiate the analysis
analysis = AutoStatLib.StatisticalAnalysis(
data_norm, paired=paired, tails=tails, popmean=popmean)
now you can preform automated statistical test selection:
analysis.RunAuto()
or you can choose specific tests:
# 2 groups independent:
analysis.RunTtest()
analysis.RunMannWhitney()
# 2 groups paired"
analysis.RunTtestPaired()
analysis.RunWilcoxon()
# 3 and more independed groups comparison:
analysis.RunOnewayAnova()
analysis.RunKruskalWallis()
# 3 and more depended groups comparison:
analysis.RunOnewayAnovaRM()
analysis.RunFriedman()
# single group tests"
analysis.RunTtestSingleSample()
analysis.RunWilcoxonSingleSample()
Test summary will be printed to the console. You can also get it as a python string via GetSummary() method.
Test results are accessible as a dictionary via GetResult() method:
results = analysis.GetResult()
The results dictionary keys with representing value types:
{
'p_value' : String
'Significance(p<0.05)' : Boolean
'Stars_Printed' : String
'Test_Name' : String
'Groups_Compared' : Integer
'Population_Mean' : Float (taken from the input)
'Data_Normaly_Distributed' : Boolean
'Parametric_Test_Applied' : Boolean
'Paired_Test_Applied' : Boolean
'Tails' : Integer (taken from the input)
'p_value_exact' : Float
'Stars' : Integer
'Warnings' : String
'Groups_N' : List of integers
'Groups_Median' : List of floats
'Groups_Mean' : List of floats
'Groups_SD' : List of floats
'Groups_SE' : List of floats
'Samples' : List of input values by groups
(taken from the input)
'Posthoc_Matrix' : 2D List of floats
'Posthoc_Matrix_bool' : 2D List of Boolean
'Posthoc_Matrix_printed': 2D List of String
'Posthoc_Matrix_stars': 2D List of String
}
If errors occured, GetResult() returns an empty dictionary
Alpha dev status.
TODO:
-- Anova: posthocs
-- Anova: add 2-way anova and 3-way anova
-- onevay Anova: add repeated measures (for normal dependent values) with and without Gaisser-Greenhouse correction
-- onevay Anova: add Brown-Forsithe and Welch (for normal independent values with unequal SDs between groups)
-- paired T-test: add ratio-paired t-test (ratios of paired values are consistent)
-- add Welch test (for norm data unequal variances)
-- add Kolmogorov-smirnov test (unpaired nonparametric 2 sample, compare cumulative distributions)
-- add independent t-test with Welch correction (do not assume equal SDs in groups)
-- add correlation test, correlation diagram
-- add linear regression, regression diagram
-- add QQ plot
-- n-sample tests: add onetail option
✅ done -- detailed normality test results
✅ done -- added posthoc: Kruskal-Wallis Dunn's multiple comparisons
tests check:
1-sample:
✅ok --Wilcoxon 2,1 tails
✅ok --t-tests 2,1 tails
2-sample:
✅ok --Wilcoxon 2,1 tails
✅ok --Mann-whitney 2,1 tails
✅ok --t-tests 2,1 tails
n-sample:
✅ok --Kruskal-Wallis 2 tail
✅ok --Dunn's multiple comparisons
✅ok --Friedman 2 tail
✅ok --one-way ANOVA 2-tailed
✅ok --Tukey`s multiple comparisons
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autostatlib-0.2.22.tar.gz.
File metadata
- Download URL: autostatlib-0.2.22.tar.gz
- Upload date:
- Size: 28.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec7f73698829b429b00d2251b1f98d1ca2572975d5cf49071eed1a59ce63b776
|
|
| MD5 |
1420a23147e0af0efef0fb84985a5382
|
|
| BLAKE2b-256 |
fac5ae58a67775c5dc874658b1ff570b41078b6581222c21aa5227fa7e2bb196
|
Provenance
The following attestation bundles were made for autostatlib-0.2.22.tar.gz:
Publisher:
python-publish.yml on konung-yaropolk/AutoStatLib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autostatlib-0.2.22.tar.gz -
Subject digest:
ec7f73698829b429b00d2251b1f98d1ca2572975d5cf49071eed1a59ce63b776 - Sigstore transparency entry: 695239942
- Sigstore integration time:
-
Permalink:
konung-yaropolk/AutoStatLib@7cd75c81a09993e63b8398ec617987d95e13bdf3 -
Branch / Tag:
refs/tags/v0.2.22 - Owner: https://github.com/konung-yaropolk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@7cd75c81a09993e63b8398ec617987d95e13bdf3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file autostatlib-0.2.22-py3-none-any.whl.
File metadata
- Download URL: autostatlib-0.2.22-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d4b76f8d3900cfd8ffab26e79102df847ed3d034f186c45e33d7c547571149a
|
|
| MD5 |
52726ff4c3cf208eeb3a7ed6ddf14a10
|
|
| BLAKE2b-256 |
4951182bef08be9b39c7e7ce6384c48efd68ba4304b9cd1b696e582d2e39dc03
|
Provenance
The following attestation bundles were made for autostatlib-0.2.22-py3-none-any.whl:
Publisher:
python-publish.yml on konung-yaropolk/AutoStatLib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autostatlib-0.2.22-py3-none-any.whl -
Subject digest:
1d4b76f8d3900cfd8ffab26e79102df847ed3d034f186c45e33d7c547571149a - Sigstore transparency entry: 695239957
- Sigstore integration time:
-
Permalink:
konung-yaropolk/AutoStatLib@7cd75c81a09993e63b8398ec617987d95e13bdf3 -
Branch / Tag:
refs/tags/v0.2.22 - Owner: https://github.com/konung-yaropolk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@7cd75c81a09993e63b8398ec617987d95e13bdf3 -
Trigger Event:
release
-
Statement type: