Быстрый способ сравнения средств с использованием библиотеки Python

Ссылка на Youtube для этого блога: реализация T-теста на python

Статистика играет жизненно важную роль не только в анализе данных, но и в принятии решений. Существует множество тестов, которые статистики используют для получения наиболее точной информации из данных. Здесь я рассмотрю два основных статистических теста: t-критерий и дисперсионный анализ.

Т-тест:

T-тест сравнивает среднее значение между двумя интересующими группами. Если мы попросим обычного человека сравнить средние значения между группами, он / она просто вычислит среднее значение первой группы, а затем среднее значение второй группы и, наконец, сравнит, но это не то, что будет делать статистик. Когда рассчитывается разница между средними, возникает простой вопрос. Является ли эта разница между средними статистически значимыми, чтобы сделать вывод о различии групп? Другими словами, нет никакой ссылки для сравнения разницы между средствами, если мы будем действовать таким образом. Т-тест - решение этой проблемы.

Скажем, у нас есть две секции учеников: секция A и секция B. Средние баллы по математике в секциях составляют 95 и 90 соответственно. Следовательно, разница составляет 5. Вопрос в том, является ли эта разница в 5 достаточным доказательством того, что средние баллы между двумя разделами различаются? Давайте углубимся в Т-тест.

Т-тест был назван так, потому что он был впервые введен статистиком по имени Уильям Сили Госсет под псевдонимом Стьюдент, и он первым ввел понятие t-статистики. Когда он провел проверку гипотезы, он сгенерировал тестовую статистику, называемую t-статистикой, которая в основном использовалась в качестве точки отсечения для сравнения. T-статистика рассчитывается следующим образом:

где t = t-статистика, x-bar = выборочное среднее, µ = гипотетическое среднее, s = стандартное отклонение выборки и n = общее количество выборок. Это значение сравнивается со значением t для области отклонения. В python есть много библиотек, которые могут выполнять этот тест и предоставлять t-статистику, а также p-значение. P-значения говорят нам о вероятности того, что выборка данных произошла случайно. Следовательно, если значение p невелико ( 5%), можно сделать вывод, что существует достаточно доказательств того, что собранные данные являются случайными. Утверждается, что нулевая гипотеза принимает обычное явление как случайное и не принимает различий между средними значениями. Альтернативная гипотеза - противоположная, утверждающая, что существует разница между средними значениями групп. Каждое t-значение имеет связанное с ним p-значение.

Вернемся к примеру с двумя разными разделами, чтобы сравнить средние оценки по математике. Нулевая гипотеза в этом случае будет утверждать, что нет никакой разницы между оценками разделов. В альтернативе будет указано, что между разделами есть разница. Это считается t-критерием для двух выборок. T-статистика для двух выборок равна

Одно из фундаментальных предположений для выполнения t-теста состоит в том, что обе выборки распределены нормально. Т-тест также может быть выполнен до и после применения любого конкретного лечения, которое называется «парный t-тест», для сравнения средних значений одной и той же группы, включая эффект лечения. Например, это можно использовать для количественной оценки воздействия ускоренного курса математики на учащихся только раздела A. Образцы данных должны быть собраны из раздела A до и после ускоренного курса, а затем выполнить тест.

ANOVA:

ANOVA обозначает дисперсионный анализ. Хотя он так назван, цель ANOVA - сравнить средние значения двух или более образцов. Когда мы углубимся в механизм, мы поймем, что вывод о средних значениях исходит из дисперсии, и поэтому он называется анализом дисперсии, а не анализом средних значений. Его можно рассматривать как расширение t-теста.

Суть ANOVA заключается в сравнении дисперсий между группами и внутри каждой из групп. Эти два термина обозначаются как «Сумма квадратов для обработок» или SST и «Сумма квадратов для ошибок» или SSE соответственно.

где k = количество групп, n = количество точек данных в выборках и x-двойная полоса = общее среднее значение.

Это выражение можно дополнительно упростить, чтобы включить дисперсии [1].

Средний квадрат лечения,

и средний квадрат ошибки,

Статистика теста,

