Анализ данных • 24 июля 2024 • 5 мин чтения

Статистические тестирования: для чего они нужны и как их проводить

Аналитики данных помогают бизнесу находить неочевидные закономерности и проверять гипотезы с помощью статистических тестов. Рассказываем, в чём их суть и как их проводят.

Что такое статистические тесты

Аналитики данных применяют в работе три раздела статистики:

1. Описательная статистика. Используется для описания характеристик набора данных. Есть, например, среднее, медиана, стандартное отклонение.

2. Корреляционный анализ. Статистический метод, с помощью которого исследуют взаимосвязи между наборами данных. При этом не всегда отсутствие корреляции значит, что связи нет, и наоборот.

3. Индуктивная статистика. Помогает делать выводы о популяции на основе выборок. Сюда как раз относят статистические тестирования.

Александр Вальд, продакт-менеджер на стримах парсинга и доказательной аналитики Aplaut.com, основатель компании в сфере аналитики Wilde.tech, старший наставник на курсе «Аналитик данных» в Яндекс Практикуме
Аналитики данных используют статистику, чтобы проверять гипотезы и получать инсайты для компании, в которой работают. Главное — это решить задачу бизнеса максимально быстро и понятно. Для этого не обязательно знать статистику на университетском уровне и помнить все формулы. Но важно понимать, как использовать статистический анализ в коде на Python.

Научиться решать задачи бизнеса с помощью статистики можно на курсе Практикума «Аналитик данных». После окончания учёбы студенты смогут проводить тестирования, создавать дашборды и рассчитывать ключевые метрики компании.

Вернёмся к статистическим тестам: они помогают определить, насколько важны различия между выборками. Выборка — это часть генеральной совокупности, которую ещё называют всей совокупностью объектов, или популяцией. Выборка должна быть репрезентативной, то есть обладать характеристиками генеральной совокупности. Например, генсовокупность — все люди, которые покупали что-то в интернете, а выборка — это 1000 случайных людей из всех тех, кто приобретал что-то онлайн.

Разберём суть статистических тестов на примере тестирования медицинского препарата. Пример упрощён: в реальности в таких тестах используют двойной слепой метод, когда участники и исследователи не знают деталей эксперимента до его окончания.

Есть две группы людей, которые принимали новые таблетки для повышения уровня IQ. Прежде чем проводить тест, необходимо выдвинуть гипотезу. Результаты теста покажут, подтверждается она или нет. Статистические гипотезы обычно делятся на две: нулевую и альтернативную.

Нулевая гипотеза (H0)

Утверждает, что между переменными нет статистически значимой разницы или связи.

Например, после принятия таблеток IQ в выборке не изменился.

Альтернативная гипотеза (H1)

Противоречит нулевой: между переменными существует статистически значимая разница или связь.

Например, после принятия таблеток IQ в выборке статистически значимо изменился — повысился.

При проведении статистического теста аналитик обычно начинает с предположения, что нулевая гипотеза верна, и пытается опровергнуть её. Если полученные данные не согласуются с нулевой гипотезой, аналитик принимает альтернативную гипотезу. При этом даже когда результат подтверждает нулевую гипотезу, это не обязательно означает, что она верна, — всегда существует вероятность ошибки.

Есть два типа ошибок:

1. Ошибка первого рода. В результате теста нулевую гипотезу не принимают, но на самом деле она верна.

2. Ошибка второго рода. Нулевую гипотезу принимают, но на самом деле она не верна.

Результат теста должен быть статистически значимым — то есть он с высокой вероятностью не случаен и отражает реальную ситуацию. Статистическую значимость в аналитике данных обозначают показателем p-value. Ещё существует уровень значимости alpha — вероятность ошибки первого рода, когда есть риск отвергнуть истинную нулевую гипотезу. Обычно аналитики используют значение alpha 0,05 (5%), для повышения точности иногда берут 0,01 (1%).

Александр Вальд
При проведении статистического тестирования задача аналитика — найти p-value и сравнить его с alpha. Если p-value меньше, нулевую гипотезу отклоняют. Если больше — для отклонения нулевой гипотезы нет оснований. Но это не значит, что она верна. Просто нет оснований.

Какими бывают статистические тесты

Виды статистических тестов различают по особенностям данных, которые нужно протестировать, и целям тестирования. Разберём подробнее два типа: параметрические и непараметрические.

