R ile Dolandırıcılık Tespiti
Tim Verdonck
Professor Data Science at KU Leuven
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
X <- data.frame(log_body = log(Animals$body), log_brain = log(Animals$brain))
Vücut ve beyin ağırlıklarının logaritmalarının kutu grafiği


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

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
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)

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 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.
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)

MCD nesnesinden alınan klasik Mahalanobis uzaklığına karşı gösterirplot(animals.mcd, which = "dd")


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