рекомендации

суббота, 2 мая 2020 г.

Что такое критерий хи-квадрат и как он работает? Интуитивное объяснение с кодом R.


Вступление

«Наука продвигается, предлагая и проверяя гипотезы, а не объявляя вопросы неразрешимыми» - Ник Мацке

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

Похоже на главную проблему статистики? Это идея!

Итак, как вы будете проверять статистическую значимость между наблюдаемыми и ожидаемыми значениями? Помните, что это категориальная переменная - «дни недели» - с пятью категориями [понедельник, вторник, среда, четверг, пятница].

Один из лучших способов справиться с этим - использовать критерий хи-квадрат.

Мы всегда можем выбрать z-тесты, t-тесты или ANOVA, когда имеем дело с непрерывными переменными. Но ситуация становится более сложной при работе с категориальными функциями (как подтвердит большинство ученых!). Я обнаружил, что тест хи-квадрат очень полезен в моих собственных проектах.

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

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

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

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

Например, категория «Жанр фильма» в списке фильмов может содержать категориальные переменные - «Боевик», «Фэнтези», «Комедия», «Мелодрама» и т. д.

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

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

Что такое критерий хи-квадрат и почему мы его используем?

Критерий хи-квадрат - это критерий статистической значимости для категориальных переменных.

Давайте научимся использовать хи-квадрат на интуитивном примере.

Исследователь интересуется взаимоотношениями между приемом абитуриентов на статистический факультет известного университета и их оценкой C.G.P.A (итоговая оценка).

Он получает записи о зачислении за последние пять лет из базы данных (случайным образом). Он записывает, сколько абитуриентов попало в каждую из следующих групп: категории баллов - 9-10, 8-9, 7-8, 6-7 и ниже 6.

Если нет никакой связи между процентом зачисления и C.G.P.A., тогда принятые абитуриенты должны быть в равной степени распределены по разным категориям C.G.P.A. (т.е. в каждой категории должно быть одинаковое количество абитуриентов).

Тем не менее, если абитуриенты, имеющие C.G.P.A более 8, с большей вероятностью будут зачислены, то в высшей категории C.G.P.A. будет больше абитуриентов по сравнению с более низкими категориями C.G.P.A. В этом случае собранные данные будут составлять наблюдаемые частоты.

Таким образом, вопрос в том, являются ли эти частоты случайными?

Здесь вступает в дело тест хи-квадрат! Он помогает нам ответить на поставленный выше вопрос, сравнивая наблюдаемые частоты с частотами, которые можно получить случайно.

Критерий хи-квадрат в проверке гипотез используется для проверки гипотезы о распределении наблюдений/частот по различным категориям.

Примечание. Я настоятельно рекомендую ознакомиться с этой статьей, если вам нужно освежить свои концепции проверки гипотез.

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

Допущения теста Хи-квадрат

Как и любой другой статистический тест, тест хи-квадрат имеет несколько собственных предположений:
  • χ2 предполагает, что данные для исследования получены путем случайного отбора, то есть они выбираются из популяции случайным образом.
  • Категории являются взаимоисключающими, то есть каждый предмет относится только к одной категории. Например, из приведенного выше примера, число людей, которые обедали в вашем ресторане в понедельник, не может быть включено в категорию вторника.
  • Данные должны быть представлены в виде частот или количеств определенной категории, а не в процентах.
  • Данные не должны состоять из парных выборок или групп, то есть мы можем сказать, что наблюдения должны быть независимы друг от друга.
  • Когда более 20% ожидаемых частот имеют значение меньше 5, то хи-квадрат не может использоваться. Чтобы решить эту проблему, нужно либо объединить категории, только если это уместно, или получить больше данных.

Типы тестов хи-квадрат (с вычислениями вручную и с реализацией в R)

Тест хи-квадрат на адекватность модели

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

Давайте рассмотрим приведенный выше пример, в котором ученый-исследователь интересовался взаимоотношениями между приемом студентов на факультет статистики известного университета и их C.G.P.A.

В этом случае независимой переменной является C.G.P.A с категориями 9-10, 8-9, 7-8, 6-7 и ниже 6.

Статистический вопрос здесь заключается в следующем: одинаково ли распределены наблюдаемые частоты принятых студентов для разных категорий C.G.P.A (так, чтобы наше теоретическое распределение частот содержало одинаковое количество студентов в каждой из категорий C.G.P.A).

Мы упорядочим эти данные, используя таблицу сопряженности, которая будет состоять из наблюдаемых и ожидаемых значений, как показано ниже:

C.G.P.A

10-9
9-8
8-7
7-6
менее 6
всего
Наблюдаемая частота принятых студентов
30
35
20
10
5
100
Ожидаемая частота принятых студентов
20
20
20
20
20
100

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

где,

χ 2 = значение хи-квадрат
Oi = наблюдаемая частота
Ei = ожидаемая частота

