Add files via upload

This commit is contained in:
David Rotermund 2023-07-19 18:05:00 +02:00 committed by GitHub
parent dfc00ebe06
commit 88dce16298
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

39
functions/fisher_exact.py Normal file
View file

@ -0,0 +1,39 @@
from scipy.stats import fisher_exact
def fisher_excat_upper(
correct_pattern_count: int, number_of_pattern: int, p_threshold: float = 5.0 / 100.0
) -> float | None:
error_pattern_count = int(number_of_pattern - correct_pattern_count)
bound = None
for u in range(0, correct_pattern_count):
z = int(error_pattern_count + u)
_, pvalue = fisher_exact(
[[correct_pattern_count, error_pattern_count], [number_of_pattern - z, z]],
alternative="greater",
)
if bool(pvalue > p_threshold) is False:
bound = u * 100.0 / number_of_pattern
break
return bound
def fisher_excat_lower(
correct_pattern_count: int, number_of_pattern: int, p_threshold: float = 5.0 / 100.0
) -> float | None:
error_pattern_count = int(number_of_pattern - correct_pattern_count)
bound = None
for u in range(0, error_pattern_count):
z = int(error_pattern_count - u)
_, pvalue = fisher_exact(
[[correct_pattern_count, error_pattern_count], [number_of_pattern - z, z]],
alternative="less",
)
if bool(pvalue > p_threshold) is False:
bound = u * 100.0 / number_of_pattern
break
return bound