cover

جعبه‌ابزار تشخیص داده‌های پرت (بخش اول): روش‌های آماری، مقاوم، فاصله‌ای و خوشه‌بندی

1.مقدمه

تشخیص داده‌های پرت یکی از حساس‌ترین مراحل تحلیل داده و یادگیری ماشین است. انتخاب روش مناسب، مستقیم بر کیفیت مدل، دقت تحلیل و حتی تصمیم‌های نهایی اثر می‌گذارد. اما مسئله فقط پیدا کردن چند مقدار عجیب نیست؛ بلکه انتخاب صحیح روش بر اساس نوع داده، فرض‌های آماری، محدودیت‌های محاسباتی و هدف نهایی پروژه است.

چالش شناسایی داده‌های پرت فقط «پیدا کردن چند عدد عجیب» نیست؛ پشت این کار، یک دنیای بزرگ از روش‌ها و الگوریتم‌ها قرار دارد که هر کدام از یک زاویه به مسئله نگاه می‌کنند:از آمار کلاسیک و آزمون‌های فرض، تا آمار مقاوم، روش‌های مبتنی بر فاصله، درخت، یادگیری عمیق و روش‌های. Ensemble

این روش‌ها معمولاً بر اساس چند معیار مهم انتخاب می‌شوند:

  • نوع داده: تک‌متغیره/چندمتغیره، پیوسته/گسسته، کم‌بعد/پُربعد
  • نوع پرت مد نظر: سراسری (global)، زمینه‌ای (contextual)، جمعی (collectve)
  • برچسب داشتن یا نداشتن: نظارت‌شده، نیمه‌نظارت‌شده، بدون‌نظارت
  • محدودیت محاسباتی: حجم داده، زمان اجرا، حافظه
  • هدف کاربردی: تشخیص تقلب؟ پایش صنعتی؟ پزشکی؟ اکتشاف علمی؟
  •  

یک قاعده‌ی راهنما که در عمل خیلی به درد می‌خورد، این است که اول تکلیف خودت را با این سؤال روشن کنی:

آیا فرض می‌کنم داده‌ها (تقریباً) نرمال هستند یا نه؟

  • اگر بله ⭠ روش‌های مبتنی بر توزیع مثل Z-Score، آزمون‌های گرابز، ماهالانوبیس
  • اگر خیر یا مطمئن نیستم ⭠ روش‌های مقاوم و توزیع‌ناوابسته مثل QR، LOF، solaton Forest و روش‌های مبتنی بر درخت و فاصله

در ادامه، مهم‌ترین خانواده‌های روش را معرفی می‌کنیم و برای هر کدام، ایده‌ی اصلی، مزایا، محدودیت‌ها و یک  ساده می‌آوریم.

2.روش‌های مبتنی بر توزیع آماری

ایده‌ی اصلی:

اول یک مدل آماری برای «رفتار عادی» داده‌ها می‌سازیم (مثلاً فرض می‌کنیم داده‌ها نرمال هستند)، بعد احتمال هر نقطه را زیر این مدل حساب می‌کنیم؛ اگر این احتمال خیلی پایین بود، آن نقطه را پرت در نظر می‌گیریم.

مراحل کلی:

  1. انتخاب مدل توزیع: نرمال، پواسون، گاما، گاوسی چندمتغیره و …
  2. تخمین پارامترها: مثلاً برای نرمال تک‌متغیره، μ  و σ  را از داده برآورد می‌کنیم.
  3. تعریف آزمون یا آماره: نمره‌ی Z، آماره‌ی گرابز، Q دیکسون، آماره‌ی Rosner و …
  4. تعیین آستانه: مثلاً∣Z∣<3 ، یا مقادیر بحرانی براساس توزیع. t / F / χ²
  5. علامت‌گذاری پرت‌ها: هر نقطه‌ای که بیرون این آستانه‌ها قرار بگیرد، به عنوان پرت گزارش می‌شود.

2.1. آزمون‌های کلاسیک برای داده‌های پرت منفرد/چندگانه

این آزمون‌ها بیشتر برای داده‌های تک‌متغیره و کوچک طراحی شده‌اند و معمولاً فرض می‌کنند داده‌ها نرمال هستند.

1.. Z-Score (نمره استاندارد)

ایده اصلی

اگر داده‌ها نرمال باشند، مقدارهایی که بیش از ۳ انحراف معیار از میانگین فاصله داشته باشند → پرت محسوب می‌شوند.

 مثال

داده قد افراد در یک باشگاه 170:، 172، 169، 174، 210

میانگین ≈ 179
انحراف معیار ≈ 18

اما اگر داده واقعی کوچک باشد (مثل 170، 171، 169، 172)، این عدد عجیب‌تر می‌شود و از آستانه 3 عبور می‌کند.

مزایا
  • ساده، سریع، قابل‌فهم
  • محاسبه آسان
  • مناسب داده‌های کوچک و تمیز
معایب
  • شدیداً حساس به Outler
  • فرض نرمال
  • برای داده‌های چوله مناسب نیست

2.. Modfed Z-Score (با MAD)

  • x:​مقدار مشاهده‌شده
  • medan(X):میانه کل داده‌ها
  • MAD=medan(∣xj​−medan(X)∣):انحراف مطلق میانه
  • ضریب 1.4826 یا معادل آن 0.6745 (= 1/1.4826 )، برای یکسان‌سازی مقیاس با Z-Score در توزیع نرمال است.

معیار تشخیص   :اگر ​Z ​​>3.5  ⭠داده  x​ پرت در نظر گرفته می‌شود.

مثال

فرض کنید سود خالص ماهانه ۷ شعبه بانک (میلیون ریال):

  • medan(X)=119
  • فواصل مطلق از میانه:
  • MAD=medan({0,1,1,2,3,4,131})=2
  • برای داده: x=250
