Автор оригинала: Pankaj Kumar.
Anova Test в Python
Привет читатели! Сегодня мы будем сосредоточиться на важном статистическом тесте в науке о данных – Anova Test В программировании Python, подробно.
Итак, давайте начнем !!
Появление анализа Анова
В области науки о науке и машине данных данные должны быть поняты и обработаны до моделирования. То есть нам необходимо проанализировать каждую переменную набор данных и его доверие с точки зрения его вклада в целевое значение.
Обычно есть два вида переменных
- Непрерывные переменные
- Категорические переменные
Ниже приведены в основном использованные статистические тесты для анализа числовых переменных:
- T-тест
- Корреляционный регрессионный анализ , так далее.
Anova Test – это категорические статистические тесты I.e. Он работает на категорических переменных, чтобы проанализировать их.
Что такое Anova Test?
Anova Test является статистическим тестом для анализа и работы с пониманием категорических переменных данных. Он оценивает степень, в которой зависимая переменная зависит от одной или нескольких независимых категорических элементов данных.
С помощью Anova Test мы оцениваем и анализируем разницу в статистическом средстве каждой группы независимой категорической переменной.
Гипотеза для ANOVA TEXTING
Как хорошо все знают, утверждает гипотеза представлена с использованием двух категорий: нулевая гипотеза и альтернативная гипотеза соответственно.
- В случае теста Anova, наше Нулевая гипотеза будет требовать следующее: «Статистическое среднее значение всех групп/категорий переменных одинаково».
- С другой стороны, Альтернативная гипотеза будет претендовать следующим образом: «Статистическое среднее значение всех групп/категорий переменных не одинаково».
Сказав это, давайте сейчас сосредоточимся на предположениях или соображениях для Anova Testing.
Предположения о тестировании Анова
- Элементы данных колонн следуют нормальному распределению.
- Переменные имеют общую дисперсию.
Anova Test в Python – простой практический подход!
В этом примере мы будем использовать набор данных прогнозирования аренды велосипеда, в котором мы обязаны предсказывать количество клиентов, которые выбирают арендованный велосипед на основе различных условий.
Вы можете найти набор данных здесь !
Итак, изначально мы загружаем набор данных в среду Python с помощью функции Read_CSV (). Кроме того, мы изменяем тип данных переменных на (EDA) на определенный тип данных. Мы также используем модуль ОС и библиотеку Pandas для работы с системными переменными и анализами данных CSV соответственно
import os import pandas #Changing the current working directory os.chdir("D:/Ediwsor_Project - Bike_Rental_Count") BIKE = pandas.read_csv("day.csv") BIKE['holiday']=BIKE['holiday'].astype(str) BIKE['weekday']=BIKE['weekday'].astype(str) BIKE['workingday']=BIKE['workingday'].astype(str) BIKE['weathersit']=BIKE['weathersit'].astype(str) BIKE['dteday']=pandas.to_datetime(BIKE['dteday']) BIKE['season']=BIKE['season'].astype(str) BIKE['yr']=BIKE['yr'].astype(str) BIKE['mnth']=BIKE['mnth'].astype(str) print(BIKE.dtypes)
Выход:
instant int64 dteday datetime64[ns] season object yr object mnth object holiday object weekday object workingday object weathersit object temp float64 atemp float64 hum float64 windspeed float64 casual int64 registered int64 cnt int64 dtype: object
Сейчас самое время применять анализ ANOVA. Python предоставляет нам Anova_lm ()
Функция из Statsmodels
Библиотека для реализации того же.
Первоначально мы выполняем Обычный минимум квадратный тест По данным, в дальнейшем, к которому применяется тест ANOVA на приведенном выше результатов.
import statsmodels.api as sm from statsmodels.formula.api import ols for x in categorical_col: model = ols('cnt' + '~' + x, data = BIKE).fit() #Oridnary least square method result_anova = sm.stats.anova_lm(model) # ANOVA Test print(result_anova)
Выход:
df sum_sq mean_sq F PR(>F) season 3.0 9.218466e+08 3.072822e+08 124.840203 5.433284e-65 Residual 713.0 1.754981e+09 2.461404e+06 NaN NaN df sum_sq mean_sq F PR(>F) yr 1.0 8.813271e+08 8.813271e+08 350.959951 5.148657e-64 Residual 715.0 1.795501e+09 2.511190e+06 NaN NaN df sum_sq mean_sq F PR(>F) mnth 11.0 1.042307e+09 9.475520e+07 40.869727 2.557743e-68 Residual 705.0 1.634521e+09 2.318469e+06 NaN NaN df sum_sq mean_sq F PR(>F) holiday 1.0 1.377098e+07 1.377098e+07 3.69735 0.054896 Residual 715.0 2.663057e+09 3.724555e+06 NaN NaN df sum_sq mean_sq F PR(>F) weekday 6.0 1.757122e+07 2.928537e+06 0.781896 0.584261 Residual 710.0 2.659257e+09 3.745432e+06 NaN NaN df sum_sq mean_sq F PR(>F) workingday 1.0 8.494340e+06 8.494340e+06 2.276122 0.131822 Residual 715.0 2.668333e+09 3.731935e+06 NaN NaN df sum_sq mean_sq F PR(>F) weathersit 2.0 2.679982e+08 1.339991e+08 39.718604 4.408358e-17 Residual 714.0 2.408830e+09 3.373711e+06 NaN NaN
Учитывая значение значения как 0,05. Мы говорим, что если значение P составляет менее 0,05, мы предполагаем, и утверждаем, что существует значительные различия в среднем групп, образованных каждым уровнем категорических данных. То есть мы отвергаем нулевую гипотезу.
Заключение
При этом мы достигли конца этой темы. Не стесняйтесь комментировать ниже, если вы столкнетесь с любым вопросом.
Рекомендуется прочитать: Тест Chi-Square в Python
Счастливый анализ !! 🙂.