Рубрики
Без рубрики

Тест Chi-Square в Python – все, что вам нужно знать !!

Здравствуйте, читатели! В этой статье мы будем сосредоточиться на тесте Chi-Square в Python. Итак, давайте начнем !!

Автор оригинала: 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 !! 🙂.