跳到主要内容
版本: 最新版本-3.5

mann_whitney_u_test

mann_whitney_u_test 对来自两个总体的样本执行 Mann-Whitney 秩检验。 Mann-Whitney U 检验是一种非参数检验,可用于确定是否从同一分布中选择了两个总体。

语法

MANN_WHITNEY_U_TEST (sample_data, sample_treatment[, alternative[, continuity_correction]])

参数

  • sample_data:样本数据的值。它必须是数值数据类型。

  • sample_treatment:样本数据的索引。其中每个元素指示相应样本所属的处理组。这些值应为布尔类型,其中 false 表示第一组,true 表示第二组。

  • alternative(可选):指定备择假设的常量字符串。它可以是以下之一

    • 'two-sided':默认值。测试两个总体的均值是否不同。
    • 'less':测试第一个总体的均值是否小于第二个总体的均值。
    • 'greater':测试第一个总体的均值是否大于第二个总体的均值。
  • continuity_correction(可选):一个常量布尔值,指示是否应用连续性校正。连续性校正通过将 U 统计量向 U 分布的均值调整 0.5 来提高小样本量测试的准确性。默认值为 true

返回值

该函数返回一个 json 数组,其中包含以下两个元素

Mann-Whitney U 统计量和与测试相关的 p 值。

使用说明

此函数忽略 NULL 值。

示例

假设有一个名为 testing_data 的表,其中包含以下数据。

create table testing_data (
id int,
score int,
treatment boolean
)
properties(
"replication_num" = "1"
);

insert into testing_data values
(1, 80, false),
(2, 100, false),
(3, NULL, false),
(4, 60, true),
(5, 70, true),
(6, 85, true);
select * from testing_data;
+------+-------+-----------+
| id | score | treatment |
+------+-------+-----------+
| 1 | 80 | 0 |
| 2 | 100 | 0 |
| 3 | NULL | 0 |
| 4 | 60 | 1 |
| 5 | 70 | 1 |
| 6 | 85 | 1 |
+------+-------+-----------+

查询

SELECT MANN_WHITNEY_U_TEST(score, treatment) FROM testing_data;

结果

+---------------------------------------+
| mann_whitney_u_test(score, treatment) |
+---------------------------------------+
| [5, 0.38647623077123283] |
+---------------------------------------+

查询

SELECT MANN_WHITNEY_U_TEST(score, treatment, 'less') FROM testing_data;

结果

+-----------------------------------------------+
| mann_whitney_u_test(score, treatment, 'less') |
+-----------------------------------------------+
| [5, 0.9255426634106172] |
+-----------------------------------------------+

查询

SELECT MANN_WHITNEY_U_TEST(score, treatment, 'two-sided', 0) FROM testing_data;

结果

+-------------------------------------------------------+
| mann_whitney_u_test(score, treatment, 'two-sided', 0) |
+-------------------------------------------------------+
| [5, 0.2482130789899235] |
+-------------------------------------------------------+