مزایا
  • مقاوم در برابر Outlier
  • مناسب داده‌های چولگی شدید
  • استاندارد در داده‌کاوی
معایب
  • فقط تک‌متغیره
  • در داده‌های پیچیده ضعیف می‌شود

3.آزمون گرابز (Grubbs’ Test)

ایده اصلی

آزمون گرابز یک آزمون آماری رسمی برای تشخیص وجود حداکثر یک داده پرت در یک نمونه تک‌متغیره است که فرض می‌کند داده‌ها از توزیع نرمال مستقل و هم‌توزیع پیروی می‌کنند. این آزمون می‌تواند پرت را در دم بالا، دم پایین یا هر دو دم (به‌صورت دوطرفه) شناسایی کند.


آماره آزمون گرابز برای تشخیص پرت در یکی از انتهای داده‌ها به‌صورت زیر تعریف می‌شود:

  • xi=​مشاهده i -ام
  • xˉ =میانگین نمونه
  • s =انحراف معیار نمونه (با مخرج n−1 )
  • xmax​= بیشینه داده‌ها
  • ​ xmin =کمینه داده‌ها
معیار تشخیص

مقدار محاسبه‌شده G با مقدار بحرانی آزمون گرابز مقایسه می‌شود. مقدار بحرانی برای سطح معنی‌داری α و حجم نمونه n از رابطه زیر به‌دست می‌آید:

که در آن:

  • tα/(2n),n−2​ چندک α/(2n) از توزیع  t -استیودنت با n−2 درجه آزادی است.
  • برای آزمون یک‌طرفه، به‌جای α/(2n) از α/n استفاده می‌شود.

اگر G>Gcritical​ ، فرض صفر (عدم وجود پرت) رد می‌شود و مشاهده متناظر به‌عنوان پرت شناسایی می‌گردد.

مثال

فرض کنید سود روزانه یک شعبه بانک در ۶ روز متوالی (میلیون ریال):

برای n=6 و α=0.05 (آزمون دوطرفه)، مقدار بحرانی از جدول یا محاسبه Gcritical​≈1.887:

چون 1.924>1.887  ⭠مشاهده ۱۵.۳ میلیون به‌عنوان پرت شناسایی می‌شود.

مزایا
  • استاندارد و شناخته‌شده
  • ساده برای داده‌های تک‌پرت
معایب
  • فقط ۱ Outlier
  • فرض نرمال سختگیرانه

4. آزمون دیکسون (Dixon’s Q Test)

ایده اصلی

آزمون دیکسون یک روش ناپارامتریک ساده برای تشخیص یک داده پرت در نمونه‌های کوچک (معمولاً 3≤n≤30 ) است. این آزمون بر پایه نسبت فاصله مشکوک‌ترین نقطه از نزدیک‌ترین همسایه‌اش به دامنه کل داده‌ها کار می‌کند و نیازی به محاسبه میانگین یا انحراف معیار ندارد. بیشتر در آزمایشگاه‌های شیمیایی و کنترل کیفیت برای حذف دستی یک مشاهده شدیداً غیرعادی استفاده می‌شود.

آماره آزمون Q به‌صورت زیر تعریف می‌شود:

بسته به موقعیت مشاهده مشکوک، فرمول‌های رایج عبارتند از:

  • اگر کمترین مقدار (x1​) مشکوک باشد:
  • اگر بیشترین مقدار (xn​) مشکوک باشد:

(داده‌ها باید ابتدا به‌صورت صعودی مرتب شوند x1​≤x2​≤⋯≤xn​: )

  • ​ x1=کمترین مقدار در داده‌های مرتب‌شده
  • x2=​دومین مقدار (نزدیک‌ترین به x1​ )
  • ​ xn−1=یکی مانده به آخرین مقدار
  • ​ xn =بیشترین مقدار
  • n =حجم نمونه
معیار تشخیص

مقدار محاسبه‌شده Q با مقدار بحرانی Qcritical​ (که بستگی به n و سطح معنی‌داری α دارد) مقایسه می‌شود. مقادیر بحرانی از جداول استاندارد دیکسون خوانده می‌شوند.
اگر Q>Qcritical​ ، مشاهده مورد نظر به‌عنوان پرت رد می‌شود.

مثال

سود روزانه یک شعبه در ۵ روز (میلیون ریال):

مرتب‌سازی: x1​=8.1,x2​=8.2,x3​=8.3,x4​=8.4,x5​=12.7                          

مشاهده x5​=12.7 مشکوک است:

برای n=5 و  Qcritical​=0.710: α=0.05
چون 0.935>0.710  ⭠مشاهده ۱۲.۷ میلیون به‌عنوان پرت شناسایی می‌شود.

مزایا
  • نیازی به فرض توزیع نرمال ندارد (ناپارامتریک)
  • محاسبه بسیار ساده — بدون نیاز به میانگین یا انحراف معیار
  • مناسب برای داده‌های دستی و نمونه‌های بسیار کوچک
معایب
  • فقط برای یک پرت قابل استفاده است
  • در n>30 کاربردی ندارد (به‌جای آن از IQR یا Z-Score استفاده می‌شود)
  • حساسیت زیاد به ترتیب داده‌ها؛ اگر دو نقطه پرت در یک سمت باشند، ممکن است هیچ‌کدام تشخیص داده نشوند.
  • برای داده‌های گسسته یا با تکرار زیاد، ممکن است غیرقابل اجرا باشد (شکاف صفر شود)

5. آزمون روسنر (Rosner’s Test)

ایده اصلی

روشی برای تشخیص همزمان چندین پرت (حداکثر k مورد) در داده‌های تک‌متغیره با فرض نرمال بودن. برخلاف روش گام‌به‌گام گرابز، خطای کلی نوع I را کنترل می‌کند.

داده‌ها را به‌صورت صعودی مرتب کنید: x(1)​≤x(2)​≤⋯≤x(n) ​

