pytutorial/scipy/scipy.stats.fisher_exact/README.md
David Rotermund 0b19bb128f
Update README.md
Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com>
2024-01-05 14:06:23 +01:00

71 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fisher Exact Test
{:.no_toc}
<nav markdown="1" class="toc-class">
* TOC
{:toc}
</nav>
## Top
Questions to [David Rotermund](mailto:davrot@uni-bremen.de)
## [scipy.stats.fisher_exact](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.fisher_exact.html)
```python
scipy.stats.fisher_exact(table, alternative='two-sided')
```
> Perform a Fisher exact test on a 2x2 contingency table.
>
> The null hypothesis is that the true odds ratio of the populations underlying the observations is one, and the observations were sampled from these populations under a condition: the marginals of the resulting table must equal those of the observed table. The statistic returned is the unconditional maximum likelihood estimate of the odds ratio, and the p-value is the probability under the null hypothesis of obtaining a table at least as extreme as the one that was actually observed. There are other possible choices of statistic and two-sided p-value definition associated with Fishers exact test; please see the Notes for more information.
> Parameters:
>
> **alternative** : {two-sided, less, greater}, optional
> Defines the alternative hypothesis. The following options are available (default is two-sided):
>
> * two-sided: the odds ratio of the underlying population is not one
> * less: the odds ratio of the underlying population is less than one
> * greater: the odds ratio of the underlying population is greater than one
> Returns:
>
> **res** : SignificanceResult
>
> An object containing attributes:
>
> **statistic** : float
>
> This is the prior odds ratio, not a posterior estimate.
>
> **pvalue** : float
>
> The probability under the null hypothesis of obtaining a table at least as extreme as the one that was actually observed.
The input table is [[a, b], [c, d]]. Where N_A = a + c for the elements in group A and N_B = b + d for the elements in group B.
[[N_A-c, N_B-d], [c, d]]
## [Example](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.fisher_exact.html)
||Group A|Group B|
|---|---|---|
|Yes| 7 | 17 |
|No| 15| 5|
This translates in to the table: [[7, 17], [15, 5]]
```python
from scipy.stats import fisher_exact
res = fisher_exact([[7, 17], [15, 5]], alternative="less")
print(res.statistic) # -> 0.13725490196078433
print(res.pvalue) # -> 0.0028841933752349743
```