Давайте посмотрим на пошаговый подход для вычисления значения хи-квадрат:

Шаг 1: Вычтите каждую ожидаемую частоту из соответствующей наблюдаемой частоты. Например, для категории C.G.P.A 10-9 это будет «30-20 = 10». Примените аналогичную операцию для всех категорий.
Шаг 2: возведите в квадрат каждое значение, полученное на шаге 1, то есть (O-E)2. Например: для категории C.G.P.A 10-9 значение, полученное на шаге 1, равно 10. Оно становится равным 100 при возведении в квадрат. Примените аналогичную операцию для всех категорий.
Шаг 3: Разделите все значения, полученные на шаге 2, на соответствующие ожидаемые частоты, то есть (O-E)2
/E. Например: для категории C.G.P.A 10-9 значение, полученное на шаге 2, равно 100. При делении его на соответствующую ожидаемую частоту, равную 20, оно становится равным 5. Примените аналогичную операцию для всех категорий.
Шаг 4: Сложите все значения, полученные на шаге 3, чтобы получить значение хи-квадрат. В этом случае значение хи-квадрат получается равным 32,5.
Шаг 5: После того, как мы вычислили значение хи-квадрат, следующая задача - сравнить его с критическим значением хи-квадрат. Мы можем найти его в приведенной ниже таблице хи-квадрат для различного количества степеней свободы (количество категорий - 1) и уровня значимости:


В этом случае степени свободы 5-1 = 4. Таким образом, критическое значение при уровне значимости 5% составляет 9,49.

Полученное нами  значение 32,5 намного больше, чем критическое значение 9,49. Поэтому можно сказать, что наблюдаемые частоты значительно отличаются от ожидаемых частот. Другими словами, C.G.P.A связан с количеством зачислений на факультет статистики.

Давайте еще больше укрепим наше понимание, выполнив тест хи-квадрат в R.

Тест хи-квадрат на адекватность модели в  R

Давайте реализуем критерий пригодности хи-квадрат в R. Время запустить RStudio!

Постановка задачи

Давайте разберемся с постановкой задачи, прежде чем погрузиться в R.
Организация утверждает, что опыт работы сотрудников разных отделов распределяется по следующим категориям:

11 - 20 лет = 20%
21 - 40 лет = 17%
6 - 10 лет = 41% и
До 5 лет = 22%

Произведена случайная выборка из 1470 сотрудников. Предоставляет ли эта случайная выборка доказательства против жалоб на компанию?

Вы можете скачать данные здесь.

Формулирование гипотезы

Нулевая гипотеза: истинные пропорции опыта работы сотрудников различных отделов распределены по следующим категориям: 11–20 лет = 20%, 21–40 лет = 17%, 6–10 лет = 41% и до 5 лет. = 22%
Альтернативная гипотеза: распределение опыта сотрудников разных отделов отличается от того, что заявляет организация

Давайте начнем!

Шаг 1. Сначала импортируйте данные

Шаг 2: Подтвердите их правильность в R:

 # Шаг 1 - Импорт данных
 #Импорт данных csv 
 data<-read.csv(file.choose())

 #Шаг 2: Подтвердите их правильность в R:
 #Количество строк и столбцов
 dim(data)

 #Посмотрим первые 10 rows строк из набора данных
 head(data,10)

Вывод:

#Количество строк и столбцов
[1] 1470 2

#Посмотрим первые 10 rows строк из набора данных
age.intervals Experience.intervals
1 41 - 50 6 - 10 Years
2 41 - 50 6 - 10 Years
3 31 - 40 6 - 10 Years
4 31 - 40 6 - 10 Years
5 18 - 30 6 - 10 Years
6 31 - 40 6 - 10 Years
7 51 - 60 11 - 20 Years
8 18 - 30 Upto 5 Years
9 31 - 40 6 - 10 Years
10 31 - 40 11 - 20 Years

Шаг 3: Создайте таблицу сопряженности для ожидаемых частот:

# Шаг 3 - Рассчитать долю опыта работы сотрудников
# Таблица сопряженности для наблюдаемых частот
prop.table((table(data$Experience.intervals)))

Вывод:

11 - 20 Years 21 - 40 Years 6 - 10 Years Upto 5 Years 
0.2312925 0.1408163 0.4129252 0.2149660

Шаг 4: Рассчитать значение хи-квадрат:

# Шаг 4 - Рассчитать значение хи-квадрат
chisq.test(x = table(data$Experience.intervals),
p = c(0.2, 0.17, 0.41, 0.22))

Вывод:

Chi-square test for given probabilities

data: table(data$Experience.intervals)
X-squared = 14.762, df = 3, p-value = 0.002032

Значение р здесь меньше 0,05. Поэтому мы отвергнем нашу нулевую гипотезу. Следовательно, распределение опыта работы сотрудников разных отделов отличается от того, что заявляет компания.

Критерий хи-квадрат для независимости

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