برای هر i=1,2,…,k ، آماره آزمون به‌صورت زیر محاسبه می‌شود:

که در آن:

  • xˉ(i) و s(i) به‌ترتیب میانگین و انحراف معیار نمونه پس از حذف i−1 مشاهده قبلاً شناسایی‌شده پرت هستند.
  • x(1)^(i)​ و x(n−i+1)^(i)​ کمترین و بیشترین مقدار در نمونه باقی‌مانده در مرحله i -ام هستند.

مقدار بحرانی:

با:

  • ν=n−i−1
  • p=1−( α/ 2(n−i+1) )​
  • ​ tp,ν :چندک p -ام توزیع t -استیودنت با ν درجه آزادی.
معیار تشخیص

اگر Ri​>Ri,critical​ ، مشاهده متناظر در مرحله i -ام به‌عنوان پرت در نظر گرفته می‌شود.فرآیند تا حداکثر k مرحله یا تا زمانی که شرط نقض شود، ادامه می‌یابد.

مزایا
  • کنترل خطای کلی نوع I
  • مناسب برای n≥20 و تا ۱۰٪ داده پرت
  • پایدارتر از روش‌های تکراری ساده
معایب
  • فرض نرمال بودن
  • محاسبه دستی پیچیده
  • نیاز به تعیین پیشین k

6.آزمون ESD (Extreme Studentized Deviate)

ایده اصلی

آزمون ESD یک روش نیمه‌پارامتریک برای شناسایی چندین داده پرت (تا حداکثر k مورد) در یک نمونه تک‌متغیره است. برخلاف روسنر، در ESD میانگین و انحراف معیار در همه مراحل روی کل داده اولیه محاسبه می‌شوند (یعنی داده‌ها حذف نمی‌شوند)، اما آزمون به‌صورت گام‌به‌گام و با تعدیل آستانه برای کنترل خطای کلی انجام می‌شود. این آزمون همچنان فرض نرمال بودن داده‌ها را می‌طلبد، اما در عمل برای داده‌های نزدیک به نرمال (مانند بازده‌های مالی) کاربرد دارد.

فرمول

ابتدا داده‌ها را به‌صورت صعودی مرتب کنید: x(1)​≤x(2)​≤⋯≤x(n)

برای هر i=1,2,…,k ، آماره ESD به‌صورت زیر تعریف می‌شود:

که در آن:

  • ˉx و s به‌ترتیب میانگین و انحراف معیار کل داده اولیه (ثابت در تمام مراحل) هستند.
  • xj(i)​ داده‌های باقی‌مانده پس از حذف i−1 مشاهده بیش‌انحراف قبلی (فقط برای یافتن ماکزیمم استفاده می‌شود؛ محاسبه ˉx,s تغییری نمی‌کند).

مقدار بحرانی در مرحله i -ام:

با:

  • ν=n−i−1
  • p=1− (α/ 2(n−i+1)) ​
  • : tp,ν​ چندک p -ام توزیع t -استیودنت.
معیار تشخیص

اگر ESDi​>λi​ ، مشاهده متناظر در مرحله i -ام به‌عنوان پرت در نظر گرفته می‌شود.تعداد پرت‌ها برابر بیشترین i است که شرط بالا برای آن برقرار باشد.

مثال
مزایا
  • ساده‌تر از روسنر (محاسبه xˉ,s فقط یک‌بار)
  • کنترل خطای کلی نوع I
  • پیاده‌سازی آسان در نرم‌افزارها
معایب
  • همچنان فرض نرمال بودن را نیاز دارد
  • چون xˉ و s تحت تأثیر پرت‌ها هستند، در حضور پرت‌های شدید، قدرت آزمون کاهش می‌یابد (حساسیت کمتر نسبت به روسنر)
  • برای داده‌های چوله یا سنگین‌دم مناسب نیست

2.2 روش‌های آماری غیرپارامتریک

1-روش دامنه بین چارکی (IQR) و نمودار جعبه‌ای

گام‌ها
  • چارک اول (Q1) و چارک سوم (Q3) را حساب کن.
  • IQR = Q3 − Q1.
  • «حصار»های معمول:
  • هر داده‌ای بیرون این بازه → مشکوک به پرت.
مثال:
  • داده: 5، 6، 7، 8، 9، 30
  • Q1 = 6.5
  • Q3 = 9.5
  • IQR = 3
  • حصار بالا: 9.5 + 1.5×3 = 14
  • ⭠ مقدار 30 به وضوح پرت است.
مزایا
  • کاملاً مقاوم به چند نقطه‌ی شدید
  • ساده و قابل تجسم (نمودار جعبه‌ای)
محدودیت
  • فقط برای تک‌متغیره است.
  • ساختار چندبعدی و روابط بین متغیرها را نمی‌بیند.

2. روش‌های رتبه‌ای (Rank-Based Outlier Detection)

بدون توجه به مقدار عددی؛ فقط رتبه‌ها بررسی می‌شوند.

ایده اصلی

هر مقدار بر اساس رتبه‌اش در داده مرتب می‌شود.
اگر فاصله رتبه‌ای یا مقدار رتبه‌ای آن «غیرعادی» باشد ⭠ پرت.

نمونه روش‌ها
  • Rank-based MAD
  • Rank-based tail detection
  • روش‌های Rank-Scan
مثال

مرتب‌سازی داده 2, 2.5, 3, 3.1, … , 20:

رتبه 20 بسیار دور از بقیه است  ⭠ Outlier

مزایا
  • عدم نیاز به توزیع
  • بسیار مقاوم
  • مناسب داده‌های چوله یا دارای دم سنگین
معایب
  • اطلاعات مقدار واقعی را نادیده می‌گیرد
  • مناسب داده‌های بسیار کوچک نیست

3.نمودار جعبه‌ای (Boxplot Method)

ایده اصلی

