Middle+
Mis on G test?
sobes.tech AI
Vastus AI-lt
G-testid (või G-testid, χ²-testid, mis on seotud usaldusväärsuse tõenäosussuhetega) on statistiline test, mida kasutatakse hüpoteeside kontrollimiseks kategorialandmete sagedusjaotuse kohta. QA kontekstis võib seda kasutada defektide jaotuse võrdlemiseks kategooriate kaupa (näiteks tüüp, prioriteet) erinevates toote ehitistes, testkeskkondades või kahe erineva testimismeetodi tulemuste võrdlemiseks, et määrata, kas esineb statistiliselt oluline erinevus. See on alternatiiv Pii-kvadratiivtestile, eriti kasulik väikeste valimite puhul.
Peamised sammud:
- Null- ($H_0$) ja alternatiiv- ($H_1$) hüpoteeside sõnastamine.
- $H_0$: Ei ole statistiliselt olulist erinevust sagedusjaotuses analüüsitavate gruppide vahel.
- $H_1$: On statistiliselt oluline erinevus.
- Koosseisustabeli koostamine vaadeldud sagedustega.
- Oodatavate sageduste arvutamine iga tabeli lahtri jaoks, eeldades, et $H_0$ on tõene.
- G-statistika arvutamine valemi järgi: $G = 2 \sum_{i} O_i \ln(O_i/E_i)$ kus $O_i$ on vaadeldud sagedus, $E_i$ on oodatud sagedus.
- Vabadusastmete ($df$) arvutamine. Koosseisustabeli puhul, mille mõõtmed on $R \times C$ ($R$ rida, $C$ veergu): $df = (R-1)(C-1)$.
- Arvutatud G väärtuse võrdlemine kriitilise väärtusega G jaotustabelist või p-väärtuse kasutamine. Kui G > kriitiline väärtus või p < olulisuse tase ($\alpha$), siis $H_0$ lükatakse tagasi.
Näide QA rakenduses:
Kahe erineva testkeskkonna defektitüüpide jaotuse võrdlemine.
| Defektitüüp | Keskkond A (vaadeldav) | Keskkond B (vaadeldav) |
|---|---|---|
| Funktsionaalne | 50 | 30 |
| UI/UX | 20 | 15 |
| Töökindlus | 10 | 5 |
| Kokku | 80 | 50 |
Seejärel arvutatakse oodatavad sagedused ja G väärtus.
Arvutusvahendid:
- Python:
scipy.statsteek. - R: sisseehitatud funktsioonid.
- Statistilised paketid: SPSS, R, SAS.
# Näide Pythonis scipy kasutades
import numpy as np
from scipy.stats import chi2_contingency # G-test on implementeeritud chi2_contingency funktsioonis scipy-s lambda='log-likelihood' parameetriga
# Vaadeldud sageduste tabel (näited)
observed = np.array([[50, 30],
[20, 15],
[10, 5]])
# G-testi tegemine
# lambda='log-likelihood' näitab G-testi kasutamist
g_statistic, p_value, dof, expected = chi2_contingency(observed, lambda_='log-likelihood')
print(f"G-statistika: {g_statistic:.4f}")
print(f"P-väärtus: {p_value:.4f}")
print(f"Vabadusastmed (dof): {dof}")
print("Oodatavad sagedused:")
print(expected)
# Hüpoteesi testimine 0.05 olulisustasemel
alpha = 0.05
if p_value < alpha:
print("Tulemus: Nullhüpotees lükatakse tagasi - esineb statistiliselt oluline erinevus.")
else:
print("Tulemus: Nullhüpoteesi ei lükata tagasi - statistiliselt olulist erinevust ei ole.")