# pingouin.compute_effsize

pingouin.compute_effsize(x, y, paired=False, eftype='cohen')[source]

Calculate effect size between two set of observations.

Parameters
xnp.array or list

First set of observations.

ynp.array or list

Second set of observations.

pairedboolean

If True, uses Cohen d-avg formula to correct for repeated measurements (see Notes).

eftypestring

Desired output effect size. Available methods are:

• 'none': no effect size

• 'cohen': Unbiased Cohen d

• 'hedges': Hedges g

• 'glass': Glass delta

• 'r': correlation coefficient

• 'eta-square': Eta-square

• 'odds-ratio': Odds ratio

• 'AUC': Area Under the Curve

• 'CLES': Common Language Effect Size

Returns
effloat

Effect size

convert_effsize

Conversion between effect sizes.

compute_effsize_from_t

Convert a T-statistic to an effect size.

Notes

Missing values are automatically removed from the data. If x and y are paired, the entire row is removed.

If x and y are independent, the Cohen $$d$$ is:

$d = \frac{\overline{X} - \overline{Y}} {\sqrt{\frac{(n_{1} - 1)\sigma_{1}^{2} + (n_{2} - 1) \sigma_{2}^{2}}{n1 + n2 - 2}}}$

If x and y are paired, the Cohen $$d_{avg}$$ is computed:

$d_{avg} = \frac{\overline{X} - \overline{Y}} {\sqrt{\frac{(\sigma_1^2 + \sigma_2^2)}{2}}}$

The Cohen’s d is a biased estimate of the population effect size, especially for small samples (n < 20). It is often preferable to use the corrected Hedges $$g$$ instead:

$g = d \times (1 - \frac{3}{4(n_1 + n_2) - 9})$

The Glass $$\delta$$ is calculated using the group with the lowest variance as the control group:

$\delta = \frac{\overline{X} - \overline{Y}}{\sigma^2_{\text{control}}}$

The common language effect size is the proportion of pairs where x is higher than y (calculated with a brute-force approach where each observation of x is paired to each observation of y, see pingouin.wilcoxon() for more details):

$\text{CL} = P(X > Y) + .5 \times P(X = Y)$

For other effect sizes, Pingouin will first calculate a Cohen $$d$$ and then use the pingouin.convert_effsize() to convert to the desired effect size.

References

• Lakens, D., 2013. Calculating and reporting effect sizes to facilitate cumulative science: a practical primer for t-tests and ANOVAs. Front. Psychol. 4, 863. https://doi.org/10.3389/fpsyg.2013.00863

• Cumming, Geoff. Understanding the new statistics: Effect sizes, confidence intervals, and meta-analysis. Routledge, 2013.

• https://osf.io/vbdah/

Examples

1. Cohen d from two independent samples.

>>> import numpy as np
>>> import pingouin as pg
>>> x = [1, 2, 3, 4]
>>> y = [3, 4, 5, 6, 7]
>>> pg.compute_effsize(x, y, paired=False, eftype='cohen')
-1.707825127659933


The sign of the Cohen d will be opposite if we reverse the order of x and y:

>>> pg.compute_effsize(y, x, paired=False, eftype='cohen')
1.707825127659933

1. Hedges g from two paired samples.

>>> x = [1, 2, 3, 4, 5, 6, 7]
>>> y = [1, 3, 5, 7, 9, 11, 13]
>>> pg.compute_effsize(x, y, paired=True, eftype='hedges')
-0.8222477210374874


3. Glass delta from two independent samples. The group with the lowest variance will automatically be selected as the control.

>>> pg.compute_effsize(x, y, paired=False, eftype='glass')
-1.3887301496588271

1. Common Language Effect Size.

>>> pg.compute_effsize(x, y, eftype='cles')
0.2857142857142857


In other words, there are ~29% of pairs where x is higher than y, which means that there are ~71% of pairs where x is lower than y. This can be easily verified by changing the order of x and y:

>>> pg.compute_effsize(y, x, eftype='cles')
0.7142857142857143