G testi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
G sınaqı (və ya G sınaqı, χ² ehtimallik nisbəti testi) kateqorik məlumatlarda tezlik paylanması haqqında hipotezləri yoxlamaq üçün istifadə olunan statistik sınaqdır. QA kontekstində, məhsulun müxtəlif yığmaları, test mühitləri və ya iki müxtəlif test yanaşmasının nəticələrini müqayisə etmək üçün tətbiq oluna bilər və statistik olaraq əhəmiyyətli fərq olub-olmadığını müəyyən etmək üçün kateqoriyalara görə qüsurların paylanmasını müqayisə edir. Bu, Pearson χ² testinə alternativdir və kiçik nümunələr üçün xüsusilə faydalıdır.
Əsas addımlar:
- Sıfır ($H_0$) və alternativ ($H_1$) hipotezlərinin formalaşdırılması.
- $H_0$: Analiz olunan qruplar arasında tezlik paylanmasında statistik əhəmiyyətli fərq yoxdur.
- $H_1$: Statistik olaraq əhəmiyyətli fərq mövcuddur.
- Gözlənilən tezliklərlə birlikdə kontingensiya cədvəlini qurmaq.
- $H_0$ şərti ilə hər bir hüceyrə üçün gözlənilən tezlikləri hesablamaq.
- G statistikası aşağıdakı formuladan hesablanır: $G = 2 \sum_{i} O_i \ln(O_i/E_i)$ burada $O_i$ müşahidə olunan tezlik, $E_i$ isə gözlənilən tezlikdir.
- Azadlıq dərəcələrinin ($df$) müəyyən edilməsi. $R \times C$ cədvəli üçün ($R$ sətir, $C$ sütun): $df = (R-1)(C-1)$.
- Hesablanmış G dəyərini G paylanmasının kritik dəyəri ilə müqayisə etmək və ya p-qiymətindən istifadə etmək. Əgər G > kritik dəyər və ya p < əhəmiyyət səviyyəsi ($\alpha$), $H_0$ rədd edilir.
QA-da tətbiq nümunəsi:
İki müxtəlif test mühitində qüsur növlərinin paylanmasını müqayisə etmək.
| Qüsur növü | Mühit A ( müşahidə olunmuş) | Mühit B ( müşahidə olunmuş) |
|---|---|---|
| Funksional | 50 | 30 |
| UI/UX | 20 | 15 |
| Performans | 10 | 5 |
| Cəm | 80 | 50 |
Daha sonra, gözlənilən tezliklər və G dəyəri hesablanır.
Hesablama üçün alətlər:
- Python:
scipy.statskitabxanası. - R: daxili funksiyalar.
- Statistik paketlər: SPSS, R, SAS.
# Python ilə scipy istifadə nümunəsi
import numpy as np
from scipy.stats import chi2_contingency # G testi scipy-də chi2_contingency funksiyasında lambda='log-likelihood' parametri ilə həyata keçirilir
# Gözlənilən tezliklər cədvəli (nümunə məlumatlar)
observed = np.array([[50, 30],
[20, 15],
[10, 5]])
# G testinin həyata keçirilməsi
# lambda='log-likelihood' G testinin istifadə olunduğunu göstərir
g_statistic, p_value, dof, expected = chi2_contingency(observed, lambda_='log-likelihood')
print(f"G statistikası: {g_statistic:.4f}")
print(f"p-dəyəri: {p_value:.4f}")
print(f"Azadlıq dərəcələri (dof): {dof}")
print("Gözlənilən tezliklər:")
print(expected)
# 0.05 əhəmiyyət səviyyəsində hipotezin yoxlanması
alpha = 0.05
if p_value < alpha:
print("Nəticə: Sıfır hipotezi rədd edirik - statistik olaraq əhəmiyyətli fərq var.")
else:
print("Nəticə: Sıfır hipotezi rədd edilmir - statistik olaraq əhəmiyyətli fərq yoxdur.")