跳到主要内容
跳到主要内容

cramersV

Cramer's V(有时称为 Cramer's phi)是一种用于衡量表中两列之间关联程度的统计量。cramersV 函数的结果范围从 0(表示变量之间没有关联)到 1,且只有当每个值都可以被另一个值完全确定时才会达到 1。它可以被视为两个变量之间的关联程度,占其最大可能变化范围的百分比。

注意

关于偏差校正版本的 Cramer's V,请参见:cramersVBiasCorrected

语法

cramersV(column1, column2)

参数

  • column1: 要比较的第一列。
  • column2: 要比较的第二列。

返回值

  • 一个介于 0(表示列值之间没有关联)到 1(完全相关)之间的值。

类型:固定为 Float64

示例

下面比较的这两列彼此之间没有关联,因此 cramersV 的结果为 0:

查询:

SELECT
    cramersV(a, b)
FROM
    (
        SELECT
            number % 3 AS a,
            number % 5 AS b
        FROM
            numbers(150)
    );

结果:

┌─cramersV(a, b)─┐
│              0 │
└────────────────┘

下方这两列之间的相关性较强,因此 cramersV 的结果值较高:

SELECT
    cramersV(a, b)
FROM
    (
        SELECT
            number % 10 AS a,
            if(number % 12 = 0, (number + 1) % 5, number % 5) AS b
        FROM
            numbers(150)
    );

结果:

┌─────cramersV(a, b)─┐
│ 0.9066801892162646 │
└────────────────────┘