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

8.8-dars: Gipoteza shakllantirish

8-QISM — EDA (RAZVEDKA TAHLILI) · 8-dars


1. Kirish va motivatsiya

EDA (8.1-8.7) ko'p narsani kashf qildi: taqsimotlar, aloqalar, anomaliyalar, guruh farqlari. Lekin kashfiyot hali dalil emas 8.1-bob — u gipoteza: tekshirilishi kerak bo'lgan taxmin. Bu dars EDA va tasdiqlovchi tahlil (4.12-4.13) orasidagi ko'prik: EDA topilmasidan qanday qilib tekshiriluvchi gipoteza yaratish, gipotezaning sifati (aniq, soxtalashtiriluvchi, bitta), va gipotezani qanday tekshirish (mustaqil ma'lumot, oldindan belgilangan test). Eng muhim xavf — "Texas snayperi" xatosi: avval o'q uzib, keyin nishon chizish (ma'lumotni ko'rib, keyin gipoteza "tasdiqlash"). Nega muhim? (1) Ko'prik — EDA (kashfiyot) → tasdiqlovchi (tekshirish); (2) Sifat — yaxshi gipoteza (aniq, soxtalashtiriluvchi); (3) Halollik — Texas snayperi xatosidan qochish. Bu dars gipoteza shakllantirishni o'rgatadi — kashfiyotdan tekshiruvga.

Gipoteza shakllantirish — kashfiyotdan tekshiruvga: gipoteza (tekshiriluvchi taxmin — "Toshkent narxi Samarqanddan yuqori"), H0/H1 (nol va muqobil — 4.12), yaxshi gipoteza (aniq, o'lchanadigan, soxtalashtiriluvchi — noto'g'ri ekanini ko'rsatish mumkin; bitta), tekshirish rejasi (oldindan — test, alfa, namuna), mustaqil ma'lumot (EDA ma'lumoti emas — ajratilgan/yangi), Texas snayperi (ma'lumotni ko'rib gipoteza — xato). Foydalanish: EDA → tasdiqlovchi, halol xulosa. Bu 8.1 (EDA vs tasdiqlovchi), 4.12 (gipoteza testi), 4.13 (t-test) bilan bog'liq. Gipoteza — kashfiyotdan tekshiruvga. Gipoteza. Tekshiriluvchi.

