5 статистических тестов, которые должен знать каждый начинающий в Data Science
Data Science — это не только построение моделей машинного обучение и разработка подходящих архитектур нейросетей.
Для полноценного понимания всех методов и алгоритмов, лежащих в основе науки о данных, важно иметь фундаментальное представление о статистических тестах. Они служат основой для анализа и интерпретации данных, позволяют принимать обоснованные решения и понимать влияние полученных результатов.
Сегодня рассмотрим 5 самых важных и популярных статистических тестов: что они из себя представляют, когда их использовать и как их реализовать с помощью Python.
T-тест (t-критерий Стьюдента)
Объяснение
T-тест сравнивает средние значения двух групп. Чаще всего он используется при проверке гипотез для определения того, влияет ли лечение или процесс на две группы, или же для того, чтобы определить, существенно ли отличаются друг от друга две группы.
Формула
Когда использовать T-тест
T-тесты подходят для сравнения средних значений двух групп. Для трех или более групп используйте ANOVA (будет обсужден далее) или post-hoc тесты.
Предположения
Применение t-критерия Стьюдента преполагает:
При несоблюдении этих условий при сравнении выборочных средних следует использовать методы непараметрической статистики, среди которых наиболее известными являются U-критерий Манна — Уитни (для независимых выборок), а также критерий знаков и критерий Уилкоксона (используются в случаях зависимых выборок).
Типы T-тестов
- Парный t-критерий: Для одной популяции для проведения исследований «до и после».
- t-критерий для независимых выборок: Для двух независимых популяций.
- Одновыборочный t-критерий: Для сравнения одной группы со стандартным значением.
Выбор правильного T-теста
- Парный t-критерий: Одна популяция, до и после проведения тестирования или процесса.
- t-критерий для независимых выборок: Две разные популяции.
- Одновыборочный t-критерий: Одна группа сравнивается со стандартным значением.
- Двусторонний t-критерий: Проверяет наличие значимой разницы между группами (больше или меньше) и используется, когда направление различий не предсказано или не имеет значения.
- Односторонний t-критерий: Проверяет конкретное направленное отличие между группами и используется, когда есть чёткое предположение о том, какая группа будет иметь большее среднее.
Примеры использования
- Клинические испытания: Сравнение эффективности двух видов лечения.
- A/B-тестирование: Для оценки влияния различных маркетинговых стратегий или изменений в продукте.
Реализация на Python
import scipy.stats as stats group1 = [23, 29, 25, 26, 30, 30, 24, 31] group2 = [27, 20, 24, 27, 28, 22, 32, 21] t_statistic, p_value = stats.ttest_ind(group1, group2) print(f"T-критерий: {t_statistic}, P-value: {p_value}")
Интерпретация результатов
После проведения T-теста важно правильно интерпретировать p-value и оценить статистическую значимость. Ключевые моменты:
- Уровень значимости (α): Обычно устанавливается на уровне 0.05, помогает решить, отвергать ли нулевую гипотезу.
- Величина эффекта: Измеряет величину различий между группами и предоставляет информацию о том, насколько эти различия значимы.
ANOVA (Дисперсионный анализ)
Объяснение
ANOVA (ANalysis Of VAriance) является методом математической статистики для сравнения трёх и более групп, помогая определить, есть ли между ними значимые и существенные различия.
Суть дисперсионного анализа сводится к изучению влияния одной или нескольких независимых переменных, обычно именуемых факторами, на зависимую переменную.
Проведем аналогию: это сравнимо с ролью члена жюри на конкурсе талантов, который решает, влияет ли определённый фактор на результат больше, чем другие.
Формула
Формула используется для нахождения F-критерия:
Когда использовать ANOVA
ANOVA подходит для сравнения средних трёх и более групп. Для сравнения двух групп лучше использовать T-тест. Если данные не соответствуют предположениям ANOVA, лучше воспользоваться непараметрическими тестами, например, обратиться к критерию Краскела — Уоллиса.
Однофакторный дисперсионный анализ
Используется, когда есть одна категориальная независимая переменная с тремя или более группами и одна непрерывная зависимая переменная. Тест проверяет, есть ли значимые различия в зависимой переменной между группами.
Примеры
- Анализ влияния различных диет (A, B, C) на потерю веса.
- Тестирование уровня потребления кофеина (низкий, средний, высокий) и его влияние на бодрость.
- Сравнение показателей продаж (непрерывная зависимая переменная) в трёх различных магазинах (3 магазина — независимая категориальная переменная).
Двухфакторный дисперсионный анализ
Подходит для случаев, когда у вас есть две категориальные независимые переменные и одна непрерывная зависимая переменная. Тест помогает исследовать индивидуальные и комбинированные эффекты этих переменных.
Примеры
- Изучение влияния методов обучения (онлайн, очно) и уделяемого учебе времени (низкое, среднее, высокое) на успеваемость студентов.
- Изучение того, как степень орошения и виды удобрений влияют на урожайность.
Примеры использования
- Исследования рынка: Вы тестируете различные линейки продуктов, чтобы выяснить, какая из них нравится покупателям больше всего. ANOVA поможет вам выяснить, действительно ли одна из них выделяется на фоне других.
- Клинические испытания: Вы сравниваете три разных препарата, чтобы выяснить, какой из них наиболее эффективен для снижения кровяного давления. ANOVA поможет определить, работает ли один из них лучше других.
Реализация на Python
import scipy.stats as stats group1 = [20, 23, 25, 27] group2 = [30, 33, 35, 37] group3 = [40, 43, 45, 47] f_statistic, p_value = stats.f_oneway(group1, group2, group3) print(f"F-критерий: {f_statistic}, P-value: {p_value}")
Интерпретация результатов
После проведения дисперсионного анализа нужно понимать, как верно интерпретировать полученные результаты:
- Уровень значимости (α): Если p-value меньше, чем α, обычно принимаемого за 0.05, можно отвергать нулевую гипотезу.
- Post-hoc анализ: Если результаты ANOVA показывают значимые различия, проведите более глубокий post-hoc тест, например, тест Тьюки, чтобы выяснить, какие именно группы различаются.
Критерий хи-квадрат
Объяснение
Критерий хи-квадрат оценивает взаимосвязь между категориальными переменными для проверки их независимости друг от друга.
Формула
Когда использовать критерий хи-квадрат
Этот тест подходит, когда данные распределены по категориям, для проверки наличия взаимосвязи между двумя переменными. Например, поможет определить, влияют ли на предпочтения клиентов возраст или пол.
Предположения
- Независимые наблюдения (каждое должно относиться только к одной категории).
- Ожидаемые частоты, как правило, должны быть не менее 5.
- Переменные должны измеряться на номинальном или порядковом уровне.
Общий объем выборки должен быть достаточно большим
Типы теста χ²
- Тест на независимость (Chi-Square Test of Independence): Используется для проверки того, связаны ли две категориальные переменные.
- Тест на гомогенность (Chi-Square Goodness-of-Fit Test): Используется для проверки соответствия наблюдаемого распределения категориальной случайной величины некоторому эталонному распределению.
Примеры использования
- Сегментация клиентов: Задача — выяснить, предпочитают ли возрастные группы разные товары. χ² позволит вам узнать, влияет ли возраст на клиентский выбор.
- Анализ розничной торговли: Задача — понять, отличается ли покупательское поведение в разных магазинах. χ² поможет определить, влияет ли местоположение на покупки покупателей.
Реализация на Python
import scipy.stats as stats observed = [[20, 30, 25], [15, 25, 20]] chi2_stat, p_value, dof, expected = stats.chi2_contingency(observed) print(f"Критерий хи-квадрат: {chi2_stat}, P-value: {p_value}")
Интерпретация результатов
После проведения теста χ² внимательно проинтерпретируйте полученные результаты:
- Уровень значимости (α): Если p-value ниже, чем α (обычно — 0.050, есть достаточные основания считать, что переменные взаимосвязаны.
- Величина эффекта (Значение V Крамера): Показывает, насколько сильна связь между переменными, и предоставляет вам больше информации о значимости.
Коэффициент корреляции Пирсона
Объяснение
Коэффициент корреляции Пирсона описывает связь между двумя переменными. Он показывает, приводит ли увеличение одной переменной к увеличению или уменьшению значения другой. Коэффициент варьируется от -1 до +1 и характеризует силу и направление взаимосвязи.
Формула
Когда использовать коэффициент корреляции Пирсона
Коэффициент корреляции Пирсона следует использовать, когда нужно определить линейную связь между двумя непрерывными переменными. Если взаимосвязь нелинейна или данные не соответствуют предположениям о нормальности, можно использовать другие меры корреляции и, например, провести тест ранговой корреляции Спирмена.
Предположения
- Обе переменные должны быть непрерывными и нормально распределенными.
- Между переменными должна существовать линейная связь.
- Выбросы должны быть минимальными, так как они могут сильно исказить результаты.
Примеры использования
- Отбор признаков: Определение сильно коррелирующих переменных в машинном обучении.
- Маркетинг: Оценка связи между расходами на рекламу и доходами от продаж.
Реализация на Python
import scipy.stats as stats x = [43, 21, 25, 42, 57, 59] y = [99, 65, 79, 75, 87, 81] correlation, p_value = stats.pearsonr(x, y) print(f"Коэффициент корреляции Пирсона: {correlation}, P-value: {p_value}")
Интерпретация результатов
- Значение корреляции: Значение, близкое к +1, указывает на сильную положительную связь, значение около -1 — на сильную отрицательную связь, а значение около 0 — на отсутствие линейной взаимосвязи.
- P-value: Помогает определить значимость корреляции. Если оно ниже α-уровня (обычно 0.05), корреляция является статистически значимой.
Регрессионный анализ
Объяснение
Регрессионный анализ — набор статистических методов исследования влияния одной или нескольких независимых переменных на зависимую переменную Y
Это основной метод для понимания тенденций и составления прогнозов на основе данных, например, для прогнозирования продаж или поведения клиентов.
Формула
- y — Зависимая переменная (то, что вы прогнозируете)
- x — Независимая переменная
- β0 — Свободный член, значение точки пересечения оси ординат
- β1 — Коэффициент наклона
- ϵ — Случайная ошибка, которая учитывает влияние всех других факторов, которые не были включены в модель
Когда использовать регрессионный анализ
Регрессионный анализ используется, когда вы хотите предсказать значение зависимой переменной по одной или нескольким независимым переменным. Для простой линейной зависимости достаточно простой линейной регрессии. Для более сложных отношений может потребоваться множественная или полиномиальная регрессия.
Предположения
- Линейность: Связь между независимыми и зависимыми переменными должна быть линейной.
- Независимость: Наблюдения должны быть независимы друг от друга.
- Гомоскедастичность: Это означает, что разброс ошибок прогнозирования остается постоянным для всех значений независимой переменной (переменных).
- Нормальность: Остатки должны быть нормально распределены.
Примеры использования
- Прогнозирование в бизнес-сфере: Прогнозирование будущих продаж на основе расходов на рекламу или экономических показателей.
- Здравоохранение: Оценка риска заболевания пациента на основе факторов образа жизни.
- Инженерия: Моделирование потребления энергии на основе изменения температуры.
Реализация на Python
from sklearn.linear_model import LinearRegression import numpy as np X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1) y = np.array([3, 4, 2, 5, 6]) model = LinearRegression() model.fit(X, y) predicted = model.predict(X) print(f"Свободный член: {model.intercept_}, Коэффициент наклона: {model.coef_[0]}")
Интерпретация результатов
- Коэффициент наклона (β1): Показывает, насколько изменяется зависимая переменная при увеличении независимой переменной на единицу.
- Свободный член (β0): Представляет собой ожидаемое значение зависимой переменной, когда независимая переменная равна нулю.
- Коэффициент детерминации (R^2): Показывает, насколько хороша построенная модель. Значение, близкое к 1 указывает на лучшее соответствие.