روشی گرافیکی-عددی برای تشخیص پرت بر اساس چارک‌ها و دامنه بین‌چارکی. (IQR)این روش در واقع پیاده‌سازی تصویری از روش IQR است و یکی از رایج‌ترین ابزارهای تحلیل اکتشافی داده (EDA) در علوم داده و آمار کاربردی، به‌ویژه در حوزه‌های مالی، محسوب می‌شود.

فرمول


ابتدا چارک‌های اول (Q1​) و سوم (Q3​) را محاسبه می‌کنیم و سپس IQR= Q3​− Q1:​​

مرزهای پرت تعیین می‌شوند:

برای پرت‌های شدید:

معرفی مؤلفه‌های نمودار جعبه‌ای
  • جعبه: از Q1​ تا ​ — Q3شامل ۵۰٪ مرکزی داده‌ها
  • خط درون جعبه: میانه (Q2​ )
  • ریش‌ها: (Whiskers) امتداد از جعبه تا آخرین نقطه غیرپرت در هر سمت (یعنی تا max{xi​∣xi​≤ Q3+1.5⋅IQR} و min{xi​∣xi​≥ Q1​​−1.5⋅IQR} )
  • نقاط فراتر از ریش‌ها: داده‌های پرت (معمولاً با ● یا × نمایش داده می‌شوند)
معیار تشخیص
  • هر مشاهده‌ای که خارج از بازه [Q1​−1.5⋅IQR,Q3​+1.5⋅IQR] باشد ⭠ پرت
  • هر مشاهده‌ای که خارج از بازه [Q1​​−3⋅IQR,Q3​+3⋅IQR] باشد ⭠ پرت شدید
مثال

سود روزانه ۱۵ شعبه (میلیون ریال):

در نمودار جعبه‌ای:

  • جعبه از ۹.۶ تا ۱۰.۴
  • ریش بالا تا ۱۰.۶ (آخرین نقطه ≤۱۱.۶)
  • نقطه ۲۲.۰ به‌صورت جداگانه (●) بالای ریش نمایش داده می‌شود.
مزایا
  • کاملاً غیرپارامتریک و بدون فرض توزیع
  • مقاوم در برابر پرت‌ها (چون از چارک‌ها استفاده می‌کند)
  • قابلیت نمایش همزمان چند متغیر (مثلاً Boxplot سود برای چندین شعبه در یک نمودار)
  • ساده، سریع و قابل فهم حتی برای ذینفعان غیرفنی
معایب
  • فقط برای داده‌های تک‌متغیره در یک نمودار
  • در داده‌های با توزیع چندوجهی (multimodal)، ممکن است نقاط طبیعی در بین خوشه‌ها را پرت نشان دهد
  • آستانه × IQR ۱.۵ تجربی است؛ در برخی کاربردها (مثلاً کنترل کیفیت) از ۲.۲ یا ۲.۵ هم استفاده می‌شود

4.روش‌های مبتنی بر میانه (Median-Based Methods)

ایده اصلی

این روش‌ها از میانه (به‌جای میانگین) و معیارهای پراکندگی مقاوم )مانند MAD) استفاده می‌کنند تا در برابر داده‌های پرت مقاوم (robust) باشند. این ویژگی آن‌ها را به انتخابی ایده‌آل برای داده‌های مالی/بانکی — که اغلب دارای توزیع چوله و حاوی مشاهدات شدیداً غیرعادی هستند — تبدیل می‌کند.

. Modified Z-Score

ایده اصلی
تعمیم مقاوم نمره Z-استاندارد با جایگزینی میانگین و انحراف معیار با میانه و MAD

فرمول

معرفی متغیرها

  • median(X) :میانه کل داده‌ها
  • MAD=median(∣xj​−median(X)∣)

معیار تشخیص
اگر Zi​​>3.5​⭠  داده xi​ پرت است.

مثال
سود ماهانه ۷ شعبه (میلیون ریال):

مزایا

  • بدون فرض نرمال بودن
  • محاسبه آسان و قابل تفسیر

معایب

  • برای نمونه‌های بسیار کوچک (n<5 ) ممکن است MAD صفر شود
  • در حضور خوشه‌های پرت (outlier clusters)، ممکن است عملکرد ضعیفی داشته باشد
Median Rule روش ساده میانه

ایده اصلی
یک تعمیم شهودی از IQR که به‌جای چارک‌ها، از انحراف مطلق از میانه استفاده می‌کند.

فرمول
ابتدا میانه و MAD محاسبه می‌شوند. سپس:

که c یک ثابت است (معمولاً c=3 یا c=5 بسته به حساسیت مطلوب).

مزایا

  • ساده‌تر از Modified Z-Score (نیازی به ضریب ۱.۴۸۲۶ ندارد)
  • بسیار مقاوم
  • مناسب برای پیاده‌سازی سریع در سیستم‌های نظارتی بانکی

معایب

  • آستانه c دستی تنظیم می‌شود (کمتر استاندارد از IQR یا Modified Z-Score)
  • تفسیر آماری رسمی کمتری نسبت به Modified Z-Score دارد
. Median Absolute Deviation (MAD) Plot

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

فرمول
برای هر xi​ ، مقدار di​=∣xi​−median(X)∣ را محاسبه و رسم کنید (مثلاً در یک نمودار پراکندگی یا هیستوگرام). سپس خطی افقی در d=c×MAD بکشید.

معیار تشخیص
اگر di​>c×MAD ⭠ پرت.

مزایا

  • امکان دید بصری از «چقدر دور» بودن هر نقطه از مرکز مقاوم
  • ترکیب‌پذیری با سایر تکنیک‌های EDA

معایب

  • فقط برای تک‌متغیره
  • تفسیر نیاز به دخالت انسان دارد (مگر خودکارسازی شود)

3.  رویکردهای مبتنی بر فاصله و چگالی (Distance / Density-based)

