স্যাম্পলিং ও কেন্দ্রীয় সীমা উপপাদ্য
এই পাঠে যা শিখবেন
- পপুলেশন ও স্যাম্পলের মধ্যে পার্থক্য, এবং কেন এস্টিমেটর দরকার হয়
- কেন্দ্রীয় সীমা উপপাদ্যের সঠিক বিবৃতি এবং তার তাৎপর্য
- স্ট্যান্ডার্ড এরর কী পরিমাপ করে এবং কেন $n$ বাড়লে এটি কমে
- NumPy দিয়ে সিমুলেশন করে CLT নিজের চোখে দেখা
১ · পপুলেশন বনাম স্যাম্পল
ধরা যাক আমরা জানতে চাই বাংলাদেশের সব প্রাপ্তবয়স্ক মানুষের গড় উচ্চতা কত। প্রতিটি মানুষকে মাপা অবাস্তব — তাই আমরা একটি ছোট দল (যেমন ১০০০ জন) বেছে নিয়ে তাদের উচ্চতা মাপি। পুরো গোষ্ঠীকে বলা হয় পপুলেশনPopulationযে সম্পূর্ণ গোষ্ঠী সম্পর্কে আমরা সিদ্ধান্ত নিতে চাই। এর প্রকৃত গড় ($\mu$) ও ভেরিয়েন্স ($\sigma^2$) সাধারণত অজানা।, আর আমরা যে ছোট দলটি মাপি তাকে বলা হয় স্যাম্পলSampleপপুলেশন থেকে বেছে নেওয়া একটি সসীম উপসেট, যার উপর ভিত্তি করে আমরা পপুলেশন সম্পর্কে সিদ্ধান্তে পৌঁছাই।। ML-এও ঠিক এই একই কাঠামো — ট্রেনিং ডেটাসেট একটি স্যাম্পল, আর "বাস্তব জগতের সব সম্ভাব্য ইনপুট" হলো পপুলেশন।
স্যাম্পল থেকে পপুলেশনের গড় ($\mu$) অনুমান করার সবচেয়ে স্বাভাবিক উপায় হলো স্যাম্পল মিন গণনা করা —
$$\bar{X} = \frac{1}{n}\sum_{i=1}^{n} X_i$$এখানে $X_1, X_2, \dots, X_n$ হলো $n$টি স্বাধীন ও অভিন্নভাবে বিতরণকৃত (iidiidIndependent and Identically Distributed — প্রতিটি স্যাম্পল একে অপরের থেকে স্বাধীন এবং একই বিতরণ থেকে এসেছে।) র্যান্ডম ভ্যারিয়েবল। $\bar{X}$-কে বলা হয় $\mu$-এর একটি এস্টিমেটর — এটি নিজেও একটি র্যান্ডম ভ্যারিয়েবল, কারণ প্রতিবার ভিন্ন স্যাম্পল নিলে $\bar{X}$-এর মান বদলে যাবে।
একটি নির্দিষ্ট স্যাম্পল থেকে হিসাব করা $\bar{X}$ একটি নির্দিষ্ট সংখ্যা। কিন্তু "যদি আমরা এই পরীক্ষা বারবার করি, প্রতিবার নতুন স্যাম্পল নিয়ে" — তাহলে $\bar{X}$-এর নিজস্ব একটি বিতরণ আছে, যাকে বলা হয় স্যাম্পলিং ডিস্ট্রিবিউশন। CLT এই বিতরণ সম্পর্কেই কথা বলে।
২ · কেন্দ্রীয় সীমা উপপাদ্য (CLT)
ধরা যাক $X_1,\dots,X_n$ হলো iid র্যান্ডম ভ্যারিয়েবল, যার সসীম গড় $\mu$ ও সসীম ভেরিয়েন্স $\sigma^2$ আছে — কিন্তু এই ভ্যারিয়েবলগুলো নিজেরা যেকোনো বিতরণ থেকে আসতে পারে (ইউনিফর্ম, বাইনোমিয়াল, এমনকি অদ্ভুত অসামঞ্জস্যপূর্ণ কোনো বিতরণ — কোনো বাধা নেই)। কেন্দ্রীয় সীমা উপপাদ্য বলে —
$n\to\infty$ হলে, স্যাম্পল মিনকে স্ট্যান্ডার্ডাইজ করা রাশি
$$Z_n = \frac{\bar{X}-\mu}{\sigma/\sqrt{n}}$$একটি স্ট্যান্ডার্ড গাউসিয়ান বিতরণে (L26-এ দেখা $\mathcal{N}(0,1)$) কনভার্জ করে — মূল $X_i$-দের বিতরণ যা-ই হোক না কেন। সমতুল্যভাবে, বড় $n$-এর জন্য —
$$\bar{X} \approx \mathcal{N}\!\left(\mu,\ \frac{\sigma^2}{n}\right)$$মূল ডেটা $X_i$ হতে পারে সম্পূর্ণ অ-গাউসিয়ান — যেমন একটি ডাইস রোলের ফলাফল (ইউনিফর্ম বিতরণ), অথবা একটি ওয়েবসাইটে ক্লিকের সংখ্যা (পয়সোঁ বিতরণ)। তবুও, যখনই আমরা অনেকগুলো এমন ভ্যারিয়েবলের গড় নিই, সেই গড়ের বিতরণ গাউসিয়ানের দিকে টেনে নিয়ে যায়। এটাই ব্যাখ্যা করে কেন গাউসিয়ান বিতরণ প্রকৃতি ও পরিসংখ্যানে এত ঘন ঘন দেখা যায় — অনেক পর্যবেক্ষিত রাশি আসলে বহু ছোট স্বাধীন প্রভাবের যোগফল বা গড়।
৩ · স্ট্যান্ডার্ড এরর
উপরের সূত্র থেকে দেখা যায়, স্যাম্পল মিনের স্ট্যান্ডার্ড ডেভিয়েশন (এটিকে বলা হয় স্ট্যান্ডার্ড এরর অফ দ্য মিন) হলো —
$$\text{SE} = \frac{\sigma}{\sqrt{n}}$$এই সূত্রটির তাৎপর্য বিশাল। $n$ চারগুণ বাড়ালে স্ট্যান্ডার্ড এরর অর্ধেক হয় (কারণ $\sqrt{4n}=2\sqrt{n}$) — অর্থাৎ নির্ভুলতা দ্বিগুণ করতে ডেটা চারগুণ লাগে। এই কারণেই বড় ডেটাসেট থেকে অনুমান বেশি স্থিতিশীল হয়, কিন্তু "দ্বিগুণ নির্ভুলতা" পেতে "দ্বিগুণ ডেটা" যথেষ্ট নয় — এটি একটি ডিমিনিশিং রিটার্নসDiminishing returnsএকই পরিমাণ বাড়তি ইনপুট থেকে ক্রমশ কম বাড়তি সুবিধা পাওয়া। সম্পর্ক।
৪ · কোড দিয়ে CLT দেখুন
নিচে আমরা একটি অত্যন্ত অ-গাউসিয়ান বিতরণ (এক্সপোনেনশিয়াল, যা তীব্রভাবে ডানদিকে skewed) থেকে বারবার $n=30$টি নমুনা নিয়ে তাদের গড় হিসাব করব — এবং দেখব সেই গড়গুলোর বিতরণ কতটা গাউসিয়ানের মতো দেখতে হয়ে যায়।
import numpy as np
rng = np.random.default_rng(42)
# মূল বিতরণ: এক্সপোনেনশিয়াল (severely skewed, গাউসিয়ান নয়)
# scale=2.0 মানে theoretical mean = 2.0, std = 2.0
n = 30 # প্রতিটি স্যাম্পলের আকার
num_samples = 10000 # কতবার এই পরীক্ষা পুনরাবৃত্তি করব
sample_means = np.empty(num_samples)
for i in range(num_samples):
sample = rng.exponential(scale=2.0, size=n)
sample_means[i] = sample.mean()
print("মূল বিতরণের প্রকৃত mean:", 2.0)
print("স্যাম্পল মিনগুলোর গড়: ", round(sample_means.mean(), 4))
# তাত্ত্বিক স্ট্যান্ডার্ড এরর: sigma / sqrt(n)
sigma = 2.0
theoretical_se = sigma / np.sqrt(n)
empirical_se = sample_means.std(ddof=1)
print("তাত্ত্বিক স্ট্যান্ডার্ড এরর:", round(theoretical_se, 4))
print("প্রাপ্ত স্ট্যান্ডার্ড এরর: ", round(empirical_se, 4))
sample_means অ্যারেটির হিস্টোগ্রাম আঁকলে দেখা যাবে এটি প্রায় নিখুঁত ঘণ্টা-আকৃতির (bell-shaped)
বিতরণ — এবং তাত্ত্বিক ও প্রাপ্ত স্ট্যান্ডার্ড এরর প্রায় মিলে যায়। এটাই CLT-র বাস্তব প্রমাণ।
৫ · কেন এটা ML-এর জন্য গুরুত্বপূর্ণ
মিনি-ব্যাচ গ্র্যাডিয়েন্ট ডিসেন্ট (L17, L23) যখন একটি ছোট ব্যাচের উপর গ্র্যাডিয়েন্ট হিসাব করে, সেটি আসলে পুরো ডেটাসেটের উপর প্রকৃত গ্র্যাডিয়েন্টের একটি স্যাম্পল এস্টিমেট। CLT বলে দেয় কেন ব্যাচ সাইজ বড় করলে গ্র্যাডিয়েন্ট এস্টিমেট কম "নয়েজি" হয় (স্ট্যান্ডার্ড এরর $1/\sqrt{n}$ হারে কমে), কিন্তু কেন ছোট ব্যাচ থেকেও এস্টিমেট গড়পড়তায় সঠিক দিকেই থাকে। মডেল মূল্যায়নের সময় (টেস্ট এক্যুরেসি, A/B টেস্ট — L33-এ বিস্তারিত) এই একই যুক্তি বলে দেয় একটি রিপোর্ট করা মেট্রিক কতটা নির্ভরযোগ্য, নাকি নেহাত ছোট টেস্ট সেটের কাকতালীয় ফলাফল।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ CLT বলে $n$ বড় হলে স্যাম্পল মিন গাউসিয়ানের কাছাকাছি যায়। কিন্তু "যথেষ্ট বড়" $n$ বলতে ঠিক কত বোঝায়?
এর কোনো একক জাদু সংখ্যা নেই — নির্ভর করে মূল বিতরণ কতটা গাউসিয়ান থেকে দূরে তার উপর। ব্যবহারিক অভিজ্ঞতা থেকে $n\geq30$ একটি সাধারণ রুল অফ থাম্ব, কিন্তু যদি মূল বিতরণ প্রতিসম ও হালকা-লেজযুক্ত হয়, $n=10$-তেই ভালো আনুমানিকতা পাওয়া যায়। উল্টোদিকে, অত্যন্ত ভারী-লেজযুক্ত (heavy-tailed) বিতরণের জন্য শত শত নমুনা লাগতে পারে।
প্র ০২ CLT কি বলে যে মূল ডেটা $X_i$ নিজেও গাউসিয়ান হয়ে যায় যদি অনেক ডেটাপয়েন্ট সংগ্রহ করি?
না — এটি একটি অত্যন্ত সাধারণ ভুল বোঝাবুঝি। CLT শুধু স্যাম্পল মিনের বিতরণ সম্পর্কে কথা বলে, মূল ডেটার বিতরণ সম্পর্কে নয়। যদি $X_i$ এক্সপোনেনশিয়াল হয়, তাহলে আরও বেশি ডেটাপয়েন্ট সংগ্রহ করলেও প্রতিটি $X_i$ এক্সপোনেনশিয়ালই থেকে যাবে। যা গাউসিয়ানের দিকে যায় তা হলো — যদি আপনি বহুবার $n$টি করে নমুনা নিয়ে প্রতিবার তাদের গড় হিসাব করেন, সেই গড়গুলোর সংগ্রহ।
প্র ০৩ স্ট্যান্ডার্ড এরর ($\sigma/\sqrt{n}$) আর সাধারণ স্ট্যান্ডার্ড ডেভিয়েশন ($\sigma$) — এই দুটির মধ্যে পার্থক্য কী?
$\sigma$ হলো মূল ডেটার ভেতরে থাকা বৈচিত্র্য (একটি একক পর্যবেক্ষণ গড় থেকে কতটা দূরে থাকতে পারে) — এটি $n$ বাড়ালে কমে না, কারণ এটি পপুলেশনের একটি ধ্রুবক বৈশিষ্ট্য। কিন্তু স্ট্যান্ডার্ড এরর হলো এস্টিমেটরের (অর্থাৎ $\bar{X}$-এর) বৈচিত্র্য — এটি $n$ বাড়ালে কমে, কারণ বেশি ডেটাপয়েন্টের গড় নেওয়া এলোমেলো ওঠানামা গড়ে বাতিল করে দেয়।
অনুশীলন
-
পরিবর্তন করুন: উপরের কোডে
n-এর মান ৫ এবং তারপর ২০০ করে চালান। প্রাপ্ত স্ট্যান্ডার্ড এরর কীভাবে বদলায়, এবং তাত্ত্বিক মানের সাথে মিল কতটা ভালো হয় তা লক্ষ করুন।$n=5$-এ CLT আনুমানিকতা এখনও পুরোপুরি গাউসিয়ান হয়নি (এক্সপোনেনশিয়ালের মতো সামান্য স্কিউ থেকে যায়), এবং তাত্ত্বিক ও প্রাপ্ত SE-এর মধ্যে সামান্য গ্যাপ থাকতে পারে ছোট নমুনার এলোমেলোতার কারণে। $n=200$-এ SE অনেক ছোট হয়ে যাবে ($\sigma/\sqrt{200}\approx0.141$) এবং হিস্টোগ্রাম প্রায় নিখুঁত ঘণ্টা-আকৃতির হবে।
-
হিসাব করুন: যদি একটি পপুলেশনের প্রকৃত স্ট্যান্ডার্ড ডেভিয়েশন $\sigma=10$ হয়, তাহলে
$n=25$ এবং $n=100$ নমুনার জন্য স্ট্যান্ডার্ড এরর কত হবে?
$n=25$: $\text{SE}=10/\sqrt{25}=10/5=2$। $n=100$: $\text{SE}=10/\sqrt{100}=10/10=1$। লক্ষ করুন, $n$ চারগুণ (২৫ থেকে ১০০) বাড়ালে SE ঠিক অর্ধেক হয়েছে — এই $\sqrt{n}$ সম্পর্কটিই ব্যাখ্যা করে কেন বেশি ডেটা সবসময় সমানুপাতিক হারে সাহায্য করে না।
-
চিন্তা করুন: মিনি-ব্যাচ গ্র্যাডিয়েন্ট ডিসেন্টে (L17) ব্যাচ সাইজ ৩২ থেকে ১২৮ করলে, CLT
অনুযায়ী গ্র্যাডিয়েন্ট এস্টিমেটের "নয়েজ" (স্ট্যান্ডার্ড এরর) কত গুণ কমবে?
ব্যাচ সাইজ $4$ গুণ বেড়েছে ($32\to128$), তাই স্ট্যান্ডার্ড এরর $\sqrt{4}=2$ গুণ কমবে। এটাই কারণ যে বড় ব্যাচ সাইজ গ্র্যাডিয়েন্ট ডিসেন্টকে "মসৃণ" করে, কিন্তু প্রতিটি ব্যাচের কম্পিউটেশন খরচও বাড়ায় — এখানে একটি বাস্তব ট্রেডঅফ কাজ করে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পরবর্তী পাঠ — ম্যাক্সিমাম লাইকলিহুড এস্টিমেশন (MLE) পাঠ ৩০ এস্টিমেশনের ধারণা থেকে আমরা এবার সরাসরি চলে যাব — একটি প্যারামিটারের "সবচেয়ে সম্ভাব্য" মান কীভাবে খুঁজে বের করা যায়।
- সব AI Courses দেখুন ABCL TECH AI Foundations, Python for AI, Machine Learning, Deep Learning, Math for AI ও আরও অনেক কিছু — সব এক জায়গায়।
- Machine Learning কোর্স প্রয়োগ দেখুন স্যাম্পলিং, এস্টিমেশন ও পরিসংখ্যান বাস্তব ML মডেল মূল্যায়নে কীভাবে ব্যবহৃত হয় তা দেখতে।