Критерий хи-квадрат 📊
Открой любой датасет с категориальными признаками — тип устройства, способ оплаты, регион клиента, версия приложения — и рано или поздно у тебя возникнет один и тот же вопрос: а связан ли вообще этот признак с целевой переменной? Для числовых признаков есть корреляция и её проверка на значимость. Но что делать, если признак — это не число, а метка вроде «мобильный» или «десктоп»? Среднее от категорий не посчитаешь, корреляцию Пирсона не применишь — она требует числовой шкалы с осмысленным расстоянием между значениями. Именно для этого случая почти сто тридцать лет назад был придуман инструмент, который до сих пор остаётся рабочей лошадкой отбора признаков в любом пайплайне с категориальными данными — критерий хи-квадрат.
Идея на удивление простая, хотя выросла она из очень конкретных статистических задач XIX века. У тебя есть таблица частот — сколько объектов попало в каждую комбинацию категорий. Есть теоретическое предположение о том, какими эти частоты должны были бы быть, если бы никакой связи не существовало. Критерий хи-квадрат сравнивает наблюдаемое с ожидаемым и выдаёт одно число, которое говорит: «это расхождение — случайный шум» или «здесь есть реальная закономерность». Именно эта конструкция лежит в основе двух прикладных вариантов критерия, которые ты освоишь в этом уроке: критерия согласия (соответствует ли распределение данных заявленной модели) и критерия независимости (связаны ли между собой два категориальных признака).
Второй вариант — критерий независимости — имеет для тебя как для практикующего специалиста по данным особую ценность. Прежде чем закидывать сотню категориальных признаков в модель классификации, разумно спросить: а вносит ли конкретный признак хоть какую-то информацию о целевой переменной, или это просто шум, раздувающий размерность и точно переобучивающий дерево решений на случайных совпадениях? Критерий хи-квадрат для таблиц сопряжённости даёт формальный, статистически обоснованный ответ на этот вопрос ещё до того, как ты потратишь время на обучение модели. Именно поэтому функция chi2 из sklearn.feature_selection — это, по сути, прямое программное воплощение того, что ты изучишь сегодня на бумаге.
Этот урок продолжает линию, начатую в уроке о проверке статистических гипотез: там ты освоил общую логику — нулевая гипотеза, статистика критерия, p-value, решение. Здесь эта логика получает конкретное наполнение для категориальных данных. Ты узнаешь, откуда берётся само распределение хи-квадрат, как строится статистика критерия согласия и критерия независимости, почему число степеней свободы устроено именно так, а не иначе, и какие условия должны выполняться, чтобы критерию вообще можно было доверять.
История: откуда это взялось?
Автор критерия — английский статистик Карл Пирсон, тот самый, чьё имя носит коэффициент корреляции. В 1900 году, работая в Лондонском университетском колледже, Пирсон опубликовал статью с длинным по нынешним меркам названием, суть которой сводилась к одному прикладному вопросу: как понять, что система случайных величин, наблюдаемых на практике, действительно подчиняется предполагаемому закону распределения. Пирсон занимался биометрией — измерял всё подряд: пропорции лепестков цветов, частоты цветов глаз у родственников, результаты игры в рулетку в казино Монте-Карло. Именно рулетка, кстати, дала Пирсону один из первых громких результатов применения критерия: собрав данные о тысячах вращений колеса за несколько недель, он показал статистически значимое отклонение частот от теоретически ожидаемых — рулетки были не вполне честными, что в те годы наделало немало шума в прессе.
Ключевая заслуга Пирсона — не просто интуитивная идея «сравнить наблюдаемое с ожидаемым», а строгий математический результат: если данные действительно порождены предполагаемым распределением, то определённая сумма квадратов относительных расхождений при увеличении объёма выборки стремится к распределению хи-квадрат с определённым числом степеней свободы. Это был один из первых примеров того, что сегодня называется асимптотической теорией статистических критериев — доказательство того, что придуманная статистика имеет предсказуемое поведение при больших выборках, а значит, по ней можно строить формальные правила принятия решений.
Само распределение хи-квадрат было открыто раньше и другим человеком — немецким геодезистом и статистиком Фридрихом Робертом Хельмертом, изучавшим ошибки измерений в 1870-х годах. Но именно Пирсон в 1900 году впервые показал, как связать это распределение с проверкой согласия эмпирических частот с теоретической моделью, и тем самым превратил абстрактный математический объект в один из самых используемых инструментов прикладной статистики. Забавная деталь: при выводе формулы для числа степеней свободы сам Пирсон допустил ошибку, которую двадцать лет спустя исправил другой классик статистики, Рональд Фишер, — именно Фишер показал, что если часть параметров теоретического распределения оценивается по тем же данным, число степеней свободы нужно дополнительно уменьшать. Об этой тонкости — чуть позже в разделе про степени свободы.
Распределение хи-квадрат: откуда берётся сама статистика
Интуиция: сумма квадратов случайных отклонений
Прежде чем разбирать сами критерии, стоит понять природу распределения, которое стоит у них за спиной. Представь, что у тебя есть несколько независимых стандартных нормальных случайных величин — таких, у которых среднее равно нулю, а стандартное отклонение равно единице (это распределение $N(0,1)$, тебе знакомо ещё с уроков о нормальном распределении). Возьми одну такую величину, возведи в квадрат — получишь неотрицательное число. Возьми несколько таких величин, возведи каждую в квадрат и сложи все квадраты вместе. Получившаяся сумма — это и есть случайная величина, имеющая распределение хи-квадрат.
Интуиция простая: единичное случайное отклонение от нуля в среднем невелико, но иногда бывает и большим — по случайности. Возведение в квадрат убирает знак (не важно, отклонились мы в плюс или в минус, важна лишь величина отклонения) и одновременно усиливает влияние больших отклонений. Суммируя несколько таких квадратов, ты получаешь суммарную меру «насколько далеко в сумме разбрелись» несколько независимых стандартных нормальных величин от своего общего центра. Чем больше слагаемых (чем больше степеней свободы), тем больше в среднем получается сумма — просто потому, что складываются несколько неотрицательных величин.
Формула: Если $Z_1, Z_2, \dots, Z_k$ — независимые случайные величины, каждая из которых имеет стандартное нормальное распределение $N(0,1)$, то случайная величина
$$\chi^2 = Z_1^2 + Z_2^2 + \dots + Z_k^2$$имеет распределение хи-квадрат с $k$ степенями свободы, что обозначается $\chi^2 \sim \chi^2_k$. Математическое ожидание такой величины равно числу степеней свободы, а дисперсия — удвоенному числу степеней свободы:
$$\mathbb{E}[\chi^2_k] = k, \qquad \mathbb{D}[\chi^2_k] = 2k.$$
Плотность распределения хи-квадрат асимметрична: она равна нулю при отрицательных значениях (сумма квадратов не может быть отрицательной), резко нарастает от нуля, достигает максимума и затем медленно, с длинным правым хвостом, убывает. При небольшом числе степеней свободы (например, $k=1$ или $k=2$) асимметрия особенно заметна — плотность максимальна около нуля. При увеличении $k$ форма распределения постепенно становится всё более симметричной и приближается к нормальному распределению — это частное следствие центральной предельной теоремы, ведь $\chi^2_k$ — это сумма $k$ независимых одинаково распределённых слагаемых.
Примеры с разбором
Пример 1 (лёгкий). Даны три независимые стандартные нормальные величины со значениями $Z_1 = 0{,}5$, $Z_2 = -1{,}2$, $Z_3 = 0{,}8$ (это одна конкретная реализация трёхмерного случайного вектора). Найди значение статистики хи-квадрат для этой реализации.
По определению суммируем квадраты:
$$\chi^2 = 0{,}5^2 + (-1{,}2)^2 + 0{,}8^2 = 0{,}25 + 1{,}44 + 0{,}64 = 2{,}33.$$Обрати внимание: знак каждого отдельного $Z_i$ не имеет значения — величина $Z_2=-1{,}2$ вносит такой же вклад, как вносила бы величина $+1{,}2$. Полученное значение $2{,}33$ — это одна случайная реализация величины с распределением $\chi^2_3$, у которой математическое ожидание равно $3$, а дисперсия равна $6$. Значение $2{,}33$ чуть меньше среднего — вполне типичная реализация, ничего необычного.
Пример 2 (средний). Раз $\mathbb{E}[\chi^2_k]=k$ и $\mathbb{D}[\chi^2_k]=2k$, оцени, при каком примерно значении $k$ стандартное отклонение статистики хи-квадрат станет равным пятой части её математического ожидания — то есть распределение станет относительно «более концентрированным» вокруг своего среднего.
Стандартное отклонение равно $\sqrt{2k}$, среднее равно $k$. Нужно найти $k$, при котором $\sqrt{2k} = \dfrac{k}{5}$. Возведём обе части в квадрат:
$$2k = \frac{k^2}{25} \quad\Rightarrow\quad 50k = k^2 \quad\Rightarrow\quad k = 50 \ \ (\text{при } k\ne 0).$$При пятидесяти степенях свободы стандартное отклонение статистики хи-квадрат составляет ровно двадцать процентов от её среднего значения. Это иллюстрирует общее свойство: относительный разброс распределения хи-квадрат убывает с ростом числа степеней свободы, потому что среднее растёт линейно по $k$, а стандартное отклонение — лишь как $\sqrt{k}$. Именно поэтому при больших выборках (а значит, обычно и больших степенях свободы в реальных таблицах) статистика критерия ведёт себя всё более предсказуемо.
Пример 3 (сложный). Критическое значение распределения $\chi^2_5$ на уровне значимости $\alpha=0{,}05$ равно $11{,}070$ (это означает $P(\chi^2_5 > 11{,}070) = 0{,}05$). Проверь, согласуется ли это табличное значение с приближённым правилом «среднее плюс два стандартных отклонения» и объясни, почему точное и приближённое значения не обязаны совпадать.
Среднее $\chi^2_5$ равно $k=5$, дисперсия равна $2k=10$, стандартное отклонение равно $\sqrt{10}\approx 3{,}162$. Приближённая оценка «среднее плюс два стандартных отклонения»:
$$5 + 2\cdot 3{,}162 = 5 + 6{,}325 = 11{,}325.$$Получившееся приближение $11{,}325$ близко к точному табличному значению $11{,}070$, но не совпадает с ним в точности. Причина расхождения — асимметрия распределения хи-квадрат, особенно заметная при небольших $k$: правило «среднее плюс два стандартных отклонения» предполагает примерно симметричное, похожее на нормальное распределение (там оно соответствует области около $97{,}5\%$ вероятности), но при $k=5$ распределение хи-квадрат ещё заметно скошено вправо, поэтому точный квантиль отличается от нормального приближения. При росте $k$ (скажем, при $k \ge 30$) это приближение становится намного точнее — распределение хи-квадрат всё сильнее напоминает нормальное с теми же средним и дисперсией.
Почему это важно. Распределение хи-квадрат само по себе — это техническая деталь, скрытая внутри критериев, с которыми ты будешь работать практически. Но знание его природы объясняет сразу несколько вещей: почему статистика критерия хи-квадрат всегда неотрицательна (это сумма квадратов), почему для проверки гипотезы используется только правый хвост распределения (большие значения статистики свидетельствуют против гипотезы, а не малые — расхождение может быть только «слишком большим», не бывает «слишком отрицательного» расхождения), и почему при большом числе категорий или ячеек таблицы (то есть при больших степенях свободы) даже довольно заметные на глаз расхождения между наблюдаемым и ожидаемым могут оказаться статистически незначимыми — просто потому, что само распределение при больших $k$ имеет широкий разброс.
Критерий согласия хи-квадрат Пирсона
Интуиция: насколько данные похожи на предполагаемую модель
Представь, что у тебя есть категориальный признак с несколькими возможными значениями — скажем, браузер, который использует пользователь сайта. У тебя есть теория о том, какие доли пользователей должны использовать каждый браузер (например, историческая статистика или ожидания продуктовой команды), и есть свежая выборка реальных данных. Вопрос: согласуются ли наблюдаемые частоты с теоретически ожидаемыми, или расхождение слишком велико, чтобы списать его на случайную изменчивость выборки?
Идея критерия согласия предельно механистична. Для каждой категории считаешь наблюдаемую частоту $O_i$ — сколько объектов реально попало в эту категорию — и ожидаемую частоту $E_i$ — сколько объектов должно было попасть туда, если бы теоретическая модель была верна. Дальше для каждой категории смотришь, насколько сильно $O_i$ отличается от $E_i$, возводишь разность в квадрат (чтобы не важно было, в какую сторону отклонение — избыток или недостаток) и делишь на $E_i$ (чтобы одно и то же абсолютное отклонение в маленькой категории считалось «более подозрительным», чем в большой — десять лишних наблюдений при ожидаемых ста заметнее, чем десять лишних при ожидаемых десяти тысячах). Суммируешь такие вклады по всем категориям — и получаешь статистику критерия.
Формула: Для категориального признака с $m$ возможными значениями статистика критерия согласия хи-квадрат Пирсона равна
$$\chi^2 = \sum_{i=1}^{m} \frac{(O_i - E_i)^2}{E_i},$$где $O_i$ — наблюдаемая частота в $i$-й категории, $E_i$ — ожидаемая частота под нулевой гипотезой $H_0$: «данные подчиняются заявленному теоретическому распределению». При верной $H_0$ и достаточно больших $E_i$ статистика приближённо имеет распределение $\chi^2_{df}$ с числом степеней свободы $df = m - 1 - p$, где $p$ — число параметров теоретического распределения, оценённых по тем же данным (если распределение задано полностью, без оценки параметров, $p=0$).
Вычитание единицы в формуле степеней свободы — не произвольный выбор, а прямое следствие того, что сумма всех ожидаемых частот обязана совпадать с суммой всех наблюдаемых (обе равны общему объёму выборки $n$). Это накладывает одно линейное ограничение на набор из $m$ разностей $(O_i-E_i)$: их сумма всегда равна нулю. Из $m$ слагаемых статистики фактически «свободно» варьироваться могут только $m-1$ — последнее жёстко определяется остальными через это ограничение. Каждый дополнительно оценённый по данным параметр теоретического распределения (например, если ты оцениваешь параметр Пуассона $\lambda$ или параметры нормального распределения $\mu,\sigma$ по той же самой выборке, для которой строишь критерий) добавляет ещё одно ограничение и отнимает ещё одну степень свободы — это как раз та поправка, о которой в 1920-х годах говорил Фишер.
Примеры с разбором
Пример 1 (лёгкий). Кубик бросили 60 раз. Если кубик честный, каждая грань должна выпадать с равной вероятностью $\frac{1}{6}$, то есть ожидаемая частота каждой грани при 60 бросках равна $60 \cdot \frac{1}{6} = 10$. Реальные наблюдаемые частоты граней 1–6: $8, 12, 10, 9, 11, 10$. Проверь на уровне значимости $\alpha = 0{,}05$, можно ли считать кубик честным.
Формулируем гипотезы: $H_0$ — кубик честный (все грани равновероятны), $H_1$ — кубик нечестный. Считаем вклад каждой грани в статистику:
$$\frac{(8-10)^2}{10} = 0{,}4, \quad \frac{(12-10)^2}{10} = 0{,}4, \quad \frac{(10-10)^2}{10} = 0, \quad \frac{(9-10)^2}{10} = 0{,}1, \quad \frac{(11-10)^2}{10} = 0{,}1, \quad \frac{(10-10)^2}{10} = 0.$$Суммируем: $\chi^2 = 0{,}4+0{,}4+0+0{,}1+0{,}1+0 = 1{,}0$. Число степеней свободы $df = 6-1 = 5$ (распределение задано полностью — предполагаемая равномерность, никаких параметров по данным не оценивалось). Критическое значение при $\alpha=0{,}05$ и $df=5$ равно $11{,}070$. Поскольку $\chi^2 = 1{,}0 \ll 11{,}070$, статистика далеко не достигает критической области — $p$-value здесь около $0{,}963$, огромное значение. Никаких оснований отвергать $H_0$ нет: наблюдаемые отклонения от равномерности прекрасно объясняются обычной случайностью выборки такого небольшого размера.
Пример 2 (средний). Интернет-магазин исторически знает, что покупатели распределяются по четырём категориям товаров в долях $40\%$, $30\%$, $20\%$, $10\%$. За отчётный период собрали выборку из $500$ покупок, распределённых по категориям как $180, 160, 100, 60$. Проверь на уровне $\alpha=0{,}05$, изменилась ли структура спроса по сравнению с историческими пропорциями.
Ожидаемые частоты вычисляются умножением долей на общий объём выборки: $E_1 = 0{,}4\cdot500=200$, $E_2=0{,}3\cdot500=150$, $E_3=0{,}2\cdot500=100$, $E_4=0{,}1\cdot500=50$. Считаем слагаемые статистики:
$$\frac{(180-200)^2}{200} = \frac{400}{200}=2{,}0, \quad \frac{(160-150)^2}{150}=\frac{100}{150}\approx0{,}667, \quad \frac{(100-100)^2}{100}=0, \quad \frac{(60-50)^2}{50}=\frac{100}{50}=2{,}0.$$Сумма: $\chi^2 \approx 2{,}0+0{,}667+0+2{,}0 = 4{,}667$. Степени свободы $df=4-1=3$, критическое значение при $\alpha=0{,}05$ равно $7{,}815$. Поскольку $4{,}667 < 7{,}815$, статистика не попадает в критическую область, $p$-value составляет примерно $0{,}198$ — существенно больше $0{,}05$. Оснований отвергать $H_0$ нет: несмотря на видимые на глаз отклонения (в четвёртой категории на $10$ покупок больше ожидаемого), эти отклонения статистически не отличимы от случайного шума при таком объёме выборки. Практический вывод для бизнеса: пока рано делать выводы о смене структуры спроса, стоит либо собрать больше данных, либо повторить проверку в следующем периоде.
Пример 3 (сложный). Служба поддержки фиксирует число критических багов, обнаруженных за день, на протяжении $60$ дней. Данные сгруппированы по числу багов в день: $0$ багов — $22$ дня, $1$ баг — $10$ дней, $2$ бага — $8$ дней, $3$ бага — $8$ дней, $4$ и более багов — $12$ дней. Команда предполагает, что число багов в день подчиняется распределению Пуассона. Оцени параметр $\lambda$ по данным и проверь на уровне $\alpha=0{,}05$, согласуются ли наблюдения с пуассоновской моделью.
Сначала оцениваем $\lambda$ как выборочное среднее числа багов в день (для группы «4 и более» для оценки среднего условно берём значение 4, что немного занижает истинное среднее, но это стандартное упрощение при группировке хвоста):
$$\hat\lambda = \frac{0\cdot22 + 1\cdot10 + 2\cdot8 + 3\cdot8 + 4\cdot12}{60} = \frac{0+10+16+24+48}{60} = \frac{98}{60} \approx 1{,}633.$$По формуле Пуассона $P(X=k) = \dfrac{\lambda^k e^{-\lambda}}{k!}$ считаем теоретические вероятности при $\hat\lambda \approx 1{,}633$: $P(0)\approx0{,}1953$, $P(1)\approx0{,}3190$, $P(2)\approx0{,}2605$, $P(3)\approx0{,}1418$, и $P(X\ge4) = 1-\bigl(P(0)+P(1)+P(2)+P(3)\bigr)\approx0{,}0834$. Умножаем каждую вероятность на $60$ дней, чтобы получить ожидаемые частоты: $E \approx 11{,}72;\ 19{,}14;\ 15{,}63;\ 8{,}51;\ 5{,}01$. Считаем вклад каждой группы в статистику:
$$\frac{(22-11{,}72)^2}{11{,}72}\approx9{,}01, \quad \frac{(10-19{,}14)^2}{19{,}14}\approx4{,}37, \quad \frac{(8-15{,}63)^2}{15{,}63}\approx3{,}72, \quad \frac{(8-8{,}51)^2}{8{,}51}\approx0{,}03, \quad \frac{(12-5{,}01)^2}{5{,}01}\approx9{,}75.$$Сумма: $\chi^2 \approx 9{,}01+4{,}37+3{,}72+0{,}03+9{,}75 = 26{,}90$. Число степеней свободы здесь $df = 5-1-1=3$: пять групп, минус единица за ограничение на сумму частот, минус ещё единица за оценку параметра $\lambda$ по этим же данным. Критическое значение при $\alpha=0{,}05$ и $df=3$ равно $7{,}815$. Статистика $26{,}90$ намного превышает критическое значение, $p$-value составляет около $0{,}000006$ — исчезающе мало. Вывод: гипотезу о пуассоновском распределении числа багов приходится отвергнуть. Реальные данные показывают «слишком много» дней и с нулём багов, и с четырьмя и более — это классический признак избыточной изменчивости по сравнению с пуассоновской моделью, которая на практике часто говорит о том, что дни на самом деле неоднородны (есть «спокойные» релизы и «проблемные» релизы), а не о едином стабильном процессе с постоянной интенсивностью.
Почему это важно. Критерий согласия — это формальный инструмент валидации предположений о данных, который в ML используется чаще, чем кажется на первый взгляд. Проверка, что распределение классов в тренировочной и тестовой выборках совпадает с ожидаемым (например, после случайного разбиения train_test_split доли классов не должны сильно смещаться) — это прямое применение критерия согласия. Проверка, что синтетические данные, сгенерированные моделью, статистически похожи на реальные по категориальным характеристикам — тоже он. И даже сам процесс конструирования признаков иногда начинается именно с критерия согласия: перед тем как строить сложную модель временного ряда, разумно сначала проверить, действительно ли распределение событий похоже на пуассоновский процесс или на что-то более сложное с кластеризацией во времени, как в примере с багами выше.
Критерий независимости хи-квадрат для таблиц сопряжённости
Интуиция: связаны ли два категориальных признака между собой
Критерий согласия сравнивает одну выборку с теоретической моделью. Критерий независимости решает другую, но родственную задачу: у тебя есть два категориальных признака, измеренных на одних и тех же объектах, и нужно понять, связаны ли они между собой статистически, или наблюдения по одному признаку никак не предсказывают наблюдения по другому. Ты уже встречал понятие независимости случайных величин в уроке про многомерные случайные величины: там независимость определялась как факторизация совместного распределения в произведение маргинальных. Критерий хи-квадрат для таблиц сопряжённости — это ровно способ статистически проверить эту факторизацию на конечной выборке, а не только определить её математически для известного распределения.
Данные для такого критерия удобно представить в виде таблицы сопряжённости (её называют также кросс-таблицей) — прямоугольной таблицы, где строки соответствуют категориям одного признака, столбцы — категориям другого, а в клетках стоят количества объектов, попавших в соответствующую комбинацию категорий. Если признаки независимы, то доля объектов в каждой клетке должна примерно совпадать с произведением доли по строке на долю по столбцу — именно так работает факторизация вероятностей при независимости. Ожидаемая частота для клетки на пересечении строки $i$ и столбца $j$ вычисляется без всякой магии: раз маргинальные вероятности по строке $i$ равны $\frac{(\text{сумма строки } i)}{n}$, а по столбцу $j$ — $\frac{(\text{сумма столбца } j)}{n}$, то при независимости ожидаемая доля клетки — произведение этих маргинальных долей, а ожидаемая частота — эта доля, умноженная на общий объём выборки $n$.
Формула: Для таблицы сопряжённости с $r$ строками и $c$ столбцами статистика критерия независимости хи-квадрат равна
$$\chi^2 = \sum_{i=1}^{r}\sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}, \qquad E_{ij} = \frac{(\text{сумма строки } i)\cdot(\text{сумма столбца } j)}{n},$$где $O_{ij}$ — наблюдаемая частота в клетке $(i,j)$, $n$ — общий объём выборки. Нулевая гипотеза $H_0$: признаки статистически независимы. При верной $H_0$ статистика приближённо имеет распределение $\chi^2_{df}$ с числом степеней свободы $df=(r-1)(c-1)$.
Число степеней свободы $(r-1)(c-1)$ появляется по той же логике ограничений, что и в критерии согласия, только теперь ограничений больше: суммы по каждой строке и по каждому столбцу фиксированы (равны наблюдаемым маргинальным суммам), а значит, свободно заполнить можно только $(r-1)$ строк и $(c-1)$ столбцов таблицы — остальные клетки однозначно доопределяются через требование совпадения маргинальных сумм.
Примеры с разбором
Пример 1 (лёгкий, 2×2). В опросе $400$ клиентов интернет-магазина фиксировали пол и наличие подписки на рассылку по электронной почте. Получена таблица: среди $200$ мужчин подписаны $60$, среди $200$ женщин подписаны $110$. Проверь на уровне $\alpha=0{,}05$, связан ли пол с фактом подписки.
Оформим таблицу сопряжённости:
| Подписан | Не подписан | Сумма по строке | |
|---|---|---|---|
| Мужчины | 60 | 140 | 200 |
| Женщины | 110 | 90 | 200 |
| Сумма по столбцу | 170 | 230 | 400 |
Ожидаемые частоты при независимости: $E_{11} = \dfrac{200\cdot170}{400}=85$, $E_{12}=\dfrac{200\cdot230}{400}=115$, и в силу равенства сумм по строкам ($200$ и $200$) ожидаемые частоты для второй строки те же самые: $E_{21}=85$, $E_{22}=115$. Считаем статистику:
$$\chi^2 = \frac{(60-85)^2}{85} + \frac{(140-115)^2}{115} + \frac{(110-85)^2}{85} + \frac{(90-115)^2}{115} = \frac{625}{85}+\frac{625}{115}+\frac{625}{85}+\frac{625}{115}.$$$$\chi^2 \approx 7{,}353+5{,}435+7{,}353+5{,}435 = 25{,}575.$$Степени свободы $df=(2-1)(2-1)=1$, критическое значение при $\alpha=0{,}05$ равно $3{,}841$. Поскольку $25{,}575 \gg 3{,}841$, $p$-value исчезающе мало (около $0{,}0000004$). Вывод: пол и наличие подписки статистически значимо связаны — среди опрошенных женщин подписка встречается заметно чаще ($55\%$ против $30\%$ у мужчин).
Пример 2 (средний, полный разбор 2×2 с ML-акцентом). Перед обучением модели, предсказывающей клик по рекламному объявлению, аналитик хочет проверить, стоит ли включать в модель категориальный признак «тип устройства» (мобильный или десктоп). Собрана выборка из $1400$ показов: из $800$ показов на мобильных устройствах клик произошёл в $180$ случаях, из $600$ показов на десктопах клик произошёл в $95$ случаях. Проведи полную проверку независимости на уровне $\alpha=0{,}05$.
Таблица сопряжённости:
| Клик | Нет клика | Сумма по строке | |
|---|---|---|---|
| Мобильный | 180 | 620 | 800 |
| Десктоп | 95 | 505 | 600 |
| Сумма по столбцу | 275 | 1125 | 1400 |
Формулируем гипотезы: $H_0$ — тип устройства и факт клика независимы (признак «тип устройства» бесполезен для предсказания клика), $H_1$ — есть статистическая связь. Ожидаемые частоты: $E_{11} = \dfrac{800\cdot275}{1400}\approx157{,}14$, $E_{12}=\dfrac{800\cdot1125}{1400}\approx642{,}86$, $E_{21}=\dfrac{600\cdot275}{1400}\approx117{,}86$, $E_{22}=\dfrac{600\cdot1125}{1400}\approx482{,}14$. Считаем вклады:
$$\frac{(180-157{,}14)^2}{157{,}14}\approx3{,}325, \quad \frac{(620-642{,}86)^2}{642{,}86}\approx0{,}813, \quad \frac{(95-117{,}86)^2}{117{,}86}\approx4{,}434, \quad \frac{(505-482{,}14)^2}{482{,}14}\approx1{,}084.$$Сумма: $\chi^2 \approx 3{,}325+0{,}813+4{,}434+1{,}084 = 9{,}654$. Степени свободы $df=1$, критическое значение $3{,}841$. Поскольку $9{,}654 > 3{,}841$, статистика попадает в критическую область, $p$-value составляет около $0{,}0019$ — заметно меньше $0{,}05$. Вывод: связь между типом устройства и кликом статистически значима, признак стоит включить в модель (наблюдаемая доля кликов на мобильных — $22{,}5\%$, на десктопах — примерно $15{,}8\%$).
Отдельно полезно оценить силу этой связи, а не только её статистическую значимость — для таблиц $2\times2$ удобно использовать коэффициент Крамера $V = \sqrt{\dfrac{\chi^2}{n\cdot\min(r-1,c-1)}} = \sqrt{\dfrac{9{,}654}{1400\cdot1}} \approx 0{,}083$. Значение около $0{,}08$ по принятым эмпирическим шкалам соответствует слабой связи: несмотря на статистическую значимость (которая при выборке в полторы тысячи наблюдений улавливает даже небольшие эффекты), практическая предсказательная сила признака невелика. Это важный урок для ML-практики: статистически значимый признак не обязательно окажется сильным предиктором — эти два свойства нужно оценивать раздельно, и коэффициент Крамера как раз даёт вторую, дополняющую p-value оценку.
Пример 3 (сложный, 3×3). Телеком-компания анализирует связь региона клиента (Север, Центр, Юг) с выбранным тарифным планом (Базовый, Стандарт, Премиум) на выборке из $700$ клиентов. Таблица наблюдаемых частот:
| Базовый | Стандарт | Премиум | Сумма по строке | |
|---|---|---|---|---|
| Север | 120 | 80 | 20 | 220 |
| Центр | 90 | 150 | 60 | 300 |
| Юг | 60 | 70 | 50 | 180 |
| Сумма по столбцу | 270 | 300 | 130 | 700 |
Проверь на уровне $\alpha=0{,}05$, связан ли регион с выбором тарифа.
Ожидаемые частоты вычисляются построчно: для Севера ($220$) — $E=\dfrac{220\cdot270}{700}\approx84{,}86$, $\dfrac{220\cdot300}{700}\approx94{,}29$, $\dfrac{220\cdot130}{700}\approx40{,}86$; для Центра ($300$) — $\approx115{,}71$, $\approx128{,}57$, $\approx55{,}71$; для Юга ($180$) — $\approx69{,}43$, $\approx77{,}14$, $\approx33{,}43$. Считаем все девять вкладов в статистику и суммируем (промежуточные значения при аккуратном пересчёте по формуле $(O-E)^2/E$ дают в сумме):
$$\chi^2 \approx 47{,}14.$$Степени свободы $df=(3-1)(3-1)=4$, критическое значение при $\alpha=0{,}05$ равно $9{,}488$. Статистика $47{,}14$ намного больше критического значения, $p$-value исчезающе мало (порядка $10^{-9}$). Вывод: связь между регионом и тарифным планом статистически в высшей степени значима. Глядя на таблицу, видно источник этой связи: на Севере непропорционально велика доля Базового тарифа ($120$ из $220$, больше половины), а в Центре — Стандарта; такая неравномерность и порождает большую статистику. Для отдела продаж это прямой практический вывод: маркетинговые предложения по тарифам стоит дифференцировать по регионам, а не применять одну и ту же стратегию по всей стране.
Почему это важно. Критерий независимости для таблиц сопряжённости — это именно тот инструмент, который стоит за функцией sklearn.feature_selection.chi2 и аналогичными реализациями в других библиотеках. Когда у тебя есть десятки категориальных признаков и задача классификации с категориальной же целевой переменной, вручную смотреть на каждую пару «признак–таргет» нецелесообразно — вместо этого для каждого признака строится таблица сопряжённости с целевой переменной, считается статистика хи-квадрат, и признаки ранжируются по убыванию статистики (или по возрастанию p-value). Признаки с маленькой статистикой и большим p-value — кандидаты на исключение из модели: формальных оснований считать, что они хоть как-то связаны с целью предсказания, нет. Это не заменяет полноценный подбор признаков через саму модель (случайный лес или градиентный бустинг подсвечивают важность признаков по-другому), но даёт быстрый, дешёвый по вычислениям первый фильтр ещё до обучения любой модели — особенно ценный при сотнях или тысячах кандидатов в признаки, когда обучать модель на каждом подмножестве попросту не успеть.
Степени свободы и условия применимости критерия
Интуиция: когда критерию можно доверять
Число степеней свободы в обоих вариантах критерия хи-квадрат — не формальность для галочки, а параметр, который определяет саму форму распределения, с которым сравнивается статистика, а значит, и то, насколько «большая» статистика будет считаться подозрительной. Уже разобранная логика простая: степени свободы считают, сколько независимых «направлений отклонения» реально остаётся у данных после того, как учтены все ограничения (сумма наблюдаемых равна сумме ожидаемых, суммы по строкам и столбцам таблицы сопряжённости фиксированы, дополнительные параметры теоретического распределения оценены по тем же данным).
Но есть вторая, не менее важная сторона вопроса — не про степени свободы, а про саму применимость приближения. Формула статистики хи-квадрат — это точная арифметическая формула, её можно посчитать для любых данных. А вот утверждение «эта статистика приближённо имеет распределение $\chi^2_{df}$» — это асимптотический результат, верный при больших выборках, и он начинает давать сбои, если какие-то ожидаемые частоты слишком малы. Интуиция здесь такая: чем меньше ожидаемая частота в клетке, тем более «дискретным», грубым является распределение реальных подсчётов в этой клетке (по сути, распределение Пуассона или биномиальное с малым параметром плохо приближается непрерывным нормальным законом, на котором в конечном счёте базируется вывод распределения хи-квадрат). Если ожидаемых частот слишком мало, приближённое $p$-value может оказаться заметно неточным — обычно оно оказывается заниженным, то есть критерий начинает чаще, чем заявлено, ошибочно отвергать верную $H_0$.
Формула (число степеней свободы): Для критерия согласия: $df = m - 1 - p$, где $m$ — число категорий, $p$ — число параметров теоретического распределения, оценённых по данным. Для критерия независимости: $df = (r-1)(c-1)$, где $r$ и $c$ — число строк и столбцов таблицы сопряжённости.
Условие применимости (эмпирическое правило Кохрена): критерий хи-квадрат Пирсона надёжен, если все ожидаемые частоты $E_i \ge 5$ (для критерия согласия) или все $E_{ij}\ge5$ (для критерия независимости). Допустимое смягчение: не более $20\%$ клеток могут иметь ожидаемую частоту от $1$ до $5$, но ни одна клетка не должна иметь ожидаемую частоту меньше $1$.
Когда условие нарушено, есть несколько стандартных выходов. Самый частый — объединение категорий: редкие категории со схожим содержательным смыслом объединяют в одну более крупную, пока все ожидаемые частоты не станут достаточными. Другой вариант — для таблиц $2\times2$ с маленькими частотами применяют либо поправку Йетса на непрерывность (уменьшающую значение статистики, чтобы компенсировать погрешность приближения дискретного распределения непрерывным), либо, при совсем малых выборках, точный критерий Фишера, который вообще не полагается на асимптотическое приближение хи-квадрат и считает точные вероятности комбинаторно.
Формула (поправка Йетса для таблиц 2×2):
$$\chi^2_{\text{Йетс}} = \sum \frac{(|O_{ij}-E_{ij}|-0{,}5)^2}{E_{ij}}.$$Вычитание $0{,}5$ из абсолютного значения каждой разности уменьшает итоговую статистику, делая критерий более консервативным (менее склонным ошибочно отвергать верную $H_0$) — это особенно важно именно при маленьких ожидаемых частотах в таблице $2\times2$.
Примеры с разбором
Пример 1 (проверка условия применимости). Аналитик хочет проверить связь между используемым браузером (Chrome, Firefox, Safari, «Другой») и фактом конверсии на сайте, собрав таблицу сопряжённости $4\times2$ на выборке из $1520$ посетителей. Маргинальные суммы по строкам браузеров: $1000, 300, 200, 20$; по столбцам конверсии: $218, 1302$. Проверь, выполняется ли условие применимости критерия, до того как вообще считать статистику.
Считаем ожидаемые частоты по формуле $E_{ij}=\dfrac{(\text{строка})\cdot(\text{столбец})}{n}$ при $n=1520$: для строки «Другой» (сумма $20$) — $E = \dfrac{20\cdot218}{1520}\approx2{,}87$ и $E=\dfrac{20\cdot1302}{1520}\approx17{,}13$. Минимальная ожидаемая частота во всей таблице — как раз эти $2{,}87$, что заметно меньше порога $5$. Условие применимости нарушено: критерий хи-квадрат в этом виде использовать некорректно — приближённое $p$-value для этой таблицы будет ненадёжным.
Разумное решение — объединить редкую категорию «Другой» с ближайшей по смыслу и не слишком большой категорией, например с «Safari» (получится группа «Safari и другие браузеры» с суммарной строкой $200+20=220$). После объединения ожидаемые частоты для новой группы: $E=\dfrac{220\cdot218}{1520}\approx31{,}55$ и $E=\dfrac{220\cdot1302}{1520}\approx188{,}45$ — оба значения намного превышают порог $5$, как и ожидаемые частоты для оставшихся групп (Chrome и Firefox, которые и до объединения были достаточно большими). Теперь критерий применим: полученная после объединения таблица $3\times2$ даёт статистику $\chi^2\approx1{,}07$ при $df=2$, что далеко от критического значения $5{,}991$ — связь между браузером и конверсией статистически не подтверждается.
Пример 2 (числовая иллюстрация степеней свободы). Для критерия согласия с $8$ категориями, где теоретическое распределение — нормальное с параметрами, оценёнными по тем же данным ($\hat\mu$ и $\hat\sigma$, то есть $p=2$ оценённых параметра), найди число степеней свободы и сравни его с числом степеней свободы для той же задачи, если бы параметры $\mu$ и $\sigma$ были известны заранее, а не оценивались по выборке.
Если параметры оцениваются по данным: $df = 8-1-2 = 5$. Если параметры известны заранее (полностью заданное теоретическое распределение, $p=0$): $df=8-1=7$. Разница в две степени свободы отражает ту самую поправку Фишера: каждый параметр, «подогнанный» под конкретную выборку, снижает число степеней свободы критерия, потому что теоретическое распределение перестаёт быть полностью независимым от наблюдаемых данных — оно уже частично «подстроено» под них, и это искусственно уменьшает ожидаемое расхождение $(O-E)^2$, которое нужно компенсировать в статистике степеней свободы. Практическое следствие: если по ошибке использовать $df=7$ вместо правильных $df=5$, критическое значение окажется завышенным (для $\chi^2_7$ при $\alpha=0{,}05$ это $14{,}067$ против $11{,}070$ для $\chi^2_5$), и критерий станет систематически более консервативным, чем следовало бы, — то есть будет упускать реальные расхождения, которые на самом деле стоило бы заметить.
Почему это важно. Условие о минимальных ожидаемых частотах — это едва ли не самая частая практическая ловушка при применении критерия хи-квадрат в реальных датасетах, особенно в ML-задачах с категориальными признаками, у которых бывает множество редких категорий (например, десятки мелких регионов или узкоспециализированных типов устройств с единичными наблюдениями). Формально посчитать статистику по такой таблице всегда можно — формула не откажется работать с маленькими числами, но результат — p-value — окажется ненадёжным, а решения, принятые на его основе, статистически необоснованными. Именно поэтому качественный пайплайн отбора признаков с использованием критерия хи-квадрат почти всегда включает предварительный шаг — группировку или удаление редких категорий признака до применения самого критерия, а не после.
Практика: 30 заданий
Базовые (задания 1–10)
Задание 1. Игральную кость бросили $90$ раз. Наблюдаемые частоты граней $1$–$6$: $13, 17, 14, 16, 12, 18$. Проверь на уровне $\alpha=0{,}05$, можно ли считать кость честной.
Задание 2. Объясни своими словами разницу между нулевой и альтернативной гипотезами в критерии согласия хи-квадрат на примере проверки, соответствуют ли цвета выпускаемых автомобилей заявленным производителем долям (например, $30\%$ белых, $25\%$ чёрных, остальное — прочие цвета).
Задание 3. Для таблицы сопряжённости размером $4$ строки на $5$ столбцов найди число степеней свободы критерия независимости.
Задание 4. Для критерия согласия с $6$ категориями, где теоретическое распределение — Пуассона с параметром $\lambda$, оценённым по тем же данным, найди число степеней свободы.
Задание 5. Для одной категории критерия согласия наблюдаемая частота $O=45$, ожидаемая частота $E=38$. Найди вклад этой категории в статистику хи-квадрат.
Задание 6. Таблица сопряжённости $2\times2$: сумма первой строки $100$, сумма второй строки $100$, сумма первого столбца $80$, сумма второго столбца $120$, общий объём выборки $n=200$. Найди все четыре ожидаемые частоты $E_{ij}$.
Задание 7. Объясни, чем принципиально отличается постановка задачи в критерии согласия от постановки задачи в критерии независимости — какие данные и какая нулевая гипотеза используются в каждом случае.
Задание 8. Статистика критерия согласия составила $\chi^2=8{,}2$ при $df=3$. Используя критическое значение $\chi^2_{0{,}05;\,3}=7{,}815$, сделай вывод на уровне значимости $\alpha=0{,}05$.
Задание 9. Дан набор ожидаемых частот для пяти категорий критерия согласия: $12,\ 8,\ 4{,}5,\ 3,\ 22$. Проверь, выполняется ли условие применимости критерия хи-квадрат (правило Кохрена: все $E_i\ge5$, либо не более $20\%$ категорий с $E_i$ от $1$ до $5$ и ни одной меньше $1$).
Задание 10. В датасете для модели прогнозирования оттока клиентов есть категориальный признак «способ оплаты» (три категории: карта, наличные, электронный кошелёк) и целевая переменная «отток» (да/нет). Сформулируй нулевую и альтернативную гипотезы для проверки полезности этого признака критерием хи-квадрат и укажи число степеней свободы получившейся таблицы сопряжённости.
Средние (задания 11–20)
Задание 11. Число продаж интернет-магазина по дням недели за $7$ дней составило $700$ покупок с распределением $130, 95, 80, 110, 90, 75, 120$ (понедельник–воскресенье). Проверь на уровне $\alpha=0{,}05$ гипотезу о равномерном распределении продаж по дням недели.
Задание 12. Медицинское исследование связи курения с заболеванием на выборке из $300$ человек дало таблицу: среди $100$ курящих заболели $70$, среди $200$ некурящих заболели $40$. Проведи полную проверку независимости на уровне $\alpha=0{,}05$.
Задание 13. Для таблицы сопряжённости $3\times3$ получена статистика $\chi^2=15{,}2$ при $df=4$. Критическое значение $\chi^2_{0{,}05;\,4}=9{,}488$. Сделай вывод.
Задание 14. Таблица сопряжённости $3\times2$: суммы строк $100, 50, 20$, суммы столбцов $25, 145$, $n=170$. Проверь условие применимости критерия хи-квадрат и предложи решение, если условие нарушено.
Задание 15. Перед обучением модели классификации на $1000$ объектах, разбитых на тренировочную и тестовую выборки, проверяют, сохранилось ли историческое распределение пяти классов ($30\%$, $25\%$, $20\%$, $15\%$, $10\%$) после случайного разбиения. В тренировочной выборке из $1000$ объектов наблюдаемое распределение классов: $290, 260, 190, 160, 100$. Проверь на уровне $\alpha=0{,}05$, сохранилось ли историческое распределение.
Задание 16. Перед обучением модели оттока проверяется полезность признака «регион» (четыре региона) как предиктора оттока на выборке из $1000$ клиентов. Таблица сопряжённости (отток да, отток нет): регион 1 — $45$ и $155$ (сумма $200$), регион 2 — $60$ и $240$ (сумма $300$), регион 3 — $80$ и $220$ (сумма $300$), регион 4 — $30$ и $170$ (сумма $200$). Проведи полную проверку на уровне $\alpha=0{,}05$.
Задание 17. В таблице сопряжённости $2\times3$ известны частоты первой строки $40, 60, ?$ с суммой строки $150$, и второй строки $60, 90, ?$ с суммой строки $250$. Известно, что сумма первого столбца $100$, второго столбца $150$. Восстанови недостающие частоты и найди сумму третьего столбца.
Задание 18. В двух A/B-тестах наблюдается одинаковый относительный эффект — конверсия в группе B выше конверсии в группе A на $3$ процентных пункта ($10\%$ против $13\%$), но в первом тесте выборка небольшая ($n=100$ в каждой группе), а во втором — в десять раз больше ($n=1000$ в каждой группе). Посчитай статистику хи-квадрат для обоих случаев и объясни, почему выводы получаются разными.
Задание 19. Таблица сопряжённости $2\times2$ с малыми частотами: $8, 12$ в первой строке (сумма $20$), $3, 17$ во второй строке (сумма $20$), $n=40$. Посчитай статистику хи-квадрат без поправки и с поправкой Йетса, сравни выводы.
Задание 20. После применения chi2 из sklearn.feature_selection к трём категориальным признакам получены следующие результаты: признак «способ оплаты» — статистика $70{,}12$, $p$-value $\approx5{,}9\cdot10^{-16}$; признак «цвет упаковки» — статистика $0{,}78$, $p$-value $\approx0{,}677$; признак «регион» — статистика $10{,}27$, $p$-value $\approx0{,}016$. При уровне значимости $\alpha=0{,}05$ реши, какие признаки стоит оставить для обучения модели.
Продвинутые (задания 21–30)
Задание 21. Время загрузки страницы сайта разбито на $6$ интервалов, по каждому подсчитано число наблюдений за $100$ измерений: $8, 22, 35, 25, 7, 3$. Предполагается нормальное распределение времени загрузки, параметры $\mu$ и $\sigma$ оценены по этим же данным, что дало теоретические ожидаемые частоты $10, 20, 32, 26, 9, 3$. Проверь согласие на уровне $\alpha=0{,}05$.
Задание 22. Социологический опрос $660$ респондентов связал уровень образования (три категории) с предпочтением одной из трёх политических программ. Таблица: образование 1 — $90, 60, 30$ (сумма $180$); образование 2 — $70, 110, 60$ (сумма $240$); образование 3 — $40, 80, 120$ (сумма $240$). Суммы столбцов: $200, 250, 210$. Проведи полную проверку независимости на уровне $\alpha=0{,}05$.
Задание 23. Для таблицы из задания 22 ($\chi^2\approx85{,}60$, $n=660$, таблица $3\times3$) найди коэффициент Крамера $V$ и определи силу связи по эмпирической шкале (слабая — до $0{,}1$, умеренная — примерно $0{,}1$–$0{,}3$, сильная — выше $0{,}3$, для таблиц с $\min(r-1,c-1)=2$).
Задание 24. Таблица сопряжённости $5\times2$ (пять категорий продукта, покупка да/нет) на выборке $n=1740$: суммы строк $1000, 500, 200, 30, 10$; суммы столбцов $497, 1243$. Проверь условие применимости критерия и, если оно нарушено, предложи объединение категорий с последующим полным расчётом статистики.
Задание 25. Перед отбором признаков для модели оттока сравниваются два категориальных признака. Первый — «способ оплаты» (три категории), таблица: $50$ и $250$ (сумма $300$), $80$ и $420$ (сумма $500$), $120$ и $180$ (сумма $300$), суммы столбцов $250$ и $850$, $n=1100$. Посчитай статистику хи-квадрат для этого признака и сравни с результатом признака «регион» из задания 16 ($\chi^2\approx10{,}27$, $df=3$).
Задание 26. Покажи на числах из малой выборки задания 18 ($n_1=n_2=100$, конверсии $10\%$ и $13\%$), что для таблиц $2\times2$ квадрат $z$-статистики теста для разности двух пропорций совпадает со статистикой хи-квадрат критерия независимости.
Задание 27. Таблица сопряжённости $3\times2$: известны только суммы строк $180, 220, 150$ и суммы столбцов $250, 300$, $n=550$. Не имея наблюдаемых частот, восстанови таблицу ожидаемых частот, которая была бы в точности верна, если бы $H_0$ (независимость) выполнялась точно.
Задание 28. Для модели прогнозирования вовлечённости пользователей проверяется признак «тип устройства» (мобильный, десктоп, планшет) против признака «уровень активности» (низкая, средняя, высокая) на выборке $n=650$. Таблица: мобильный — $80, 60, 20$ (сумма $160$); десктоп — $50, 130, 70$ (сумма $250$); планшет — $30, 90, 120$ (сумма $240$). Суммы столбцов: $160, 280, 210$. Проведи полный расчёт и оцени, стоит ли включать эту пару признаков в модель как источник признака-взаимодействия.
Задание 29. Статистика критерия составила $\chi^2=31{,}4$ при $df=20$. Точное критическое значение $\chi^2_{0{,}05;\,20}=31{,}41$. Оцени, отвергается ли $H_0$, и объясни, почему при больших $df$ для оценки $p$-value можно использовать приближение через нормальное распределение.
Задание 30. Перед обучением модели оттока клиентов через критерий хи-квадрат проверено четыре категориальных признака: «способ оплаты» ($\chi^2\approx70{,}12$, $df=2$, $p\approx5{,}9\cdot10^{-16}$), «регион» ($\chi^2\approx10{,}27$, $df=3$, $p\approx0{,}0164$), «устройство × активность» ($\chi^2\approx110{,}0$, $df=4$, $p\approx7{,}3\cdot10^{-23}$), «цвет упаковки» ($\chi^2\approx0{,}78$, $df=2$, $p\approx0{,}677$). При проверке четырёх признаков одновременно применяется поправка Бонферрони: скорректированный уровень значимости $\alpha_{\text{corr}}=\alpha/k$, где $k$ — число одновременно проверяемых гипотез. Реши, какие признаки проходят отбор при обычном $\alpha=0{,}05$ и при поправке Бонферрони.
Частые ошибки
❌ Ошибка: Применить критерий хи-квадрат к таблице, где несколько ожидаемых частот меньше $5$, не проверив условие применимости.
✅ Правильно: Перед расчётом статистики всегда проверять минимальные ожидаемые частоты; при нарушении — объединять редкие категории или использовать точный критерий Фишера (для таблиц $2\times2$).
💡 Почему: Асимптотическое приближение распределения статистики к $\chi^2_{df}$ верно только при достаточно больших ожидаемых частотах; при маленьких $E$ реальное распределение статистики отличается от табличного, и полученное $p$-value становится ненадёжным, чаще всего заниженным.
❌ Ошибка: Спутать значимый результат критерия с сильной связью между признаками — «раз $p<0{,}05$, значит признак важный».
✅ Правильно: Отдельно оценивать статистическую значимость (через $p$-value) и практическую силу связи (через коэффициент Крамера $V$ или похожие меры).
💡 Почему: При больших выборках критерий хи-квадрат обнаруживает даже крошечные по величине связи как статистически значимые (пример с типом устройства и кликом в этом уроке — $p\approx0{,}0019$, но $V\approx0{,}08$, слабая связь) — значимость и сила эффекта отвечают на разные вопросы.
❌ Ошибка: Использовать статистику хи-квадрат критерия независимости, забыв, что степени свободы считаются как $(r-1)(c-1)$, а не как $rc-1$ или число ячеек минус единица.
✅ Правильно: Всегда считать $df=(r-1)(c-1)$ для таблицы $r\times c$ и $df=m-1-p$ для критерия согласия с $p$ оценёнными параметрами.
💡 Почему: Неверное число степеней свободы меняет и критическое значение, и $p$-value — можно получить прямо противоположный вывод о значимости, используя формально ту же самую статистику.
❌ Ошибка: Забыть вычесть степени свободы за каждый параметр теоретического распределения, оценённый по тем же данным (например, при проверке согласия с нормальным или пуассоновским распределением, параметры которого оценены по выборке).
✅ Правильно: Отдельно считать $p$ — число параметров, оценённых по данным для построения теоретического распределения, и вычитать его из $m-1$.
💡 Почему: Оценка параметров по той же самой выборке, для которой строится критерий, «подгоняет» теоретическое распределение под данные и искусственно занижает расхождение $(O-E)^2$ — недооценённые степени свободы завышают критическое значение и делают критерий неоправданно консервативным.
❌ Ошибка: Интерпретировать статистически незначимый результат критерия независимости («$p>0{,}05$, не отвергаем $H_0$») как доказательство того, что признаки точно независимы.
✅ Правильно: Формулировать вывод как «недостаточно оснований отвергнуть гипотезу о независимости», а не как «доказана независимость».
💡 Почему: Отсутствие статистически значимого результата может объясняться слишком маленькой выборкой, а не реальным отсутствием связи — критерий с недостаточной статистической мощностью просто не способен обнаружить существующую, но небольшую по величине связь.
❌ Ошибка: Проверять несколько признаков-кандидатов через критерий хи-квадрат по отдельности и отбирать все со значимым $p<0{,}05$, не учитывая проблему множественных сравнений.
✅ Правильно: При одновременной проверке $k$ признаков применять поправку (Бонферрони или менее консервативную поправку Бенджамини — Хохберга), снижающую порог значимости пропорционально числу тестов.
💡 Почему: При проверке многих гипотез одновременно вероятность получить хотя бы один ложноположительный результат по чистой случайности растёт с числом тестов — без поправки в модель рискуют попасть признаки, «прошедшие» порог значимости просто по совпадению, что наглядно показано в задании 30 этого урока.
Главное запомнить
✅ Распределение хи-квадрат $\chi^2_k$ — распределение суммы квадратов $k$ независимых стандартных нормальных величин; $\mathbb{E}[\chi^2_k]=k$, $\mathbb{D}[\chi^2_k]=2k$, форма асимметрична и с ростом $k$ приближается к нормальной
✅ Критерий согласия Пирсона проверяет, соответствует ли эмпирическое распределение одного категориального признака заданной теоретической модели: $\chi^2=\sum\dfrac{(O_i-E_i)^2}{E_i}$, $df=m-1-p$
✅ Критерий независимости проверяет статистическую связь между двумя категориальными признаками через таблицу сопряжённости: та же формула статистики, но $E_{ij}=\dfrac{(\text{строка})\cdot(\text{столбец})}{n}$, $df=(r-1)(c-1)$
✅ Число степеней свободы — это число «свободно варьируемых» разностей $(O-E)$, оставшихся после учёта всех линейных ограничений (равенство сумм, фиксированные маргинальные суммы таблицы, оценённые по данным параметры)
✅ Условие применимости: все ожидаемые частоты $E\ge5$ (правило Кохрена допускает не более $20\%$ клеток с $E$ от $1$ до $5$ и ни одной меньше $1$); при нарушении — объединение категорий, поправка Йетса или точный критерий Фишера
✅ Статистическая значимость (маленькое $p$-value) и практическая сила связи — разные вещи; для оценки силы связи используют коэффициент Крамера $V=\sqrt{\dfrac{\chi^2}{n\cdot\min(r-1,c-1)}}$
✅ Для таблиц $2\times2$ критерий хи-квадрат математически эквивалентен $z$-тесту для разности двух пропорций: $z^2=\chi^2$
✅ Статистика хи-квадрат прямо пропорциональна объёму выборки при фиксированных относительных долях — одинаковый по величине эффект при большей выборке легче обнаружить статистически
✅ В машинном обучении критерий независимости — стандартный инструмент отбора категориальных признаков (sklearn.feature_selection.chi2): признаки ранжируются по статистике, признаки с большим $p$-value — кандидаты на исключение
✅ При проверке многих признаков одновременно необходима поправка на множественные сравнения (Бонферрони и аналоги) — иначе часть «значимых» признаков окажется значимой лишь по случайному совпадению
Связь с другими темами курса
🔙 Откуда пришли: Из урока 247 — общая логика проверки статистических гипотез (нулевая и альтернативная гипотезы, уровень значимости, $p$-value, ошибки первого и второго рода); из урока о многомерных случайных величинах — определение независимости через факторизацию совместного распределения, которое критерий независимости проверяет статистически на конечной выборке
🔜 Куда идём:
- Регрессионный анализ (урок 249) — следующий шаг после проверки связи категориальных признаков: построение количественной модели зависимости целевой переменной от признаков, в том числе через кодирование категориальных переменных
- Дисперсионный анализ (ANOVA) — родственный по духу критерий, но для сравнения средних значений числового признака между несколькими группами, а не частот категорий
- Отбор признаков в машинном обучении — критерий хи-квадрат как один из фильтрующих методов наравне с взаимной информацией и другими статистическими мерами связи
🎯 В машинном обучении: Критерий хи-квадрат — часть стандартного набора фильтрующих методов отбора признаков для категориальных данных, доступен как sklearn.feature_selection.chi2 и SelectKBest; таблицы сопряжённости и метод pd.crosstab в pandas — прямой инструмент для построения входных данных критерия; коэффициент Крамера, производный от статистики хи-квадрат, используется как мера ассоциации в разведочном анализе данных наравне с корреляционной матрицей для числовых признаков.
Интересные факты
📌 Первое громкое практическое применение критерия хи-квадрат в 1900 году было связано вовсе не с наукой, а с азартными играми: Карл Пирсон применил свой новый критерий к результатам вращений колеса рулетки в казино Монте-Карло и обнаружил статистически значимое отклонение от теоретически ожидаемой равномерности исходов — популярная пресса того времени охотно писала об этом как о доказательстве «нечестности» казино.
📌 Формула степеней свободы Пирсона изначально содержала ошибку: он полагал, что число степеней свободы критерия независимости для таблицы $r\times c$ равно $rc-1$, не учитывая дополнительного уменьшения из-за фиксированных маргинальных сумм. Правильную формулу $(r-1)(c-1)$ вывел и обосновал Рональд Фишер только в 1922 году — спустя более двадцати лет после исходной работы Пирсона, что стало одним из редких публичных научных споров между двумя гигантами статистики XIX–XX веков.
📌 Критерий хи-квадрат для таблиц сопряжённости математически эквивалентен $z$-тесту для разности двух пропорций в частном случае таблицы $2\times2$: квадрат $z$-статистики в точности равен статистике хи-квадрат, что ты проверил на числах в задании 26 этого урока. Это не совпадение, а прямое следствие того, что распределение хи-квадрат с одной степенью свободы — это распределение квадрата одной стандартной нормальной величины.
📌 Точный критерий Фишера, разработанный тем же Рональдом Фишером в 1922 году специально для таблиц $2\times2$ с маленькими частотами, вообще не использует приближение распределением хи-квадрат — вместо этого он напрямую считает точную гипергеометрическую вероятность конкретной наблюдаемой таблицы и всех «более экстремальных» таблиц с теми же маргинальными суммами. Легенда гласит, что метод был придуман после спора Фишера с коллегой-биологом Мюриэл Бристоль, утверждавшей, что может на вкус отличить чай, в который сначала налили молоко, от чая, куда молоко добавили после заварки, — знаменитый «эксперимент с дегустацией чая».
Лайфхаки и полезные трюки
💡 Перед тем как вообще считать статистику хи-квадрат по таблице сопряжённости, быстро прикинь минимальную ожидаемую частоту — она всегда будет в клетке на пересечении самой маленькой строки и самого маленького столбца. Если уже на этом шаге видно, что она заметно меньше $5$, не трать время на полный расчёт — сразу планируй объединение категорий.
💡 Для быстрой прикидки «на глаз», связаны ли два категориальных признака, построй таблицу сопряжённости в долях по строкам (pd.crosstab(df['X'], df['Y'], normalize='index') в pandas) — если доли по строкам заметно различаются между собой, скорее всего критерий покажет значимую связь; если доли почти одинаковы во всех строках, скорее всего $H_0$ не будет отвергнута.
💡 При отборе признаков через sklearn.feature_selection.chi2 обрати внимание: функция ожидает неотрицательные значения признаков (это исторически заточено под частоты и счётчики, как в задачах обработки текста), поэтому для произвольных категориальных признаков их сначала нужно преобразовать через унитарное или порядковое кодирование, а не подавать напрямую строковые метки.
💡 Если статистика оказалась в узком «пограничном» диапазоне около критического значения (как в задании 29 этого урока), не спеши делать окончательный вывод на основании одной выборки — собери дополнительные данные или явно укажи в отчёте, что результат пограничный, вместо того чтобы округлять вывод до уверенного «да» или «нет».
💡 Держи в голове два ориентира одновременно: $p$-value отвечает на вопрос «есть ли вообще статистически обоснованная связь», а коэффициент Крамера $V$ — на вопрос «насколько эта связь сильна практически». При больших выборках первое почти всегда отвечает «да» даже для незначительных эффектов, поэтому именно второй ориентир помогает не захламлять модель признаками с формальной, но бесполезной на практике значимостью.
💡 При проверке сразу нескольких категориальных признаков-кандидатов не забывай про поправку на множественные сравнения — простое правило: раздели желаемый уровень значимости $\alpha$ на число одновременно проверяемых признаков (поправка Бонферрони) как минимальную защиту от переоценки числа «полезных» признаков, даже если для финального отбора потом используешь более мягкую поправку.
Критерий хи-квадрат — один из тех редких статистических инструментов, которые почти за сто двадцать пять лет использования не устарели ни на йоту: формула, выведенная Пирсоном в 1900 году для проверки честности рулетки, сегодня работает внутри вызова одной строчки кода при отборе признаков для градиентного бустинга. За этой формулой стоит простая и мощная идея — превратить расплывчатое ощущение «частоты выглядят подозрительно неравномерными» в одно число, которое можно сравнить с чётким порогом и получить обоснованный, а не интуитивный ответ. Теперь ты умеешь строить это число двумя способами — сравнивая один признак с теоретической моделью и сравнивая два признака между собой, — понимаешь, откуда берётся число степеней свободы и когда критерию вообще можно доверять. В следующем уроке эта линия продолжится: регрессионный анализ покажет, что делать, когда вместо категориальной связи нужно построить количественную модель зависимости — но проверка того, стоит ли вообще включать категориальный признак в такую модель, теперь в твоём арсенале.
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку