In this article, we'll take a look at Show

এক্সপ্লোরেটরি ডেটা অ্যানালাইসিস (EDA) গুরুত্বপূর্ণ কারণ এটি ডেটা বিজ্ঞানীদের ডেটাসেটের একটি গভীর উপলব্ধি লাভ করতে সাহায্য করে। এখানে ডেটা বিশ্লেষণের জন্য ব্যবহৃত কিছু সাধারণ গ্রাফিকাল এবং পরিমাণগত কৌশল সম্পর্কে আলোচনা করা হলো, সাথে পাইথন ব্যবহার করে কিছু উদাহরণের ধারণা দেওয়া হলো:
 

গ্রাফিক্যাল কৌশল (Graphical Techniques):

গ্রাফিকাল কৌশলগুলো ডেটার বিতরণ, প্যাটার্ন এবং সম্পর্ক visualise করতে সাহায্য করে।

১. বক্স প্লট (Box Plot):

বক্স প্লট ডেটার কেন্দ্র, বিস্তার এবং আউটলায়ার (outliers) দেখতে সাহায্য করে। এটি ডেটার কোয়ার্টাইল (quartiles), মধ্যমা (median) এবং রেঞ্জ (range) দেখায়।

২. হিস্টোগ্রাম (Histogram):

হিস্টোগ্রাম ডেটার ফ্রিকোয়েন্সি বিতরণ (frequency distribution) দেখায়। এটি ডেটার রেঞ্জের মধ্যে বিভিন্ন বিন (bin) তৈরি করে এবং প্রতিটি বিনে কতগুলো ডেটা পয়েন্ট আছে তা গণনা করে একটি বার চার্ট আকারে প্রদর্শন করে।

৩. মাল্টি-ভেরিয়েট চার্ট (Multi-Vari Chart):

মাল্টি-ভেরিয়েট চার্ট একটি ভেরিয়েবলের বিভিন্ন উপাদানের (যেমন, ব্যাচ, মেশিন, অপারেটর) মধ্যে ভিন্নতা (variation) তুলনা করতে ব্যবহৃত হয়। এটি তিনটি প্রধান উৎস থেকে ভিন্নতা সনাক্ত করতে সাহায্য করে: উইদিন-গ্রুপ (within-group), বিটুইন-গ্রুপ (between-group), এবং টাইম-টু-টাইম (time-to-time)। পাইথনে সরাসরি Multi-Vari Chart এর জন্য ডেডিকেটেড লাইব্রেরি কম থাকলেও, matplotlib এবং seaborn ব্যবহার করে এটি তৈরি করা যায়, বিশেষ করে যখন ডেটা ফ্রেমকে সঠিক উপায়ে সাজানো হয়।
উদাহরণস্বরূপ, বিভিন্ন শিফটে একটি পণ্যের দৈর্ঘ্যের ভিন্নতা দেখতে:

৪. রান চার্ট (Run Chart):

রান চার্ট সময়ের সাথে ডেটা পয়েন্টগুলি প্লট করে এবং একটি কেন্দ্রীয় রেখা (সাধারণত গড় বা মধ্যমা) অন্তর্ভুক্ত করে। এটি সময়ের সাথে ডেটার প্যাটার্ন, প্রবণতা (trends) বা চক্র (cycles) সনাক্ত করতে সহায়ক। এটি কন্ট্রোল চার্টের একটি সহজ রূপ, যেখানে কন্ট্রোল লিমিট (control limits) থাকে না।

৫. প্যারেটো চার্ট (Pareto Chart):

প্যারেটো চার্ট একটি বার চার্ট এবং একটি লাইন গ্রাফের সংমিশ্রণ। এটি বিভিন্ন ক্যাটাগরির ফ্রিকোয়েন্সি (বার) দেখায়, যা সর্বোচ্চ থেকে সর্বনিম্ন ফ্রিকোয়েন্সি অনুসারে সাজানো থাকে, এবং এর সাথে একটি ক্রমবর্ধমান শতাংশ (লাইন) প্লট করে। এটি “80/20 নিয়ম” (Pareto Principle) অনুসরণ করে, যা বলে যে বেশিরভাগ সমস্যা অল্প সংখ্যক কারণের কারণে ঘটে। এটি প্রায়শই সমস্যা সমাধানে অগ্রাধিকার দিতে ব্যবহৃত হয়।