ایده‌ی شهودی این گروه:نقاطی که خیلی از همسایه‌ها دور افتاده‌اند یا در ناحیه‌های با چگالی خیلی پایین قرار دارند، پرت هستند.

. 3.1 روش‌های K-Nearest Neighbors (KNN-based)

مفهوم پایه ای

روش KNN برای تشخیص پرت از مفهوم فاصله (Distance) و چگالی محلی (Local Density) استفاده می‌کند. هسته این روش در تعیین «فاصله یک نقطه تا K اُمین نزدیک‌ترین همسایه‌اش» نهفته است.

  1. محاسبه فاصله: برای هر نقطه داده (p) در دیتاست، فاصله آن را با تمام نقاط دیگر محاسبه می‌کنیم (معمولاً با استفاده از فاصله اقلیدسی یا منهتن(
  2. تعیین K امین نزدیک‌ترین همسایه: ما K (یک عدد از پیش تعیین‌شده) نزدیک‌ترین نقطه را به p  پیدا می‌کنیم.

امتیاز پرت بودن (Outlier Score) : امتیاز پرت بودن (Anomaly Score) برای نقطه p برابر است با فاصله نقطه p  تا K اُمین نزدیک‌ترین همسایه‌اش

نحوه تشخیص

هرچه امتیاز پرت بودن یک نقطه )فاصله K اُمین همسایه (بزرگ‌تر باشد، آن نقطه دورتر از ابر داده‌های اصلی قرار گرفته و احتمال پرت بودن آن بالاتر است.

  • نقاط نرمال (Inliers) : در میان خوشه‌ها یا ابرهای داده‌ای متراکم قرار دارند. فاصله‌شان تا K اُمین همسایه بسیار کوچک است.
  • نقاط پرت (Outliers) : در فضای خالی و به دور از خوشه‌های متراکم قرار دارند. فاصله‌شان تا K اُمین همسایه بسیار زیاد است.

مثال کاربردی

فرض کنید یک دیتاست دوبعدی از میانگین زمان توقف و تعداد تراکنش‌های یک گروه مشتری در یک بانک داریم. ما K=3 را انتخاب می‌کنیم (یعنی ۳ نزدیک‌ترین همسایه).

نقطه۳ نزدیک‌ترین همسایهفاصله تا سومین همسایه (d3​)امتیاز پرت بودن
N (نرمال)در یک خوشه متراکمd_3 = 0.5پایین
O (پرت)نقاطی در فاصله‌ای دورd_3 = 15.2بالا

نکات مهم:

  • انتخاب k خیلی مهم است؛ k خیلی کوچک ⭠حساس به نویز، k خیلی بزرگ ⭠ نقاط ظریف گم می‌شوند.
  • در ابعاد بالا (curse of dimensionality)، فاصله‌ها شبیه هم می‌شوند و عملکرد افت می‌کند؛ لذا باید ابتدا کاهش بعد (مثل PCA مقاوم) انجام شود.

3.2. ضریب چگالی محلی ناهنجار  (LOF – Local Outlier Factor)

LOF یک روش مبتنی بر چگالی (Density-Based) است که توسط مارکوس برینینگ و همکارانش در سال ۲۰۰۰ معرفی شد. برخلاف روش ساده KNN که فقط به فاصله مطلق یک نقطه از K اُمین همسایه‌اش نگاه می‌کند، LOF یک معیار نسبی ارائه می‌دهد.

فلسفه اصلی LOF: داده پرت، نقطه‌ای نیست که صرفاً دور افتاده باشد، بلکه نقطه‌ای است که چگالی آن به طور معناداری کمتر از چگالی همسایگان نزدیکش باشد.

چرا LOF بهتر از KNN ساده است؟ (چگالی‌های متغیر)

مشکل روش KNN ساده در دیتاست‌هایی است که دارای خوشه‌هایی با چگالی متفاوت هستند.

  • در نمودار بالا، نقطه  NB ( نقطه عادی در خوشه خلوت ( B و نقطه ) OA پرت در خوشه متراکم  (A را در نظر بگیرید.
  • فاصله K اُمین همسایه برای NB (که عادی است) ممکن است از OA  (که پرت است) بزرگ‌تر باشد. در نتیجه، روش  KNN  ساده ممکن است NB را به اشتباه پرت تشخیص دهد و OA را نادیده بگیرد.
  • LOF این مشکل را حل می‌کند:  LOF چگالی NB را با چگالی همسایگانش در B مقایسه می‌کند (که شبیه‌اند). چگالی OA را با چگالی همسایگانش در A  مقایسه می‌کند (که بسیار متراکم‌ترند).

مراحل کلیدی محاسبه LOF

برای هر نقطه p،  LOF   در سه مرحله محاسبه می‌شود:

الف) فاصله دسترسی‌پذیری (Reachability Distance – RD)

این معیار تضمین می‌کند که فاصله بین نقاط به روشی پایدار محاسبه شود و از نوسانات شدید جلوگیری کند. فاصله دسترسی‌پذیری (RDk) بین نقطه p و نقطه o به سادگی برابر نیست با فاصله اقلیدسی آن‌ها. بلکه برابر است با:

این به این معناست که حداقل فاصله ما تا نقطه o را، فاصله k اُمین همسایه o قرار می‌دهیم. این کار چگالی را یکنواخت می‌کند.

ب) چگالی دسترسی‌پذیری محلی (Local Reachability Density – LRD)

LRD(p) معکوس میانگین فاصله دسترسی‌پذیری نقطه p تا همسایگانش است. این معیار نشان‌دهنده چگالی محلی اطراف نقطه p است.

  • اگر p   در یک ناحیه متراکم باشد، RD  کوچک است و LRD  (چگالی) بزرگ خواهد بود.

اگر p  در یک ناحیه خلوت باشد، RD  بزرگ است و LRD  (چگالی) کوچک خواهد بود.

ج) ضریب چگالی محلی ناهنجاری (LOF)

در نهایت، LOF  برای نقطه  p  از مقایسه چگالی محلی p  با میانگین چگالی محلی همسایگانش محاسبه می‌شود:

امتیاز LOF به چه معناست؟

  • LOF 1 : چگالی نقطه p تقریباً با چگالی همسایگانش برابر است. نقطه عادی (Inlier).
  • LOF > 1 : چگالی نقطه p  کمتر از میانگین چگالی همسایگانش است. این نقطه در یک فضای نسبتاً خلوت قرار دارد. داده پرت. (هر چه این عدد بزرگ‌تر باشد، پرت بودن شدیدتر است).
  • LOF < 1 : چگالی نقطه p  بیشتر از میانگین چگالی همسایگانش است (این حالت نادر است، اما نشان می‌دهد نقطه در مرکز یک خوشه قرار دارد). نقطه عادی.

مزایا و معایب LOF

مزایای LOFمعایب LOF
مقاومت در برابر چگالی‌های متغیر: می‌تواند پرت‌ها را حتی در خوشه‌های خلوت‌تر (sparse) به‌خوبی تشخیص دهد.هزینه محاسباتی بالا: مانند KNN ساده، محاسبه فاصله‌ها برای دیتاست‌های بزرگ بسیار زمان‌بر است (O(N^2)).
محلی‌بودن: برخلاف روش‌های جهانی (مثل Z-Score)، تنها با محیط محلی یک نقطه کار دارد.حساسیت به K: انتخاب مقدار K (تعداد همسایگان) در LOF بسیار حیاتی است.

چه زمانی از LOF استفاده کنیم؟

LOF بهترین انتخاب است زمانی که:

  • ماهیت داده‌های شما شامل خوشه‌هایی با تراکم (چگالی) بسیار متفاوت باشد.
  • حجم داده شما متوسط باشد (نه آن‌قدر بزرگ که Isolation Forest را ایجاب کند و نه آن‌قدر کوچک که Z-Score کافی باشد).
  • خیلی مناسب برای داده‌هایی با خوشه‌های غیریکنواخت؛ جاهایی که یک روش سراسری (global) مثل Z-Score خطا می‌کند.

3.3. روش‌های مبتنی بر درخت: (Isolation Forest)

Isolation Forest یک ایده‌ی خیلی زیبا و شهودی دارد:پرت‌ها همین‌طور که می‌خواهی آن‌ها را «برش بزنی» خیلی سریع از بقیه جدا می‌شوند.

مکانیک کار:

  1. چندین درخت تصادفی ساخته می‌شود؛ در هر درخت:
    • در هر گره، یک ویژگی تصادفی انتخاب می‌شود.
    • یک مقدار تصادفی بین مینیمم و ماکسیمم آن ویژگی انتخاب و دیتا به دو بخش تقسیم می‌شود.
  2. عمق مسیری که هر نقطه را جدا می‌کند، اندازه‌گیری می‌شود.
  3. نقاط پرت معمولاً در عمق‌های کم درخت جدا می‌شوند (چون در یک محدوده‌ی کوچک و خاص هستند).
  4. میانگین عمق جداسازی در بین همه‌ی درخت‌ها → امتیاز پرت بودن.

مزایا

  • نیاز به فرض توزیع ندارد.
  • برای داده‌های حجیم و پُربعد کارآمد است.
  • پیاده‌سازی‌اش در کتابخانه‌هایی مثل scikit-learn آماده است.

محدودیت

  • تنظیم پارامتر آلودگی (contamination) مهم است؛ اگر درصد پرت‌ها نامعلوم باشد، باید با آزمون و خطا تنظیم شود.
  • پرت‌های خیلی ظریف یا ساختاریافته ممکن است سخت‌تر تشخیص داده شوند.

Isolation Forest

Isolation Forest (iForest) یا “جنگل انزوا” یک الگوریتم یادگیری ماشین مبتنی بر درخت (Tree-Based) است که در سال ۲۰۰۸ توسط فی و همکارانش معرفی شد. این روش یک نقطه عطف در تشخیص داده‌های پرت محسوب می‌شود، زیرا برخلاف روش‌های سنتی (مانند KNN یا LOF) که ابتدا پروفایل نقاط عادی را می‌سازند، iForest  به طور مستقیم بر انزوای نقاط پرت تمرکز می‌کند.

این روش برای دیتاست‌های بزرگ و دارای ابعاد بالا (High-Dimensional)  که روش‌های مبتنی بر فاصله (مثل LOF) در آن‌ها کند و ناکارآمد می‌شوند، به یک استاندارد طلایی تبدیل شده است.

فرض اصلی Isolation Forest  این است: “داده‌های پرت، نقاطی کم‌تعداد و دورافتاده هستند و می‌توان آن‌ها را در یک ساختار درختی، با تقسیمات تصادفی بسیار کم از بقیه داده‌ها جدا (منزوی) کرد”. به عبارت دیگر، نقاط پرت «راحت‌تر» از نقاط عادی منزوی می‌شوند.

سازوکار عملکرد (چگونه کار می‌کند؟)

الگوریتم Isolation Forest یک روش Ensemble  (ترکیبی) است که از مجموعه‌ای از درختان تصمیم ساده به نام درختان انزوا (Isolation Trees – iTrees) ساخته می‌شود.

الف) ساختار درخت انزوا (iTree)

