एक-वेरिएबल आउटलायर की पहचान

R में Fraud Detection

Tim Verdonck

Professor Data Science at KU Leuven

Outliers

आउटलायर वह ऑब्ज़र्वेशन है जो अधिकांश डेटा के पैटर्न से हटकर हो. outlierfish आउटलायर धोखाधड़ी का संकेत भी हो सकता है.

R में Fraud Detection

Outlier detection

  • Outlier detection के लिए एक लोकप्रिय टूल है:

    • हर ऑब्ज़र्वेशन का z-score निकालना
    • यदि z-score का absolute मान 3 से बड़ा हो तो आउटलायर फ़्लैग करना
  • ऑब्ज़र्वेशन $x_i$ का z-score $z_i$ ऐसे निकलेगा:

$$z_i=\frac{x_i-\hat{\mu}}{\hat{\sigma}} = \frac{x_i-\overline{x}}{s}$$

  • $\overline{x}$ sample mean है: $\overline{x}=\frac{1}{n}\sum_i x_i$
  • $s$ sample standard deviation है: $s= \sqrt{\frac{1}{n-1}\sum_i(x_i-\hat{\mu})^2}$
R में Fraud Detection

डेटासेट loginc में 10 व्यक्तियों की मासिक आय का log ट्रांसफॉर्मेशन के बाद का मान है:

loginc: 7.876 7.681 7.628  ...  7.764 9.912 # <-- आखिरी आय साफ़ तौर पर आउटलायर है!
  • (1) हर ऑब्ज़र्वेशन का z-score निकालें
Mean <- mean(loginc)
Sd <- sd(loginc)
zscore <- (loginc - Mean) / Sd
  • (2) जाँचें कि z-scores absolute मान में 3 से बड़े हैं या नहीं
abs(zscore) > 3
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
  • इन z-scores से कोई आउटलायर नहीं मिला!
R में Fraud Detection

Robust statistics

  • पारंपरिक सांख्यिकीय तरीके (नॉर्मैलिटी) धारणाओं पर निर्भर होते हैं, लेकिन एक भी आउटलायर निष्कर्षों को काफ़ी बदल सकता है और भ्रामक परिणाम दे सकता है.
  • Robust statistics तब भी विश्वसनीय परिणाम देती हैं जब डेटा में आउटलायर हों, और स्वचालित आउटलायर-डिटेक्शन टूल्स प्रदान करती हैं.
  • "It is perfect to use both classical and robust methods routinely, and only worry when they differ enough to matter... But when they differ, you should think hard." J.W. Tukey (1979)
R में Fraud Detection

स्थान के अनुमानक: mean और median

Sample mean: $$\overline{x}=\frac{1}{n}\sum_i x_i$$

mean(loginc)

mean(loginc9)
7.986447

7.772392

loginc9 में loginc जैसी ही ऑब्ज़र्वेशन हैं, बस आउटलायर हटाया गया है.

$n$ ऑब्ज़र्वेशन को छोटे से बड़े क्रम में रखें, तब sample median, $Med(X_n)$, odd $n$ पर $(n+1)/2$वीं ऑब्ज़र्वेशन होती है, और even $n$ पर $n/2$वीं व $n/2+1$वीं का औसत.

median(loginc)
7.816658
median(loginc9)
7.764296
R में Fraud Detection

स्केल के अनुमानक: sd

(1) Sample standard deviation: $$s= \sqrt{\frac{1}{n-1}\sum_i (x_i-\hat{\mu})^2}$$

sd(loginc)
0.6976615
sd(loginc9)
0.1791729
R में Fraud Detection

स्केल के अनुमानक: mad, IQR

(2) Median absolute deviation: $$Mad(X_n)=1.4826Med(|x_i-Med(X_n)|)$$

(3) Interquantile range (normalized): $$IQR(X_n)= IQR = 0.7413(Q_3-Q_1)$$ जहाँ $Q_1$ और $Q_3$ डेटा के पहला और तीसरा क्वार्टाइल हैं

IQR(loginc)/1.349
0.2056784
mad(loginc)
0.2396159
mad(loginc9)
0.201305
IQR(loginc9)/1.349
0.1839295
R में Fraud Detection

आउटलायर डिटेक्शन के लिए robust z-scores

Robust अनुमानक लगाकर robust z-scores निकालें:

$$z_i=\frac{x_i-\hat{\mu}}{\hat{\sigma}} =\frac{x_i-Med(X_n)}{Mad(X_n)}$$

robzscore <- (loginc - median(loginc)) / mad(loginc)

abs(robzscore) > 3 ## आउटलायर जाँचें
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
robzscore[10] ## आउटलायर का robust z-score
8.748523
R में Fraud Detection

Boxplot

  • Tukey का boxplot भी आउटलायर पहचानने का लोकप्रिय टूल है.
  • ऑब्ज़र्वेशन बॉक्सप्लॉट फेंस से बाहर हो तो आउटलायर फ़्लैग होता है: $$[Q_1-1.5IQR; Q_3+1.5IQR]$$

boxplotexplanation

R में Fraud Detection

उदाहरण: अस्पताल में रहने की अवधि (LOS)

boxplot(los, col = "blue", ylab = "Lenght of Stay (LOS)")$out
59  33  42  67  35  47 102  36  27  31  27  30  29  32  37  27  38

boxplotlos_ggplot

R में Fraud Detection

Adjusted boxplot

  • Asymmetric डिस्ट्रीब्यूशन में, बॉक्सप्लॉट बहुत से सामान्य पॉइंट्स को भी आउटलायर फ़्लैग कर सकता है.
  • Skewness-adjusted boxplot इसे ठीक करता है, फेंस तय करने में robust skewness माप का उपयोग कर (Hubert और Vandervieren, 2008).

chisqbp

R में Fraud Detection

उदाहरण LOS: adjusted boxplot

Adjusted boxplot के अनुसार आउटलायर:

library(robustbase)
adjbox(los)$out
59  67 102

Adjusted boxplot द्वारा निकाले गए आँकड़े:

adjboxStats(los)$stats
2  4  8 13 47
R में Fraud Detection

उदाहरण LOS: boxplot बनाम adjusted boxplot

LOS_boxplot

LOS_adjbox

R में Fraud Detection

अभ्यास करते हैं!

R में Fraud Detection

Preparing Video For Download...