৬. স্কেটার প্লট (Scatter Plot – 2D/3D):

স্কেটার প্লট দুটি (2D) বা তিনটি (3D) ভেরিয়েবলের মধ্যে সম্পর্ক দেখতে সাহায্য করে। প্রতিটি ডেটা পয়েন্টকে একটি বিন্দু হিসাবে প্লট করা হয়।

৭. স্টেম-অ্যান্ড-লিফ প্লট (Stem-and-Leaf Plot):

স্টেম-অ্যান্ড-লিফ প্লট একটি ডেটাসেটের প্রতিটি ডেটা পয়েন্টকে “স্টেম” (প্রথম ডিজিট বা ডিজিটগুলো) এবং “লিফ” (শেষ ডিজিট) এ বিভক্ত করে ডেটার আকার এবং বন্টন দেখায়। এটি হিস্টোগ্রামের মতো কিন্তু প্রতিটি ডেটা পয়েন্ট সংরক্ষণ করে। পাইথনে সরাসরি বিল্ট-ইন ফাংশন না থাকলেও, কাস্টম ফাংশন দিয়ে তৈরি করা যায়।

৮. প্যারালাল কোঅর্ডিনেটস (Parallel Coordinates):

প্যারালাল কোঅর্ডিনেটস প্লট উচ্চ-মাত্রিক (high-dimensional) ডেটা ভিজ্যুয়ালাইজ করার জন্য একটি শক্তিশালী টুল। প্রতিটি ভেরিয়েবল একটি উল্লম্ব অক্ষ (vertical axis) দ্বারা প্রতিনিধিত্ব করা হয় এবং প্রতিটি ডেটা পয়েন্ট এই অক্ষগুলির মধ্য দিয়ে একটি লাইন হিসাবে দেখানো হয়। এটি বিভিন্ন ভেরিয়েবলের মধ্যে সম্পর্ক এবং ক্লাস্টারিং প্যাটার্ন (clustering patterns) সনাক্ত করতে সাহায্য করে।

৯. অডস রেশিও (Odds Ratio):

অডস রেশিও দুটি বাইনারি ইভেন্টের (binary events) মধ্যে সম্পর্ক পরিমাপ করে, বিশেষ করে কেস-কন্ট্রোল স্টাডিতে। এটি নির্দেশ করে যে একটি ইভেন্ট ঘটার সম্ভাবনা অন্য ইভেন্ট ঘটার সাপেক্ষে কতগুণ বেশি বা কম। এটি গ্রাফিক্যাল কৌশল নয়, বরং একটি পরিমাণগত পরিমাপ, তবে এটি প্রায়শই গ্রাফের মাধ্যমেও উপস্থাপন করা হয়। উদাহরণস্বরূপ, অসুস্থতার সাথে ধূমপানের সম্পর্ক:



যেখানে:

  • A = এক্সপোজড এবং অসুস্থ
  • B = এক্সপোজড এবং সুস্থ
  • C = আন-এক্সপোজড এবং অসুস্থ
  • D = আন-এক্সপোজড এবং সুস্থ
১০. টার্গেটেড প্রোজেকশন পারসুইট (Targeted Projection Pursuit):

টার্গেটেড প্রোজেকশন পারসুইট (TPP) হলো একটি ডাইমেনশনালিটি রিডাকশন কৌশল যা ডেটার “цікаві” (interesting) প্রোজেকশনগুলি খুঁজে বের করার চেষ্টা করে, যা সাধারণত ডেটার মধ্যে অ-গাউসিয়ান (non-Gaussian) বা অ-রৈখিক (non-linear) প্যাটার্নগুলিকে প্রকাশ করে। PCA-এর মতো যা সর্বোচ্চ ভ্যারিয়েন্স সহ প্রোজেকশন খুঁজে পায়, TPP ডেটার নির্দিষ্ট কাঠামোগত বৈশিষ্ট্যগুলি (যেমন, ক্লাস্টার, আউটলায়ার) হাইলাইট করার জন্য ডিজাইন করা “প্রোজেকশন ইনডেক্স” (projection index) ব্যবহার করে। এটি পাইথনে সরাসরি scikit-learn এ অন্তর্ভুক্ত না থাকলেও, কিছু গবেষক লাইব্রেরি বা কাস্টম ইমপ্লিমেন্টেশন এর জন্য পাওয়া যায়। এটি একটি জটিল অ্যালগরিদম।

১১. হিট ম্যাপ (Heat Map):

হিট ম্যাপ ডেটা ম্যাট্রিক্সের (data matrix) মানগুলো কালার কোডিংয়ের (color coding) মাধ্যমে ভিজ্যুয়ালাইজ করে। এটি প্রায়শই পারস্পরিক সম্পর্ক (correlation) ম্যাট্রিক্স দেখাতে ব্যবহৃত হয়।

১২. বার চার্ট (Bar Chart):

বার চার্ট বিভিন্ন ক্যাটাগরির ডেটা তুলনা করার জন্য ব্যবহৃত হয়। এটি ক্যাটাগরিগুলোর মানদণ্ড (magnitude) বার বা আয়তক্ষেত্রের মাধ্যমে দেখায়।

১৪. হরাইজন গ্রাফ (Horizon Graph):

হরাইজন গ্রাফ একটি টাইম সিরিজ ডেটা ভিজ্যুয়ালাইজেশনের জন্য ব্যবহৃত হয় যেখানে একাধিক টাইম সিরিজকে সংক্ষিপ্ত এবং ঘনভাবে প্লট করা যায়। এটি লাইন গ্রাফের একটি উন্নত রূপ, যা একই সাথে অনেক সিরিজকে কার্যকরভাবে তুলনা করতে সাহায্য করে, বিশেষ করে যখন স্থান সীমিত থাকে। এটি ডেটা রেঞ্জকে বিভিন্ন শেডেড ব্যান্ডে বিভক্ত করে এবং নেতিবাচক মানগুলিকে উল্টে (inverted) দেখায়। পাইথনে pyhorizon বা কাস্টম matplotlib ফাংশন ব্যবহার করে এটি তৈরি করা যেতে পারে।

১৫. গ্লিফ-ভিত্তিক ভিজ্যুয়ালাইজেশন পদ্ধতি (Glyph-based Visualization Methods) যেমন PhenoPlot এবং Chernoff Faces:

গ্লিফ-ভিত্তিক ভিজ্যুয়ালাইজেশন ডেটা পয়েন্টগুলিকে ছোট প্রতীক (glyphs) বা “মুখ” (Chernoff Faces) দ্বারা প্রতিনিধিত্ব করে, যেখানে প্রতিটি ডেটা ভেরিয়েবল গ্লিফের একটি নির্দিষ্ট বৈশিষ্ট্য (যেমন, আকার, রঙ, মুখভঙ্গি) দ্বারা ম্যাপ করা হয়। এটি উচ্চ-মাত্রিক ডেটার মধ্যে প্যাটার্ন এবং সম্পর্কগুলি উপলব্ধি করতে সাহায্য করে।

  • PhenoPlot: সাধারণত ফেনোটাইপিক ডেটা (যেমন, জীববিজ্ঞান বা স্বাস্থ্য ক্ষেত্রে) ভিজ্যুয়ালাইজ করতে ব্যবহৃত হয়, যেখানে প্রতিটি ডেটা পয়েন্ট একটি চক্রাকার প্লটে গ্লিফ দ্বারা প্রতিনিধিত্ব করা হয়।
  • Chernoff Faces: ডেটার প্রতিটি ভেরিয়েবলকে মুখের বিভিন্ন বৈশিষ্ট্য (যেমন, চোখের আকার, নাকের দৈর্ঘ্য, মুখের বক্রতা) দ্বারা ম্যাপ করা হয়। এটি ডেটার ক্লাস্টার বা আউটলায়ারগুলি মানুষের মুখ চেনার ক্ষমতা ব্যবহার করে দ্রুত সনাক্ত করতে সাহায্য করে। matplotlib ব্যবহার করে Chernoff Faces কাস্টমাইজ করে তৈরি করা যেতে পারে, তবে এটি তুলনামূলকভাবে জটিল।
১৬. প্রোজেকশন পদ্ধতি (Projection Methods) যেমন grand tour, guided tour এবং manual tour:

এগুলো ডেটার উচ্চ-মাত্রিক স্থানের (high-dimensional space) ইন্টারেক্টিভ অন্বেষণের কৌশল। ডেটাকে একটি নিম্ন-মাত্রিক (সাধারণত 2D) উপস্থানে প্রজেক্ট করা হয়, এবং এই প্রজেকশনগুলো অ্যানিমেশনের মাধ্যমে পরিবর্তন করা হয়, যা ডেটার বিভিন্ন দৃষ্টিভঙ্গি প্রকাশ করে।

  • Grand Tour: এটি উচ্চ-মাত্রিক ডেটার সমস্ত সম্ভাব্য 2D প্রজেকশনগুলি অন্বেষণ করে। এটি এলোমেলোভাবে প্রজেকশনের দিক পরিবর্তন করে ডেটা পয়েন্টগুলির বিভিন্ন সম্ভাব্য ক্লাস্টার এবং প্যাটার্ন প্রকাশ করে।
  • Guided Tour: গ্র্যান্ড ট্যুরের মতো, তবে এটি নির্দিষ্ট “цікаві” প্রোজেকশনগুলিতে ফোকাস করে, যেমন ডেটা ঘনত্বের পরিবর্তন বা আউটলায়ারগুলির উপস্থিতি।
  • Manual Tour: ব্যবহারকারী নিজেই প্রজেকশনের দিকগুলি ম্যানুয়ালি নিয়ন্ত্রণ করে ডেটা অন্বেষণ করে।

এই কৌশলগুলি সাধারণত ইন্টারেক্টিভ ভিজ্যুয়ালাইজেশন লাইব্রেরি যেমন ggobi (যা R/C++ ভিত্তিক) বা কিছু পাইথন লাইব্রেরিতে (যেমন plotly বা ipyvolume এর কিছু এক্সটেনশন) পাওয়া যেতে পারে, তবে এর জন্য বিশেষভাবে ডিজাইন করা প্যাকেজ সাধারণত R-এ বেশি প্রচলিত।
 

ডাইমেনশনালিটি রিডাকশন (Dimensionality Reduction):

ডাইমেনশনালিটি রিডাকশন হলো ডেটাসেটের ভেরিয়েবলের সংখ্যা কমানোর প্রক্রিয়া, যেখানে মূল ডেটার বেশিরভাগ গুরুত্বপূর্ণ তথ্য ধরে রাখা হয়।

১. মাল্টিডাইমেনশনাল স্কেলিং (Multidimensional Scaling – MDS):

MDS ডেটা পয়েন্টগুলির মধ্যে বিদ্যমান দূরত্বের উপর ভিত্তি করে একটি নিম্ন-মাত্রিক উপস্থাপনা তৈরি করে। এটি ডেটা পয়েন্টগুলির আপেক্ষিক দূরত্ব বা অ-সাদৃশ্য (dissimilarities) বজায় রেখে ডেটাকে কম মাত্রায় প্রজেক্ট করে। এটি ডেটার অন্তর্নিহিত জ্যামিতিক কাঠামো (geometric structure) প্রকাশ করতে সহায়ক।

১. প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস (Principal Component Analysis – PCA):

PCA একটি রৈখিক ডাইমেনশনালিটি রিডাকশন কৌশল যা ডেটাকে অর্থোগোনাল (orthogonal) কম্পোনেন্টগুলিতে রূপান্তর করে, যা প্রিন্সিপাল কম্পোনেন্টস নামে পরিচিত। এটি ডেটার ভ্যারিয়েন্সের বেশিরভাগ অংশকে অল্প সংখ্যক কম্পোনেন্টে ধরে রাখে।

৩. মাল্টিলিনিয়ার পিসিএ (Multilinear PCA – MPCA):

মাল্টিলিনিয়ার পিসিএ (MPCA) হলো প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিসের একটি এক্সটেনশন যা মাল্টিলিনিয়ার ডেটা (যেমন, টেনসর ডেটা, যেখানে ডেটার একাধিক মোড বা মাত্রা থাকে, যেমন ইমেজ টাইম সিরিজ) নিয়ে কাজ করার জন্য ডিজাইন করা হয়েছে। এটি প্রতিটি মোড বরাবর ভ্যারিয়েন্সকে আলাদাভাবে অপ্টিমাইজ করে, যা উচ্চ-মাত্রিক টেনসর ডেটা হ্রাস করার জন্য কার্যকর। scikit-learn এ এটি সরাসরি নেই, তবে tensorly এর মতো লাইব্রেরিতে টেনসর ডিকম্পোজিশন পদ্ধতি আছে যা MPCA-এর ধারণার সাথে সম্পর্কিত।

