Statistics Basics: mean, median, variance, std — data-র চরিত্র

সংখ্যায় data-কে বর্ণনা করা (Series 04, Episode 04)

🟢 BEGINNER Series 04 — Math, Statistics ও Probability Episode 04 / 07

📑 এই পর্বে যা যা আছে

💰 ১. গল্প: "গড় বেতন ৮০ হাজার" — কিন্তু...

Rahim একটা রিপোর্টে পড়ল: "এই কোম্পানির কর্মীদের গড় (mean) বেতন ৮০ হাজার টাকা।" সে খুশি হয়ে Nila-কে বলল, চাকরিটা নিশ্চয় দারুণ। Nila একটু হাসল।

Nila বলল: "একটু সাবধান। ধরো কোম্পানিতে ১০ জন — ৯ জনের বেতন ৩০ হাজার, আর CEO-র বেতন ৫ লাখ ৩০ হাজার। এবার গড় বের করো।"

Rahim হিসাব করল: (৯×৩০ + ৫৩০) / ১০ = ৮০ হাজার। সে অবাক — "গড় ৮০ হাজার, কিন্তু ৯ জনই তো ৩০ হাজার পায়!"

Nila: "এইজন্যই একটা মাত্র সংখ্যা (mean) মিথ্যা বলতে পারে। এখানে median (মাঝের মান) হলো ৩০ হাজার — যেটা বাস্তব চিত্র বলে। Statistics মানেই এই — data-র চরিত্র সঠিকভাবে বোঝা। আর এটা junior AI Engineer-রা প্রতিদিন ব্যবহার করে।"

এই পর্বে আমরা Series 04-এর তৃতীয় স্তম্ভ Statistics শিখব — junior-দের প্রতিদিনের সবচেয়ে দরকারি গণিত।

🎯 ২. আসল সমস্যা: এক সংখ্যায় পুরো data বোঝানো

আপনার কাছে ১০ লাখ customer-এর data। কেউ এটা এক নজরে "দেখতে" পারবে না। তাই আমরা কয়েকটা সংখ্যায় (summary statistics) পুরো data-র চরিত্র প্রকাশ করি — কেন্দ্র কোথায় (mean/median), কতটা ছড়ানো (variance/std), আকৃতি কেমন (distribution)। কিন্তু ভুল summary বাছলে ভুল সিদ্ধান্ত হয়, যেমন উপরের বেতনের গল্প।

💡 ৩. কেন Statistics junior-দের সবচেয়ে বেশি লাগে

S04E01-এ বলেছিলাম junior AI Engineer-রা Calculus/Linear Algebra-র চেয়ে Statistics ও Probability বেশি ব্যবহার করে। কারণ:

📝 ৪. Level 1 — mean, median, mode (শ্রেণির নম্বর)

একটা ক্লাসের পরীক্ষার নম্বর দিয়ে ভাবুন:

Mean (গড়): সব নম্বর যোগ করে ছাত্রসংখ্যা দিয়ে ভাগ। "সমান ভাগ করলে প্রত্যেকে কত পেত"।

Median (মধ্যক): নম্বরগুলো সাজিয়ে ঠিক মাঝের মান। "অর্ধেক এর নিচে, অর্ধেক এর উপরে"।

Mode (সংখ্যাগুরু): সবচেয়ে বেশিবার আসা মান। "সবচেয়ে common নম্বর"।

⚖️ ৫. mean বনাম median — কখন কোনটা

এটাই সবচেয়ে ব্যবহারিক Statistics সিদ্ধান্ত। মূল নিয়ম:

Mean ব্যবহার করুন
যখন data মোটামুটি সুষম (symmetric), বড় outlier নেই। যেমন ক্লাসের height।
Median ব্যবহার করুন
যখন কয়েকটা extreme মান (outlier) আছে — যেমন বেতন, বাড়ির দাম। median outlier-এ কম প্রভাবিত।
কেন median outlier-এ টলে না: CEO-র বেতন ৫ লাখ হোক বা ৫০ লাখ — মাঝের মান একই থাকে। কিন্তু mean প্রতিটা extreme মানে টেনে যায়। তাই আয়/দাম নিয়ে কাজ করলে median-ই বেশি সৎ।

📏 ৬. Level 2 — variance ও standard deviation (ছড়ানো)

Mean/median বলে "কেন্দ্র কোথায়", কিন্তু বলে না "data কতটা ছড়ানো"। দুটো ক্লাসের mean একই ৬০ হতে পারে, কিন্তু একটায় সবাই ৫৮-৬২, আরেকটায় কেউ ২০ কেউ ৯৫। এই "ছড়ানো"-ই variance ও standard deviation।

সহজভাবে: std ছোট = data mean-এর কাছে জমাট; std বড় = data অনেক ছড়ানো। এটা junior-দের outlier ও data quality বোঝার প্রধান হাতিয়ার।

👷 ৭. Level 3 — ML-এ scaling ও outlier-এ এর ব্যবহার

