Salah satu cara berpikir deteksi outlier adalah bahwa Anda membuat model prediktif, kemudian Anda memeriksa untuk melihat apakah suatu titik berada dalam kisaran prediksi. Dari sudut pandang teori-informasi, Anda dapat melihat seberapa banyak setiap pengamatan meningkatkan entropi model Anda.
Jika Anda memperlakukan data ini hanya sebagai kumpulan angka, dan Anda tidak memiliki beberapa model yang diusulkan untuk bagaimana mereka dihasilkan, Anda mungkin juga hanya melihat rata-rata. Jika Anda yakin angka-angka tersebut tidak terdistribusi secara normal, Anda tidak dapat membuat pernyataan tentang seberapa jauh 'off' angka yang diberikan dari rata-rata, tetapi Anda bisa melihatnya secara absolut.
Dengan menerapkan ini, Anda dapat mengambil rata-rata semua angka, lalu mengecualikan setiap angka dan mengambil rata-rata lainnya. Rata-rata mana pun yang paling berbeda dari rata-rata global adalah pencilan terbesar. Inilah beberapa python:
def avg(a):
return sum(a)/len(a)
l = [100, 50, 150, 200, 35, 60 ,50, 20, 500]
m = avg(l)
for idx in range(len(l)):
print("outlier score of {0}: {1}".format(l[idx], abs(m - avg([elem for i, elem in enumerate(l) if i!=idx]))))
>>
outlier score of 100: 4
outlier score of 50: 10
outlier score of 150: 3
outlier score of 200: 9
outlier score of 35: 12
outlier score of 60: 9
outlier score of 50: 10
outlier score of 20: 14
outlier score of 500: 46