Çok değişkenli aykırı değerleri saptama

R ile Dolandırıcılık Tespiti

Tim Verdonck

Professor Data Science at KU Leuven

Animals verisi

  • MASS paketindeki Animals veri kümesi 28 hayvan için ortalama beyin ve vücut ağırlıklarını içerir
library(MASS)
data("Animals")
                    body brain
Mountain beaver     1.35   8.1
Cow               465.00 423.0
Grey wolf          36.33 119.5
Goat               27.66 115.0
  • Hem vücut hem beyin ağırlığına logaritmik dönüşüm uygula
X <- data.frame(log_body = log(Animals$body), log_brain = log(Animals$brain))
R ile Dolandırıcılık Tespiti

Animals verisi: tek değişkenli aykırı değer tespiti

Vücut ve beyin ağırlıklarının logaritmalarının kutu grafiği

animalsbp

R ile Dolandırıcılık Tespiti

Animals verisi: saçılım grafiği

scatteranimals_ggplot

R ile Dolandırıcılık Tespiti

Mahalanobis uzaklığı

Bir gözlem için Mahalanobis (genelleştirilmiş) uzaklığı, kovaryans matrisini dikkate alarak bu gözlemden merkeze olan uzaklıktır

mahalanobiseuclidean_ggplot

R ile Dolandırıcılık Tespiti

Çok değişkenli aykırı değer tespiti için Mahalanobis uzaklığı

  • Klasik Mahalanobis uzaklıkları: konum için örnek ortalaması, saçılım için örnek kovaryans matrisi kullanılır

  • Çok değişkenli aykırı değerleri bulmak için Mahalanobis uzaklığı, ki-kare dağılımından türetilen bir eşik değerle karşılaştırılır

  • İki boyutta, $97.5\%$ tolerans elipsoidi çizebiliriz: Mahalanobis uzaklığı eşik değeri aşmayan gözlemlerle tanımlanır

R ile Dolandırıcılık Tespiti

Mahalanobis uzaklığına dayalı tolerans elipsoidi

animals.clcenter <- colMeans(X)
animals.clcov <- cov(X)
rad <- sqrt(qchisq(0.975, df = ncol(X)))

library(car) ellipse.cl <- data.frame(ellipse(center = animals.clcenter, shape = animals.clcov,radius = rad, segments = 100, draw = FALSE)) colnames(ellipse.cl) <- colnames(X)
fig <- fig + geom_polygon(data=ellipse.cl, color = "dodgerblue", fill = "dodgerblue", alpha = 0.2) + geom_point(aes(x = animals.clcenter[1], y = animals.clcenter[2]), color = "blue", size = 6)
R ile Dolandırıcılık Tespiti

cltolanimals_ggplot

R ile Dolandırıcılık Tespiti

Konum ve saçılımın sağlam kestirimleri

Rousseeuw'nun Minimum Covariance Determinant (MCD) kestiricisi, çok değişkenli konum ve saçılım için popüler bir sağlam kestiricidir

  • MCD, klasik kovaryans matrisinin en küçük determinantına sahip $h$ gözlemi arar
  • Konumun MCD kestirimi bu $h$ gözlemin ortalamasıdır
  • Saçılımın MCD kestirimi bu $h$ noktanın örnek kovaryans matrisidir (tutarlılık katsayısıyla çarpılır)
  • Normal veride verimliliği artırmak için yeniden ağırlıklandırma adımı uygulanır
  • Hesaplama zordur, ancak birkaç hızlı algoritma önerilmiştir
R ile Dolandırıcılık Tespiti

Sağlam uzaklık

MCD ile konum ve saçılımın sağlam kestirimleri

library(robustbase)
animals.mcd <- covMcd(X)

# Robust estimate of location
animals.mcd$center 

# Robust estimate of scatter
animals.mcd$cov

Bu sağlam konum ve saçılım kestirimlerini Mahalanobis uzaklığı tanımına koyarsak, sağlam uzaklıklar elde eder ve sağlam bir tolerans elipsoidi çizebiliriz.

R ile Dolandırıcılık Tespiti

Animals: sağlam tolerans elipsoidi

library(robustbase)
animals.mcd <- covMcd(X)
ellipse.mcd <- data.frame(ellipse(center = animals.mcd$center, 
                                   shape = animals.mcd$cov,
                                   radius = rad, segments = 100, draw = FALSE))
colnames(ellipse.mcd) <- colnames(X)

fig2 <- fig + geom_polygon(data = ellipse.mcd, color = "red", fill = "red", alpha = 0.3) + geom_point(aes(x = animals.mcd$center[1], y = animals.mcd$center[2]), color = "red", size = 6)
R ile Dolandırıcılık Tespiti

robtolanimals_ggplot_v3.png

R ile Dolandırıcılık Tespiti

Uzaklık-uzaklık grafiği

  • $p>3$ olduğunda tolerans elipsoidini görselleştiremeyiz.
  • Uzaklık-uzaklık grafiği, her gözlemin sağlam uzaklığını MCD nesnesinden alınan klasik Mahalanobis uzaklığına karşı gösterir
    plot(animals.mcd, which = "dd")
    
    animalsddplot
R ile Dolandırıcılık Tespiti

Animals: aykırıları kontrol et

animalsdetection

R ile Dolandırıcılık Tespiti

Hadi pratik yapalım!

R ile Dolandırıcılık Tespiti

Preparing Video For Download...