Автор оригинала: Pankaj Kumar.
Тест Chi-Square в Python – все, что вам нужно знать !!
Здравствуйте, читатели! В этой статье мы будем сосредоточиться на Тест Chi-Square в питоне. Итак, давайте начнем !!
Понимание статистических испытаний для науки и машины данных
Статистические испытания играют важную роль в области науки о науке и изучении машины. С статистическими тестами можно предположить определенный уровень понимания данных с точки зрения статистического распределения.
Различные статистические данные существуют на основе типа переменных I.e. Непрерывное или категориальное. Для непрерывных значений данных показатели являются наиболее используемыми тестами:
- T-тест
- Тест корреляции регрессии
С другой стороны, для категориальных переменных данных, приведенные ниже популярные статистические тесты:
- Anova Test.
- Тест Chi-Square
Сегодня, давайте посмотрим на Тест Chi-Square в Python Отказ
Что такое тест Chi-Square?
Тест Chi-Square – это непараметричный статистический тест, который позволяет нам понимать взаимосвязь между категорическими переменными набора данных. То есть он определяет корреляцию среди группировки категориальных данных.
Использование теста Chi-Square, мы можем оценить уровень корреляции I.E. Ассоциация между категориальными переменными набора данных. Это помогает нам проанализировать зависимость одной категории переменной на другой независимой категории переменной.
Давайте теперь понять тестирование Chi-Square с точки зрения гипотезы.
Настройка гипотезы для теста Chi-Square
- Нулевая гипотеза может быть оформлен ниже: Переменные группировки не имеют ассоциации или корреляции между ними.
- Альтернативная гипотеза идет как в обрамлении ниже: Переменные связаны друг с другом и имеют корреляцию между переменными.
Использование библиотеки Scipy.Stats для реализации теста Chi-Square
В этом примере мы создали таблицу, как показано ниже – «Информация». Далее мы использовали Scipy.Stats
Библиотека, которая дает нам chi2_contingency ()
Функция для реализации теста Chi-Square.
Пример:
from scipy.stats import chi2_contingency info = [[100, 200, 300], [50, 60, 70]] print(info) stat, p, dof= chi2_contingency(info) print(dof) significance_level = 0.05 print("p value: " + str(p)) if p <= significance_level: print('Reject NULL HYPOTHESIS') else: print('ACCEPT NULL HYPOTHESIS')
В качестве вывода мы получаем три значения из теста: статистическое значение (которое можно использовать для определения гипотезы по сравнению с критическими значениями), P-значением и степенью свободы (количество переменных, которые могут свободно варьироваться)
Мы используем P-значение для интерпретации теста Chi-Square.
Выход:
[[100, 200, 300], [50, 60, 70]] 2 p value: 0.001937714203415323 Reject NULL HYPOTHESIS
Если значение p меньше предполагаемого значения значимости (0,05), то мы не можем принять, что между переменными нет связи. То есть мы отвергаем нулевую гипотезу и принять претензию альтернативной гипотезы.
Таким образом, в этом случае мы отвергаем нулевую гипотезу и принимаю связь между пропущенными данными.
Использование Chi-Square Test на DataSet
В этом примере мы будем использовать набор данных подсчета велосипедов. Вы можете найти набор данных здесь !
Теперь мы будем реализовывать тест Chi-Square, чтобы проанализировать взаимосвязь между независимыми категориальными переменными.
Изначально мы загружаем набор данных в среду, а затем распечатайте имена категорических переменных данных, как показано:
import os import pandas #Changing the current working directory os.chdir("D:/Ediwsor_Project - Bike_Rental_Count") BIKE = pandas.read_csv("day.csv") categorical_col = ['season', 'yr', 'mnth', 'holiday', 'weekday', 'workingday', 'weathersit'] print(categorical_col)
['season', 'yr', 'mnth', 'holiday', 'weekday', 'workingday', 'weathersit']
Кроме того, мы используем функцию Crosstab () для создания таблицы непредвиденных обстоятельств двух выбранных переменных для работы на «отпуске» и «Weathersit».
chisqt = pandas.crosstab(BIKE.holiday, BIKE.weathersit, margins=True) print(chisqt)
weathersit 1 2 3 All holiday 0 438 238 20 696 1 15 6 0 21 All 453 244 20 717
Наконец, мы применяем функцию CHI2_Contingency () на таблицу и получите статистику, значение p-значением и степенью значения свободы.
from scipy.stats import chi2_contingency import numpy as np chisqt = pandas.crosstab(BIKE.holiday, BIKE.weathersit, margins=True) value = np.array([chisqt.iloc[0][0:5].values, chisqt.iloc[1][0:5].values]) print(chi2_contingency(value)[0:3])
Выход:
(1.0258904805937215, 0.794987564022437, 3)
Сверху 0,79 – значение P-значение, 1.02 – статистическое значение, а 3 – степень свободы. Поскольку значение P превышает 0,05, мы принимаем нулевую гипотезу и предположим, что переменные «праздник» и «Weathersit» не зависят друг от друга.
Заключение
По этому, мы подошли к концу этой темы. Не стесняйтесь комментировать ниже, если вы столкнетесь с любым вопросом.
До тех пор, Happy Analyzing !! 🙂.