Sobes.tech
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:

  1. 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.
  2. Kuzatilgan chastotalar bilan kontingensiya jadvalini tuzish.
  3. $H_0$ shartida har bir katak uchun kutilyotgan chastotalarni hisoblash.
  4. 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.
  5. Erkinlik darajalarini ($df$) aniqlash. $R \times C$ jadvali uchun ($R$ satr, $C$ ustun): $df = (R-1)(C-1)$.
  6. 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.stats kutubxonasi.
  • 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.")