সমাধান — অধ্যায় ২.৪ · Continuous Distributions¶
অধ্যায় ফাইল:
part-2-probability-foundations/02-04-continuous-distributions.md(§৭ অনুশীলনী)। সব সংখ্যাগত উত্তরscipy.statsদিয়ে যাচাই করা হয়েছে (seed উল্লেখ থাকলে reproducible)।
ক · ধারণাগত (conceptual)¶
সমাধান ১ (★)¶
continuous random variable-এর অসীম-সংখ্যক সম্ভাব্য মান আছে। যেকোনো একটি নির্দিষ্ট মান \(c\)-তে probability হলো শূন্য-প্রস্থ ব্যবধানের area: $$ P(X=c) = P(c\le X\le c) = \int_c^c f(x)\,dx = 0. $$ শূন্য-প্রস্থ rectangle-এর area শূন্য। অথচ পুরো রেখার নিচের মোট area \(=1\), তাই \(X\) "কোনো-না-কোনো" মান নেবেই — probability জমা হয় কেবল একটা ব্যবধান জুড়ে, কোনো একক বিন্দুতে নয়।
\(P(a\le X\le b)\) আর \(P(a<X<b)\) সমান কারণ প্রান্তবিন্দু \(a\) ও \(b\) যোগ/বিয়োগ করলে কেবল \(P(X=a)=0\) ও \(P(X=b)=0\) যোগ/বিয়োগ হয় — মানে কিছুই বদলায় না। (discrete-এ এটা মিথ্যা হত, কারণ সেখানে প্রান্তবিন্দুর mass থাকে।)
সমাধান ২ (★)¶
- PMF \(p(x)\) সরাসরি probability (\(P(X=x)\)), তাই \(0\le p(x)\le 1\) আর \(\sum p(x)=1\)।
- PDF \(f(x)\) একটা density (হার) — probability নয়, বরং "ওই বিন্দুতে probability কত ঘন হয়ে জমছে।" probability পেতে একটা ব্যবধান জুড়ে integrate করতে হয়: \(P(a\le X\le b)=\int_a^b f\)।
PDF \(1\)-এর বেশি হতে পারে কারণ density-কে একটা প্রস্থ দিয়ে গুণ করে তবেই probability হয়; প্রস্থ ছোট হলে density বড় হয়েও area \(\le 1\) থাকে। উদাহরণ: Uniform(0, 0.5)-এ \(f(x)=\frac{1}{0.5-0}=2\) on \([0,0.5]\) — density \(=2>1\), কিন্তু area \(=2\times0.5=1\)। ✓ (PMF কখনো \(1\) ছাড়াতে পারে না, কারণ সেটা সরাসরি একটা probability।)
সমাধান ৩ (★★)¶
CDF \(F(x)=P(X\le x)=\int_{-\infty}^x f(t)\,dt\) — অর্থাৎ \(x\)-এর বাঁ দিক পর্যন্ত density-র নিচে জমা area (0.4-এর "integral = সঞ্চয়")। 0.4-এর Fundamental Theorem of Calculus বলে "area জমা হওয়ার তাৎক্ষণিক হার = সেই বিন্দুর function-মান", তাই CDF-কে differentiate করলে আবার PDF ফেরে: \(F'(x)=f(x)\)। সুতরাং PDF→CDF মানে integrate, CDF→PDF মানে differentiate — দুটো একই বস্তুর দুই রূপ।
\(F\) সবসময় non-decreasing কারণ ডান দিকে এগোলে কেবল আরও area যোগ হয় (কখনো বিয়োগ নয়), যেহেতু \(f\ge0\)। সমতুল্যভাবে: \(F'=f\ge0\), আর যে function-এর derivative সর্বত্র \(\ge0\) সে কখনো নামে না।
সমাধান ৪ (★★)¶
বাক্যের অর্থ: "\(s\) সময় টিকে গেছি, আরও অন্তত \(t\) টিকব" — এর probability ঠিক "শূন্য থেকে শুরু করে অন্তত \(t\) টিকব"-এর সমান। bus-উদাহরণ: বাস যদি Exponential-ভাবে আসে আর আপনি ১০ মিনিট দাঁড়িয়ে থাকেন, "আর কতক্ষণ লাগবে?" — এর বণ্টন একদম শুরুতে দাঁড়ানোর মতোই; ১০ মিনিট অপেক্ষা আপনাকে "বাস আসার কাছাকাছি" আনেনি।
এটা অস্বস্তিকর (counterintuitive) — সাধারণ অভিজ্ঞতায় মনে হয় "অনেকক্ষণ অপেক্ষা করেছি, এবার নিশ্চয় আসবে।" কিন্তু Exponential-এ hazard rate ধ্রুব, তাই "অপেক্ষা জমা" বলে কিছু নেই।
একটা ক্ষয়িষ্ণু যন্ত্রের (যেমন ক্ষয়প্রাপ্ত বিয়ারিং) জন্য memoryless মডেল ভুল, কারণ সেখানে নষ্ট হওয়ার ঝুঁকি বয়সের সাথে বাড়ে (hazard rate ধ্রুব নয়) — পুরোনো যন্ত্র নতুনের চেয়ে বেশি ঝুঁকিতে। এমন ক্ষেত্রে Weibull বা বাড়ন্ত-hazard Gamma বেশি বাস্তবসম্মত।
খ · গণনামূলক (computational)¶
সমাধান ৫ (★)¶
\(X\sim\text{Uniform}(2,10)\), \(b-a=8\)।
(ক) \(f(x)=\dfrac{1}{10-2}=\dfrac{1}{8}=0.125\) for \(2\le x\le 10\), নয়তো \(0\)।
(খ) \(P(X<5)=\dfrac{5-2}{8}=\dfrac{3}{8}=\boxed{0.375}\)।
(গ) \(P(4\le X\le 7)=\dfrac{7-4}{8}=\dfrac{3}{8}=\boxed{0.375}\)।
(ঘ) median \(m\): \(\dfrac{m-2}{8}=0.5\Rightarrow m-2=4\Rightarrow m=\boxed{6}\) (ব্যবধানের মাঝবিন্দু)।
সমাধান ৬ (★★)¶
গড় \(=4\) মিনিট।
(ক) \(\lambda=\dfrac{1}{\text{mean}}=\dfrac{1}{4}=\boxed{0.25}\) প্রতি মিনিট।
(খ) \(P(X<2)=F(2)=1-e^{-0.25\cdot2}=1-e^{-0.5}\approx 1-0.6065=\boxed{0.3935}\)।
(গ) \(P(X>6)=S(6)=e^{-0.25\cdot6}=e^{-1.5}\approx\boxed{0.2231}\)।
(ঘ) memorylessness: \(P(X>7\mid X>3)=P(X>4)=e^{-0.25\cdot4}=e^{-1}\approx\boxed{0.3679}\)। যাচাই (সংজ্ঞা থেকে): $$ \frac{P(X>7)}{P(X>3)}=\frac{e^{-1.75}}{e^{-0.75}}=e^{-1}\approx0.3679.\ \checkmark $$
সমাধান ৭ (★★)¶
\(X\sim\mathcal{N}(100,15^2)\)।
(ক) \(z=\dfrac{130-100}{15}=\dfrac{30}{15}=\boxed{2.0}\)।
(খ) \(70=100-2(15)=\mu-2\sigma\) এবং \(130=\mu+2\sigma\)। তাই পরিসর \(\mu\pm2\sigma\) — empirical rule-এ \(\boxed{\approx95\%}\)। (scipy: \(0.9545\)।)
(গ) \(130=\mu+2\sigma\)-র উপরে। \(\mu\pm2\sigma\)-এ ৯৫%, বাইরে ৫%, প্রতিসমতায় এক প্রান্তে অর্ধেক: $$ P(X>130)\approx\frac{1-0.95}{2}=\boxed{0.025}. $$ (scipy: \(0.02275\)।)
(ঘ) "টপ ১৬%" মানে নিচে ৮৪% — অর্থাৎ ~\(\mu+1\sigma\)-র উপরে (কারণ \(\mu\pm1\sigma\)-এ ৬৮%, উপরে \((100-68)/2=16\%\))। তাই থ্রেশহোল্ড \(100+15=\boxed{115}\)। (scipy: \(P(X>115)=0.1587\approx16\%\) ✓।)
সমাধান ৮ (★★)¶
Beta(2, 5), \(\alpha=2,\beta=5\)।
- mean \(=\dfrac{\alpha}{\alpha+\beta}=\dfrac{2}{7}\approx\boxed{0.286}\)।
- mode \(=\dfrac{\alpha-1}{\alpha+\beta-2}=\dfrac{1}{5}=\boxed{0.2}\)।
কেন যুক্তিসঙ্গত: support \([0,1]\) — একটা proportion/probability-র জন্য ঠিক জায়গা। \(\alpha<\beta\) হওয়ায় distribution ডান দিকে হেলানো (right-skew), অর্থাৎ ছোট মান বেশি সম্ভাব্য — "ক্লিক-হার সম্ভবত কম" এই ধারণার সঙ্গে মেলে। mode (\(0.2\)) mean (\(0.286\))-এর চেয়ে ছোট — right-skew-এর স্বাভাবিক চিহ্ন (লম্বা ডান লেজ গড়কে ডানে টানে)।
গ · প্রমাণভিত্তিক (proof-based)¶
সমাধান ৯ (★★★)¶
দেওয়া: continuous \(X>0\), \(S(x)=P(X>x)\), এবং \(S(s+t)=S(s)S(t)\) সব \(s,t\ge0\)-তে, \(S(0)=1\), \(S\) continuous ও \(0<S(x)\le1\)।
প্রমাণ। ধরি \(g(x)=\ln S(x)\) (যেখানে \(S>0\); \(S\) কখনো \(0\) না হলে এটা সর্বত্র সংজ্ঞায়িত — না হলে একটা বিন্দুর পর \(S\equiv0\), যা continuous monotone ক্ষেত্রে অসামঞ্জস্য বাদ দিয়ে দেয়)। তখন গুণফল-শর্ত যোগফল-শর্তে পরিণত হয়: $$ g(s+t)=\ln S(s+t)=\ln\big(S(s)S(t)\big)=\ln S(s)+\ln S(t)=g(s)+g(t). $$ এটাই Cauchy functional equation \(g(s+t)=g(s)+g(t)\)। \(g\) continuous (কারণ \(S\) continuous, \(\ln\) continuous) — আর continuous সমাধান একমাত্র linear: \(g(x)=cx\) কোনো ধ্রুবক \(c\)-র জন্য।
[সংক্ষিপ্ত যুক্তি: \(g(2)=2g(1)\), induction-এ \(g(n)=ng(1)\); \(g(1)=g(n\cdot\tfrac1n)=ng(\tfrac1n)\) থেকে \(g(\tfrac1n)=\tfrac1n g(1)\); তাই সব rational-এ \(g(q)=qg(1)\); continuity-তে সব real-এ \(g(x)=xg(1)=cx\) যেখানে \(c=g(1)\)।]
অতএব \(S(x)=e^{cx}\)। যেহেতু \(S\) একটা survival function, \(x\to\infty\)-তে \(S\to0\), তাই \(c<0\); লিখি \(c=-\lambda\) (\(\lambda>0\)): $$ S(x)=e^{-\lambda x}\ \Rightarrow\ F(x)=1-e^{-\lambda x},\quad f(x)=F'(x)=\lambda e^{-\lambda x}. $$ অর্থাৎ \(X\sim\text{Exponential}(\lambda)\) — memoryless ধর্মযুক্ত একমাত্র continuous distribution। \(\blacksquare\)
সমাধান ১০ (★★)¶
symmetry (প্রতিসমতা)। \(\phi(z)=\dfrac{1}{\sqrt{2\pi}}e^{-z^2/2}\)। যেহেতু \((-z)^2=z^2\): $$ \phi(-z)=\frac{1}{\sqrt{2\pi}}e^{-(-z)^2/2}=\frac{1}{\sqrt{2\pi}}e^{-z^2/2}=\phi(z).\ \checkmark $$ তাই PDF \(z=0\)-এর সাপেক্ষে প্রতিসম।
\(\Phi(-z)=1-\Phi(z)\)। \(\Phi(-z)=\int_{-\infty}^{-z}\phi(t)\,dt\)। substitution \(u=-t\) (তাই \(du=-dt\); সীমা \(t=-\infty\to u=\infty\), \(t=-z\to u=z\)): $$ \Phi(-z)=\int_{\infty}^{z}\phi(-u)(-du)=\int_{z}^{\infty}\phi(u)\,du, $$ যেখানে \(\phi(-u)=\phi(u)\) ব্যবহার করেছি। কিন্তু \(\int_z^\infty\phi=1-\int_{-\infty}^z\phi=1-\Phi(z)\) (মোট area \(1\))। অতএব $$ \Phi(-z)=1-\Phi(z).\qquad\blacksquare $$ (এটাই §৪ ও §৫.৩-এ \(\Phi(-1)=1-\Phi(1)\) ইত্যাদি হিসাবের ভিত্তি।)
ঘ · কোডিং (coding)¶
সমাধান ১১ (★)¶
from scipy import stats
Z = stats.norm(0, 1)
for k in (1, 2, 3):
print(f"+-{k} sigma: {Z.cdf(k) - Z.cdf(-k):.4f}")
print("ppf(0.975) =", Z.ppf(0.975))
ppf(0.975)≈1.96 কারণ standard Normal-এ বাঁ দিকে ৯৭.৫% area জমতে \(z=1.96\) লাগে; এর ফলে \(\pm1.96\)-এর মাঝে ঠিক ৯৫% (দুই প্রান্তে ২.৫% করে) — এজন্যই ৯৫% confidence interval-এ ১.৯৬ আসে।
সমাধান ১২ (★★)¶
import numpy as np
from scipy import stats
rng = np.random.default_rng(0)
x = stats.expon(scale=1).rvs(100_000, rng) # rate = 1
print("sample mean =", round(x.mean(), 4), " (true 1)")
print("sample P(X>2) =", round((x > 2).mean(), 5),
" (theory e^-2 =", round(np.exp(-2), 5), ")")
সমাধান ১৩ (★★★)¶
import numpy as np
import matplotlib; matplotlib.use("Agg")
import matplotlib.pyplot as plt
from scipy import stats
rng = np.random.default_rng(1)
lam = 2.0
u = rng.uniform(0, 1, size=5000) # শুধু Uniform(0,1)
x = -np.log(1 - u) / lam # inverse-CDF -> Exponential(rate=2)
print("sample mean =", round(x.mean(), 4), " (1/lam = 0.5)") # ~0.4956
fig, ax = plt.subplots(figsize=(8, 4.5))
ax.hist(x, bins=50, density=True, color="#27ae60", alpha=0.55,
edgecolor="white", label="inverse-CDF samples")
xx = np.linspace(0, x.max(), 400)
ax.plot(xx, stats.expon(scale=1/lam).pdf(xx), color="#c0392b", lw=2.4,
label="theoretical Exponential(rate=2) pdf")
ax.set_title("Inverse-CDF method: Uniform -> Exponential")
ax.set_xlabel("x"); ax.set_ylabel("density"); ax.legend()
fig.tight_layout()
# fig.savefig("exp_inverse_cdf.png", dpi=150) # নিজের ফোল্ডারে