Inferensi berbasis jejaring sosial

Deteksi Fraud di R

Tim Verdonck

Professor Data Science at KU Leuven

Inferensi berbasis jejaring sosial

Tujuan

Memprediksi perilaku sebuah node berdasarkan perilaku node lain

node hilang di jaringan

Deteksi Fraud di R

Inferensi berbasis jejaring sosial

Tantangan

  • Data tidak independen
    • Perilaku satu node dapat memengaruhi node lain
    • Perilaku antar-node berkorelasi
  • Inferensi kolektif: inferensi antar-node saling memengaruhi

node hilang di jaringan

Deteksi Fraud di R

Non-relasional vs relasional

Model non-relasional

  • Hanya memakai informasi lokal
  • Regresi logistik, pohon keputusan, ...

regresi_logistik.png

Model relasional

  • Memanfaatkan tautan dalam jaringan
  • Klasifikator tetangga relasional

jaringan sederhana

Deteksi Fraud di R

Klasifikator tetangga relasional

Asumsi

  • Homofili: node yang terhubung cenderung masuk kelas yang sama ("guilt by association")
  • Beberapa label kelas diketahui

node hilang

Deteksi Fraud di R

Klasifikator tetangga relasional

Probabilitas fraud

$$P(F | ?) = \frac{1 + 1}{1 + 1 + 1 + 1 + 1}=\frac{2}{5}= 40\%$$

node hilang

Deteksi Fraud di R

Klasifikator tetangga relasional berbobot

Probabilitas fraud

$$P(F | ?) = \frac{1 + 2}{3 + 1 + 1 + 2 + 1}=\frac{3}{8}=37.5\%$$

node hilang berbobot

Deteksi Fraud di R

Klasifikator tetangga relasional

vertex_attr(network) ## Node diberi label 1 (fraud), 0 (bukan fraud), atau NA (tidak diketahui)
$name
"?" "B" "C" "D" "E" "A"
$isFraud
NA  1  0  1  0  0
edge_attr(network) ## Edge memiliki bobot

$weight
2 3 1 1 1
Deteksi Fraud di R

Klasifikator tetangga relasional

## subgraph(): buat subgraf berisi node "?" dan semua node fraud
subnetwork <- subgraph(network, v = c("?", "B", "D"))

## strength(): jumlahkan bobot edge yang bersebelahan untuk node "?" prob_fraud <- strength(subnetwork, v = "?") / strength(network, v = "?")
prob_fraud
0.375
Deteksi Fraud di R

Ayo berlatih!

Deteksi Fraud di R

Preparing Video For Download...