IlmHamroh
Data Science va sun'iy intellekt/Ehtimollik7/10-dars17 daqiqa
Mundarija (22)

9.7-dars: Diskret taqsimotlar

9-QISM — EHTIMOLLIK · 7-dars


1. Kirish va motivatsiya

4.5-darsda taqsimotlar bilan tanishdik. Endi Data Science'da eng ko'p uchraydigan diskret taqsimotlarni chuqur o'rganamiz: qachon qaysi biri, parametrlari nima, kutilma va dispersiyasi qanday, va real savollarga qanday javob beradi. Har bir taqsimot — ma'lum turdagi jarayonning modeli: to'g'ri modelni tanlash — to'g'ri xulosaning yarmi.

To'rt asosiy diskret taqsimot: Bernulli (bitta ha/yo'q tajriba — mijoz xarid qildimi), binomial (n ta mustaqil ha/yo'q tajribadagi muvaffaqiyatlar soni — 1000 tashrifdan nechta xarid; A/B test), Poisson (vaqt/makon birligidagi hodisalar soni — soatiga buyurtmalar, kuniga xatolar), geometrik (birinchi muvaffaqiyatgacha urinishlar — nechanchi qo'ng'iroqda sotuv). Qo'shimcha — gipergeometrik (qaytarmasdan tanlash, 9.2).

Real vaziyat. A/B test: eski sahifa konversiyasi 10%. Yangi sahifani 500 kishiga ko'rsatishdi — 62 ta xarid (12.4%). Menejer: "2.4% o'sish — yangi sahifa yaxshiroq!". Data Scientist binomial modeldan so'raydi: agar yangi sahifa ham aslida 10% bo'lsa, 500 kishidan 62 yoki undan ko'p xarid ehtimoli qancha? binom(500, 0.1).sf(61) ≈ 0.047. Ya'ni ~5% ehtimol bilan bu tasodif bo'lishi mumkin — dalil bor, lekin kuchli emas; testni davom ettirish kerak. Taqsimotni bilish — "shovqin"ni "signal"dan ajratadi.

Bu darsda diskret taqsimotlarni o'rganamiz.

Bu darsda:

  • Bernulli taqsimoti
  • Binomial taqsimot
  • Poisson taqsimoti
  • Geometrik taqsimot
  • Binomial va Poisson aloqasi
  • Taqsimot tanlash qoidalari
  • Diskret taqsimot tuzoqlari
  • Amaliy: A/B test, buyurtmalar, qo'ng'iroqlar

ℹ Misollar real numpy/scipy bilan (Python 3.14).


2. Nazariya — chuqur tushuntirish

2.1. Bernulli taqsimoti

text
X ~ Bernoulli(p)         — bitta tajriba: 1 (muvaffaqiyat) yoki 0

  P(X = 1) = p,  P(X = 0) = 1 - p
  E[X] = p
  Var(X) = p × (1 - p)       ← p = 0.5 da eng katta (eng noaniq)

Misollar: mijoz xarid qildi (0/1), email ochildi, tranzaksiya firibgar, klik

Bernulli — eng oddiy taqsimot, lekin hamma narsaning "g'ishti": binomial — Bernullilar yig'indisi, geometrik — Bernullilar ketma-ketligi. Kutilma = p (0/1 ustunning o'rtachasi — ulush!). Dispersiya p(1 - p) — p = 0.5 da maksimal: 50/50 hodisa eng noaniq. ML: binar klassifikatsiya nishoni (target) — Bernulli; logistik regressiya p ni modellaydi.

2.2. Binomial taqsimot

text
X ~ Binomial(n, p)       — n ta MUSTAQIL Bernulli, bir xil p; X = muvaffaqiyatlar soni

  P(X = k) = C(n, k) × p^k × (1 - p)^(n - k)      (C — kombinatsiya, 9.2)
  E[X] = n × p
  Var(X) = n × p × (1 - p)