برای ساخت هر درخت انزوا، مراحل زیر تکرار می‌شود:

  1. انتخاب تصادفی ویژگی (Feature) : یک ویژگی (ستون) از داده‌ها به طور تصادفی انتخاب می‌شود.
  2. انتخاب تصادفی مقدار تقسیم (Split Value) : یک مقدار تصادفی بین حداقل و حداکثر مقادیر آن ویژگی انتخاب می‌شود.
  3. تقسیم داده‌ها: داده‌ها بر اساس مقدار انتخابی به دو زیرمجموعه تقسیم می‌شوند (نقاط کمتر از مقدار به چپ، بقیه به راست).
  4. این تقسیم تا زمانی ادامه می‌یابد که فقط یک نقطه در هر گره باقی بماند یا به یک عمق مشخص برسد.
ب) انزوای نقاط پرت (Outlier Isolation)
  • نقطه پرت (O) : اگر یک نقطه پرت باشد، چون دور از توده اصلی قرار گرفته، احتمالاً در همان تقسیمات اول از سایر نقاط جدا می‌شود. بنابراین، مسیر آن از ریشه درخت تا برگ نهایی، بسیار کوتاه خواهد بود.
  • نقطه عادی (N) : اگر یک نقطه عادی باشد، در میان یک گروه بزرگ از نقاط متراکم قرار دارد. برای جدا کردن آن از همسایگانش، درخت مجبور است تقسیمات بیشتری انجام دهد. بنابراین، مسیر آن بسیار طولانی‌تر خواهد بود.