৪. নন-লিনিয়ার ডাইমেনশনালিটি রিডাকশন (Nonlinear Dimensionality Reduction – NLDR):

NLDR কৌশলগুলি ডেটার মধ্যে অ-রৈখিক সম্পর্ক (non-linear relationships) ক্যাপচার করার চেষ্টা করে এবং একটি নিম্ন-মাত্রিক উপস্থান খুঁজে বের করে যেখানে এই সম্পর্কগুলি ভালভাবে বজায় থাকে। এর মধ্যে অনেক অ্যালগরিদম রয়েছে, যেমন:

  • Isomap: ডেটা পয়েন্টগুলির মধ্যে জিওডেসিক দূরত্ব (geodesic distances) ব্যবহার করে একটি নিম্ন-মাত্রিক এম্বেডিং তৈরি করে, যা ডেটার অন্তর্নিহিত “ম্যানিফোল্ড” (manifold) কাঠামো সংরক্ষণ করে।
  • Locally Linear Embedding (LLE): প্রতিটি ডেটা পয়েন্টকে তার প্রতিবেশীদের একটি রৈখিক সংমিশ্রণ (linear combination) হিসাবে বর্ণনা করে এবং তারপর এই প্রতিবেশীর সম্পর্ক বজায় রেখে একটি নিম্ন-মাত্রিক এম্বেডিং খুঁজে বের করে।
  • t-distributed Stochastic Neighbor Embedding (t-SNE): বিশেষত উচ্চ-মাত্রিক ডেটাকে 2D বা 3D তে ভিজ্যুয়ালাইজ করার জন্য কার্যকর। এটি ডেটা পয়েন্টগুলির মধ্যে উচ্চ-মাত্রিক স্থান এবং নিম্ন-মাত্রিক স্থানের মধ্যে সাদৃশ্য (similarities) বজায় রাখার চেষ্টা করে, যা ক্লাস্টারগুলিকে পরিষ্কারভাবে দেখাতে সাহায্য করে।
৫. আইকনোগ্রাফি অফ কোরিলেশনস (Iconography of Correlations):

এটি ডাইমেনশনালিটি রিডাকশন বা ভিজ্যুয়ালাইজেশনের একটি পদ্ধতি যেখানে ডেটা ভেরিয়েবলগুলির মধ্যে পারস্পরিক সম্পর্ক (correlations) বা অন্যান্য সম্পর্কগুলি আইকনিক চিত্র বা গ্লিফ ব্যবহার করে উপস্থাপন করা হয়। এটি একটি দৃশ্যত সমৃদ্ধ উপায়ে সম্পর্কগুলি বুঝতে সাহায্য করে। Chernoff Faces-এর মতো, এটিও গ্লিফ-ভিত্তিক ভিজ্যুয়ালাইজেশনের একটি রূপ যা মানুষের চাক্ষুষ স্বীকৃতির ক্ষমতা ব্যবহার করে ডেটা বিশ্লেষণ করে। এর জন্য কাস্টম ভিজ্যুয়ালাইজেশন তৈরির প্রয়োজন হতে পারে, কারণ এর জন্য সরাসরি পাইথন লাইব্রেরি সহজলভ্য নয়।
 

পরিমাণগত কৌশল (Quantitative Techniques):

পরিমাণগত কৌশলগুলো ডেটা থেকে সংখ্যাসূচক সারাংশ এবং পরিসংখ্যানগত পরিমাপ পেতে ব্যবহৃত হয়।

১. মিডিয়ান পলিশ (Median Polish):