Shartlar: (1) n belgilangan, (2) har tajriba 0/1, (3) mustaqil, (4) p bir xil
Misol: 500 tashrif, p = 0.1 → E = 50, SD = sqrt(45) ≈ 6.7

Binomial — "n tadan nechtasi": konversiyalar, nuqsonli mahsulotlar, to'g'ri javoblar. Formula: k ta muvaffaqiyat joylashuvi C(n, k) × har birining ehtimoli. Kutilma va dispersiya — n ta Bernulli yig'indisi (chiziqlilik va mustaqil dispersiya, 9.6). Ulush X / n: E = p, SD = sqrt(p(1 - p) / n) — A/B test va so'rovnomalar xatosi asosi. Shartlar buzilsa (mustaqil emas — bir oiladan; p har xil — segmentlar) — dispersiya kattaroq bo'ladi (overdispersion).

2.3. Poisson taqsimoti

text
X ~ Poisson(lambda)      — belgilangan oraliqda (vaqt, makon) hodisalar soni

  P(X = k) = lambda^k × e^(-lambda) / k!
  E[X] = lambda
  Var(X) = lambda         ← kutilma = dispersiya (Poisson "imzosi")

Shartlar: hodisalar mustaqil, o'rtacha tezlik o'zgarmas, bir vaqtda ikkita yo'q
Misollar: soatiga buyurtmalar, kuniga server xatolari, sahifadagi imlo xatolari