ج) امتیاز پرت بودن (Anomaly Score)
  1. میانگین طول مسیر: الگوریتم، طول مسیر یک نقطه خاص را در تمام درختان انزوای ساخته‌شده (جنگل) محاسبه می‌کند.
  2. نرمال‌سازی: این میانگین طول مسیر سپس به یک امتیاز ناهنجاری (Anomaly Score) تبدیل می‌شود.
  3. تفسیر امتیاز:
    • اگر امتیاز نزدیک به ۱ باشد: نقطه به راحتی منزوی شده است (طول مسیر کوتاه) احتمال بالای پرت بودن.
    • اگر امتیاز نزدیک به ۰.۵ باشد: نقطه به طور متوسط منزوی شده است.
مثال کاربردی: تشخیص تقلب بانکی

فرض کنید می‌خواهیم در یک میلیون تراکنش بانکی، تقلب (Fraud) را تشخیص دهیم. تراکنش‌های عادی (میلیون‌ها مورد) در یک خوشه متمرکز هستند، در حالی که تراکنش‌های متقلبانه (چند صد مورد) در مقادیر غیرعادی (مثلاً در ویژگی «مبلغ تراکنش» یا «تعداد تراکنش در شب») پراکنده شده‌اند.

  1. نقطه عادی (N): یک تراکنش با مبلغ ۵۰۰ هزار تومان و ۱۰ تراکنش در روز.
  2. نقطه پرت (O):یک تراکنش با مبلغ ۱۰۰ میلیون تومان و ۱۰۰ تراکنش در روز.

در: iForest

  • هنگام ساخت درخت، یک تقسیم تصادفی می‌تواند بر اساس ویژگی «مبلغ» انجام شود: “آیا مبلغ کمتر از ۹۰ میلیون تومان است؟”
  • نقطه پرت (O) بلافاصله در همان گره اول یا دوم جدا می‌شود (مسیر کوتاه).
  • نقطه عادی (N) تا زمانی که با سایر تراکنش‌های ۵۰۰ هزار تومانی در یک گره قرار دارد، باید تقسیمات زیادی (مبتنی بر زمان، مکان و…) را پشت سر بگذارد تا منزوی شود (مسیر بلند).

4. روش‌های مبتنی بر خوشه‌بندی (Clustering-Based Outlier Detection)

ایده اصلی

اگر داده‌ها بر اساس شباهت به چند خوشه (Cluster) تقسیم شوند، نقاطی که:

  • به هیچ خوشه‌ای تعلق ندارند،
  • خیلی دور از مرکز خوشه قرار دارند،
  • یا خوشه‌ای بسیار کوچک تشکیل می‌دهند،

به عنوان پرت شناسایی می‌شوند.

خوشه‌بندی به‌ویژه در دیتاست‌های چندبعدی و بدون فرض توزیع مفید است.

4.1. روش مبتنی بر K-Means (K-Means Outlier Detection)

ایده اصلی

در روش K-Means هر نقطه متعلق به نزدیک‌ترین مرکز خوشه است.نقاطی که فاصله زیادی از مرکز خوشه خود دارند پرت محسوب می‌شوند.

مراحل

  1. اجرای K-Means → تعیین k خوشه
  2. محاسبه فاصله هر نقطه تا مرکز خوشه
  3. تعریف آستانه:
    اگر فاصله نقطه از مرکز خوشه > آستانه → پرت

معمولاً از

  • آستانه ۹۵٪ یا ۹۹٪
  • یا میانگین فاصله + ۲ یا ۳ انحراف معیار

مثال

در دیتاست تراکنش‌های مالی:اگر مرکز خوشه مبلغ ۵۰۰ هزار تومان است ولی یک نقطه فاصله‌ای معادل ۲۰ میلیون تومان دارد → پرت.

مزایا

  • ساده و سریع
  • مناسب داده‌های کم‌بعد
  • قابل تفسیر

معایب

  • K باید از قبل مشخص شود
  • به شکل خوشه‌ها حساس است
  • با خوشه‌های نامنظم و چگالی‌های متفاوت مشکل دارد

4.2. روش DBSCAN (Density-Based Clustering)

ایده اصلی

DBSCAN نقاط را بر اساس چگالی خوشه‌بندی می‌کند و نقاطی که در مناطق کم‌چگالی قرار دارند را Noise (پرت) می‌نامد.

ویژگی کلیدی

  • نقاط پرت = نقاطی که به هیچ Cluster Core متصل نمی‌شوند.

مزایا

  • عدم نیاز به مشخص کردن تعداد خوشه
  • بسیار مناسب خوشه‌های پیچیده
  • پرت‌ها را به‌صورت طبیعی جدا می‌کند

معایب

  • انتخاب پارامترهای ε و MinPts مهم و سخت
  • برای داده‌های پُربعد ضعیف