Если MST высокий, F-значение также будет высоким и, следовательно, предоставит доказательства для отклонения нулевой гипотезы, которая утверждает, что средние значения равны среди групп. Математика показывает, что если дисперсия между группами выше, чем дисперсия внутри группы, SST, MST и, наконец, F-значение будут высокими.

Предположим, что наша расчетная тестовая статистика равна Fc. Значение p скажет нам, какова вероятность того, что статистика теста будет больше Fc. Другими словами, p-значение показывает вероятность того, что выборка данных произошла случайно. Следовательно, если значение p невелико ( 5%), высока вероятность того, что данные выбираются случайным образом, и мы заключаем, что недостаточно доказательств, чтобы отклонить нулевую гипотезу.

Код для t-теста:

Я взял простой набор данных, который показывает доход от различных продуктов для разных сотрудников и руководителей. Давайте сначала импортируем необходимые библиотеки

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

Окончательный фрейм данных будет выглядеть так:

Сумма и среднее значение доходов от Супервайзера-1 и Супервайзера-2 рассчитываются ниже.

Средние значения составляют 15137,47 и 14711,63 соответственно, и мы хотели бы провести t-тест на этих данных о доходах [2].

После запуска создается следующая таблица, показывающая несколько статистических данных, включая t-статистику, степень свободы и p-значение.

T-статистика составляет 1,283 с p-значением 0,199. Высокое значение p (›5%) говорит нам о том, что недостаточно доказательств, чтобы отвергнуть нулевую гипотезу. С другой стороны, мы можем сказать, что доказательств недостаточно, чтобы доказать, что групповые средние значения различны. Также показан 95% доверительный интервал. Коэн-d - это стандартизированная разница между двумя средними значениями, т.е. в этом случае два средних значения отличаются на 0,045 стандартного отклонения. BF10 представляет собой байесовский фактор, который представляет собой отношение вероятности H1 (альтернативная гипотеза) и H0 (нулевая гипотеза). В этом случае вероятность альтернативной гипотезы составляет всего 9%.

Код для ANOVA:

Я использовал две разные библиотеки для выполнения ANOVA. Сначала я использовал библиотеку pingouin [2], используя следующий код, который включает трекер времени для проверки продолжительности.

Подобный анализ также можно выполнить с помощью statmodels, в котором используется метод anova_lm. Мы получаем ту же информацию из этих двух библиотек, но продолжительность почти в 4 раза больше, чем из библиотеки pingouin. Если размер данных велик и нас интересует аналогичный результат, лучше выбрать pingouin.

Давайте интерпретируем результаты из библиотеки pingouin.

SS представляет собой сумму квадратов, а DF - степень свободы. Поскольку имеется четыре супервизора, степень свободы равна 3. MS - это среднеквадратическое значение, равное SS, деленному на DF. Рассчитанная F-статистика составляет 0,867 с p-значением 0,456, что говорит о том, что недостаточно доказательств, чтобы отвергнуть нулевую гипотезу. Поэтому нельзя сказать, что доходы, получаемые разными органами надзора, различаются.

Statmodels также генерирует такое же значение p для этих четырех групп.

Если кто-то заинтересован во включении другого фактора в Supervisor, анализ станет двусторонним и будет называться двусторонним ANOVA. Давайте включим «Идентификатор продукта» в качестве еще одного определяющего фактора для получения дохода. Мне нужно было переименовать столбец «Идентификатор продукта», так как между ними есть пробел.

Значение p для идентификатора продукта равно 0, что означает, что результаты значимы для этого фактора. Когда два фактора пересекаются, значение p становится равным 0,762, что по-прежнему не имеет значения. Следовательно, в этом случае двухфакторного дисперсионного анализа среднее значение дохода не является статистически значимым.

Вывод:

В этой статье демонстрируется реализация t-теста и ANOVA в среде Python. Статистические тесты, такие как ANOVA, являются очень важным тестом при запуске модели для машинного обучения. Для хорошей модели важно выбрать лучшие характеристики для ее обучения. ANOVA помогает это выяснить. Если мы сравним несколько групп и в итоге получим небольшое p-значение, мы можем сделать вывод, что между группами существует значительная разница, и эта функция должна быть выбрана для обучения модели.

Github

Ссылка:

[1] Статистика для менеджмента и экономики, 10-е издание, Джеральд Келлер.

[2] Документация Pingouin