একজন AI Engineer এই summary statistics দিয়ে সরাসরি কাজ করে:

মনে রাখবেন: scaling করার সময় mean/std শুধু training data থেকে বের করতে হয়, নইলে data leakage হয় (S03E08)। এটাই concept বোঝা আর tool চালানোর মধ্যে পার্থক্য।

🔔 ৮. Distribution — data-র আকৃতি

Distribution মানে — কোন মান কতবার আসে তার আকৃতি। সবচেয়ে বিখ্যাত হলো normal distribution (ঘণ্টার আকৃতি/bell curve): বেশিরভাগ মান mean-এর কাছে, দুই প্রান্তে কম। মানুষের height, পরীক্ষার নম্বর প্রায়ই এমন। কিন্তু আয়/দাম প্রায়ই right-skewed — বেশিরভাগ কম, কয়েকজন অনেক বেশি (লম্বা লেজ ডান দিকে)। distribution বুঝলে বোঝা যায় mean না median ব্যবহার করব, scaling লাগবে কিনা।

📊 ৯. Visual: একই mean, ভিন্ন ছড়ানো

দুটো ক্লাস, দুটোরই mean = 60 Class A (std ছোট ≈ 2): জমাট ▁▂▅█████▅▂▁ 55 58 60 62 65 Class B (std বড় ≈ 20): ছড়ানো ▁▂▃▄▅▆▇█▇▆▅▄▃▂▁ 20 40 60 80 100 একই কেন্দ্র (mean), কিন্তু চরিত্র সম্পূর্ণ আলাদা — তাই mean একা যথেষ্ট নয়, std-ও দেখতে হয়।

💻 ১০. Code: Pandas/NumPy দিয়ে describe

বাস্তবে আমরা হাতে variance বের করি না — Pandas এক লাইনে দেয়। আমরা Pandas ব্যবহার করছি কারণ এটাই tabular data-র standard tool, আর .describe() EDA-র প্রথম ধাপ।

import pandas as pd # ছোট বেতন data (হাজার টাকায়) salaries = pd.Series([30, 30, 30, 30, 30, 30, 30, 30, 30, 530]) print("mean :", salaries.mean()) # 80.0 (outlier-এ টানা) print("median:", salaries.median()) # 30.0 (সৎ চিত্র) print("std :", round(salaries.std(), 2)) print() print(salaries.describe()) # এক নজরে পুরো summary

কী observe করবেন: mean (80) আর median (30)-এর বিশাল ফারাক-ই বলে দিচ্ছে data skewed, outlier আছে। .describe()-এর 25%, 50%, 75% (quartile) দেখলে distribution-এর আকৃতিও আঁচ করা যায় — এটাই junior-দের প্রথম EDA reflex হওয়া উচিত।

🇧🇩 ১১. বাংলাদেশের context (job market data)

আমাদের Bangladesh job-market data নিয়ে কাজ করলে দেখা যায় — "গড় বেতন" প্রায়ই বিভ্রান্তিকর, কারণ কয়েকটা senior/remote role গড়কে উপরে টেনে নেয়। একজন ভালো analyst তাই median বেতন, আর বিভিন্ন experience-level-এ আলাদা distribution দেখায়। ঠিক এভাবেই bKash/Daraz-এর data team-ও transaction বা order value নিয়ে কাজ করার সময় mean-এর ফাঁদ এড়াতে median ও distribution দেখে।

💼 ১২. Boss Question

💼 Boss Question

Boss: "আমাদের app-এ user-রা গড়ে ১২ মিনিট সময় কাটায় — দারুণ, তাই না? এই statistics দিয়ে আমার কী?"

উত্তর: একটু সাবধান করব। "গড় ১২ মিনিট" হতে পারে কারণ বেশিরভাগ user ২ মিনিটে চলে যায়, আর কিছু user ঘণ্টাখানেক থাকে (outlier গড়কে টানছে)। median দেখলে হয়তো দেখব সত্যিকারের সাধারণ user মাত্র ৩ মিনিট থাকে — মানে সমস্যা আছে। এই পার্থক্য ধরতে পারা মানে সঠিক business সিদ্ধান্ত। তাই আমি সবসময় mean-এর পাশে median আর distribution দেখি — এটাই আমাকে ভুল আত্মতুষ্টি থেকে বাঁচায়।

🔎 ১৩. Job Requirement Decoder

"Solid understanding of descriptive statistics for data analysis."
প্রশ্নউত্তর
এর মানে কী?data-কে সংখ্যায় বর্ণনা (mean, median, std, distribution) ও ব্যাখ্যা করতে পারেন।
কোম্পানি কেন চায়?model-এর আগে data বোঝা, ভুল summary থেকে ভুল সিদ্ধান্ত এড়ানো।
কোন সমস্যা সমাধান করে?skewed data, outlier, misleading average — এসব ধরা পড়ে।
junior-এর কী জানা লাগে?mean vs median কখন, std মানে ছড়ানো, distribution-এর আকৃতি পড়া।
এখনই কী master লাগে না?hypothesis testing-এর গভীর তত্ত্ব, সব distribution-এর সূত্র মুখস্থ।
GitHub-এ কীভাবে দেখাবেন?একটা EDA notebook — .describe(), histogram, mean/median তুলনা ও ব্যাখ্যা।
Interview-তে কী জিজ্ঞেস করতে পারে?"mean vs median কখন?", "std কী বোঝায়?", "salary data-তে কোন average ব্যবহার করবেন, কেন?"