Давайте возьмем другой пример. Учитель хочет знать ответ на вопрос, связан ли результат теста по математике с полом человека, проходящего тест. Или, другими словами, он хочет знать, показывают ли мужчины результаты, отличные от женщин.

Итак, вот две категориальные переменные: пол (мужской и женский) и результат теста по математике (успешно или не успешно). Давайте теперь посмотрим на таблицу сопряженности:


BoysGirls
Pass1720
Fail85
Изучив приведенную выше таблицу непредвиденных обстоятельств, мы можем видеть, что у девочек сравнительно более высокий уровень прохождения теста, чем у мальчиков. Однако, чтобы проверить, является ли эта наблюдаемая разница значимой или нет, мы выполним тест хи-квадрат.

Шаги для вычисления значения хи-квадрат следующие:

Шаг 1: Рассчитать суммарные значения по строкам и столбцам приведенной выше таблицы сопряженности:


BoysGirlsTotal
Pass172037
Fail8513
Total252550
Шаг 2: Рассчитайте ожидаемую частоту для каждой отдельной ячейки путем умножения суммы по строке на сумму по столбцу и делению на общее число наблюдений:

Ожидаемая частота = (сумма по строке x сумма по столбцу) / общая сумма

Для первой ячейки ожидаемая частота будет (37 * 25) / 50 = 18,5. Теперь напишите их ниже наблюдаемых частот в скобках:


BoysGirlsTotal
Pass17
(18.5)
20
(18.5)
37
Fail8
(6.5)
5
(6.5)
13
Total252550

Шаг 3: Рассчитать значение хи-квадрат по формуле:




Рассчитайте правую часть каждой ячейки. Например, для первой ячейки 
((17-18,5)^2)/18,5 = 0,1216.

Шаг 4: Затем сложите все значения, полученные для каждой ячейки. В этом случае значения будут:

0.1216+0.1216+0.3461+0.3461 = 0.9354

Шаг 5: Рассчитать степени свободы, т. е. 
(Количество строк-1) * (количество столбцов-1) = 1 * 1 = 1

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

Расчетное значение хи-квадрат составляет 0,9354, что меньше критического значения 3,84. Таким образом, в этом случае мы не можем отклонить нулевую гипотезу. Это означает, что между этими двумя переменными нет существенной связи, т. е. у мальчиков и девочек статистически схожая картина прохождения/неудач в их математических тестах.

Давайте еще больше укрепим наше понимание, выполнив тест хи-квадрат в R.

Тест хи-квадрат на независимость в R

Постановка задачи

Отдел кадров организации хочет проверить, зависят ли возраст и опыт сотрудников друг от друга. Для этой цели, собирается случайная выборка из 1470 сотрудников с учетом их возраста и опыта. Вы можете скачать данные здесь.

Формулирование гипотезы

Нулевая гипотеза: возраст и опыт - две независимые переменные

Альтернативная гипотеза: возраст и опыт - две зависимые переменные

Давайте начнем!

Шаг 1. Сначала импортируйте данные

Шаг 2: Подтвердите их правильность в R:

# Шаг 1 - Импорт данных
# Импорт данных csv
data<-read.csv(file.choose())

# Шаг 2 - проверка данных на корректность
# Число строк и столбцов
dim(data)

#Выводим первые 10 строк набора данных
head(data,10)

Вывод:

 Число строк и столбцов
[1] 1470 2

> # Выводим первые 10 строк набора данных
age.intervals Experience.intervals
1 41 - 50 6 - 10 Years
2 41 - 50 6 - 10 Years
3 31 - 40 6 - 10 Years
4 31 - 40 6 - 10 Years
5 18 - 30 6 - 10 Years
6 31 - 40 6 - 10 Years
7 51 - 60 11 - 20 Years
8 18 - 30 Upto 5 Years
9 31 - 40 6 - 10 Years
10 31 - 40 11 - 20 Years

Шаг 3: Постройте таблицу сопряженности и вычислите значение хи-квадрат:

# Шаг 3 - Создание таблицы и вычисление значение хи-квадрат
ct<-table(data$age.intervals,data$Experience.intervals)
ct
chisq.test(ct)

Вывод:

ct<-table(data$age.intervals,data$Experience.intervals)<-table age.intervals="" data="" font="" xperience.intervals="">
> ct

11 - 20 Years 21 - 40 Years 6 - 10 Years Upto 5 Years
18 - 30 22 0 172 192
31 - 40 190 20 308 101
41 - 50 85 112 110 15
51 - 60 43 75 17 8
> chisq.test(ct)

Pearson's Chi-squared test

data: ct
X-squared = 679.97, df = 9, p-value < 2.2e-16

Значение р здесь меньше 0,05. Поэтому мы отвергнем нашу нулевую гипотезу. Мы можем сделать вывод, что возраст и опыт являются двумя зависимыми переменными, то есть, по мере того, как опыт увеличивается, возраст также увеличивается (и наоборот).

1 комментарий: