نحوه پیدا کردن نقاط پرت (مثال پایتون)

موارد دورافتاده می توانند تأثیر زیادی بر معیارهای تغییرپذیری داشته باشند و باید توسط آماردانان و دانشمندان داده درک شوند و بر این اساس با آنها برخورد شود. در این آموزش از آمار خلاصه و پایتون برای محاسبه نقاط پرت در یک مجموعه داده استفاده خواهیم کرد.

نقاط پرت در یک طرح جعبه
نقاط پرت در یک طرح جعبه

پرت در آمار چیست؟

نقاط پرت در آمار بیانگر نقاط داده شدید است که به طور قابل توجهی با سایرین متفاوت است.

پرت ها با یکی از این قوانین تعریف می شوند:

  • نقطه داده > Q3 + (1.5 * IQR)

به بیان ساده، نقاط پرت، نقاط داده ای در مجموعه داده ها هستند که خارج از محدوده نمودار جعبه هستند.

نحوه یافتن نقاط پرت در یک مجموعه داده با پایتون

برای یافتن نقاط پرت در یک مجموعه داده، باید چارک ها را محاسبه کنیم و ربع های اول و سوم را پیدا کنیم. سپس، ما باید محدوده های بین چارکی را در مجموعه داده محاسبه کنیم و بررسی کنیم که آیا نقطه داده بزرگتر یا کوچکتر از 1.5 * IQR است.

بنابراین، اگر مجموعه داده سفارشی خود را بگیریم:

import numpy as np

# Generate a random dataset with outliers
data = np.concatenate(
        [
            np.random.normal(0, 1, 100), 
            np.random.normal(10, 1, 10)
        ]
    )

ما می توانیم ربع ها و اقر را با استفاده از هر دو محاسبه کنیم np.percentile، یا np.quantile توابع، یا به طور متناوب، از scipy.stats.iqr تابع.

# Calculate quartiles and IQR for outlier detection
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1 # equivalent to scipy.stats.iqr(data)

# Define the lower and upper bounds for outliers
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr

# Identify outliers
outliers = [x for x in data if x  upper_bound]

Source link