spkit.stats.test_2groups

spkit.stats.test_2groups(x1, x2, paired=True, alpha=0.05, pre_tests=True, effect_size=True, tval=False, notes=True, print_round=4, title=None, printthr=1, plots=True, figsize=(5, 4), return_all=False)

Test two groups

Parameters:
x1: 1d-array
x2: 1d-array
paired: bool, default=True
  • if True, x1 and x2 are assumed to be paired, and paired tests are applied

alpha: scalar [0,1], default=0.05
  • alpha level,

  • threshold on p-value for passing/failing declaration

pre_tests: bool, default=True
  • if True pre-tests, Shapiro, and Levene results are shown too

  • Shapiro: Normality

  • Levene: Homogeneity of Variance only for Unpaired

effect_size: bool, default=True
  • To show effect size (mean difference) and Cohen’s D

tval: bool, default=False
  • if True, all the statisitics (such as t-stats) are also shown

notes: bool, defualt=True
  • to print notes along the pre-tests about interpretation of p-value

print_round: int, default=4
  • rounding off all the numbers to decimal points

  • print_round=4 means upto 4 decimal points

  • print_round=-1 means all the decimal points available

title: str, default=None
  • if passed as str, used as heading with “Final Test”

  • useful when running many tests

printthr: scalar [0,1], deafult=1
  • threhold on p-value to display the results of final test

  • if p-value of final test is >printthr then ‘final test’ results are not printed

  • default=1 to always print the results of final test

plots: bool, default=True
  • if False then plots are avoided

figsize: figsize default=(5,4)
  • for paired, one plot figsize is used as it is.

  • for unpaired, two plots, width is doubled

return_all: bool, default=False
  • if True, two tables of all the results are returned

Returns:
tPass: bool
  • True, if any one of the final test was passed (i.e., p-value < alpha)

  • False means, none of the final test was passed

(df_tests, df_esize): pd.DataFrames
  • df_tests: Table of all the tests

  • df_esize: table of effect size

See also

test_groups

Notes

Check example with notebook for better view of the output

References

Examples

>>> #sp.stats.test_2groups
>>> #Example 1: Paired
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> import spkit as sp
>>> np.random.seed(1)
>>> x1 = np.random.randn(100)
>>> x2 = np.random.randn(100)+0.2
>>> tPass,(df1,df2) = sp.stats.test_2groups(x1,x2,paired=True,alpha=0.05,tval=True,return_all=True)
>>> print(df1)
          p-value        stats
shapiro  0.407988     0.986549
t-test   0.019631    -2.371901
wilcox   0.028014  1886.000000
>>> print(df2)
             mean_diff   CohensD
effect_size  -0.292212 -0.319897
>>> #sp.stats.test_2groups
>>> #Example 2: Unpaired
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> import spkit as sp
>>> np.random.seed(1)
>>> x1 = np.random.randn(10)
>>> x2 = np.random.randn(11)+0
>>> tPass,(df1,df2) = sp.stats.test_2groups(x1,x2,paired=False,alpha=0.05,tval=True,return_all=True)
>>> print(df1)
             p-value     stats
shapiro_x1  0.744053  0.956390
shapiro_x2  0.929865  0.974728
levene      0.579284  0.318210
t-test      0.757153  0.313718
ranksum     0.724771  0.352089
>>> print(df2)
             mean_diff   CohensD
effect_size   0.157087  0.137073
../../_images/spkit-stats-test_2groups-1_00.png
../../_images/spkit-stats-test_2groups-1_01.png

Examples using spkit.stats.test_2groups

Testing two groups

Testing two groups