Параметрические тесты

Параметрические тесты предполагают, что данные распределяются по определённому шаблону. Часто это нормальное (или Гауссово) распределение — в виде колокола. Если изобразить его на графике, большинство значений сосредоточено вокруг среднего, а крайние значения встречаются редко.

Продолжим пример с IQ. Распределение коэффициента интеллекта нормальное, то есть среднее значение IQ всех людей стремится к 100. Поэтому проверка действия таблеток для ума — это параметрический тест. Препарат дают членам тестовой выборки и анализируют результаты на основе средних значений.

Распределение уровня IQ в человеческой популяции стремится к нормальному

Параметрические тесты используют в разных областях, например:

● в медицине, когда нужно проверить эффективность новых препаратов;
● на производстве, когда нужно исследовать материалы на прочность;
● в экологии — для анализа изменения температуры или загрязнения окружающей среды;
● в образовании — для сравнения разных методик обучения.

Непараметрические тесты

В непараметрических тестах нет предположений о распределении данных. То есть нет среднего значения, на основе которого можно анализировать результаты статистических тестирований. Это бывает, например, когда объём выборки слишком мал, когда данные неоднородны или в них есть «выбросы» — значения, которые сильно отклоняются от общего распределения.

Представим, что компания производит бытовую технику и хочет узнать, насколько довольны её клиенты качеством нового продукта — робота-пылесоса. Компания проводит опрос среди тех, кто уже приобрёл этот продукт.

После проведения опроса получаются две группы данных: отзывы от клиентов, которые приобрели робот-пылесос через интернет-магазин, и отзывы от клиентов, которые купили его в обычном розничном магазине.

Компания хочет сравнить эти группы отзывов, чтобы понять, есть ли существенные различия в уровне удовлетворённости клиентов в зависимости от канала покупки. Но данные могут не соответствовать нормальному распределению, поскольку отзывы — это субъективные оценки. Тогда аналитики используют непараметрический тест.

Материал по теме:

Выживет сильнейший: как с помощью A/B‑тестов проверяют гипотезы

Методы тестирования

Показать методы статистического тестирования можно на трёх вариантах параметрического t-теста — это одни из самых часто используемых методов в аналитике данных.

Независимый t-test

Независимый t-тест (двухвыборочный t-тест) используют для сравнения средних значений двух независимых групп. Он помогает определить, есть ли статистически значимые различия между ними.

Например, отличаются ли средние оценки за тест у двух групп студентов.

● H0: средние оценки групп студентов равны.
● H1: средние оценки не равны.

Вот как выглядит код статистического тестирования:

import numpy as np
from scipy import stats

# Данные выборки для двух групп
group1 = [72, 68, 75, 70, 71, 74, 69, 70, 72, 68]
group2 = [78, 82, 85, 90, 86, 79, 84, 80, 83, 88]

# Проведение независимого t-теста
t_stat, p_value = stats.ttest_ind(group1, group2)

# Вывод результатов
print("t-статистика:", t_stat)
print("p-значение:", p_value)

# Интерпретация результатов
alpha = 0.05
if p_value < alpha:
print("Отклоняем нулевую гипотезу: средние значения различаются")
else:
print("Не отклоняем нулевую гипотезу: средние значения не различаются")

Парный t-test

Парный t-тест подходит для сравнения средних значений двух связанных выборок. Например, когда измерения проводили на одних и тех же объектах до и после вмешательства или в разных условиях.

Мы хотим проверить, изменились ли оценки студентов после прохождения курса подготовки.

● H0: средняя оценка студентов не изменилась после курса.
● H1: средняя оценка студентов изменилась после курса.

Вот как выглядит код статистического тестирования:

import numpy as np
from scipy import stats

# Данные для двух условий (до и после курса подготовки)
before = [72, 68, 75, 70, 71, 74, 69, 70, 72, 68]
after = [78, 82, 85, 90, 86, 79, 84, 80, 83, 88]

# Проведение парного t-теста
t_stat, p_value = stats.ttest_rel(before, after)

# Вывод результатов
print("t-статистика:", t_stat)
print("p-значение:", p_value)

# Интерпретация результатов
alpha = 0.05
if p_value < alpha:
print("Отклоняем нулевую гипотезу: средние значения различаются")
else:
print("Не отклоняем нулевую гипотезу: средние значения не различаются")

Одновыборочный t-test