Poisson — "belgilangan oraliqda nechta" (yuqori chegara yo'q): buyurtmalar, qo'ng'iroqlar, avariyalar. Yagona parametr lambda — o'rtacha tezlik. Masshtablash: soatiga lambda = 5 → 8 soatda lambda = 40 (mustaqil Poissonlar yig'indisi — Poisson). Tekshiruv: ma'lumotda o'rtacha ≈ dispersiya bo'lishi kerak; dispersiya ancha katta bo'lsa (overdispersion — "to'lqinli" talab, dam olish kunlari) — Poisson mos emas → manfiy binomial. 9.5-darsdagi kuryer misoli — Poisson.

2.4. Geometrik taqsimot

text
X ~ Geometric(p)         — birinchi muvaffaqiyatgacha urinishlar soni (1, 2, 3, ...)

  P(X = k) = (1 - p)^(k - 1) × p
  E[X] = 1 / p
  P(X > k) = (1 - p)^k       ← "k ta urinishda hali muvaffaqiyat yo'q"

Misol: sotuvchi qo'ng'irog'i, p = 0.05 → o'rtacha 20 qo'ng'iroqda birinchi sotuv
Xotirasizlik: allaqachon 10 ta muvaffaqiyatsiz — kelgusi kutish yana 1/p

Geometrik — "qachon birinchi marta": nechanchi qo'ng'iroqda sotuv, nechanchi urinishda login, mijoz nechanchi tashrifda xarid qiladi. Kutilma 1/p — intuitiv: 5% ehtimol → o'rtacha 20 urinish. Xotirasizlik: oldingi muvaffaqiyatsizliklar kelajakni o'zgartirmaydi (o'yinchi xatosining teskarisi, 9.1). Diqqat: scipy geom 1 dan boshlab sanaydi (urinishlar soni); ba'zi manbalar "muvaffaqiyatsizliklar soni" (0 dan) ishlatadi.

2.5. Binomial va Poisson aloqasi

Poisson — binomialning chegaraviy holati: n katta, p kichik, n × p = lambda o'rtacha bo'lsa, Binomial(n, p) ≈ Poisson(n × p). Misol: 10 000 mijoz, har biri 0.05% ehtimol bilan shikoyat yozadi → Binomial(10 000, 0.0005) ≈ Poisson(5). Amaliy ma'nosi: "ko'p imkoniyat, har birida kam ehtimol" — Poisson; n noma'lum bo'lsa ham (saytga necha kishi kirishi aniq emas) faqat o'rtacha tezlik bilan modellash mumkin. Katta n va o'rta p da ikkalasi ham normalga yaqin (MLT, 4.7).

2.6. Taqsimot tanlash qoidalari

text
SAVOL                                           TAQSIMOT
bitta ha/yo'q?                                  Bernoulli(p)
n ta ha/yo'qdan nechtasi? (n ma'lum)            Binomial(n, p)
oraliqda nechta hodisa? (yuqori chegara yo'q)   Poisson(lambda)
birinchi muvaffaqiyatgacha nechta urinish?      Geometric(p)
qaytarmasdan tanlashda nechta "maxsus"?         Hypergeometric(N, K, n)
dispersiya >> o'rtacha (sanoq)?                 Manfiy binomial

Tanlash — jarayonning tabiatidan: nimani sanayapmiz? n chegarasi bormi? tajribalar mustaqilmi? Keyin ma'lumot bilan tekshirish: kutilma/dispersiya nisbati (Poisson: ≈ 1; binomial: np(1 - p)), empirik PMF va nazariy PMF solishtirish 9.5-bob, grafik. Model — soddalashtirish; "barcha modellar noto'g'ri, ba'zilari foydali" (G. Box).

2.7. Diskret taqsimot tuzoqlari

Asosiy tuzoqlar: mustaqillik buzilishi (bir foydalanuvchining ko'p tashrifi — binomial xatosi kam baholanadi; tashrif emas, foydalanuvchi darajasida tahlil); p o'zgaruvchan (segmentlar aralash — overdispersion); Poisson'ni o'rtacha ≠ dispersiya ma'lumotga qo'llash (dam olish kunlari cho'qqisi — 95% sig'im kam baholanadi); sf chegarasi (P(X ≥ 62) = sf(61), sf(62) emas); geom indeksatsiyasi (1 dan yoki 0 dan); kichik farqni signal deb o'qish (12.4% vs 10% — binomial shovqin ichida bo'lishi mumkin); binomial'ni katta ulushda qaytarmasdan tanlashga (N kichik → gipergeometrik).

2.8. Diskret taqsimotlar — sanoq modellari

Diskret taqsimotlar: Bernulli (0/1, E = p, Var = p(1 - p)); binomial (n tadan nechta: E = np, Var = np(1 - p); A/B test, ulush xatosi); Poisson (oraliqda nechta: E = Var = lambda; talab, xatolar; masshtablanadi); geometrik (birinchi muvaffaqiyatgacha: E = 1/p; xotirasiz); Poisson ≈ binomial (n katta, p kichik); tanlash — jarayon tabiatidan, tekshirish — ma'lumotdan (o'rtacha/dispersiya, PMF). Bog'lanishlar: 9.2 (C(n, k)), 9.5 (scipy interfeysi), 9.6 (E, Var), 11-qism (A/B test, proporsiya testi), ML (logistik regressiya — Bernulli, Poisson regressiya).


3. Tez ma'lumotnoma

python
from scipy import stats

stats.bernoulli(0.1)             # 0/1
stats.binom(n=500, p=0.1)        # n tadan nechta
stats.poisson(mu=20)             # oraliqda nechta
stats.geom(p=0.05)               # birinchi muvaffaqiyatgacha (1 dan)
stats.hypergeom(M=100, n=5, N=10)   # M jami, n maxsus, N tanlov

X = stats.binom(500, 0.1)
X.mean(), X.var()                # 50, 45
X.pmf(50)                        # P(X = 50)
X.sf(61)                         # P(X >= 62)  ← sf(k) = P(X > k)
X.ppf([0.025, 0.975])            # 95% oraliq

# Poisson tekshiruvi
s.mean(), s.var()                # yaqinmi?
QOIDA: nimani sanaymiz? · n bormi? · mustaqilmi? · o'rtacha ≈ dispersiya?

Diskret taqsimotlar xulosasi

Bernoulli(p) — 0/1; E = p, Var = p(1-p)
Binomial(n, p) — n tadan nechta; E = np, Var = np(1-p)
Poisson(lambda) — oraliqda nechta; E = Var = lambda
Geometric(p) — birinchi muvaffaqiyatgacha; E = 1/p; xotirasiz
n katta, p kichik: Binomial ≈ Poisson(np)
P(X >= k) = sf(k - 1)

4. Batafsil misollar

Misollar real numpy/scipy bilan (Python 3.14).

Misol 1 — A/B test: binomial shovqin

python
"""Binomial: 500 tashrifdan 62 xarid — signalmi yoki shovqinmi? (real scipy/numpy)."""

import numpy as np
from scipy import stats


def main() -> None:
    n, p0, kuzatildi = 500, 0.10, 62
    X = stats.binom(n, p0)

    print("=== 1. Eski konversiya (10%) bo'lsa, 500 kishidan ===")
    print(f"  E = {X.mean():.0f}, SD = {X.std():.2f}")
    a, b = X.ppf([0.025, 0.975])
    print(f"  95% oraliq: {a:.0f}..{b:.0f} xarid")

    print("\n=== 2. 62 yoki undan ko'p xarid ehtimoli ===")
    print(f"  P(X >= 62) = sf(61) = {X.sf(kuzatildi - 1):.4f}")
    print(f"  (xato: sf(62) = {X.sf(kuzatildi):.4f})")

    print("\n=== 3. Ulush xatosi ===")
    se = np.sqrt(p0 * (1 - p0) / n)
    print(f"  SE(ulush) = {se:.4f} → 12.4% farqi {(0.124 - p0) / se:.2f} SE")

    print("\n=== 4. 5000 kishida xuddi shu 12.4% ===")
    X2 = stats.binom(5000, p0)
    print(f"  P(X >= 620) = {X2.sf(619):.2e}")
    print("  ⭐ Katta n — kichik farq ham ishonchli")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Eski konversiya (10%) bo'lsa, 500 kishidan ===
  E = 50, SD = 6.71
  95% oraliq: 37..64 xarid

=== 2. 62 yoki undan ko'p xarid ehtimoli ===
  P(X >= 62) = sf(61) = 0.0465
  (xato: sf(62) = 0.0344)

=== 3. Ulush xatosi ===
  SE(ulush) = 0.0134 → 12.4% farqi 1.79 SE

=== 4. 5000 kishida xuddi shu 12.4% ===
  P(X >= 620) = 2.41e-08
  ⭐ Katta n — kichik farq ham ishonchli

Nima ko'rsatdi: 2.2, 2.7-bo'limlar.

Misol 2 — Poisson: buyurtmalar va masshtablash

python
"""Poisson: soatlik buyurtmalar, masshtablash, E = Var tekshiruvi (real numpy/scipy)."""

import numpy as np
from scipy import stats


def main() -> None:
    soatlik = 5

    print("=== 1. Soatiga lambda = 5 ===")
    X = stats.poisson(soatlik)
    for k in [0, 5, 10]:
        print(f"  P(X = {k:>2}) = {X.pmf(k):.4f}")
    print(f"  P(X >= 10) = {X.sf(9):.4f}")

    print("\n=== 2. 8 soatlik smena: lambda = 40 ===")
    Y = stats.poisson(soatlik * 8)
    print(f"  95% smenani qoplash: {Y.ppf(0.95):.0f} buyurtma")

    print("\n=== 3. Ma'lumot bilan tekshirish ===")
    rng = np.random.default_rng(0)
    toza = rng.poisson(40, 300)
    # to'lqinli talab: dam olish kunlari 2 baravar
    lam = np.where(np.arange(300) % 7 >= 5, 70, 28)
    tolqin = rng.poisson(lam)
    for nom, s in [("barqaror", toza), ("to'lqinli", tolqin)]:
        print(f"  {nom:>9}: o'rtacha {s.mean():.1f}, dispersiya {s.var(ddof=1):.1f}")
    print("  ⭐ Poisson: o'rtacha ≈ dispersiya; aks holda — boshqa model")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Soatiga lambda = 5 ===
  P(X =  0) = 0.0067
  P(X =  5) = 0.1755
  P(X = 10) = 0.0181
  P(X >= 10) = 0.0318

=== 2. 8 soatlik smena: lambda = 40 ===
  95% smenani qoplash: 51 buyurtma

=== 3. Ma'lumot bilan tekshirish ===
   barqaror: o'rtacha 40.9, dispersiya 42.9
  to'lqinli: o'rtacha 39.9, dispersiya 429.2
  ⭐ Poisson: o'rtacha ≈ dispersiya; aks holda — boshqa model

Nima ko'rsatdi: 2.3, 2.6-bo'limlar.

Misol 3 — Geometrik: birinchi sotuvgacha

python
"""Geometrik: birinchi muvaffaqiyatgacha urinishlar va xotirasizlik (real numpy/scipy)."""

import numpy as np
from scipy import stats


def main() -> None:
    p = 0.05
    G = stats.geom(p)

    print("=== 1. Sotuvchi qo'ng'iroqlari (p = 5%) ===")
    print(f"  o'rtacha: {G.mean():.0f} qo'ng'iroq")
    print(f"  median: {G.median():.0f} qo'ng'iroq")
    print(f"  10 ta ichida sotuv: {G.cdf(10):.3f}")
    print(f"  50 tadan ham ko'p kerak: {G.sf(50):.3f}")

    print("\n=== 2. Xotirasizlik (simulyatsiya) ===")
    rng = np.random.default_rng(1)
    x = rng.geometric(p, 1_000_000)
    qoldiq = x[x > 10] - 10
    print(f"  hammasi uchun o'rtacha: {x.mean():.2f}")
    print(f"  10 ta muvaffaqiyatsizdan keyin qolgan o'rtacha: {qoldiq.mean():.2f}")

    print("\n=== 3. p oshsa ===")
    for p2 in [0.02, 0.05, 0.10, 0.25]:
        print(f"  p = {p2:.2f}: o'rtacha {1 / p2:.0f} urinish")
    print("  ⭐ E = 1/p; oldingi omadsizlik kelajakni o'zgartirmaydi")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Sotuvchi qo'ng'iroqlari (p = 5%) ===
  o'rtacha: 20 qo'ng'iroq
  median: 14 qo'ng'iroq
  10 ta ichida sotuv: 0.401
  50 tadan ham ko'p kerak: 0.077

=== 2. Xotirasizlik (simulyatsiya) ===
  hammasi uchun o'rtacha: 19.96
  10 ta muvaffaqiyatsizdan keyin qolgan o'rtacha: 19.95

=== 3. p oshsa ===
  p = 0.02: o'rtacha 50 urinish
  p = 0.05: o'rtacha 20 urinish
  p = 0.10: o'rtacha 10 urinish
  p = 0.25: o'rtacha 4 urinish
  ⭐ E = 1/p; oldingi omadsizlik kelajakni o'zgartirmaydi

Nima ko'rsatdi: 2.4-bo'lim.

Misol 4 — Binomial ≈ Poisson

python
"""Binomial(n, p) ≈ Poisson(np): n katta, p kichik (real scipy)."""

from scipy import stats


def main() -> None:
    print("=== 1. 10 000 mijoz, shikoyat ehtimoli 0.05% ===")
    B = stats.binom(10_000, 0.0005)
    P = stats.poisson(5)
    print("   k   binomial   poisson")
    for k in [0, 3, 5, 8, 12]:
        print(f"  {k:>2}   {B.pmf(k):.5f}    {P.pmf(k):.5f}")

    print("\n=== 2. p katta bo'lsa yaqinlik yo'qoladi ===")
    for n, p in [(10_000, 0.0005), (100, 0.05), (10, 0.5)]:
        B2, P2 = stats.binom(n, p), stats.poisson(n * p)
        farq = max(abs(B2.pmf(k) - P2.pmf(k)) for k in range(n + 1))
        print(f"  n={n:>6}, p={p:<6}: max farq {farq:.4f}")

    print("\n=== 3. Dispersiya ===")
    print(f"  binomial: np(1-p) = {B.var():.4f}, poisson: np = {P.var():.4f}")
    print("  ⭐ Ko'p imkoniyat × kichik ehtimol → Poisson")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. 10 000 mijoz, shikoyat ehtimoli 0.05% ===
   k   binomial   poisson
   0   0.00673    0.00674
   3   0.14037    0.14037
   5   0.17551    0.17547
   8   0.06527    0.06528
  12   0.00343    0.00343

=== 2. p katta bo'lsa yaqinlik yo'qoladi ===
  n= 10000, p=0.0005: max farq 0.0000
  n=   100, p=0.05  : max farq 0.0046
  n=    10, p=0.5   : max farq 0.0706

=== 3. Dispersiya ===
  binomial: np(1-p) = 4.9975, poisson: np = 5.0000
  ⭐ Ko'p imkoniyat × kichik ehtimol → Poisson

Nima ko'rsatdi: 2.5-bo'lim.


5. To'g'ri va noto'g'ri tushunishlar

Noto'g'ri fikr To'g'risi
"12.4% > 10% — yangi sahifa yaxshi" Binomial shovqinni tekshiring
"P(X >= k) = sf(k)" sf(k - 1)
"Har qanday sanoq — Poisson" O'rtacha ≈ dispersiya kerak
"Tashriflar mustaqil" Bir foydalanuvchi — bog'liq
"10 ta omadsizlikdan keyin muvaffaqiyat yaqin" Geometrik xotirasiz
"Binomial va Poisson — butunlay boshqa" n katta, p kichik — yaqin
"p = 0.5 — eng oson bashorat" Eng noaniq (Var maksimal)
"Taqsimot — faqat nazariya" Jarayon modeli (tanlash + tekshirish)

6. Keng tarqalgan xatolar va yechimlari

1. sf chegarasi

python
p = X.sf(62)                    # P(X > 62)                        # ⚠️
p = X.sf(61)                    # P(X >= 62)                       # ✅

2. Poisson'ni tekshirmasdan

python
model = stats.poisson(s.mean())                                    # ⚠️
print(s.mean(), s.var())        # avval tekshiring                 # ✅

3. Ulush xatosini unutish

python
print("yangi yaxshi:", 0.124 > 0.10)                               # ⚠️
se = np.sqrt(0.1 * 0.9 / 500); print((0.124 - 0.1) / se)           # ✅

4. Tashrif darajasida binomial

python
n = tashriflar_soni             # bir kishi ko'p marta             # ⚠️
n = foydalanuvchilar_soni       # mustaqil birlik                  # ✅

5. Masshtablashda lambda

python
Y = stats.poisson(5)            # 8 soatlik smena uchun            # ⚠️
Y = stats.poisson(5 * 8)                                           # ✅

6. geom indeksi

python
muvaffaqiyatsiz = stats.geom(p).mean()      # 1/p — urinishlar     # ⚠️
muvaffaqiyatsiz = stats.geom(p).mean() - 1  # (1 - p)/p            # ✅

7. Kichik to'plamda binomial

python
stats.binom(10, 5 / 20)         # 20 tadan 10 tasi, qaytarmasdan   # ⚠️
stats.hypergeom(M=20, n=5, N=10)                                   # ✅

7. Integratsiya — bu bilim qayerda kerak bo'ladi

  • 4.5-dars (o'tilgan): Taqsimotlar bilan tanishuv
  • 9.2-dars (o'tilgan): Kombinatsiya (binomial formula)
  • 9.5-9.6-darslar (o'tilgan): scipy interfeysi, E va Var
  • 11-qism (reja): A/B test, proporsiya testi, xi-kvadrat
  • ML qismlari: Logistik regressiya (Bernulli), Poisson regressiya

8. Eng yaxshi amaliyotlar

  1. Taqsimotni jarayon tabiatidan tanlang.

  2. Ma'lumot bilan tekshiring (o'rtacha, dispersiya, PMF).

  3. Mustaqil birlikni to'g'ri aniqlang.

  4. "k yoki ko'p" — sf(k - 1).

  5. Farqni SE bilan o'lchang.

  6. Poisson'ni vaqt oralig'iga masshtablang.

  7. Qaytarmasdan kichik to'plam — gipergeometrik.

  8. Natijani simulyatsiya bilan tekshiring.


9. Amaliy topshiriq

Vazifa 1: Bashorat qiling

python
1.  # Bernoulli(0.3) E va Var?
2.  # Binomial(100, 0.2) E?
3.  # Binomial(100, 0.2) Var?
4.  # Poisson(7) Var?
5.  # Geometric(0.1) E?
6.  # soatiga 3 → kuniga (24 soat) lambda?
7.  # P(X >= 10) scipy'da?
8.  # "1000 mijozdan nechtasi qaytadi" — qaysi?
9.  # "kuniga nechta avariya" — qaysi?
10. # "nechanchi urinishda parol topiladi" — qaysi?
11. # binomial ≈ Poisson qachon?
12. # o'rtacha 20, dispersiya 80 — Poisson mosmi?
Javoblar
  1. 0.3 va 0.21
  2. 20
  3. 16
  4. 7
  5. 10
  6. 72
  7. X.sf(9)
  8. Binomial
  9. Poisson
  10. Geometrik
  11. n katta, p kichik
  12. Yo'q (overdispersion)

Vazifa 2: Xatolarni tuzating

python
1.  p = stats.binom(200, 0.1).sf(30)   # P(X >= 30)

2.  model = stats.poisson(s.mean())   # s.var() = 5 × s.mean()

3.  stats.poisson(4)   # soatiga 4, hafta (40 ish soati)

4.  stats.binom(8, 3 / 12)   # 12 tadan 8 tasi qaytarmasdan, 3 ta maxsus

5.  print(0.13 > 0.11)   # A/B natijasi, n = 300
Javoblar
python
1.  p = stats.binom(200, 0.1).sf(29)

2.  # manfiy binomial yoki segmentlarga ajratish

3.  stats.poisson(4 * 40)

4.  stats.hypergeom(M=12, n=3, N=8)

5.  se = np.sqrt(0.11 * 0.89 / 300); print((0.13 - 0.11) / se)

Vazifa 3: A/B test

Modellang:

  1. Nazorat 8%, test 1200 kishi, 115 xarid
  2. P(X >= 115) nazorat bo'lsa
  3. 95% oraliq
  4. Qancha n kerak bo'lardi

Vazifa 4: Qo'ng'iroq markazi

Modellang:

  1. Soatiga 30 qo'ng'iroq (Poisson)
  2. 95% soatni qoplash
  3. Ma'lumotda dispersiya tekshiruvi
  4. Tushlik cho'qqisi (to'lqinli talab)

Vazifa 5: Sotuv voronkasi

Modellang:

  1. Qo'ng'iroq muvaffaqiyati 4% (geometrik)
  2. Kuniga 60 qo'ng'iroq — kamida bitta sotuv
  3. Kuniga sotuvlar soni (binomial)
  4. Simulyatsiya bilan tekshirish

Vazifa 6: Integratsiya

Modellang:

  1. Kombinatsiya (9.2)
  2. Kutilma/dispersiya (9.6)
  3. scipy cdf/sf/ppf (9.5)
  4. Empirik PMF solishtirish

Vazifa 7: O'ylash

Ikki do'kon filiali: A — 20 ta tashrifdan 5 ta xarid (25%), B — 2000 ta tashrifdan 400 ta xarid (20%). Menejer A filialni "eng yaxshi" deb mukofotlamoqchi. Binomial taqsimot nuqtai nazaridan bu qaror nima uchun xavfli? Kichik namunalar reyting jadvallarida (eng yaxshi/eng yomon filial, maktab, shifokor) qanday xatoga olib keladi?

Javob

Qisqa javob: A filialning 25% i atigi 20 kuzatuvdan — binomial shovqin juda katta (SE ≈ 9.7%), haqiqiy konversiya 10% dan 45% gacha bo'lishi mumkin. B ning 20% i 2000 kuzatuvdan — SE ≈ 0.9%. Kichik namunalar tasodifan eng yuqori va eng past o'rinlarni egallaydi: reyting jadvalining ikki chekkasida doim kichik birliklar turadi.

1. Noaniqlik

Filial n Ulush SE ~95% oraliq
A 20 25% 9.7% 6%..44%
B 2000 20% 0.9% 18%..22%

2. Kichik namuna paradoksi

  • Kichik maktablar "eng yaxshi" va "eng yomon" ro'yxatlarida ham ko'p (Gates fondi misoli)
  • Kichik tumanlarda kasallik darajasi eng yuqori ham, eng past ham
  • Sabab: dispersiya p(1-p)/n — kichik n da katta tebranish

3. Oqibatlari

  • Tasodifni "mahorat" deb mukofotlash
  • Keyingi davrda natija o'rtachaga qaytadi (regressiya) — "mukofot yomonlashtirdi" degan xato xulosa
  • Resurslarni noto'g'ri taqsimlash

4. Data Scientist qanday

  1. Har bir reytingda n va ishonch oralig'ini ko'rsatadi
  2. Kichik birliklarni umumiy o'rtachaga "tortadi" (Bayescha qisqartirish — shrinkage)
  3. Minimal n chegarasini qo'yadi
  4. Bir necha davr bo'yicha barqarorlikni tekshiradi

5. Xulosa

  1. Ulush — n bilan birga ma'noga ega
  2. Kichik namuna — ekstremal natijalarga moyil
  3. Reyting chekkalari — ko'pincha shovqin
  4. Ishonch oralig'i va shrinkage — halol taqqoslash

Nimani mustahkamlaydi: 2.2, 2.7-bo'limlar.


Xulosa

Bu darsda diskret taqsimotlarni o'rgandik.

Eng muhim uch fikr:

  1. To'rt model. Bernulli (0/1; E = p, Var = p(1 - p)); binomial (n tadan nechta; E = np, Var = np(1 - p)); Poisson (oraliqda nechta; E = Var = lambda; vaqtga masshtablanadi); geometrik (birinchi muvaffaqiyatgacha; E = 1/p; xotirasiz). n katta, p kichik: binomial ≈ Poisson(np).

  2. Signal va shovqin. Binomial shovqin: ulush SE = sqrt(p(1 - p) / n); kichik n da katta farq ham tasodif bo'lishi mumkin (12.4% vs 10%, n = 500 → P ≈ 0.047); reyting chekkalarida kichik birliklar. scipy'da P(X ≥ k) = sf(k - 1).

  3. Tanlash va tekshirish. Taqsimotni jarayon tabiatidan tanlang (nimani sanaymiz, n bormi, mustaqilmi), keyin ma'lumot bilan tekshiring: Poisson uchun o'rtacha ≈ dispersiya (aks holda overdispersion — manfiy binomial, segmentlar); mustaqil birlik — foydalanuvchi, tashrif emas.

Keyingi darsda uzluksiz taqsimotlarni o'rganamiz: tekis, eksponensial (kutish vaqti — Poisson'ning "egizagi"), normal va log-normal (narx, daromad), va ma'lumotga taqsimot moslash (fit) hamda uni tekshirish.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
9.7-dars: Diskret taqsimotlar — IlmHamroh