প্রত্যাশা, ভেরিয়েন্স ও কোভেরিয়েন্স
এই পাঠে যা শিখবেন
- প্রত্যাশার আনুষ্ঠানিক সংজ্ঞা (ডিসক্রিট ও কন্টিনিউয়াস) এবং এর রৈখিকতা
- ভেরিয়েন্সের সংজ্ঞা থেকে গণনাযোগ্য অভেদ $\text{Var}(X)=\mathbb{E}[X^2]-(\mathbb{E}[X])^2$-এর সম্পূর্ণ ধাপে-ধাপে ডেরিভেশন
- কোভেরিয়েন্স ও কোভেরিয়েন্স ম্যাট্রিক্সের সংজ্ঞা
- কোরিলেশন কোয়েফিসিয়েন্ট কীভাবে কোভেরিয়েন্সকে স্কেল-স্বাধীন করে
- NumPy দিয়ে একটি ফেয়ার ডাইসের উদাহরণে এই সবকিছু সংখ্যাগতভাবে যাচাই
১ · প্রত্যাশা (Expectation)
একটি র্যান্ডম ভেরিয়েবল $X$-এর প্রত্যাশাExpectation ($\mathbb{E}[X]$)একটি র্যান্ডম ভেরিয়েবলের সম্ভাব্য মানগুলোর সম্ভাবনা-ভারযুক্ত গড়। $\mathbb{E}[X]$ হলো এর সম্ভাব্য মানগুলোর একটি সম্ভাবনা-ভারযুক্ত (weighted) গড় — ডিসক্রিট ভেরিয়েবলের জন্য PMF দিয়ে ওজন দেওয়া যোগফল, কন্টিনিউয়াসের জন্য PDF দিয়ে ওজন দেওয়া ইন্টিগ্রাল —
$$\mathbb{E}[X]=\sum_x x\,P(X=x) \quad \text{(ডিসক্রিট)}, \qquad \mathbb{E}[X]=\int_{-\infty}^{\infty} x\,f(x)\,dx \quad \text{(কন্টিনিউয়াস)}$$এটিকে প্রায়ই $\mu$ (mean/গড়) বলে চিহ্নিত করা হয়। উদাহরণ — একটি সুষম ছক্কার জন্য $\mathbb{E}[X]=\sum_{k=1}^{6}k\cdot\frac{1}{6}=\frac{1+2+3+4+5+6}{6}=3.5$। লক্ষণীয়, $3.5$ নিজে ছক্কার কোনো সম্ভাব্য ফলাফল নয় — প্রত্যাশা মানে "যদি বহুবার পরীক্ষা চালানো হয়, ফলাফলের গড় কী মানে স্থির হবে", কোনো একবারের ফলাফল নয়।
যেকোনো দুটি র্যান্ডম ভেরিয়েবল $X, Y$ এবং ধ্রুবক $a, b$-এর জন্য —
$$\mathbb{E}[aX+bY]=a\,\mathbb{E}[X]+b\,\mathbb{E}[Y]$$এই নিয়মটি সবসময় সত্য — এমনকি $X$ ও $Y$ একে অপরের উপর নির্ভরশীল হলেও (independence-এর কোনো শর্ত লাগে না, যা কোভেরিয়েন্সের ক্ষেত্রে গুরুত্বপূর্ণ পার্থক্য তৈরি করে, নিচে দেখুন)। এই সরলতাই প্রত্যাশাকে এত ব্যবহারযোগ্য করে তোলে — জটিল একটি প্রত্যাশাকে সরল অংশে ভেঙে হিসাব করা যায়।
২ · ভেরিয়েন্স — সংজ্ঞা থেকে গণনাযোগ্য সূত্র
গড় $\mu=\mathbb{E}[X]$ শুধু কেন্দ্র বলে দেয়, কিন্তু ডেটা কতটা ছড়ানো তা বলে না। এই ছড়ানোর মাপকে বলা হয় ভেরিয়েন্সVarianceএকটি র্যান্ডম ভেরিয়েবল তার গড় থেকে গড়ে কত দূরে (স্কোয়ার করে) ছড়িয়ে থাকে তার মাপ। — সংজ্ঞা অনুযায়ী, গড় থেকে বিচ্যুতির বর্গের প্রত্যাশা:
$$\text{Var}(X)=\mathbb{E}\big[(X-\mu)^2\big]$$এই সংজ্ঞাটি সরাসরি হাতে হিসাব করা কষ্টসাধ্য (প্রথমে $\mu$ বের করে, তারপর প্রতিটি বিচ্যুতি বর্গ করে, তারপর আবার প্রত্যাশা নিতে হয়)। কিন্তু প্রত্যাশার রৈখিকতা ব্যবহার করে একটি অনেক সহজ, গণনাযোগ্য রূপ ডেরাইভ করা যায় — নিচে ধাপে ধাপে দেখানো হলো।
সংজ্ঞা থেকে শুরু করে $(X-\mu)^2$ বিস্তৃত (expand) করি —
$$\text{Var}(X)=\mathbb{E}\big[(X-\mu)^2\big]=\mathbb{E}\big[X^2-2\mu X+\mu^2\big]$$এখন প্রত্যাশার রৈখিকতা প্রয়োগ করি — প্রতিটি টার্মের প্রত্যাশা আলাদাভাবে নেওয়া যায় (মনে রাখবেন, $\mu$ এখানে একটি ধ্রুবক, কারণ এটি $\mathbb{E}[X]$-এর একটি নির্দিষ্ট সংখ্যা, র্যান্ডম ভেরিয়েবল নয়):
$$\mathbb{E}\big[X^2-2\mu X+\mu^2\big]=\mathbb{E}[X^2]-2\mu\,\mathbb{E}[X]+\mu^2$$যেহেতু $\mu=\mathbb{E}[X]$, তাই $\mathbb{E}[X]$-এর জায়গায় $\mu$ বসিয়ে —
$$=\mathbb{E}[X^2]-2\mu\cdot\mu+\mu^2=\mathbb{E}[X^2]-2\mu^2+\mu^2=\mathbb{E}[X^2]-\mu^2$$অর্থাৎ শেষ পর্যন্ত পাওয়া গেল —
$$\boxed{\text{Var}(X)=\mathbb{E}[X^2]-(\mathbb{E}[X])^2}$$এই রূপটি ব্যবহারিকভাবে অনেক সুবিধাজনক — শুধু $X$ ও $X^2$-এর গড় বের করলেই ভেরিয়েন্স পাওয়া যায়, আলাদা করে প্রতিটি বিচ্যুতি বের করতে হয় না।
উদাহরণ — সুষম ছক্কার জন্য $\mathbb{E}[X]=3.5$ আমরা আগেই পেয়েছি। এখন $\mathbb{E}[X^2]=\sum_{k=1}^6 k^2\cdot\frac{1}{6}=\frac{1+4+9+16+25+36}{6}=\frac{91}{6}\approx15.1667$। তাই $\text{Var}(X)=\frac{91}{6}-(3.5)^2=15.1667-12.25=2.9167=\frac{35}{12}$।
৩ · কোভেরিয়েন্স ও কোভেরিয়েন্স ম্যাট্রিক্স
যখন দুটি র্যান্ডম ভেরিয়েবল $X$ ও $Y$ থাকে, আমরা জানতে চাই তারা একসাথে কীভাবে বদলায় — একটি বড় হলে অন্যটিও বড় হওয়ার প্রবণতা আছে কি না। এটি মাপে কোভেরিয়েন্সCovarianceদুটি র্যান্ডম ভেরিয়েবল একসাথে (একই দিকে না বিপরীত দিকে) কতটা পরিবর্তিত হয় তার মাপ। —
$$\text{Cov}(X,Y)=\mathbb{E}\big[(X-\mu_X)(Y-\mu_Y)\big]$$ভেরিয়েন্সের মতোই একই কৌশলে এটিকে $\text{Cov}(X,Y)=\mathbb{E}[XY]-\mathbb{E}[X]\mathbb{E}[Y]$ রূপে লেখা যায় (একই বিস্তৃতি ও রৈখিকতা প্রয়োগ করে — উপরের ডেরিভেশনের ঠিক একই পদ্ধতি)। লক্ষণীয় — $\text{Cov}(X,X)=\text{Var}(X)$, অর্থাৎ ভেরিয়েন্স আসলে কোভেরিয়েন্সের একটি বিশেষ ক্ষেত্র। যখন একাধিক ভেরিয়েবল ($X_1,\dots,X_n$, যেমন একটি ডেটাসেটের $n$টি ফিচার) থাকে, তাদের সব জোড়ার কোভেরিয়েন্স একটি $n\times n$ কোভেরিয়েন্স ম্যাট্রিক্স $\boldsymbol\Sigma$-তে সাজানো হয়, যেখানে $\Sigma_{ij}=\text{Cov}(X_i,X_j)$ (এবং কর্ণ বরাবর $\Sigma_{ii}=\text{Var}(X_i)$)। পাঠ ১২-এ আমরা দেখেছি এই ম্যাট্রিক্স সবসময় পজিটিভ সেমি-ডেফিনিট, এবং পাঠ ১১-এ (PCA) এই একই ম্যাট্রিক্সের আইগেনভেক্টরই প্রধান উপাদান।
৪ · কোরিলেশন কোয়েফিসিয়েন্ট
কোভেরিয়েন্সের একটি সমস্যা — এর মান $X, Y$-এর একক (unit)-এর উপর নির্ভরশীল (যেমন মিটার বনাম সেন্টিমিটারে পরিমাপ করলে ভিন্ন সংখ্যা আসবে)। এটি সমাধান করতে কোভেরিয়েন্সকে প্রতিটি ভেরিয়েবলের স্ট্যান্ডার্ড ডেভিয়েশন দিয়ে ভাগ করে কোরিলেশন কোয়েফিসিয়েন্ট $\rho$ পাওয়া যায় —
$$\rho_{X,Y}=\frac{\text{Cov}(X,Y)}{\sigma_X\sigma_Y}$$এই নরমালাইজেশনের ফলে $\rho$ সবসময় $[-1,1]$-এর মধ্যে থাকে — $\rho=1$ মানে নিখুঁত পজিটিভ রৈখিক সম্পর্ক, $\rho=-1$ মানে নিখুঁত নেগেটিভ রৈখিক সম্পর্ক, $\rho=0$ মানে কোনো রৈখিক সম্পর্ক নেই। ফিচার সিলেকশন ও ডেটা এক্সপ্লোরেশনে কোরিলেশন ম্যাট্রিক্স ব্যাপকভাবে ব্যবহৃত হয় — উচ্চ কোরিলেটেড ফিচার প্রায়ই রিডানডেন্ট তথ্য বহন করে (পাঠ ০৬ দেখুন)।
নিচের কোডে আমরা একটি সুষম ছক্কার $\mathbb{E}[X]$ ও $\text{Var}(X)$ সিমুলেশন দিয়ে যাচাই করছি, তারপর দুটি সম্পর্কিত ভেরিয়েবল তৈরি করে তাদের কোভেরিয়েন্স ও কোরিলেশন গণনা করছি।
import numpy as np
np.random.seed(0)
# --- ধাপ ১: ফেয়ার ডাইস দিয়ে E[X] ও Var(X) যাচাই ---
rolls = np.random.randint(1, 7, size=1_000_000) # 1 থেকে 6
mean_X = rolls.mean()
mean_X2 = (rolls ** 2).mean()
var_via_identity = mean_X2 - mean_X ** 2 # Var(X) = E[X^2] - (E[X])^2
var_builtin = rolls.var() # NumPy-র সরাসরি ফাংশন
print("E[X] (সিমুলেশন) =", round(mean_X, 4), " | তাত্ত্বিক 3.5")
print("Var(X) সূত্র থেকে =", round(var_via_identity, 4))
print("Var(X) np.var() থেকে =", round(var_builtin, 4), " | তাত্ত্বিক", round(35/12, 4))
# --- ধাপ ২: দুটি সম্পর্কিত ভেরিয়েবল — কোভেরিয়েন্স ও কোরিলেশন ---
X = np.random.normal(0, 1, size=1_000_000)
noise = np.random.normal(0, 0.5, size=1_000_000)
Y = 2 * X + noise # Y সরাসরি X-এর উপর নির্ভরশীল, তাই শক্তিশালী পজিটিভ কোরিলেশন আশা করা যায়
cov_matrix = np.cov(X, Y) # 2x2 কোভেরিয়েন্স ম্যাট্রিক্স
corr = cov_matrix[0, 1] / (X.std() * Y.std())
print("\nCov(X, Y) =", round(cov_matrix[0, 1], 4))
print("রো (correlation) =", round(corr, 4))
প্রত্যাশা ও ভেরিয়েন্স যেকোনো বিতরণের (Bernoulli, Binomial, Poisson, Gaussian — সবকিছুর) দুটি সবচেয়ে গুরুত্বপূর্ণ সারাংশ পরিসংখ্যান (summary statistics)। $\text{Var}(X)=\mathbb{E}[X^2]-(\mathbb{E}[X])^2$ অভেদটি শুধু গাণিতিক কৌশল নয় — এটিই প্র্যাক্টিক্যাল কোডে ভেরিয়েন্স গণনার সবচেয়ে সাধারণ পদ্ধতি। পরের পাঠে (L28) আমরা সম্ভাবনা তত্ত্বের দিকে ফিরে যাব — বেইজ থিওরেম, যা পাঠ ২৪-এর শর্তাধীন সম্ভাবনা থেকে সরাসরি বের হয়।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ কেন $\text{Var}(X)=\mathbb{E}[X^2]-(\mathbb{E}[X])^2$ সূত্রে $(\mathbb{E}[X])^2$ থেকে বিয়োগ করতে হয়, শুধু $\mathbb{E}[X^2]$ যথেষ্ট নয় কেন?
কারণ $\mathbb{E}[X^2]$ নিজে "ছড়ানো" ও "কেন্দ্রের অবস্থান" দুটোই একসাথে ধরে ফেলে — যদি $X$-এর গড়ই বড় হয় (যেমন সবসময় $100$-এর কাছাকাছি), $\mathbb{E}[X^2]$ও বড় হবে, এমনকি ভেরিয়েন্স ছোট হলেও। $(\mathbb{E}[X])^2$ বিয়োগ করে আমরা "গড়ের অবদান" বাদ দিয়ে শুধু গড়ের চারপাশে প্রকৃত ছড়ানোটুকু রেখে দিই — এই কারণেই ডেরিভেশনে $-2\mu^2+\mu^2=-\mu^2$ টার্মটি অবশিষ্ট থাকে।
প্র ০২ যদি $\text{Cov}(X,Y)=0$ পাওয়া যায়, তাহলে কি নিশ্চিতভাবে বলা যায় $X$ ও $Y$ স্বাধীন?
না। কোভেরিয়েন্স শূন্য মানে শুধু তাদের মধ্যে কোনো রৈখিক সম্পর্ক নেই। একটি ক্লাসিক পাল্টা-উদাহরণ: $X\sim\mathcal{N}(0,1)$ এবং $Y=X^2$। এখানে $Y$ সম্পূর্ণরূপে $X$ দ্বারা নির্ধারিত (তীব্র নির্ভরতা), কিন্তু $X$-এর বিতরণ শূন্যের চারপাশে প্রতিসম হওয়ায় $\text{Cov}(X,Y)=\mathbb{E}[X^3]-\mathbb{E}[X]\mathbb{E}[X^2]=0-0=0$ হয়ে যায় (কারণ প্রতিসম বিতরণে বিজোড় ঘাতের প্রত্যাশা শূন্য)। তাই কোভেরিয়েন্স শূন্য $\Rightarrow$ স্বাধীনতা নয়, শুধু উল্টোটাই সত্য।
প্র ০৩ একটি ডেটাসেটে দুটি ফিচার আছে — একটি মিটারে পরিমাপ করা উচ্চতা, আরেকটি গ্রামে পরিমাপ করা ওজন। ফিচার-জোড়ার মধ্যে সম্পর্কের "শক্তি" তুলনা করতে কোভেরিয়েন্স নাকি কোরিলেশন ব্যবহার করা উচিত?
কোরিলেশন — কারণ কোভেরিয়েন্সের মান একক-নির্ভর, তাই একই সম্পর্ককে মিটার বনাম সেন্টিমিটারে পরিমাপ করলে সংখ্যাটা বদলে যাবে, যদিও প্রকৃত সম্পর্কের শক্তি বদলায়নি। কোরিলেশন কোয়েফিসিয়েন্ট $\rho\in[-1,1]$ একক-স্বাধীন (unit-independent), তাই বিভিন্ন এককে পরিমাপ করা ফিচার-জোড়ার মধ্যে সম্পর্কের শক্তি নিরপেক্ষভাবে তুলনা করা যায়।
অনুশীলন
-
ডেরাইভ করুন: $\text{Cov}(X,Y)=\mathbb{E}[XY]-\mathbb{E}[X]\mathbb{E}[Y]$ — এই অভেদটি $\text{Var}(X)$-এর ডেরিভেশনের মতো একই পদ্ধতিতে $(X-\mu_X)(Y-\mu_Y)$ বিস্তৃত করে প্রমাণ করুন।
$(X-\mu_X)(Y-\mu_Y)=XY-\mu_X Y-\mu_Y X+\mu_X\mu_Y$। প্রত্যাশা নিয়ে রৈখিকতা প্রয়োগ করলে $\mathbb{E}[XY]-\mu_X\mathbb{E}[Y]-\mu_Y\mathbb{E}[X]+\mu_X\mu_Y$। যেহেতু $\mathbb{E}[Y]=\mu_Y$ এবং $\mathbb{E}[X]=\mu_X$, এটি হয়ে যায় $\mathbb{E}[XY]-\mu_X\mu_Y-\mu_Y\mu_X+\mu_X\mu_Y=\mathbb{E}[XY]-\mu_X\mu_Y$।
-
হিসাব করুন: একটি র্যান্ডম ভেরিয়েবল $X$-এর $P(X=0)=0.5$, $P(X=2)=0.5$। $\mathbb{E}[X]$ ও $\text{Var}(X)$ বের করুন।
$\mathbb{E}[X]=0(0.5)+2(0.5)=1$। $\mathbb{E}[X^2]=0^2(0.5)+2^2(0.5)=0+2=2$। তাই $\text{Var}(X)=\mathbb{E}[X^2]-(\mathbb{E}[X])^2=2-1=1$।
-
পরীক্ষা করুন: কোড সেলে
noise-এর স্ট্যান্ডার্ড ডেভিয়েশন $0.5$ থেকে $5$ করে দিন। correlation $\rho$-এর মান কীভাবে বদলাবে, এবং কেন?$\rho$-এর মান $1$-এর কাছাকাছি থেকে অনেক কমে যাবে (শূন্যের দিকে)। কারণ $Y=2X+\text{noise}$-এ যত বেশি এলোমেলো নয়েজ যোগ হয়, $Y$-এর মধ্যে "$X$ থেকে ব্যাখ্যাযোগ্য" অংশের অনুপাত তত কমে যায় — রৈখিক সম্পর্কটি নয়েজের নিচে চাপা পড়ে যায়, তাই কোরিলেশন দুর্বল হয়ে পড়ে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পাঠ ২৮ · Bayes থিওরেম ও বেসিয়ান চিন্তাভাবনা পরবর্তী পাঠ শর্তাধীন সম্ভাবনার সংজ্ঞা (পাঠ ২৪) থেকে সরাসরি বেইজ থিওরেম ডেরাইভ করা হবে, একটি সম্পূর্ণ সাংখ্যিক উদাহরণসহ।
- সব AI Courses দেখুন ABCL TECH AI Foundations, Python for AI, Machine Learning, Deep Learning, Math for AI ও আরও অনেক কিছু — সব এক জায়গায়।
- Machine Learning কোর্স প্রয়োগ দেখুন কোভেরিয়েন্স ম্যাট্রিক্স ও কোরিলেশন কীভাবে ফিচার ইঞ্জিনিয়ারিং ও PCA-তে ব্যবহৃত হয় তা দেখতে।