Hướng dẫn anova for categorical data python - anova cho trăn dữ liệu phân loại

Xin chào người đọc! Hôm nay chúng tôi sẽ tập trung vào một bài kiểm tra thống kê quan trọng trong khoa học dữ liệu - thử nghiệm ANOVA trong chương trình Python, một cách chi tiết.ANOVA test in Python programming, in detail.

Vì vậy, hãy để chúng tôi bắt đầu !!


Sự xuất hiện của bài kiểm tra ANOVA

Trong lĩnh vực khoa học dữ liệu và học máy, dữ liệu cần được hiểu và xử lý trước khi mô hình hóa. Đó là, chúng ta cần phân tích mọi biến của bộ dữ liệu và độ tin cậy của nó về sự đóng góp của nó cho giá trị mục tiêu.

Thông thường có hai loại biến

  1. Các biến liên tục
  2. Các biến phân loại

Dưới đây là các thử nghiệm thống kê được sử dụng chủ yếu để phân tích các biến số:

  • T-test
  • Phân tích hồi quy tương quan, v.v.

Thử nghiệm ANOVA là một thử nghiệm thống kê phân loại, tức là nó hoạt động trên các biến phân loại để phân tích chúng.


Bài kiểm tra ANOVA là gì?

Thử nghiệm ANOVA là một thử nghiệm thống kê để phân tích và làm việc với sự hiểu biết về các biến dữ liệu phân loại. Nó ước tính mức độ mà một biến phụ thuộc bị ảnh hưởng bởi một hoặc nhiều yếu tố dữ liệu phân loại độc lập. is a statistical test to analyze and work with the understanding of the categorical data variables. It estimates the extent to which a dependent variable is affected by one or more independent categorical data elements.

Với thử nghiệm ANOVA, chúng tôi ước tính và phân tích sự khác biệt về giá trị trung bình thống kê của mỗi nhóm của biến phân loại độc lập.

Giả thuyết về thử nghiệm ANOVA

Cũng như tất cả đều biết, các tuyên bố giả thuyết được thể hiện bằng hai loại: giả thuyết null và giả thuyết thay thế, tương ứng.

  • Trong trường hợp thử nghiệm ANOVA, giả thuyết null của chúng tôi sẽ tuyên bố như sau: Giá trị trung bình của tất cả các nhóm/loại của các biến là như nhau.Null hypothesis would claim the following: “The statistical mean of all the groups/categories of the variables is the same.”
  • Mặt khác, giả thuyết thay thế sẽ tuyên bố như sau: Giá trị thống kê của tất cả các nhóm/loại của các biến không giống nhau.Alternate Hypothesis would claim as follows: “The statistical mean of all the groups/categories of the variables is not the same.”

Đã nói điều này, bây giờ chúng ta hãy tập trung vào các giả định hoặc cân nhắc cho thử nghiệm ANOVA.

Giả định của thử nghiệm ANOVA

  • Các yếu tố dữ liệu của các cột tuân theo phân phối bình thường.
  • Các biến chia sẻ một phương sai chung.

Thử nghiệm ANOVA trong Python - Cách tiếp cận thực tế đơn giản!

Trong ví dụ này, chúng tôi sẽ sử dụng bộ dữ liệu dự đoán số lượng cho thuê xe đạp trong đó chúng tôi được yêu cầu dự đoán số lượng khách hàng sẽ chọn một chiếc xe đạp thuê dựa trên các điều kiện khác nhau được cung cấp.

Bạn có thể tìm thấy bộ dữ liệu ở đây!

Vì vậy, ban đầu, chúng tôi tải tập dữ liệu vào môi trường Python bằng hàm read_csv(). Hơn nữa, chúng tôi thay đổi kiểu dữ liệu của các biến trên (EDA) thành kiểu dữ liệu được xác định. Chúng tôi cũng sử dụng mô -đun HĐH và thư viện PANDAS để hoạt động với các biến hệ thống và dữ liệu phân tích CSV tương ứng

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)

Output:

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

Bây giờ, là thời gian để áp dụng thử nghiệm ANOVA. Python cung cấp cho chúng tôi chức năng anova_lm() từ thư viện statsmodels để thực hiện tương tự.

Ban đầu, chúng tôi thực hiện thử nghiệm bình phương tối thiểu thông thường trên dữ liệu, hơn nữa mà thử nghiệm ANOVA được áp dụng trên kết quả trên.Ordinary Least Square test on the data, further to which the ANOVA test is applied on the above resultant.

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)
   

Output:

             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

Xem xét giá trị ý nghĩa là 0,05. Chúng tôi nói rằng nếu giá trị P nhỏ hơn 0,05, chúng tôi giả định và tuyên bố rằng có sự khác biệt đáng kể về giá trị trung bình của các nhóm được hình thành bởi từng cấp độ của dữ liệu phân loại. Đó là, chúng tôi từ chối giả thuyết null.


Sự kết luận

Bằng cách này, chúng tôi đã đạt đến cuối chủ đề này. Hãy bình luận bên dưới, trong trường hợp bạn bắt gặp bất kỳ câu hỏi.

Đề xuất đọc: Bài kiểm tra chi bình phương trong Python

Chúc mừng phân tích !! 🙂

Tôi có thể sử dụng ANOVA cho dữ liệu phân loại không?

Phân tích phương sai một chiều (ANOVA) được sử dụng khi bạn có một biến độc lập phân loại (với hai hoặc nhiều loại) và biến phụ thuộc khoảng phân phối thông thường và bạn muốn kiểm tra sự khác biệt về phương tiện của biến phụ thuộc bị phá vỡ bởi Các mức của biến độc lập. and you wish to test for differences in the means of the dependent variable broken down by the levels of the independent variable.

Tôi có thể sử dụng ANOVA cho biến phụ thuộc phân loại không?

Trong ANOVA, biến phụ thuộc phải là mức đo liên tục (khoảng thời gian hoặc tỷ lệ).Các biến độc lập trong ANOVA phải là các biến phân loại (danh nghĩa hoặc thứ tự).Giống như bài kiểm tra t, ANOVA cũng là một bài kiểm tra tham số và có một số giả định.ANOVA giả định rằng dữ liệu thường được phân phối.the dependent variable must be a continuous (interval or ratio) level of measurement. The independent variables in ANOVA must be categorical (nominal or ordinal) variables. Like the t-test, ANOVA is also a parametric test and has some assumptions. ANOVA assumes that the data is normally distributed.

Bài kiểm tra thống kê nào được sử dụng cho dữ liệu phân loại?

Thử nghiệm χ2 của Pearson (sau Karl Pearson, 1900) là thử nghiệm được sử dụng phổ biến nhất cho sự khác biệt trong phân phối các biến phân loại giữa hai hoặc nhiều nhóm độc lập.Pearson's χ2 test (after Karl Pearson, 1900) is the most commonly used test for the difference in distribution of categorical variables between two or more independent groups.

ANOVA là phân loại hay định lượng?

Phân tích phương sai một chiều (ANOVA) là một thử nghiệm giả thuyết chỉ xem xét một biến phân loại hoặc yếu tố đơn.Đây là một kỹ thuật sử dụng phân phối F để so sánh các phương tiện của ba mẫu trở lên.Nó được sử dụng để xác định sự khác biệt giữa các loại khác nhau của nó, mỗi loại có một số giá trị có thể.only considers one categorical variable or single factor. It is a technique that uses the F-distribution to compare the means of three or more samples. It is used to determine the difference between its various types, each with several possible values.