Middle+
G testi nima?
sobes.tech AI
AIdan javob
G-test (yoki G-test, χ²-yaqinlik nisbat testi) kategoriyali ma'lumotlardagi chastotalar taqsimotini tekshirish uchun ishlatiladigan statistik testdir. QA kontekstida, u mahsulotning turli yig‘malari, test muhitlari yoki ikki turdagi test yondashuvlarining natijalarini solishtirish uchun qo‘llanilishi mumkin va statistik jihatdan sezilarli farq mavjudligini aniqlash uchun kategoriyalarga ko‘ra nuqsonlar taqsimotini solishtiradi. Bu Pearson χ² testiga alternativ bo‘lib, ayniqsa kichik namunalar bilan ishlashda foydalidir.
Asosiy bosqichlar:
- Nol ($H_0$) va alternativ ($H_1$) gipotezalarni shakllantirish.
- $H_0$: Tahlil qilinayotgan guruhlar orasida chastotalar taqsimotida statistik jihatdan sezilarli farq yo‘q.
- $H_1$: Statistik jihatdan sezilarli farq mavjud.
- Kuzatilgan chastotalar bilan kontingensiya jadvalini tuzish.
- $H_0$ shartida har bir katak uchun kutilyotgan chastotalarni hisoblash.
- G statistikani quyidagi formuladan hisoblash: $G = 2 \sum_{i} O_i \ln(O_i/E_i)$ bu yerda $O_i$ kuzatilgan chastota, $E_i$ esa kutilyotgan chastota.
- Erkinlik darajalarini ($df$) aniqlash. $R \times C$ jadvali uchun ($R$ satr, $C$ ustun): $df = (R-1)(C-1)$.
- Hisoblangan G qiymatini G taqsimotining kritik qiymati bilan solishtirish yoki p-qiymatidan foydalanish. Agar G > kritik qiymat yoki p < ahamiyat darajasi ($\alpha$), $H_0$ rad etiladi.
QAda qo‘llash misoli:
Ikki turli test muhitida nuqson turlarining taqsimotini solishtirish.
| Nuqson turi | Muhit A (Kuzatilgan) | Muhit B (Kuzatilgan) |
|---|---|---|
| Funktsional | 50 | 30 |
| UI/UX | 20 | 15 |
| Ishlash samaradorligi | 10 | 5 |
| Jami | 80 | 50 |
Keyinchalik, kutilyotgan chastotalar va G qiymati hisoblanadi.
Hisoblash uchun vositalar:
- Python:
scipy.statskutubxonasi. - R: ichki funksiyalar.
- Statistik paketlar: SPSS, R, SAS.
# Python bilan scipy yordamida misol
import numpy as np
from scipy.stats import chi2_contingency # G testi scipy'da chi2_contingency funksiyasida lambda='log-likelihood' parametri bilan amalga oshiriladi
# Kuzatilgan chastotalar jadvali (misol ma'lumotlar)
observed = np.array([[50, 30],
[20, 15],
[10, 5]])
# G testini bajarish
# lambda='log-likelihood' G testidan foydalanishni ko‘rsatadi
g_statistic, p_value, dof, expected = chi2_contingency(observed, lambda_='log-likelihood')
print(f"G statistikasi: {g_statistic:.4f}")
print(f"p-qiymat: {p_value:.4f}")
print(f"Erkinlik darajasi (dof): {dof}")
print("Kutilyotgan chastotalar:")
print(expected)
# 0.05 darajadagi ahamiyatlilik bilan gipotezani tekshirish
alpha = 0.05
if p_value < alpha:
print("Natija: Nol gipotezani rad etamiz - statistik jihatdan sezilarli farq mavjud.")
else:
print("Natija: Nol gipotezani rad etmaymiz - statistik jihatdan sezilarli farq yo‘q.")