4.3. روش HDBSCAN (بهبود یافته DBSCAN)

ایده اصلی

نسخه ارتقاءیافته DBSCAN با ساختار سلسله‌مراتبی و محاسبه “پایداری خوشه”.

ویژگی

  • نقاط با پایداری پایین → پرت
  • مناسب داده‌های با چگالی‌های متفاوت

مزایا

  • خودکارتر از DBSCAN
  • تحمل بهتر تغییرات چگالی

معایب:

  • پیچیدگی محاسباتی بیشتر

4.4. خوشه‌بندی طیفی (Spectral Clustering Outlier Detection)

ایده اصلی


در این روش، داده‌ها با استفاده از تحلیل طیفی گراف همسایگی (بر اساس ماتریس لاپلاسین) در یک فضای جدید (فضای ویژه‌بردارها) جاسازی می‌شوند؛ نقاطی که پس از این تبدیل فاصله زیادی از خوشه‌های اصلی دارند یا در خوشه‌های بسیار کوچک (۱ یا ۲ عضو) قرار می‌گیرند، به‌عنوان پرت در نظر گرفته می‌شوند.

فرمول


۱. ساخت ماتریس همسایگی W (معمولاً با هسته گاوسی):

۲. ماتریس درجه D (قطری، Dii​=∑j​Wij​ )

۳. ماتریس لاپلاسین نرمال‌شده:

۴. محاسبه k ویژه‌بردار کمینه غیرصفرِ Lsym​ و تشکیل ماتریس U∈Rn×k

۵. نرمال‌سازی سطرهای U و اعمال خوشه‌بندی (مثلاً k-means) در فضای جدید.

معیار تشخیص

  • اگر یک نقطه در خوشه‌ای با اندازه بسیار کوچک (مثلاً ۱ یا ۲ عضو) قرار گیرد ⭠ پرت
  • یا: فاصله آن نقطه تا مرکز خوشه‌اش در فضای طیفی بسیار بزرگ باشد
  • یا: مقدار ویژه متناظر با مؤلفه آن در فضای طیفی بسیار کوچک/بزرگ باشد (نشانه جدایی توپولوژیکی)

مزایا

  • قابلیت شناسایی پرت در داده‌های با ساختار غیرخطی و غیرمحدب (مثل حلقه‌ها یا خوشه‌های پیچیده)
  • استفاده از ساختار توپولوژیکی داده (از طریق گراف)
  • کارایی مناسب در داده‌های با خوشه‌بندی طبیعی

معایب

  • محاسباتی گران (ویژه‌تجزیه ماتریس n×n ) — برای  n>104 ناکارآمد
  • حساس به پارامتر σ (پهنای هسته) و k (تعداد خوشه/مؤلفه)
  • تفسیر مستقیم پرت‌بودن بدون مرحله تکمیلی (مثل آستانه‌گذاری فاصله) دشوار است

4.5خوشه‌بندی سلسله‌مراتبی (Hierarchical Clustering)

ایده:

  • داده‌ها به‌صورت ادغامی یا تفکیکی خوشه‌بندی می‌شوند
  • نقاطی که در مراحل اولیه از بقیه جدا می‌شوند، معمولاً پرت هستند

مزایا:

  • بدون نیاز به K
  • مناسب داده‌های کوچک تا متوسط
  • ساختار درختی (دندروگرام) برای تحلیل بصری

معایب:

  • هزینه محاسباتی زیاد برای داده‌های بزرگ
  • حساسیت به نوع فاصله و لینک (complete, average, ward)

مثال کاربردی کوتاه

فرض کنید داده GPS از جابه‌جایی تاکسی‌ها داریم:

  • اکثر تاکسی‌ها در مرکز شهر حرکت می‌کنند ⭠ خوشه‌های متراکم
  • یک تاکسی ناگهان در مسیر خارج‌شهری و دورافتاده دیده می‌شود
  • DBSCAN بدون هیچ فرض اولیه، این نقطه را «Noise» تشخیص می‌دهد

در تحلیل حمل‌ونقل شهری، چنین نقطه‌ای ممکن است:

  • خطای GPS باشد
  • مسیر غیرمجاز باشد
  • نشانه حادثه باشد

این وظیفه تحلیل‌گر است که بین «خطا» و «سیگنال» تمایز بگذارد.

جمع‌بندی

در این بخش از جعبه‌ابزار تشخیص داده‌های پرت، با مجموعه‌ای از روش‌های کلاسیک، مقاوم و ساختاری آشنا شدیم که هر کدام از زاویه‌ای متفاوت به مسئله ناهنجاری نگاه می‌کنند. روش‌های توزیعی و غیرپارامتریک برای داده‌های ساده و تک‌متغیره مناسب‌اند؛ رویکردهای فاصله و چگالی در داده‌های چندبُعدی و ساختارهای خوشه‌ای قدرت بالایی دارند؛ و خوشه‌بندی به ما امکان می‌دهد داده‌های پرت را در قالب رفتار گروه‌ها شناسایی کنیم.

اگرچه این دسته از روش‌ها ستون اصلی تشخیص Outlier در بسیاری از پروژه‌ها هستند، اما برای داده‌های پیچیده، پُربعد، سری‌زمانی، تصویری یا داده‌هایی با ساختار رفتاری پیشرفته، لازم است از ابزارهای قدرتمندتر و مدرن‌تری استفاده کنیم—ابزارهایی که بر پایه‌ی مدل‌سازی، یادگیری ماشین، یادگیری عمیق و رویکردهای ترکیبی بنا شده‌اند.

برای ادامه مطالعه و آشنایی با روش‌های مدل‌محور، الگوریتم‌های ML، معماری‌های Deep Learning و روش‌های Ensemble در تشخیص داده‌های پرت، بخش دوم این مجموعه را بخوانید

آنچه می خوانید