Real vaziyat. Data Scientist EDA'da kashfiyot qildi: "Toshkent uylari o'rtacha 40 ming $ qimmatroq" (8.7 guruh farqi). Xato yondashuv: shu ma'lumotda t-test → p=0.001 → "isbotlandi!" (doiraviy — kashfiyot va tekshiruv bir ma'lumotda; Texas snayperi). To'g'ri yondashuv: (1) gipoteza — H0: "Toshkent va Samarqand o'rtacha narxi teng"; H1: "Toshkent yuqori" (aniq, soxtalashtiriluvchi), (2) reja (oldindan — t-test, alfa=0.05, bir tomonlama), (3) mustaqil ma'lumot (yangi oy ma'lumoti yoki ajratilgan 30% — EDA ko'rmagan), (4) tekshir → p=0.02 → H0 rad (gipoteza tasdiqlandi — mustaqil ma'lumotda). Data Scientist kashfiyotni gipotezaga aylantirdi, mustaqil tekshirdi (halol). Gipoteza shakllantirish — kashfiyotdan tekshiruvga.

Bu darsda gipoteza shakllantirishni o'rganamiz.

Bu darsda:

  • Kashfiyotdan gipotezaga
  • Yaxshi gipoteza (aniq, soxtalashtiriluvchi)
  • H0 va H1 (4.12)
  • Tekshirish rejasi (oldindan)
  • Mustaqil ma'lumot (Texas snayperi)
  • Gipoteza amaliyoti
  • Gipoteza tuzoqlari
  • Amaliy: gipoteza shakllantirish

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


2. Nazariya — chuqur tushuntirish

2.1. Kashfiyotdan gipotezaga

EDA topilmasi → gipoteza:

text
KASHFIYOT (EDA — 8.1-8.7):
  "Toshkent uylari qimmatroq ko'rinadi"
       ↓ (aniqlashtirish)
GIPOTEZA (tekshiriluvchi):
  H0: Toshkent va Samarqand o'rtacha narxi teng
  H1: Toshkent o'rtacha narxi Samarqanddan yuqori
       ↓ (reja + mustaqil ma'lumot)
TEKSHIRUV (tasdiqlovchi — 4.12/4.13):
  t-test, alfa=0.05, yangi ma'lumot → rad etish / rad etmaslik

Kashfiyotdan gipotezaga — ko'prik: EDA kashfiyoti (noaniq — "Toshkent qimmatroq ko'rinadi") → gipoteza (aniq, tekshiriluvchi — H0/H1; o'lchanadigan) → tekshiruv (tasdiqlovchi — test, mustaqil ma'lumot; 4.12/4.13). Sabab: kashfiyot ≠ dalil (8.1 — EDA tasodifiy naqsh topishi mumkin; ko'p ko'rish → ba'zisi tasodifiy); gipoteza — kashfiyotni tekshiriluvchi shaklga (aniq savol — ha/yo'q javob); tekshiruv — dalil (mustaqil). Kashfiyot (EDA — noaniq), gipoteza (aniq — H0/H1), tekshiruv (dalil — test). Kashfiyotdan gipotezaga — ko'prik (EDA → tasdiqlovchi). Kashfiyot. Gipoteza.

2.2. Yaxshi gipoteza (aniq, soxtalashtiriluvchi)

Sifat mezonlari:

text
YAXSHI GIPOTEZA:
  aniq             — "Toshkent o'rtacha narxi Samarqanddan yuqori"
  o'lchanadigan    — o'rtacha narx (son; ma'lumotda bor)
  soxtalashtiriluvchi — noto'g'ri ekanini ko'rsatish MUMKIN
  bitta            — bir gipoteza, bir test (ko'p emas)
  oldindan         — ma'lumotni ko'rishdan OLDIN belgilangan

YOMON GIPOTEZA:
  "Toshkent yaxshiroq"         — noaniq (nima "yaxshi"?)
  "Narx nimagadir bog'liq"     — soxtalashtirib bo'lmaydi (har doim rost)
  "Ba'zi shaharlar farqli"     — juda keng (qaysi?)

Yaxshi gipoteza (aniq, soxtalashtiriluvchi) — sifat: aniq (nima — o'zgaruvchi, guruh, yo'nalish), o'lchanadigan (ma'lumotda bor — son/kategoriya), soxtalashtiriluvchi (Popper — noto'g'ri ekanini ko'rsatish mumkin; "narx nimagadir bog'liq" — har doim rost, soxtalashtirib bo'lmaydi — foydasiz), bitta (bir gipoteza — bir test; ko'p gipoteza → ko'p taqqoslash), oldindan (ma'lumotni ko'rishdan oldin belgilangan). Sabab: tekshiriluvchi (aniq — test mumkin; noaniq — javob yo'q); soxtalashtiriluvchi (ilmiy gipoteza — rad etilishi mumkin bo'lishi kerak; hamma natijani tushuntiradigan — hech narsani tushuntirmaydi). Aniq, o'lchanadigan, soxtalashtiriluvchi, bitta, oldindan. Yaxshi gipoteza — aniq/soxtalashtiriluvchi. Yaxshi. Popper.

2.3. H0 va H1 (4.12)

H0 va H1 4.12-bob — rasmiy shakl: H0 (nol gipoteza — "farq yo'q" / "ta'sir yo'q"; standart holat; rad etiladi yoki rad etilmaydi), H1 (muqobil — "farq bor"; EDA kashfiyoti; ikki tomonlama "≠" yoki bir tomonlama ">"/"<"); test → p-qiymat → p < alfa → H0 **rad** (H1 qo'llab-quvvatlanadi); p ≥ alfa → H0 rad **etilmaydi** (H0 **isbotlanmagan** — dalil yetmaydi). Sabab: **rasmiy** (statistik test uchun — H0/H1; 4.12); **H0 — standart** ("farq yo'q" — dalil kerak rad etish uchun; aybsizlik prezumpsiyasi); **bir tomonlama** (EDA yo'nalish ko'rsatgan — ">" — lekin oldindan belgila). H0 (farq yo'q), H1 (farq bor), p < alfa (H0 rad), rad etilmaslik ≠ isbot. H0/H1 — rasmiy shakl 4.12-bob. H0. H1.

2.4. Tekshirish rejasi (oldindan)

Tekshirish rejasi (oldindan) — pre-registration: tekshiruvdan oldin belgila: test (t-test 4.13; chi-kvadrat; qaysi — ma'lumot turiga), alfa (alfa=0.05 — ahamiyat darajasi; oldindan), yo'nalish (bir/ikki tomonlama — oldindan), namuna (o'lchami — quvvat; qancha ma'lumot), natija mezoni (qanday natija — tasdiq/rad). Sabab: oldindan — natijani ko'rib reja o'zgartirish (p-hacking — testlarni almashtirish, alfa'ni moslash, bir tomonlamaga o'tish — "muhim" topish uchun; 4.12); pre-registration (ilmiy — reja oldindan ro'yxatga; halollik). Test, alfa, yo'nalish, namuna, mezon (oldindan). Tekshirish rejasi — oldindan (p-hacking oldini olish). Reja. Oldindan.

2.5. Mustaqil ma'lumot (Texas snayperi)

Mustaqil ma'lumot (Texas snayperi) — halollik: gipoteza EDA ma'lumotida tekshirilsa — doiraviy (kashfiyot shu ma'lumotdan → shu ma'lumotda "tasdiq" — albatta tasdiqlanadi; Texas snayperi xatosi — ombor devoriga o'q uzib, keyin o'q atrofiga nishon chizish); mustaqil ma'lumot — EDA ko'rmagan (ajratilgan qism — oldindan 70/30 bo'l, EDA 70%da, tekshiruv 30%da; yoki yangi ma'lumot — keyingi davr). Sabab: doiraviy (ma'lumotni ko'rib gipoteza + shu ma'lumotda test — tasodifiy naqsh ham "tasdiqlanadi"; yolg'on); mustaqil — haqiqiy tekshiruv (tasodifiy naqsh yangi ma'lumotda takrorlanmaydi). Doiraviy (bir ma'lumot — xato), Texas snayperi (keyin nishon), mustaqil (ajratilgan/yangi — halol). Mustaqil ma'lumot — Texas snayperi oldini olish (halollik). Mustaqil. Texas.

2.6. Gipoteza amaliyoti

Gipoteza amaliyoti: ma'lumotni ajrat (EDA'dan oldin — train_test_split yoki 70/30; EDA faqat bir qismda); EDA (kashfiyot — 8.1-8.7; qiziq naqsh); gipoteza yoz (aniq, soxtalashtiriluvchi — H0/H1); reja (test, alfa, yo'nalish — oldindan; yozib qo'y); mustaqil tekshir (ajratilgan qismda — bir marta); natija (p-qiymat + ta'sir kattaligi; rad/rad etilmaslik); hisobot (8.9 — kashfiyot, gipoteza, natija; halol). Tuzoqlar: doiraviy (bir ma'lumot), p-hacking (reja o'zgartirish), ko'p gipoteza (tasodifiy — tuzatish), soxtalashtirib bo'lmas (foydasiz), rad etilmaslik = isbot (xato). Amaliyot — ajrat, EDA, gipoteza, mustaqil tekshir. Gipoteza. Halol.

2.7. Gipoteza tuzoqlari

Gipoteza asosiy tuzoqlari: doiraviy tekshiruv (gipoteza EDA ma'lumotida (kashfiyot qilingan) tekshirilsa — albatta "tasdiq" (Texas snayperi; tasodifiy naqsh ham); mustaqil ma'lumot — ajratilgan/yangi); p-hacking (natijani ko'rib reja o'zgartirish — testni almashtirish, outlier o'chirish/qo'shish, alfa'ni ko'tarish, bir tomonlamaga o'tish, namuna kengaytirish "muhim" bo'lguncha; oldindan reja; 4.12); ko'p gipoteza (20 gipoteza × alfa=0.05 → 1 tasi tasodifan "muhim"; ko'p taqqoslash tuzatish — Bonferroni (alfa/n); yoki bir asosiy gipoteza); soxtalashtirib bo'lmas ("narx nimagadir bog'liq" — har doim rost (foydasiz; hech narsa aytmaydi); aniq, rad etilishi mumkin gipoteza); rad etilmaslik = isbot (p ≥ 0.05 → "H0 isbotlandi, farq yo'q" — xato (dalil yetmaydi — kichik namuna/quvvat past; "farq yo'q" emas, "farq topilmadi"); p < 0.05 = muhim (statistik muhim ≠ amaliy muhim — katta namunada kichik farq ham "muhim"; ta'sir kattaligi (farq miqdori, Cohen's d) ham ko'r); HARKing (Hypothesizing After Results are Known — natijadan keyin gipoteza yozib, "oldindan" deb taqdim — nohalol); sabab xulosa (gipoteza tasdiqlandi → "sabab" — aloqa (kuzatuv ma'lumoti); sabab — eksperiment 4.10); namuna kichik (kichik namuna — quvvat past, haqiqiy farq topilmaydi; oldindan namuna o'lchami). Sabab: gipoteza halollik/statistika nozik (doiraviy, p-hacking, ko'p test — soxta "kashfiyot"). Yechim: mustaqil ma'lumot, oldindan reja, bir gipoteza (yoki tuzatish), soxtalashtiriluvchi, ta'sir kattaligi. Tuzoqlar — doiraviy, p-hacking, ko'p gipoteza, rad etilmaslik.

2.8. Gipoteza shakllantirish — kashfiyotdan tekshiruvga

Gipoteza shakllantirish asosiy g'oyasi — kashfiyotdan tekshiruvga: EDA (8.1-8.7) — kashfiyot (naqsh, aloqa, farq; lekin dalil emas — tasodifiy bo'lishi mumkin); gipoteza — kashfiyotni tekshiriluvchi shaklga keltirish; tasdiqlovchi tahlil (4.12/4.13) — dalil. Kashfiyotdan gipotezaga (noaniq "qimmatroq ko'rinadi" → aniq H0/H1), yaxshi gipoteza (aniq, o'lchanadigan, soxtalashtiriluvchi (Popper), bitta, oldindan), H0/H1 (nol — farq yo'q; muqobil — farq bor; p < alfa → H0 rad; rad etilmaslik ≠ isbot), tekshirish rejasi (oldindan — test, alfa, yo'nalish, namuna; pre-registration; p-hacking oldini olish), mustaqil ma'lumot (EDA ko'rmagan — ajratilgan/yangi; Texas snayperi — doiraviy xato). Foydalanish: EDA → tasdiqlovchi (kashfiyotdan dalilga), halol xulosa (tasodifiy naqshni "kashfiyot" deb e'lon qilmaslik). Tuzoqlar: doiraviy (bir ma'lumot — Texas snayperi), p-hacking (reja o'zgartirish), ko'p gipoteza (Bonferroni), soxtalashtirib bo'lmas (foydasiz), rad etilmaslik = isbot (xato), statistik ≠ amaliy muhim (ta'sir kattaligi), HARKing (nohalol). Bu 8.1 (EDA vs tasdiqlovchi), 4.12 (gipoteza testi), 4.13 (t-test), 4.10 (sabab), 8.9 (hisobot), 20-qism (train/test — mustaqil ma'lumot g'oyasi) bilan. Gipoteza shakllantirish — kashfiyotdan tekshiruvga (aniq, soxtalashtiriluvchi; mustaqil; oldindan). Gipoteza. Halol. Mustaqil.


3. Tez ma'lumotnoma

python
import numpy as np
from scipy import stats
from sklearn.model_selection import train_test_split

# 1. MA'LUMOTNI AJRAT (EDA'dan OLDIN!):
eda_df, tekshir_df = train_test_split(df, test_size=0.3, random_state=0)
#    EDA — faqat eda_df da; tekshir_df ga TEGMA

# 2. EDA (eda_df) → kashfiyot: "Toshkent qimmatroq ko'rinadi"

# 3. GIPOTEZA (aniq, soxtalashtiriluvchi):
#    H0: Toshkent va Samarqand o'rtacha narxi teng
#    H1: Toshkent o'rtacha narxi yuqori (bir tomonlama)

# 4. REJA (OLDINDAN): t-test, alpha=0.05, bir tomonlama

# 5. MUSTAQIL TEKSHIRUV (tekshir_df — bir marta):
t = tekshir_df[tekshir_df["shahar"] == "Toshkent"]["narx"]
s = tekshir_df[tekshir_df["shahar"] == "Samarqand"]["narx"]
stat, p = stats.ttest_ind(t, s, alternative="greater")
# p < 0.05 → H0 rad (H1 qo'llab-quvvatlanadi)
# p >= 0.05 → H0 rad etilmaydi (isbot EMAS — dalil yetmaydi)

# KO'P GIPOTEZA: Bonferroni — alpha / n
QOIDA: ajrat (oldin) · aniq/soxtalashtiriluvchi · reja oldindan · mustaqil tekshir

Gipoteza shakllantirish xulosasi

Gipoteza — kashfiyotdan tekshiruvga (EDA → tasdiqlovchi)
Yaxshi gipoteza — aniq, o'lchanadigan, soxtalashtiriluvchi, bitta, oldindan
H0/H1 — farq yo'q / farq bor (p < alpha → H0 rad; rad etilmaslik ≠ isbot)
Reja — oldindan (test, alpha, yo'nalish; p-hacking oldini olish)
Mustaqil ma'lumot — EDA ko'rmagan (Texas snayperi — doiraviy xato)

4. Batafsil misollar

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

Misol 1 — Kashfiyotdan gipotezaga

python
"""Kashfiyotdan gipotezaga (real Python)."""


def main() -> None:
    print("=== 1. Kashfiyot (EDA — noaniq) ===")
    kashfiyot = "Toshkent uylari qimmatroq ko'rinadi"
    print(f"  '{kashfiyot}'")

    print("\n=== 2. Gipoteza (aniq) ===")
    h0 = "Toshkent va Samarqand o'rtacha narxi teng"
    h1 = "Toshkent o'rtacha narxi Samarqanddan yuqori"
    print(f"  H0: {h0}")
    print(f"  H1: {h1}")

    print("\n=== 3. Reja (oldindan) ===")
    reja = {"test": "t-test", "alfa": 0.05, "yo'nalish": "bir tomonlama",
            "ma'lumot": "mustaqil (30% ajratilgan)"}
    for k, v in reja.items():
        print(f"  {k}: {v}")

    print("\n=== 4. Ko'prik ===")
    print("  kashfiyot (EDA) → gipoteza → tekshiruv (dalil)")
    print("  ⭐ Kashfiyot → gipoteza (tekshiriluvchi)")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Kashfiyot (EDA — noaniq) ===
  'Toshkent uylari qimmatroq ko'rinadi'

=== 2. Gipoteza (aniq) ===
  H0: Toshkent va Samarqand o'rtacha narxi teng
  H1: Toshkent o'rtacha narxi Samarqanddan yuqori

=== 3. Reja (oldindan) ===
  test: t-test
  alfa: 0.05
  yo'nalish: bir tomonlama
  ma'lumot: mustaqil (30% ajratilgan)

=== 4. Ko'prik ===
  kashfiyot (EDA) → gipoteza → tekshiruv (dalil)
  ⭐ Kashfiyot → gipoteza (tekshiriluvchi)

Nima ko'rsatdi: 2.1, 2.4-bo'limlar.

Misol 2 — Doiraviy vs mustaqil tekshiruv

python
"""Doiraviy vs mustaqil tekshiruv (real numpy/scipy)."""

import numpy as np
from scipy import stats


def main() -> None:
    np.random.seed(0)
    # HAQIQATDA farq yo'q (ikkala guruh bir xil taqsimot)
    guruhlar = {f"g{i}": np.random.normal(100, 20, 30) for i in range(20)}

    print("=== 1. EDA: 20 guruhni solishtirish ===")
    asosiy = np.random.normal(100, 20, 30)
    eng_kichik_p = 1.0
    eng_nom = None
    for nom, g in guruhlar.items():
        _, p = stats.ttest_ind(asosiy, g)
        if p < eng_kichik_p:
            eng_kichik_p, eng_nom = p, nom
    print(f"  eng 'qiziq' guruh: {eng_nom}, p={eng_kichik_p:.3f}")

    print("\n=== 2. Doiraviy (shu ma'lumotda 'tasdiq') ===")
    print(f"  p={eng_kichik_p:.3f} → 'kashfiyot'?  (Texas snayperi!)")

    print("\n=== 3. Mustaqil (yangi ma'lumot) ===")
    yangi_asosiy = np.random.normal(100, 20, 30)
    yangi_guruh = np.random.normal(100, 20, 30)
    _, p_yangi = stats.ttest_ind(yangi_asosiy, yangi_guruh)
    print(f"  yangi ma'lumotda p={p_yangi:.3f} (takrorlanmadi)")

    print("\n=== 4. Xulosa ===")
    print("  tasodifiy naqsh — mustaqil ma'lumotda yo'qoladi")
    print("  ⭐ Mustaqil tekshiruv (doiraviy emas)")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. EDA: 20 guruhni solishtirish ===
  eng 'qiziq' guruh: g3, p=0.004

=== 2. Doiraviy (shu ma'lumotda 'tasdiq') ===
  p=0.004 → 'kashfiyot'?  (Texas snayperi!)

=== 3. Mustaqil (yangi ma'lumot) ===
  yangi ma'lumotda p=0.650 (takrorlanmadi)

=== 4. Xulosa ===
  tasodifiy naqsh — mustaqil ma'lumotda yo'qoladi
  ⭐ Mustaqil tekshiruv (doiraviy emas)

Nima ko'rsatdi: 2.5-bo'lim.

Misol 3 — To'g'ri jarayon (ajrat → EDA → tekshir)

python
"""To'g'ri gipoteza jarayoni (real pandas/numpy/scipy/sklearn)."""

import numpy as np
import pandas as pd
from scipy import stats
from sklearn.model_selection import train_test_split


def main() -> None:
    np.random.seed(0)
    df = pd.DataFrame({
        "shahar": np.repeat(["Toshkent", "Samarqand"], 200),
        "narx": np.concatenate([np.random.normal(140, 30, 200),
                                np.random.normal(120, 30, 200)]),
    })

    print("=== 1. Ajrat (EDA'dan OLDIN) ===")
    eda_df, tekshir_df = train_test_split(df, test_size=0.3, random_state=0,
                                          stratify=df["shahar"])
    print(f"  EDA: {len(eda_df)} qator, tekshiruv: {len(tekshir_df)} qator")

    print("\n=== 2. EDA (kashfiyot) ===")
    ort = eda_df.groupby("shahar")["narx"].mean().round(1)
    print(f"  {ort.to_dict()}  → gipoteza: Toshkent yuqori")

    print("\n=== 3. Mustaqil tekshiruv (bir marta) ===")
    t = tekshir_df[tekshir_df["shahar"] == "Toshkent"]["narx"]
    s = tekshir_df[tekshir_df["shahar"] == "Samarqand"]["narx"]
    _, p = stats.ttest_ind(t, s, alternative="greater")
    print(f"  p-qiymat: {p:.4f}")

    print("\n=== 4. Qaror ===")
    print(f"  p < 0.05: {p < 0.05} → H0 rad (mustaqil ma'lumotda)")
    print("  ⭐ Ajrat → EDA → mustaqil tekshir")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. Ajrat (EDA'dan OLDIN) ===
  EDA: 280 qator, tekshiruv: 120 qator

=== 2. EDA (kashfiyot) ===
  {'Samarqand': 113.7, 'Toshkent': 140.5}  → gipoteza: Toshkent yuqori

=== 3. Mustaqil tekshiruv (bir marta) ===
  p-qiymat: 0.0000

=== 4. Qaror ===
  p < 0.05: True → H0 rad (mustaqil ma'lumotda)
  ⭐ Ajrat → EDA → mustaqil tekshir

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

Misol 4 — Ko'p gipoteza va Bonferroni

python
"""Ko'p gipoteza: Bonferroni (real numpy/scipy)."""

import numpy as np
from scipy import stats


def main() -> None:
    np.random.seed(5)
    n_test = 20
    alfa = 0.05

    print("=== 1. 20 ta test (haqiqatda farq YO'Q) ===")
    p_lar = []
    for _ in range(n_test):
        a = np.random.normal(0, 1, 50)
        b = np.random.normal(0, 1, 50)
        _, p = stats.ttest_ind(a, b)
        p_lar.append(p)
    p_lar = np.array(p_lar)

    print("\n=== 2. Tuzatishsiz (alfa=0.05) ===")
    print(f"  'muhim' topildi: {int((p_lar < alfa).sum())} ta (hammasi tasodifiy!)")

    print("\n=== 3. Bonferroni (alfa / n) ===")
    bonf = alfa / n_test
    print(f"  yangi alfa: {bonf:.4f}")
    print(f"  'muhim' topildi: {int((p_lar < bonf).sum())} ta")

    print("\n=== 4. Xulosa ===")
    print("  ko'p test → tasodifiy 'kashfiyot'; tuzatish kerak")
    print("  ⭐ Ko'p gipoteza — Bonferroni")


if __name__ == "__main__":
    main()

Natijaning muhim qismi:

text
=== 1. 20 ta test (haqiqatda farq YO'Q) ===

=== 2. Tuzatishsiz (alfa=0.05) ===
  'muhim' topildi: 2 ta (hammasi tasodifiy!)

=== 3. Bonferroni (alfa / n) ===
  yangi alfa: 0.0025
  'muhim' topildi: 0 ta

=== 4. Xulosa ===
  ko'p test → tasodifiy 'kashfiyot'; tuzatish kerak
  ⭐ Ko'p gipoteza — Bonferroni

Nima ko'rsatdi: 2.7-bo'lim.


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

Noto'g'ri fikr To'g'risi
"EDA topilmasi = dalil" Gipoteza (tekshirish kerak)
"shu ma'lumotda tekshir" Mustaqil (Texas snayperi)
"p > 0.05 → farq yo'q" Dalil yetmaydi (isbot emas)
"p < 0.05 → muhim" Statistik ≠ amaliy (ta'sir kattaligi)
"reja keyin" Oldindan (p-hacking)
"ko'p test OK" Tuzatish (Bonferroni)
"keng gipoteza yaxshi" Aniq, soxtalashtiriluvchi
"tasdiqlandi → sabab" Aloqa (4.10)

6. Keng tarqalgan xatolar va yechimlari

1. Doiraviy tekshiruv

python
# EDA ma'lumotida kashfiyot + shu ma'lumotda t-test              # ⚠️
eda_df, tekshir_df = train_test_split(df, test_size=0.3)   # ajrat # ✅

2. p-hacking

python
# p=0.08 → outlier o'chir → p=0.04 → "muhim!"                    # ⚠️
# reja oldindan (test, alfa, outlier qoidasi) — o'zgartirma      # ✅

3. Ko'p gipoteza

python
# 20 test, 1 tasi p<0.05 → "kashfiyot"                           # ⚠️
alfa_yangi = 0.05 / 20   # Bonferroni                           # ✅

4. Soxtalashtirib bo'lmas

python
# "narx nimagadir bog'liq" (har doim rost)                       # ⚠️
# "narx maydon bilan musbat bog'liq (r > 0)" (aniq)              # ✅

5. Rad etilmaslik = isbot

python
# p=0.3 → "farq yo'q, isbotlandi"                                # ⚠️
# p=0.3 → "farq topilmadi (dalil yetmaydi)"                      # ✅

6. Statistik = amaliy muhim

python
# n=100000, farq 0.5$, p=0.001 → "muhim!"                        # ⚠️
# ta'sir kattaligi (farq miqdori) ham ko'r                       # ✅

7. HARKing

python
# natijadan keyin gipoteza yozib "oldindan" deb taqdim           # ⚠️
# gipotezani oldindan yozib qo'y (pre-registration)              # ✅

7. Integratsiya — bu bilim qayerda kerak bo'ladi

  • 8.1-dars (o'tilgan): EDA vs tasdiqlovchi
  • 4.12-dars (o'tilgan): Gipoteza testi (H0/H1, p)
  • 4.13-dars (o'tilgan): t-test, ishonch oralig'i
  • 8.9-dars: EDA hisoboti (gipotezalar)
  • 14-qism (reja): ML (train/test — mustaqil ma'lumot)

8. Eng yaxshi amaliyotlar

  1. Ajrat — EDA'dan oldin (mustaqil qism).

  2. Gipoteza — aniq, soxtalashtiriluvchi.

  3. H0/H1 — rasmiy shakl.

  4. Reja — oldindan (test, alfa, yo'nalish).

  5. Mustaqil tekshir — bir marta.

  6. Ko'p test — Bonferroni.

  7. Ta'sir kattaligi — p bilan birga.

  8. Rad etilmaslik ≠ isbot.


9. Amaliy topshiriq

Vazifa 1: Bashorat qiling

python
1.  # gipoteza nima?
2.  # kashfiyot vs gipoteza?
3.  # H0 nima?
4.  # H1 nima?
5.  # soxtalashtiriluvchi?
6.  # reja nega oldindan?
7.  # doiraviy tekshiruv?
8.  # Texas snayperi?
9.  # p-hacking?
10. # Bonferroni?
11. # rad etilmaslik = isbot?
12. # nega mustaqil ma'lumot?
Javoblar
  1. Tekshiriluvchi taxmin
  2. Kashfiyot noaniq, gipoteza aniq
  3. Farq yo'q (nol)
  4. Farq bor (muqobil)
  5. Noto'g'ri ekanini ko'rsatish mumkin
  6. p-hacking oldini olish
  7. Bir ma'lumotda kashf + tekshir
  8. Avval o'q, keyin nishon
  9. Natijaga qarab reja o'zgartirish
  10. alfa / n (ko'p test)
  11. Yo'q (dalil yetmaydi)
  12. Tasodifiy naqsh takrorlanmaydi

Vazifa 2: Xatolarni tuzating

python
1.  # EDA + t-test bir ma'lumotda

2.  # p=0.08 → outlier o'chir → p=0.04

3.  # 20 test, 1 ta p<0.05 → kashfiyot

4.  # p=0.3 → "farq yo'q, isbotlandi"

5.  # "narx nimagadir bog'liq"
Javoblar
python
1.  train_test_split (ajrat)

2.  reja oldindan (qat'iy, o'zgarmas reja)

3.  Bonferroni (0.05/20)

4.  "farq topilmadi"

5.  aniq, soxtalashtiriluvchi gipoteza

Vazifa 3: Gipoteza

Modellang:

  1. Kashfiyot
  2. Aniqlashtirish
  3. H0/H1
  4. Soxtalashtiriluvchi

Vazifa 4: Reja

Modellang:

  1. Test
  2. Alfa
  3. Yo'nalish
  4. Namuna

Vazifa 5: Halollik

Modellang:

  1. Ajrat
  2. Mustaqil
  3. p-hacking
  4. Bonferroni

Vazifa 6: Integratsiya

Modellang:

  1. EDA (8.1)
  2. Gipoteza testi (4.12)
  3. t-test (4.13)
  4. ML train/test (14)

Vazifa 7: O'ylash

"Texas snayperi" — ombor devoriga o'q uzib, keyin o'qlar zich tushgan joy atrofiga nishon chizadigan odam. U "aniq mergan" ko'rinadi, lekin aslida hech narsani nishonga olmagan. EDA'da ma'lumotni ko'rib, keyin shu ma'lumotda gipotezani "tasdiqlash" xuddi shunday. Nima uchun bu xato ilm-fan va biznesda "takrorlanmaslik inqirozi"ga (replication crisis) olib keldi, va nima uchun "mustaqil ma'lumotda tekshirish" g'oyasi keyinchalik Machine Learning'ning asosiy tamoyiliga (train/test ajratish) aylandi?

Javob

Qisqa javob: Texas snayperi — o'q uzib, keyin nishon (ma'lumotni ko'rib, shu ma'lumotda "tasdiq"); bu xato takrorlanmaslik inqiroziga (replication crisis) olib keldi; "mustaqil ma'lumotda tekshirish" ML'ning asosiy tamoyiliga (train/test ajratish) aylandi, chunki: (1) tasodifiy naqsh doim bor — har qanday ma'lumotda tasodifiy naqsh bor (shovqin; ko'p ko'rish — ba'zisi "qiziq" ko'rinadi); ma'lumotni ko'rib gipoteza → shu ma'lumotda test → albatta tasdiq (naqsh shu ma'lumotdan tanlangan); tasodifiy naqsh yangi ma'lumotda takrorlanmaydi; (2) takrorlanmaslik inqirozi — psixologiya, tibbiyot, ijtimoiy fanlarda ko'p "kashfiyot" takrorlanmadi (2015 — psixologiya tadqiqotlarining ~60% takrorlanmadi); sabab — p-hacking, HARKing, doiraviy tahlil, ko'p taqqoslash (kashfiyot tasodifiy edi — yangi ma'lumotda yo'qoldi); (3) biznesda ham — A/B test "g'olib" ishlab chiqarishda ishlamadi (ko'p variant, erta to'xtatish, doiraviy); qarorlar noto'g'ri; (4) ML — train/test — model o'quv ma'lumotida o'rganadi (naqsh topadi — kashfiyot kabi); o'quv ma'lumotida baholash — doiraviy (model shovqinni yodlaydi — overfitting; o'quvda 100% aniq, yangi ma'lumotda yomon); test ma'lumoti — model ko'rmagan (mustaqil) — haqiqiy baho (umumlashtirish). "Nega bir g'oya": (a) kashfiyot = o'rganish (EDA naqsh topadi; model naqsh o'rganadi — ikkalasi ma'lumotdan); (b) doiraviy = overfitting (EDA — tasodifiy naqshni "kashfiyot" deb; model — shovqinni "naqsh" deb; ikkalasi shu ma'lumotga haddan tashqari moslashgan); (c) mustaqil = umumlashtirish (gipoteza — yangi ma'lumotda takrorlanadimi; model — yangi ma'lumotda ishlaydimi; bir savol); (d) validatsiya (ilmiy — takrorlash tadqiqoti; ML — cross-validation 20-qism; bir tamoyil). "Nega muhim": tasodifiy naqsh doim bor (ko'rib tanlash — doiraviy); takrorlanmaslik inqirozi (fan/biznes — soxta kashfiyot); ML train/test (bir tamoyil — overfitting = Texas snayperi). "Data Scientist qanday": (1) ajrat oldin (EDA/model oldin — test qismini chetga; tegma); (2) oldindan reja (gipoteza, test, alfa — pre-registration); (3) bir marta tekshir (test qismi — bir marta; qayta-qayta "tuning" — test ham o'quvga aylanadi); (4) takrorla (yangi ma'lumot — natija saqlanadimi); (5) shaffof (nechta test qilindi — hisobot). Saboqlar: tasodifiy naqsh doim bor (ko'rib tanlash — doiraviy); Texas snayperi → takrorlanmaslik inqirozi; mustaqil ma'lumot — yagona halol tekshiruv; ML train/test — bir tamoyil (overfitting = doiraviy kashfiyot). To'g'ri: ajrat oldin (mustaqil — tegma); reja oldindan; bir marta tekshir; takrorla. Muvozanat: kashfiyot (EDA — erkin, ko'p ko'r) + tekshiruv (mustaqil — qat'iy, bir marta). Bu Data Science metodologiya asosiy (Texas snayperi; takrorlanmaslik inqirozi; mustaqil ma'lumot; train/test — overfitting). Gipoteza shakllantirish — mustaqil ma'lumot (halol tekshiruv; ML train/test'ning ildizi).

1. Nega doiraviy tekshiruv yolg'on

  • Tasodifiy naqsh doim bor (shovqin)
  • Ko'rib tanlash (naqsh shu ma'lumotdan — albatta tasdiq)
  • Yangi ma'lumotda takrorlanmaydi
  • Texas snayperi (keyin nishon)

2. Takrorlanmaslik inqirozi

  • Fan (psixologiya ~60% takrorlanmadi)
  • Sabab (p-hacking, HARKing, doiraviy, ko'p test)
  • Biznes (A/B "g'olib" ishlamadi)
  • Oqibat (soxta kashfiyot — noto'g'ri qaror)

3. EDA ↔ ML (bir tamoyil)

EDA / gipoteza ML / model
Kashfiyot (naqsh topish) O'rganish (naqsh o'rganish)
Doiraviy tekshiruv Overfitting (o'quvda baho)
Mustaqil ma'lumot Test to'plam (ko'rmagan)
Takrorlash Cross-validation

4. Data Scientist qanday

  1. Ajrat oldin (test qismi — tegma)
  2. Reja oldindan (pre-registration)
  3. Bir marta tekshir (qayta tuning — yo'q)
  4. Takrorla (yangi ma'lumot) + shaffof (nechta test)

5. Xulosa

  1. Doiraviy tekshiruv yolg'on (tasodifiy naqsh albatta "tasdiqlanadi")
  2. Texas snayperi → takrorlanmaslik inqirozi (fan, biznes)
  3. Mustaqil ma'lumot — yagona halol tekshiruv
  4. ML train/test — shu tamoyil (overfitting = doiraviy kashfiyot)

Nimani mustahkamlaydi: 2.5, 2.7-bo'limlar.


Xulosa

Bu darsda gipoteza shakllantirishni o'rgandik.

Eng muhim uch fikr:

  1. Kashfiyotdan gipotezaga. EDA kashfiyoti — dalil emas (tasodifiy bo'lishi mumkin; 8.1); gipoteza — kashfiyotni tekshiriluvchi shaklga ("qimmatroq ko'rinadi" → H0: farq yo'q / H1: Toshkent yuqori; 4.12). Yaxshi gipoteza — aniq, o'lchanadigan, soxtalashtiriluvchi (Popper — noto'g'ri ekanini ko'rsatish mumkin; "nimagadir bog'liq" foydasiz), bitta, oldindan.

  2. Reja va mustaqil ma'lumot. Tekshirish rejasi oldindan (test, alfa, yo'nalish, namuna — pre-registration; p-hacking oldini olish). Mustaqil ma'lumot — EDA ko'rmagan (EDA'dan oldin ajrat — train_test_split; yoki yangi ma'lumot); bir ma'lumotda kashf + tekshir — doiraviy (Texas snayperi — o'q uzib, keyin nishon).

  3. Halol tekshiruv. p < alfa → H0 rad; p ≥ alfa → H0 rad etilmaydi (isbot emas — dalil yetmaydi); statistik muhim ≠ amaliy muhim (ta'sir kattaligi). Ko'p gipoteza → tasodifiy "kashfiyot" (Bonferroni alfa/n). Texas snayperi xatosi takrorlanmaslik inqiroziga olib keldi; mustaqil ma'lumot g'oyasi — ML'ning train/test tamoyili (overfitting = doiraviy kashfiyot). Tuzoqlar: doiraviy, p-hacking, ko'p gipoteza, soxtalashtirib bo'lmas, rad etilmaslik = isbot, HARKing, sabab xulosa 4.10-bob.

Keyingi darsda EDA hisobotini o'rganamiz: EDA topilmalarini hujjatlash va yetkazish — tuzilma (maqsad, ma'lumot, topilmalar, gipotezalar, cheklovlar), grafik tanlash 5.12-bob, halollik 5.13-bob, va auditoriyaga moslash.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!