Overview of scores

students_t

class networkunit.scores.students_t(score: Score | float | int | Quantity, related_data: dict | None = None)

Student’s T-test NOTE: should be named ttest only because if equal_var=False -> Welch’s t-test The computation is performed by the scipy.stats.ttest_ind() function.

ks_distance

class networkunit.scores.ks_distance(score: Score | float | int | Quantity, related_data: dict | None = None)

Kolmogorov-Smirnov-Distance \(D_{KS}\)

\[D_\mathrm{KS} = \sup | \hat{P}(x) - \hat{Q}(x) |\]

The KS-Distance measures the maximal vertical distance of the cumulative distributions \(\hat{P}\) and \(\hat{Q}\). This measure is a sensitive tool for detecting differences in mean, variance and distribution type.

The null hypothesis that the underlying distributions are identical is rejected when the \(D_{KS}\) statistic is larger than a critical value, or equivalently when the corresponding p-value is less than the significance level.

The computation is performed by the scipy.stats.ks_2samp() function.

kl_divergence

class networkunit.scores.kl_divergence(score: Score | float | int | Quantity, related_data: dict | None = None)

Kullback-Leibner Divergence \(D_{KL}(P||Q)\)

Calculates the difference of two sampled distributions P and Q in form of an entropy measure. The \(D_{KL}\) measure is effectively the difference of the cross-entropy of the of both distribution P,Q and the entropy of P. \(D_{KL}\) can be interpreted as the amount of information lost when approximating P by Q.

\[D_\mathrm{KL}(P||Q) =\sum{i} P(i) \log_2 \frac{P(i)}{Q(i)}= H(P,Q) - H(P)\]

The returned score is the symmetric version of the kl divergence

\[D_\mathrm{KL}(P,Q) := \frac{1}{2} \left(D_\mathrm{KL}(P|Q) + D_\mathrm{KL}(Q|P)\right)\]

Parameters:

kl_bin_sizefloat

Bin size of the histogram, used to calculate the KL divergence.

mwu_statistic

class networkunit.scores.mwu_statistic(score: Score | float | int | Quantity, related_data: dict | None = None)

Mann-Whitney-U test

\[\begin{split}U_i = R_i - \frac{n_i(n_i + 1)}{2}\\ U = min(U_1,U_2)\end{split}\]

With the rank sum R and the sample size \(n_i\).

The Mann-Whitney U is a rank statistic which test the null hypothesis that a random value of sample 1 is equally likely to be larger or a smaller value than a randomly chosen value of sample 2.

The U_i statistic is in the range of [0,n_1 n_2], and the U=min(U_1,U_2) statistic is in the range of [0,n_1*n_2/2].

For sample sizes >20, U follows approximately a normal distribution. With this assumption a p-value can be inferred. The null hypothesis is consequently rejected when the p-value is less than the significance level.

levene_score

class networkunit.scores.levene_score(score: Score | float | int | Quantity, related_data: dict | None = None)

A Levene Test score. Null hypothesis: homogeneity of variance or homoscedasticity

effect_size

class networkunit.scores.effect_size(score: Score | float | int | Quantity, related_data: dict | None = None)

best_effect_size

class networkunit.scores.best_effect_size(score: Score | float | int | Quantity, related_data: dict | None = None)

Baysian Estimation Effect Size according to Kruschke, J. (2012) ‘Bayesian estimation supersedes the t-test’, Journal of Experimental Psychology

Requires the test parameters:
mcmc_iterint (default 110000)

Number of iterations of the Marcov-Chain-Monte-Carlo sampling.

mcmc_burnint (default 10000)

Number of samples to be discarded to reduce potential correlations in the sampling sequence.

effect_size_type‘mode’ (default), ‘mean’

How to determine an effect size value from the distribution

assume_normalbool

If false, an additional ‘normality’ parameter is fitted to account for non-gaussianity of the data.