⚠️ ১৪. সাধারণ ভুল ধারণা

ভুল ১: "mean-ই সবসময় 'average' হিসেবে যথেষ্ট।" → ঠিক: skewed/outlier data-তে median বেশি সৎ।

ভুল ২: "std আর variance একই জিনিস।" → ঠিক: std = variance-এর বর্গমূল; std মূল এককে থাকে, তাই ব্যাখ্যা সহজ।

ভুল ৩: "সব data normal distribution follow করে।" → ঠিক: আয়/দাম প্রায়ই skewed; ধরে নেওয়ার আগে histogram দেখুন।

ভুল ৪: "scaling-এর mean/std পুরো dataset থেকে বের করব।" → ঠিক: শুধু training data থেকে — নইলে data leakage হয়।

🎤 ১৫. Interview Prep

প্রশ্ন ১: mean আর median-এর মধ্যে কখন কোনটা ব্যবহার করবেন?
উত্তর: outlier/skew থাকলে median (যেমন বেতন, দাম); সুষম data-তে mean।

প্রশ্ন ২: standard deviation কী বোঝায়?
উত্তর: data mean থেকে গড়ে কতটা ছড়ানো; ছোট = জমাট, বড় = ছড়ানো।

প্রশ্ন ৩: একটা feature-এর std = 0 হলে কী বোঝায়?
উত্তর: সব মান একই; feature-টি model-এর জন্য অকেজো, বাদ দেওয়া যায়।

প্রশ্ন ৪: right-skewed distribution-এ mean ও median-এর সম্পর্ক?
উত্তর: mean সাধারণত median-এর চেয়ে বড় হয় (লম্বা ডান লেজ mean-কে টানে)।

✍️ ১৬. হাতে-কলমে (Mini Exercise)

১. উপরের বেতন-Series-এ CEO-র মান ৫৩০ থেকে ৫০০০ করুন — mean ও median কে বেশি বদলাল? কেন?
২. দুটো তালিকা বানান একই mean কিন্তু ভিন্ন std, তারপর .std() দিয়ে যাচাই করুন।
৩. এক লাইনে লিখুন: কেন "গড় বেতন" একটা misleading marketing number হতে পারে?

🚀 ১৭. Project Connection

Series 03-এ আমাদের flagship "Bangladesh Tech Career Assistant"-এর data-analyzer (V2) job-market data নিয়ে কাজ করে। আজকের mean/median/std/distribution ঠিক সেই analysis-এর কেন্দ্র — "কোন skill-এর জন্য median বেতন বেশি?", "junior vs senior বেতনের ছড়ানো কেমন?" — এই প্রশ্নগুলোর উত্তর দিতে গেলে আজকের statistics-ই কাজে লাগবে। পরে V3 ML model-এও feature scaling করতে এই mean/std লাগবে।

📌 ১৮. সারসংক্ষেপ ও পরবর্তী পর্ব

এই পর্বে আমরা শিখলাম:

✓ mean/median/mode — data-র কেন্দ্র; outlier থাকলে median বেশি সৎ
✓ variance ও std — data কতটা ছড়ানো; std মূল এককে, তাই ব্যাখ্যা সহজ
✓ একই mean-এ ভিন্ন std মানে সম্পূর্ণ ভিন্ন চরিত্র — এক সংখ্যা যথেষ্ট নয়
✓ distribution (normal, skewed) data-র আকৃতি বলে; scaling ও outlier সিদ্ধান্তে লাগে
✓ ML-এ standardization ও outlier detection সরাসরি mean/std নির্ভর
✓ Statistics junior AI Engineer-দের প্রতিদিনের সবচেয়ে দরকারি গণিত
পরবর্তী Episode (S04E05): "Covariance, Correlation ও Distribution: feature-রা কীভাবে সম্পর্কিত"। এবার দেখব দুটো feature একসাথে কীভাবে চলে, correlation কী, আর কেন "correlation ≠ causation" — এই একটা ভুল বোঝা junior-দের অনেক বড় ভুল সিদ্ধান্ত থেকে বাঁচায়।
© 2025 Sheikh Thanbir Alam. All Rights Reserved. thanbirtamim.github.io
এই লেখা মূল লেখকের সম্পত্তি — লিখিত অনুমতি ছাড়া কপি করে অন্য কোনো ওয়েবসাইট, ব্লগ, বই বা প্ল্যাটফর্মে প্রকাশ/বিতরণ করা কঠোরভাবে নিষিদ্ধ। Content may not be copied or republished without permission.