С помощью одновыборочного t-теста (или одновыборочного теста Стьюдента) можно проверить гипотезы о том, что среднее значение выборки соответствует известному значению или эталону. Например, мы хотим проверить, отличается ли средняя оценка выборки студентов от известного значения 90.

● H0: средняя оценка выборки равна 90.
● H1: средняя оценка выборки не равна 90.

Вот как выглядит код статистического тестирования:

import numpy as np
from scipy import stats

# Данные выборки
data = [72, 68, 75, 70, 71, 74, 69, 70, 72, 68]

# Известное среднее значение
mu_0 = 90

# Проведение одновыборочного t-теста
t_stat, p_value = stats.ttest_1samp(data, mu_0)

# Вывод результатов
print("t-статистика:", t_stat)
print("p-значение:", p_value)

# Интерпретация результатов
alpha = 0.05
if p_value < alpha:
print("Отклоняем нулевую гипотезу: среднее значение отличается от 90")
else:
print("Не отклоняем нулевую гипотезу: среднее значение не отличается от 90")

Кроме t-теста, есть и другие параметрические, например ANOVA (Analysis of Variance) — для сравнениях значений, когда выборок больше двух. А вот примеры непараметрических тестов:

Критерий Манна — Уитни. Проводят для того, чтобы сравнить медианы двух независимых выборок. Например, различаются ли медианные доходы мужчин и женщин в компании.

χ²-тест (тест хи-квадрат). Применяют для проверки гипотез о зависимости между категориальными переменными. Например, существует ли связь между полом человека и транспортом, на котором он передвигается по городу.

Этапы статистического тестирования

Этапы статистического тестирования могут меняться — всё зависит от метода и цели анализа. Но можно выделить несколько основных шагов, по которым проводят такие тесты. Разберём их на примере эксперимента с препаратом для повышения уровня IQ.

1. Формулировка гипотезы. Нужно сформулировать гипотезу, которую хочется проверить.

Нулевая гипотеза: после принятия таблеток IQ в выборке не изменился.

Альтернативная гипотеза: после принятия таблеток IQ в выборке статистически значимо изменился.

2. Выборка. Определяем, какой размер выборки нужен для проверки гипотезы. Например, сколько людей необходимо протестировать после приёма препарата. Это число считают по формулам, таблицам или с помощью специальных калькуляторов, которые есть в открытом доступе.

3. Подготовка данных. После сбора данных нужно убедиться, что они подходят для анализа. Например, почистить их от ошибок или преобразовать в нужный формат.

Александр Вальд
Этап предобработки данных очень важен в работе аналитика. Есть такая поговорка: «garbage in — garbage out», то есть «мусор на входе — мусор на выходе». Если не провести предобработку данных, магия статистики не сработает.

4. Выбор типа теста. В случае с медицинским экспериментом подойдёт параметрический парный t-тест. Мы сравниваем значения двух зависимых выборок — это участники эксперимента до приёма таблеток и после.

5. Статистический анализ. Нужно рассчитать статистические показатели и p-value. Если p-value меньше показателя alpha, можно отвергнуть нулевую гипотезу и принять альтернативную.

6. Интерпретация результатов. После проведения анализа нужно проанализировать полученные результаты. Представим, что после исследования мы приняли альтернативную гипотезу — таблетки работают.

Статистические тесты помогают компаниям проверять гипотезы и получать инсайты. Но для этого нужно правильно определить выборку, подготовить данные и проанализировать результаты

Совет эксперта

Александр Вальд
Начинающие аналитики данных могут прочитать книгу Владимира Савельева «Статистика и котики». Ещё поможет разобраться в теме бесплатный курс по статистике от Яндекс Практикума. Но даже если человеку не нравится статистика, это не повод отчаиваться. В некоторых специальностях её много — например, в продуктовом анализе и data science. Но есть направления, где статистика используется не так часто и не так активно, — например, BI-аналитика.
Статью подготовили:
Александр Вальд
Яндекс Практикум
Старший наставник на курсе «Аналитик данных», продакт-менеджер на стримах парсинга и доказательной аналитики Aplaut.com, основатель компании в сфере аналитики Wilde.tech
Надежда Низамова
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться
Идеи новогодних подарков от нейросети + промокоды на курсы Практикума и акции от партнеров
Wed Aug 14 2024 16:02:42 GMT+0300 (Moscow Standard Time)