মিডিয়ান পলিশ হল একটি এডিএ কৌশল যা দ্বি-পথ বা বহু-পথ সারণীর (two-way or multi-way table) ডেটা থেকে সারি এবং কলামের প্রভাব (row and column effects) অনুমান করতে এবং ডেটার অবশিষ্ট অংশ (residuals) পরিমাপ করতে ব্যবহৃত হয়। এটি গড় (mean) এর পরিবর্তে মধ্যমা (median) ব্যবহার করে, যা আউটলায়ারগুলির প্রতি কম সংবেদনশীল। এটি প্রায়শই R-এ ব্যবহৃত হয় এবং পাইথনে সরাসরি একটি জনপ্রিয় লাইব্রেরিতে নাও থাকতে পারে, তবে এটি ম্যাট্রিক্স অপারেশন ব্যবহার করে ম্যানুয়ালি প্রয়োগ করা যেতে পারে।
একটি সরলীকৃত ধারণার জন্য: ধরা যাক, আমাদের কাছে একটি ডেটা ম্যাট্রিক্স আছে। মিডিয়ান পলিশ ডেটা থেকে সারি মধ্যমা এবং কলাম মধ্যমা বিয়োগ করে এবং একটি সাধারণ মধ্যমা যোগ করে ডেটাকে আরও বোধগম্য করে তোলে।

২. ট্রাইমিন (Trimean):

 ট্রাইমিন হলো ডেটার মধ্যমা (median) এবং দুটি কোয়ার্টাইলের (first and third quartiles) একটি ওজনযুক্ত গড়। এটি গড়ের চেয়ে আউটলায়ারগুলির প্রতি কম সংবেদনশীল এবং মধ্যমার চেয়ে ডেটার বিতরণের একটি ভাল ধারণা দেয়।
ট্রাইমিন = $(Q1 + 2 \* Q2 + Q3) / 4$ যেখানে প্রথম কোয়ার্টাইল, মধ্যমা (দ্বিতীয় কোয়ার্টাইল), এবং তৃতীয় কোয়ার্টাইল।

৩. অর্ডিনেশন (Ordination):

অর্ডিনেশন হলো একটি পরিসংখ্যানগত কৌশল যা জটিল ডেটাসেটের অন্তর্নিহিত কাঠামো প্রকাশ করতে ব্যবহৃত হয়, বিশেষ করে পরিবেশগত বিজ্ঞান বা ইকোলজিতে যেখানে একাধিক প্রজাতি এবং পরিবেশগত ভেরিয়েবল থাকে। এর লক্ষ্য হলো ডেটা পয়েন্ট (যেমন, প্লট, সাইট) বা ভেরিয়েবল (যেমন, প্রজাতি) গুলিকে একটি নিম্ন-মাত্রিক স্থানে সাজানো যাতে তাদের মধ্যে বিদ্যমান সম্পর্ক বা সাদৃশ্য দৃশ্যমান হয়। PCA এবং MDS-এর মতো ডাইমেনশনালিটি রিডাকশন কৌশলগুলিও অর্ডিনেশনের অন্তর্ভুক্ত। অন্যান্য অর্ডিনেশন পদ্ধতিগুলির মধ্যে রয়েছে:

  • Correspondence Analysis (CA): ক্যাটাগরিক্যাল ডেটা বা ফ্রিকোয়েন্সি টেবিলের জন্য ব্যবহৃত হয়।
  • Canonical Correspondence Analysis (CCA): পরিবেশগত ভেরিয়েবলগুলির সাথে প্রজাতির ডেটার সম্পর্ক পরীক্ষা করে।

পাইথনে scipy.stats এবং scikit-learn এর কিছু অংশ অর্ডিনেশন-সম্পর্কিত কাজে ব্যবহার করা যেতে পারে, এবং skbio (scikit-bio) এর মতো বায়োইনফরমেটিক্স লাইব্রেরিতে নির্দিষ্ট অর্ডিনেশন মেথড উপলব্ধ।

 
আমি আশা করি, এই বিস্তারিত আলোচনা ও উদাহরণগুলো আপনাকে EDA-এর প্রতিটি টপিক সম্পর্কে জানতে সাহায্য করবে। ডেটা অ্যানালাইসিসে এই কৌশলগুলি ডেটার গভীরে প্রবেশ করতে এবং লুকানো প্যাটার্ন, সম্পর্ক ও অন্তর্দৃষ্টি আবিষ্কার করতে অত্যন্ত কার্যকর।

Leave a Comment