Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Kashfiyotdan gipotezaga
- 2.2. Yaxshi gipoteza (aniq, soxtalashtiriluvchi)
- 2.3. H0 va H1 (4.12)
- 2.4. Tekshirish rejasi (oldindan)
- 2.5. Mustaqil ma'lumot (Texas snayperi)
- 2.6. Gipoteza amaliyoti
- 2.7. Gipoteza tuzoqlari
- 2.8. Gipoteza shakllantirish — kashfiyotdan tekshiruvga
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Kashfiyotdan gipotezaga
- Misol 2 — Doiraviy vs mustaqil tekshiruv
- Misol 3 — To'g'ri jarayon (ajrat → EDA → tekshir)
- Misol 4 — Ko'p gipoteza va Bonferroni
- 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
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:
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 etmaslikKashfiyotdan 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:
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
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 tekshirGipoteza 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
"""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:
=== 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
"""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:
=== 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)
"""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:
=== 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 tekshirNima ko'rsatdi: 2.3, 2.6-bo'limlar.
Misol 4 — Ko'p gipoteza va Bonferroni
"""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:
=== 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 — BonferroniNima 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
# 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
# p=0.08 → outlier o'chir → p=0.04 → "muhim!" # ⚠️
# reja oldindan (test, alfa, outlier qoidasi) — o'zgartirma # ✅3. Ko'p gipoteza
# 20 test, 1 tasi p<0.05 → "kashfiyot" # ⚠️
alfa_yangi = 0.05 / 20 # Bonferroni # ✅4. Soxtalashtirib bo'lmas
# "narx nimagadir bog'liq" (har doim rost) # ⚠️
# "narx maydon bilan musbat bog'liq (r > 0)" (aniq) # ✅5. Rad etilmaslik = isbot
# p=0.3 → "farq yo'q, isbotlandi" # ⚠️
# p=0.3 → "farq topilmadi (dalil yetmaydi)" # ✅6. Statistik = amaliy muhim
# n=100000, farq 0.5$, p=0.001 → "muhim!" # ⚠️
# ta'sir kattaligi (farq miqdori) ham ko'r # ✅7. HARKing
# 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
Ajrat — EDA'dan oldin (mustaqil qism).
Gipoteza — aniq, soxtalashtiriluvchi.
H0/H1 — rasmiy shakl.
Reja — oldindan (test, alfa, yo'nalish).
Mustaqil tekshir — bir marta.
Ko'p test — Bonferroni.
Ta'sir kattaligi — p bilan birga.
Rad etilmaslik ≠ isbot.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
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
- Tekshiriluvchi taxmin
- Kashfiyot noaniq, gipoteza aniq
- Farq yo'q (nol)
- Farq bor (muqobil)
- Noto'g'ri ekanini ko'rsatish mumkin
- p-hacking oldini olish
- Bir ma'lumotda kashf + tekshir
- Avval o'q, keyin nishon
- Natijaga qarab reja o'zgartirish
- alfa / n (ko'p test)
- Yo'q (dalil yetmaydi)
- Tasodifiy naqsh takrorlanmaydi
Vazifa 2: Xatolarni tuzating
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
1. train_test_split (ajrat)
2. reja oldindan (qat'iy, o'zgarmas reja)
3. Bonferroni (0.05/20)
4. "farq topilmadi"
5. aniq, soxtalashtiriluvchi gipotezaVazifa 3: Gipoteza
Modellang:
- Kashfiyot
- Aniqlashtirish
- H0/H1
- Soxtalashtiriluvchi
Vazifa 4: Reja
Modellang:
- Test
- Alfa
- Yo'nalish
- Namuna
Vazifa 5: Halollik
Modellang:
- Ajrat
- Mustaqil
- p-hacking
- Bonferroni
Vazifa 6: Integratsiya
Modellang:
- EDA (8.1)
- Gipoteza testi (4.12)
- t-test (4.13)
- 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
- Ajrat oldin (test qismi — tegma)
- Reja oldindan (pre-registration)
- Bir marta tekshir (qayta tuning — yo'q)
- Takrorla (yangi ma'lumot) + shaffof (nechta test)
5. Xulosa
- Doiraviy tekshiruv yolg'on (tasodifiy naqsh albatta "tasdiqlanadi")
- Texas snayperi → takrorlanmaslik inqirozi (fan, biznes)
- Mustaqil ma'lumot — yagona halol tekshiruv
- 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:
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.
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).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.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!