AnoFox provides 7 nonparametric test functions that make no assumptions about the underlying data distribution. The suite includes rank-based group comparisons (Mann-Whitney U for 2 groups, Kruskal-Wallis for 3+ groups), paired comparisons (Wilcoxon signed-rank), robust alternatives (Brunner-Munzel without equal variance assumption), exact testing (permutation t-test with configurable iterations up to 10,000), and full distribution comparison (energy distance, Maximum Mean Discrepancy). These tests are the correct choice when normality tests reject or when working with ordinal data, heavy-tailed distributions, or small sample sizes.
Nonparametric tests are distribution-free statistical methods that make no assumptions about the shape of the underlying data distribution. They work with ranks or permutations instead of raw values, making them robust to outliers, skewness, and non-normal data. Use these tests when normality tests reject or when working with ordinal data.
Group Comparison Tests
Mann-Whitney U Test
Test for stochastic superiority between two groups.
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value | DOUBLE | Yes | - | Measurement values |
group_id | INTEGER | Yes | - | Group identifier (0 or 1) |
options | MAP | No | - | Configuration options |
Options MAP:
| Option | Type | Default | Description |
|---|
alternative | VARCHAR | two_sided | two_sided, less, greater |
correction | BOOLEAN | true | Apply continuity correction |
confidence_level | DOUBLE | 0.95 | Confidence level |
Output
| Field | Type | Description |
|---|
u_statistic | DOUBLE | U statistic |
p_value | DOUBLE | p-value |
z_score | DOUBLE | z approximation |
effect_size | DOUBLE | Rank-biserial correlation |
Example
SELECT anofox_stats_mann_whitney_u_agg(
value,
group_id
) as result
FROM data;
Kruskal-Wallis Test
Test whether samples originate from the same distribution across 3+ groups.
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value | DOUBLE | Yes | - | Measurement values |
group_id | INTEGER | Yes | - | Group identifier |
Output
| Field | Type | Description |
|---|
h_statistic | DOUBLE | H statistic |
p_value | DOUBLE | p-value |
df | BIGINT | Degrees of freedom |
epsilon_squared | DOUBLE | Effect size |
Example
SELECT anofox_stats_kruskal_wallis_agg(
value,
group_id
) as result
FROM data;
Wilcoxon Signed-Rank Test
Paired samples comparison.
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value1 | DOUBLE | Yes | - | First measurement |
value2 | DOUBLE | Yes | - | Paired measurement |
options | MAP | No | - | Configuration options |
Example
SELECT anofox_stats_wilcoxon_signed_rank_agg(
value1,
value2
) as result
FROM paired_data;
Brunner-Munzel Test
Robust comparison without equal variance assumption.
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value | DOUBLE | Yes | - | Measurement values |
group_id | INTEGER | Yes | - | Group identifier |
options | MAP | No | - | Configuration options |
Example
SELECT anofox_stats_brunner_munzel_agg(
value,
group_id
) as result
FROM data;
Permutation t-Test
Exact test using permutation distribution.
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value | DOUBLE | Yes | - | Measurement values |
group_id | INTEGER | Yes | - | Group identifier |
options | MAP | No | - | n_permutations (default: 10000) |
Example
SELECT anofox_stats_permutation_t_test_agg(
value,
group_id,
MAP {'n_permutations': '10000'}
) as result
FROM data;
Distribution Comparison
Compare entire distributions.
Energy Distance
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value | DOUBLE | Yes | - | Values |
group_id | INTEGER | Yes | - | Group identifier |
Example
SELECT anofox_stats_energy_distance_agg(
value,
group_id
) as result
FROM data;
Maximum Mean Discrepancy (MMD)
Parameters
| Parameter | Type | Required | Default | Description |
|---|
value | DOUBLE | Yes | - | Values |
group_id | INTEGER | Yes | - | Group identifier |
options | MAP | No | - | Kernel settings |
Example
SELECT anofox_stats_mmd_agg(
value,
group_id
) as result
FROM data;