Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Tasodifiy o'zgaruvchi nima
- 2.2. Diskret va uzluksiz
- 2.3. PMF — ehtimollik massasi funksiyasi
- 2.4. PDF — ehtimollik zichligi funksiyasi
- 2.5. CDF — taqsimot funksiyasi va ppf
- 2.6. scipy.stats interfeysi
- 2.7. Tasodifiy o'zgaruvchi tuzoqlari
- 2.8. Tasodifiy o'zgaruvchi — natijadan songa
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Uch tanga: PMF va CDF qo'lda
- Misol 2 — Kuryerlar: o'rtacha emas, kvantil
- Misol 3 — PDF zichlik, ehtimol emas
- Misol 4 — Ma'lumotdan empirik taqsimot
- 5. To'g'ri va noto'g'ri tushunishlar
- 6. Keng tarqalgan xatolar va yechimlari
- 7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 8. Eng yaxshi amaliyotlar
- 9. Amaliy topshiriq
- Xulosa
9.5-dars: Tasodifiy o'zgaruvchi
9-QISM — EHTIMOLLIK · 5-dars
1. Kirish va motivatsiya
Hozirgacha hodisalar bilan ishladik: "juft son tushdi", "mijoz xarid qildi". Lekin ko'pincha bizni son qiziqtiradi: "bugun nechta buyurtma keladi?", "mijoz qancha pul sarflaydi?", "server javobi necha millisekund?". Tasodifiy o'zgaruvchi — tajriba natijasiga son mos qo'yuvchi qoida. U ehtimollik va statistikani bog'laydi: ma'lumotlar jadvalidagi har bir sonli ustun — biror tasodifiy o'zgaruvchining kuzatilgan qiymatlari.
Ikki tur bor: diskret (sanaladigan qiymatlar — buyurtmalar soni 0, 1, 2, ...) va uzluksiz (oraliqdagi istalgan qiymat — vaqt, narx, vazn). Ularni tavsiflash uchun uchta funksiya: PMF (diskret — har qiymat ehtimoli), PDF (uzluksiz — zichlik), CDF (ikkalasi uchun — "x dan kichik yoki teng" ehtimoli). Python'da — scipy.stats: bir xil interfeys (pmf, pdf, cdf, ppf, rvs) bilan o'nlab taqsimotlar.
Real vaziyat. Kuryer xizmati menejeri: "Kuniga o'rtacha 20 ta buyurtma keladi, shuning uchun 20 ta kuryer yetarli". Data Scientist buyurtmalar sonini tasodifiy o'zgaruvchi sifatida modellaydi (Poisson, o'rtacha 20). CDF bilan hisoblaydi: P(buyurtma ≤ 20) ≈ 0.56 — kunlarning 44% ida kuryerlar yetmaydi! 95% kunni qoplash uchun ppf(0.95) = 28 kuryer kerak. O'rtacha qiymat emas, taqsimot — to'g'ri qaror.
Bu darsda tasodifiy o'zgaruvchini o'rganamiz.
Bu darsda:
- Tasodifiy o'zgaruvchi nima
- Diskret va uzluksiz
- PMF — ehtimollik massasi funksiyasi
- PDF — ehtimollik zichligi funksiyasi
- CDF — taqsimot funksiyasi va ppf (kvantil)
- scipy.stats interfeysi
- Tasodifiy o'zgaruvchi tuzoqlari
- Amaliy: zaxira va sig'imni rejalash
ℹ Misollar real numpy/scipy bilan (Python 3.14).
2. Nazariya — chuqur tushuntirish
2.1. Tasodifiy o'zgaruvchi nima
TAJRIBA: 3 ta tanga tashlash
natijalar: GGG, GGR, GRG, RGG, GRR, RGR, RRG, RRR (8 ta)
TASODIFIY O'ZGARUVCHI X = "gerblar soni"
GGG → 3 GGR, GRG, RGG → 2 GRR, RGR, RRG → 1 RRR → 0
TAQSIMOT:
x 0 1 2 3
P(X=x) 1/8 3/8 3/8 1/8 (yig'indi = 1)Tasodifiy o'zgaruvchi (X) — har bir natijaga son beruvchi funksiya. Belgilash: katta harf X — o'zgaruvchi, kichik x — aniq qiymat; P(X = 2) — "X 2 ga teng bo'lish ehtimoli". Taqsimot — qaysi qiymat qanday ehtimol bilan chiqishi. Bitta tajribadan turli X yasash mumkin: "gerblar soni", "birinchi tanga gerbmi (0/1)". Ma'lumotlar jadvalida: har qator — bitta tajriba, har sonli ustun — bitta tasodifiy o'zgaruvchining kuzatuvi.
2.2. Diskret va uzluksiz
DISKRET UZLUKSIZ
qiymatlar sanaladigan oraliqdagi istalgan qiymat
buyurtmalar soni, zar, klik vaqt, narx, vazn, harorat
P(X = 3) > 0 bo'lishi mumkin P(X = 3.000...) = 0 (aniq nuqta!)
PMF: P(X = x) PDF: zichlik f(x)
yig'indi = 1 egri ostidagi yuza = 1Diskret — sanaladigan qiymatlar (butun sonlar, kategoriyalar kodi); har qiymatning ehtimoli bor. Uzluksiz — cheksiz ko'p qiymat; aniq bitta qiymatning ehtimoli 0 (yetkazish aynan 30.000000... daqiqa bo'lishi), ma'noli savol — oraliq ehtimoli: P(25 ≤ X ≤ 35). Amalda chegara ba'zan xira: pul (tiyingacha diskret, lekin uzluksiz deb modellanadi), yosh (butun yil — diskret, aslida uzluksiz).
2.3. PMF — ehtimollik massasi funksiyasi
PMF (probability mass function) — diskret X uchun p(x) = P(X = x). Xossalari: har p(x) ≥ 0, barcha qiymatlar bo'yicha yig'indi = 1 (aksioma, 9.1). Ma'lumotdan baholash — nisbiy chastota: s.value_counts(normalize=True).sort_index(). Grafigi — ustunli diagramma (histogram emas — diskret qiymatlar). scipy.stats: stats.poisson(20).pmf(25) — "aynan 25 buyurtma" ehtimoli.
2.4. PDF — ehtimollik zichligi funksiyasi
PDF (probability density function) — uzluksiz X uchun f(x): ehtimol emas, zichlik! Ehtimol — egri ostidagi yuza: P(a ≤ X ≤ b) = a dan b gacha f(x) ning integrali. Shuning uchun f(x) 1 dan katta bo'lishi mumkin (tor taqsimotda: normal(0, 0.1) ning cho'qqisi ≈ 3.99). Ma'lumotdan baholash — histogram (density=True) yoki KDE 5.9-bob. Umumiy yuza = 1.
2.5. CDF — taqsimot funksiyasi va ppf
CDF: F(x) = P(X <= x) — "x gacha" ehtimol (0 dan 1 gacha o'sadi)
P(X > x) = 1 - F(x) → sf(x)
P(a < X <= b) = F(b) - F(a)
ppf(q) = F ning teskarisi → "q-kvantil"
ppf(0.95) — qiymatlarning 95% i shundan kichik
Kuryer misoli (Poisson, o'rtacha 20):
cdf(20) ≈ 0.56 sf(20) ≈ 0.44 ppf(0.95) = 28 CDF — diskret va uzluksiz uchun bir xil ma'noga ega (shu sababli eng qulay): "X ≤ x" ehtimoli. Oraliq ehtimoli — ikki CDF farqi. ppf (percent point function) — teskari CDF: ehtimoldan qiymatga ("95% kunni qoplash uchun nechta kuryer?") — rejalashning asosiy vositasi. Empirik CDF — ma'lumotdan: (s <= x).mean() yoki np.searchsorted (4.4 kvartillar bilan bog'liq).
2.6. scipy.stats interfeysi
scipy.stats — barcha taqsimotlar uchun yagona interfeys: taqsimotni parametrlar bilan "muzlatish" (X = stats.poisson(mu=20), stats.norm(loc=100, scale=15)), keyin metodlar: pmf (diskret) / pdf (uzluksiz), cdf, sf (1 - cdf, aniqroq), ppf (kvantil), rvs(size, random_state) (namuna yaratish), mean(), var(), std(), interval(0.95). Parametr nomlari: loc (siljish), scale (masshtab), va taqsimotga xos (mu, n, p). Diqqat: diskretda pdf yo'q (pmf), uzluksizda pmf yo'q.
2.7. Tasodifiy o'zgaruvchi tuzoqlari
Asosiy tuzoqlar: PDF qiymatini ehtimol deb o'qish (f(x) = 3.99 — "ehtimol 399%" emas; yuza kerak); uzluksizda P(X = x) (0; oraliq kerak); o'rtacha bo'yicha rejalash (o'rtacha 20 → 20 kuryer — kunlarning ~44% ida yetmaydi; kvantil kerak); diskretda ≤ va < farqi (P(X ≤ 20) ≠ P(X < 20); uzluksizda farq yo'q); pmf/pdf adashtirish (scipy xatosi); scale ni dispersiya deb berish (norm(scale=...) — standart og'ish, dispersiya emas); random_state siz rvs (takrorlanmaydi).
2.8. Tasodifiy o'zgaruvchi — natijadan songa
Tasodifiy o'zgaruvchi: natijaga son beruvchi funksiya; taqsimot — qiymatlar va ehtimollari; diskret (PMF, yig'indi 1) va uzluksiz (PDF — zichlik, yuza 1; aniq nuqta ehtimoli 0); CDF — P(X ≤ x), ikkalasi uchun ham; ppf — teskari CDF (kvantil — rejalash); scipy.stats — yagona interfeys (pmf/pdf, cdf, sf, ppf, rvs). Qarorlar o'rtacha emas, taqsimot asosida. Keyingi darslar: kutilma va dispersiya 9.6-bob, diskret taqsimotlar 9.7-bob, uzluksiz taqsimotlar 9.8-bob.
3. Tez ma'lumotnoma
import numpy as np
from scipy import stats
# DISKRET
X = stats.poisson(mu=20)
X.pmf(25) # P(X = 25)
X.cdf(20) # P(X <= 20)
X.sf(20) # P(X > 20)
X.ppf(0.95) # 95%-kvantil
X.rvs(size=1000, random_state=0)
# UZLUKSIZ
Y = stats.norm(loc=30, scale=5) # scale — standart og'ish!
Y.pdf(30) # zichlik (ehtimol emas)
Y.cdf(35) - Y.cdf(25) # P(25 <= Y <= 35)
Y.interval(0.95) # markaziy 95% oraliq
# MA'LUMOTDAN
s.value_counts(normalize=True).sort_index() # empirik PMF
(s <= x).mean() # empirik CDF
np.quantile(s, 0.95) # empirik kvantil
QOIDA: diskret — pmf, uzluksiz — pdf (yuza) · oraliq — cdf farqi · rejalash — ppfTasodifiy o'zgaruvchi xulosasi
Tasodifiy o'zgaruvchi — natijaga son; taqsimot — qiymatlar ehtimoli
Diskret — PMF (P(X=x)), yig'indi 1
Uzluksiz — PDF (zichlik), yuza 1, P(X=x)=0
CDF — P(X<=x); oraliq = F(b) - F(a)
ppf — teskari CDF, kvantil (rejalash)
scipy.stats — pmf/pdf, cdf, sf, ppf, rvs4. Batafsil misollar
Misollar real numpy/scipy bilan (Python 3.14).
Misol 1 — Uch tanga: PMF va CDF qo'lda
"""Tasodifiy o'zgaruvchi: 3 tanga, gerblar soni (real Python/numpy)."""
import itertools
from collections import Counter
from fractions import Fraction
import numpy as np
def main() -> None:
natijalar = list(itertools.product("GR", repeat=3))
X = [n.count("G") for n in natijalar]
print("=== 1. Natija → son ===")
for n, x in list(zip(natijalar, X))[:4]:
print(f" {''.join(n)} → {x}")
print("\n=== 2. PMF ===")
pmf = {x: Fraction(c, len(X)) for x, c in sorted(Counter(X).items())}
for x, p in pmf.items():
print(f" P(X={x}) = {p}")
print(f" yig'indi: {sum(pmf.values())}")
print("\n=== 3. CDF ===")
jami = Fraction(0)
for x, p in pmf.items():
jami += p
print(f" P(X<={x}) = {jami}")
print("\n=== 4. Simulyatsiya (100 000 tajriba) ===")
rng = np.random.default_rng(0)
sim = rng.integers(0, 2, (100_000, 3)).sum(axis=1)
print(f" {np.bincount(sim) / sim.size}")
print(" ⭐ Taqsimot — qiymatlar va ularning ehtimoli")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Natija → son ===
GGG → 3
GGR → 2
GRG → 2
GRR → 1
=== 2. PMF ===
P(X=0) = 1/8
P(X=1) = 3/8
P(X=2) = 3/8
P(X=3) = 1/8
yig'indi: 1
=== 3. CDF ===
P(X<=0) = 1/8
P(X<=1) = 1/2
P(X<=2) = 7/8
P(X<=3) = 1
=== 4. Simulyatsiya (100 000 tajriba) ===
[0.12461 0.37451 0.37773 0.12315]
⭐ Taqsimot — qiymatlar va ularning ehtimoliNima ko'rsatdi: 2.1, 2.3, 2.5-bo'limlar.
Misol 2 — Kuryerlar: o'rtacha emas, kvantil
"""Poisson buyurtmalar: cdf, sf, ppf bilan rejalash (real scipy)."""
from scipy import stats
def main() -> None:
X = stats.poisson(mu=20)
print("=== 1. O'rtacha bo'yicha reja (20 kuryer) ===")
print(f" P(buyurtma <= 20) = {X.cdf(20):.3f}")
print(f" P(buyurtma > 20) = {X.sf(20):.3f} ← yetmaydigan kunlar")
print("\n=== 2. Kvantil bo'yicha reja ===")
for q in [0.80, 0.90, 0.95, 0.99]:
k = int(X.ppf(q))
print(f" {q:.0%} kunni qoplash: {k} kuryer (haqiqiy: {X.cdf(k):.3f})")
print("\n=== 3. Aniq qiymatlar ===")
print(f" P(aynan 20) = {X.pmf(20):.4f}")
print(f" P(15..25) = {X.cdf(25) - X.cdf(14):.3f}")
print("\n=== 4. Diskretda <= va < farqi ===")
print(f" P(X <= 20) = {X.cdf(20):.3f}, P(X < 20) = {X.cdf(19):.3f}")
print(" ⭐ Rejalash — ppf (kvantil), o'rtacha emas")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. O'rtacha bo'yicha reja (20 kuryer) ===
P(buyurtma <= 20) = 0.559
P(buyurtma > 20) = 0.441 ← yetmaydigan kunlar
=== 2. Kvantil bo'yicha reja ===
80% kunni qoplash: 24 kuryer (haqiqiy: 0.843)
90% kunni qoplash: 26 kuryer (haqiqiy: 0.922)
95% kunni qoplash: 28 kuryer (haqiqiy: 0.966)
99% kunni qoplash: 31 kuryer (haqiqiy: 0.992)
=== 3. Aniq qiymatlar ===
P(aynan 20) = 0.0888
P(15..25) = 0.783
=== 4. Diskretda <= va < farqi ===
P(X <= 20) = 0.559, P(X < 20) = 0.470
⭐ Rejalash — ppf (kvantil), o'rtacha emasNima ko'rsatdi: 2.5, 2.6, 2.7-bo'limlar.
Misol 3 — PDF zichlik, ehtimol emas
"""Uzluksiz o'zgaruvchi: pdf, yuza, aniq nuqta ehtimoli (real numpy/scipy)."""
import numpy as np
from scipy import stats
def main() -> None:
print("=== 1. PDF 1 dan katta bo'lishi mumkin ===")
for s in [5, 1, 0.1]:
print(f" normal(0, {s}): pdf(0) = {stats.norm(0, s).pdf(0):.3f}")
print("\n=== 2. Ehtimol — yuza (yetkazish vaqti ~ normal(30, 5)) ===")
Y = stats.norm(loc=30, scale=5)
print(f" P(25 <= Y <= 35) = {Y.cdf(35) - Y.cdf(25):.3f}")
x = np.linspace(25, 35, 100_001)
yuza = np.trapezoid(Y.pdf(x), x)
print(f" pdf ostidagi yuza (sonli): {yuza:.3f}")
print("\n=== 3. Aniq nuqta ehtimoli ===")
for eni in [1, 0.1, 0.001]:
p = Y.cdf(30 + eni / 2) - Y.cdf(30 - eni / 2)
print(f" P(30 ± {eni / 2}) = {p:.6f}")
print(" → oraliq torayganda 0 ga intiladi")
print("\n=== 4. Markaziy 95% oraliq ===")
a, b = Y.interval(0.95)
print(f" [{a:.1f}, {b:.1f}] daqiqa")
print(" ⭐ PDF — zichlik; ehtimol — yuza")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. PDF 1 dan katta bo'lishi mumkin ===
normal(0, 5): pdf(0) = 0.080
normal(0, 1): pdf(0) = 0.399
normal(0, 0.1): pdf(0) = 3.989
=== 2. Ehtimol — yuza (yetkazish vaqti ~ normal(30, 5)) ===
P(25 <= Y <= 35) = 0.683
pdf ostidagi yuza (sonli): 0.683
=== 3. Aniq nuqta ehtimoli ===
P(30 ± 0.5) = 0.079656
P(30 ± 0.05) = 0.007979
P(30 ± 0.0005) = 0.000080
→ oraliq torayganda 0 ga intiladi
=== 4. Markaziy 95% oraliq ===
[20.2, 39.8] daqiqa
⭐ PDF — zichlik; ehtimol — yuzaNima ko'rsatdi: 2.2, 2.4-bo'limlar.
Misol 4 — Ma'lumotdan empirik taqsimot
"""Empirik PMF/CDF/kvantil va nazariy taqsimot bilan solishtirish (real numpy/pandas/scipy)."""
import numpy as np
import pandas as pd
from scipy import stats
def main() -> None:
rng = np.random.default_rng(1)
s = pd.Series(stats.poisson(mu=20).rvs(size=365, random_state=rng))
print("=== 1. Bir yillik ma'lumot ===")
print(f" o'rtacha: {s.mean():.2f}, min: {s.min()}, max: {s.max()}")
print("\n=== 2. Empirik PMF (bir nechta qiymat) ===")
pmf = s.value_counts(normalize=True).sort_index()
for x in [15, 20, 25]:
print(f" x={x}: empirik {pmf.get(x, 0):.3f}, nazariy {stats.poisson(20).pmf(x):.3f}")
print("\n=== 3. Empirik CDF ===")
for x in [20, 25, 28]:
print(f" P(X <= {x}): empirik {(s <= x).mean():.3f}, nazariy {stats.poisson(20).cdf(x):.3f}")
print("\n=== 4. Kvantil ===")
print(f" empirik 95%: {np.quantile(s, 0.95):.0f}, nazariy: {stats.poisson(20).ppf(0.95):.0f}")
print(" ⭐ Ma'lumot ustuni — tasodifiy o'zgaruvchi kuzatuvi")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Bir yillik ma'lumot ===
o'rtacha: 19.95, min: 8, max: 40
=== 2. Empirik PMF (bir nechta qiymat) ===
x=15: empirik 0.052, nazariy 0.052
x=20: empirik 0.079, nazariy 0.089
x=25: empirik 0.047, nazariy 0.045
=== 3. Empirik CDF ===
P(X <= 20): empirik 0.584, nazariy 0.559
P(X <= 25): empirik 0.904, nazariy 0.888
P(X <= 28): empirik 0.964, nazariy 0.966
=== 4. Kvantil ===
empirik 95%: 28, nazariy: 28
⭐ Ma'lumot ustuni — tasodifiy o'zgaruvchi kuzatuviNima ko'rsatdi: 2.3, 2.5-bo'limlar.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "pdf(x) — ehtimol" | Zichlik; ehtimol — yuza |
| "pdf 1 dan oshmaydi" | Oshishi mumkin |
| "Uzluksizda P(X = 30) > 0" | 0; oraliq kerak |
| "O'rtacha bo'yicha rejalash yetarli" | Kvantil (ppf) kerak |
| "X <= 20 va X < 20 bir xil" | Diskretda farq qiladi |
| "scale — dispersiya" | Standart og'ish |
| "Diskret uchun pdf" | pmf |
| "Taqsimot — nazariya" | Har sonli ustun — taqsimot |
6. Keng tarqalgan xatolar va yechimlari
1. PDF ni ehtimol deb o'qish
p = stats.norm(30, 5).pdf(30) # 0.08 — zichlik # ⚠️
p = Y.cdf(31) - Y.cdf(29) # oraliq ehtimoli # ✅2. O'rtacha bo'yicha reja
kuryer = X.mean() # 20 # ⚠️
kuryer = X.ppf(0.95) # 28 # ✅3. Diskretda chegara
p = X.cdf(20) # "20 dan kam" deb # ⚠️
p = X.cdf(19) # P(X < 20) = P(X <= 19) # ✅4. scale ga dispersiya
Y = stats.norm(30, 25) # dispersiya 25 deb # ⚠️
Y = stats.norm(30, 5) # scale = std = sqrt(25) # ✅5. Diskretda pdf
stats.poisson(20).pdf(25) # AttributeError # ⚠️
stats.poisson(20).pmf(25) # ✅6. 1 - cdf aniqlik
p = 1 - stats.norm().cdf(10) # 0.0 (yaxlitlash) # ⚠️
p = stats.norm().sf(10) # 7.6e-24 # ✅7. Takrorlanmas namuna
x = stats.norm().rvs(100) # ⚠️
x = stats.norm().rvs(100, random_state=0) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 4.5-4.6-darslar (o'tilgan): Taqsimotlar, normal taqsimot
- 5.9-dars (o'tilgan): Taqsimot grafiklari (histogram, KDE)
- 9.6-dars: Kutilma va dispersiya
- 9.7-9.8-darslar: Diskret va uzluksiz taqsimotlar
- ML qismlari: Model chiqishi — taqsimot (ehtimollar)
8. Eng yaxshi amaliyotlar
Avval aniqlang: diskret yoki uzluksiz.
Uzluksizda — oraliq ehtimoli.
Rejalash — kvantil (ppf), o'rtacha emas.
Diskretda ≤ va < ni tekshiring.
Katta dumlarda sf ishlating.
scale = standart og'ish.
rvs ga random_state bering.
Empirik va nazariy taqsimotni solishtiring.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # tasodifiy o'zgaruvchi nima?
2. # buyurtmalar soni — diskret?
3. # yetkazish vaqti — ?
4. # PMF yig'indisi?
5. # PDF ostidagi yuza?
6. # uzluksizda P(X = 5)?
7. # CDF ta'rifi?
8. # P(a < X <= b)?
9. # ppf nima?
10. # pdf 1 dan katta bo'la oladimi?
11. # sf nima?
12. # norm(scale=5) — std yoki var?Javoblar
- Natijaga son beruvchi funksiya
- Ha
- Uzluksiz
- 1
- 1
- 0
- P(X <= x)
- F(b) - F(a)
- Teskari CDF (kvantil)
- Ha
- 1 - cdf (P(X > x))
- std
Vazifa 2: Xatolarni tuzating
1. p = stats.norm(100, 15).pdf(100) # "IQ aynan 100 ehtimoli"
2. kassir = stats.poisson(40).mean() # 95% vaqtni qoplash
3. stats.binom(10, 0.3).pdf(3)
4. Y = stats.norm(0, 4) # dispersiya 4
5. p = 1 - stats.norm().cdf(12)Javoblar
1. p = Y.cdf(100.5) - Y.cdf(99.5) # oraliq
2. kassir = stats.poisson(40).ppf(0.95)
3. stats.binom(10, 0.3).pmf(3)
4. Y = stats.norm(0, 2)
5. p = stats.norm().sf(12)Vazifa 3: Ikki zar
Modellang:
- X = yig'indi (2..12)
- PMF (36 natijadan)
- CDF
- Simulyatsiya bilan solishtirish
Vazifa 4: Sig'im rejasi
Modellang:
- Qo'ng'iroq markazi: soatiga o'rtacha 50 qo'ng'iroq (Poisson)
- 90%, 95%, 99% soatni qoplash
- Operator yuklamasi
- O'rtacha bo'yicha reja qancha xato beradi
Vazifa 5: Yetkazish vaqti
Modellang:
- normal(35, 8) daqiqa
- 45 daqiqadan kech ehtimoli
- "90% buyurtma X daqiqada" va'dasi
- Empirik ma'lumot bilan solishtirish
Vazifa 6: Integratsiya
Modellang:
- value_counts (3-qism)
- Kvartillar (4.4)
- KDE (5.9)
- scipy.stats
Vazifa 7: O'ylash
Ko'p biznes qarorlari "o'rtacha" asosida qabul qilinadi: o'rtacha talab, o'rtacha yetkazish vaqti, o'rtacha yuklama. Nima uchun o'rtachaga asoslangan reja tizimli ravishda muvaffaqiyatsiz bo'ladi ("o'rtachalar xatosi"), va taqsimot bilan fikrlash qanday yaxshiroq qaror beradi?
Javob
Qisqa javob: o'rtacha — taqsimotning bitta nuqtasi; taxminan yarim holatda haqiqiy qiymat undan katta bo'ladi. O'rtachaga moslangan tizim shu yarim holatda ishlamay qoladi. Taqsimot bilan fikrlash — "qancha holatni qoplamoqchimiz?" (kvantil) va "yetmasa narxi qancha?" savollarini beradi.
1. Nega o'rtacha yetmaydi
- Talab o'rtacha 20 → 20 kuryer → ~44% kunda yetmaydi
- Navbat nazariyasi: yuklama o'rtacha 100% bo'lsa, navbat cheksiz o'sadi
- Qiyshiq taqsimotda (narx, vaqt) o'rtacha odatiy qiymat ham emas
2. Taqsimot nima beradi
| Savol | Vosita |
|---|---|
| Qancha holat qoplanadi? | cdf |
| 95% holat uchun sig'im? | ppf |
| Kechikish ehtimoli? | sf |
| Odatiy oraliq? | interval |
3. Qaror — narxlar muvozanati
- Ortiqcha sig'im narxi (bo'sh turgan kuryer)
- Yetishmovchilik narxi (yo'qotilgan buyurtma, norozi mijoz)
- Optimal kvantil = shu narxlar nisbatidan (gazetachi masalasi)
4. Data Scientist qanday
- Bitta son emas, taqsimotni ko'rsatadi
- Biznesdan "qancha xavfga tayyormiz?" deb so'raydi
- Kvantil bo'yicha reja taklif qiladi
- Ma'lumot bilan (empirik CDF) tekshiradi
5. Xulosa
- O'rtacha — taqsimotning bitta nuqtasi
- O'rtachaga reja — yarim holatda muvaffaqiyatsiz
- Kvantil va narxlar muvozanati — to'g'ri qaror
- Taqsimot bilan fikrlash — Data Science'ning asosiy ko'nikmasi
Nimani mustahkamlaydi: 2.5, 2.7-bo'limlar.
Xulosa
Bu darsda tasodifiy o'zgaruvchini o'rgandik.
Eng muhim uch fikr:
Natijadan songa. Tasodifiy o'zgaruvchi — tajriba natijasiga son beruvchi funksiya; taqsimot — qiymatlar va ehtimollari. Har sonli ustun — tasodifiy o'zgaruvchining kuzatuvlari (empirik PMF —
value_counts(normalize=True), empirik CDF —(s <= x).mean()).Diskret va uzluksiz. Diskret — PMF (P(X = x), yig'indi 1); uzluksiz — PDF (zichlik, 1 dan katta bo'lishi mumkin; ehtimol — yuza; aniq nuqta ehtimoli 0). CDF P(X ≤ x) — ikkalasi uchun; oraliq = F(b) - F(a); diskretda ≤ va < farq qiladi.
Taqsimot bilan qaror. ppf (teskari CDF, kvantil) — rejalashning asosiy vositasi: o'rtacha 20 buyurtmaga 20 kuryer — 44% kunda yetmaydi, 95% uchun 28.
scipy.stats— yagona interfeys (pmf/pdf, cdf, sf, ppf, rvs, interval); scale — standart og'ish.
Keyingi darsda kutilma va dispersiyani o'rganamiz: tasodifiy o'zgaruvchining "o'rtachasi" va "tarqoqligi" nazariy jihatdan, ularning xossalari (chiziqlilik, mustaqil yig'indi) va qaror qabul qilishdagi roli (kutilgan foyda, xavf).
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!