Перейти к основному содержанию
Перейти к основному содержанию

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 │
└────────────────────┘