Outliers: Introduction to outliers & different types of outliers

ব্যাংকে প্রতিদিন লক্ষ লক্ষ ট্রান্সাকশন হয়। এতগুলো ট্রান্সাকশনের মধ্যে কোন ফ্রড হলে ধরা যায় কিভাবে? নরমালি যত ট্রান্সাকশন হয়, সব কোন না কোন একটা বৈশিষ্ট্য মেনে চলে। কিন্তু ফ্রড এই বৈশিষ্ট্যের বাইরে পরে – এই ব্যাপারটি কাজে লাগিয়ে ফ্রড ডিটেক্ট করা হয়। এইখানে ফ্রড হচ্ছে আউটলায়ার।

এই আর্টিকেলে যা যা আলোচিত হবে:

  • Outlier কি?
  • Outlier detection কেন গুরুত্বপূর্ণ? 
  • Noise vs Outlier
  • Types of Outliers
    • Global Outliers
    • Contextual Outliers
    • Collective Outliers

Outlier কি?: ধরি একটা নির্দিষ্ট স্ট্যাটিস্টিকাল প্রসেস ব্যাবহার করে একটা সেট অফ ডাটা অবজেক্ট তৈরি করা হল। আউটলায়ার এমন সব ডাটা অবজেক্ট যেইগুলা ঐ সেট অফ ডাটা অবজেক্টদের থেকে এমনভাবে ডেভিয়েট করে যেন মনে হয় তারা এক সম্পূর্ণ ভিন্ন এক স্ট্যাটিস্টিকাল প্রসেস ব্যাবহার করে বানানো হয়েছে।

আউটলায়ার ডিটেকশন কেন গুরুত্বপূর্ণ?: আমরা শুরুতেই ফ্রড নিয়ে বলেছিলাম। ফ্রড ধরতে চাইলে এই আউটলায়ার ডিটেক্টশন দরকার। ধরি একজনের ক্রেডিট কার্ড চুরি হয়ে গেল। যার ক্রেডিট কার্ড সে একরকমভাবে ব্যাবহার করবে, চোর আরেকরকমভাবে ব্যাবহার করবে। চোর অস্বাভাবিকরকম খরচ করবে। ক্রেডিট কার্ডের এই পারচেস প্যাটার্ন থেকে ফ্রড ধরা যায়। কম্পিউটার নেটওয়ার্কে ইন্ট্রুশন ডিটেকশন-ও আউটলায়ার ডিটেকশনের মাধ্যমে হয়ে থাকে।

Noise vs Outliers: নয়েজ এবং আউটলায়ার এক জিনিস না। নয়েজ হচ্ছে ডাটাসেটে অযাচিত এবং ভুল ডাটা। এই ডাটা কোনকাজে আসেনা। অপরদিকে আউটলায়ার ভ্যালিড ডাটা যেইটা নর্মাল সব ডাটা অবজেক্ট থেকে ডেভিয়েটেড।

Image source

Types of Outliers: সাধারণত আউটলায়ার কে ৩ ভাগে ভাগ করা হয় – গ্লোবাল, কন্টেক্সটুয়াল এবং কালেক্টিভ। 

Global outliers:  যদি প্রদত্ত ডাটাসেটে কোন ডাটা অবজেক্ট বাকি সব ডাটা অবজেক্ট থেকে অনেকবেশি ডেভিয়েট করে, তাহলে সেইটা হবে গ্লোবাল আউটলায়ার। এইটাকে অনেকসময় point anomalies ও বলা হয়। এইটা সবচেয়ে সহজ ধরনের আউটলায়ার। বেশিরভাগ আউটলায়ার ডিটেকশন মেথড এই ধরনের আউটলায়ার বের করার জন্য টার্গেট করে থাকে। ফিগারে দেখা যাচ্ছে A হচ্ছে গ্লোবাল আউটলায়ার।

ফিগার: A হচ্ছে গ্লোবাল আউটলায়ার

Contextual Outliers: “সৌদি আরবে আজকে তুষারপাত হচ্ছে” – আসলেই কি তুষারপাত হচ্ছে? এইটা নির্ভর করে সময় এবং শহরের উপর। এখন যদি বলি শীতকালে সৌদি আরবের তাবুকে তুষারপাত হচ্ছে, ব্যাপারটা স্বাভাবিক। যদি বলি গরমকালে সৌদি আরবের তাবুকে তুষারপাত হচ্ছে, ব্যাপারটা আউটলায়ার। আবার যদি বলি – শীতকালে সৌদি আরবের রিয়াদে তুষারপাত হচ্ছে, এইটা সবসময় আউটলায়ার। কারণ রিয়াদ শহরে শীতকালেও কখনও তুষারপাত হয়না। 

তাহলে আমরা বলতে পারি, প্রদত্ত ডাটাসেটে কোন ডাটা অবজেক্ট কন্টেক্সটুয়াল আউটলায়ার হবে যদি কোন নির্দিষ্ট কন্টেক্সটে সেই ডাটা অবজেক্ট বাকিসব ডাটা অবজেক্ট থেকে ডেভিয়েট করে। এইটাকে কন্ডিশনাল আউটলায়ার-ও বলা হয়। কন্টেক্সটুয়াল আউটলায়ার ডিটেকশনের ক্ষেত্রে ডাটা অবজেক্টের দুই ধরনের অ্যাট্রিবিউট দেখা হয়:

১। কন্টেক্সটুয়াল অ্যাট্রিবিউট: ডাটা অবজেক্টের কন্টেক্সট বলে। এই উদাহরণে কন্টেক্সটুয়াল অ্যাট্রিবিউট হবে শহর এবং ঋতু। 

২। বিহ্যাভারিয়াল অ্যাট্রিবিউট: যা কন্টেক্সটের সাপেক্ষে নির্ধারণ করে যে ডাটা অবজেক্টটি আউটলায়ার হবে কিনা। এই ক্ষেত্রে বিহ্যাভারিয়াল অ্যাট্রিবিউট হবে তুষারপাত।

Collective Outliers: ডাটাসেটে কিছু ডাটা অবজেক্ট একসাথে একটা গ্রুপ আকারে বাকিসব ডাটা অবজেক্টের থেকে আলাদা হয়, তাহলে সেইটা হবে কালেক্টিভ আউটলায়ার। এইক্ষেত্রে ডাটা অবজেক্টগুলো প্রতিটি আলাদা আলাদা করে কিন্তু আউটলায়ার নাও হতে পারে। 

নিচের চিত্রে দেখতে পারি যে A হচ্ছে আউটলায়ার। পুরো ডাটাসেটের তুলনায় এই জায়গার ডেনসিটি বেশি। A এর প্রতিটা ডাটা অবজেক্ট কিন্তু আবার আলাদা আলাদা করে দেখলে ঐ ডাটাসেটে আউটলায়ার হয়না। 

ফিগার: A হচ্ছে কালেক্টিভ আউটলায়ার

একটা উদাহরণ দেখি – যেকোনো দুই পার্টির মধ্যে স্টক ট্রান্সাকশন স্বাভাবিক ব্যাপার। কিন্তু যদি কম সময়ের মধ্যে কিছু একই পার্টির মধ্যে যদি বড় কোন ট্রান্সাকশন হয়, তাহলে সেইটা কালেক্টিভ আউটলায়ার হবে। কারণ ঐ পার্টিগুলো হয়ত মার্কেট ম্যানিপুলেট করার চেষ্টা করছে।

আরও পড়তে চাইলে:

Leave a Reply