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

Anova Test в Python

Привет читатели! Сегодня мы будем сосредоточиться на важном статистическом тесте в науке о данных – Anova Test в программировании Python, подробно.

Автор оригинала: Pankaj Kumar.

Anova Test в Python

Привет читатели! Сегодня мы будем сосредоточиться на важном статистическом тесте в науке о данных – Anova Test В программировании Python, подробно.

Итак, давайте начнем !!

Появление анализа Анова

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

Обычно есть два вида переменных

  1. Непрерывные переменные
  2. Категорические переменные

Ниже приведены в основном использованные статистические тесты для анализа числовых переменных:

  • 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

Счастливый анализ !! 🙂.