Ի՞նչ է G թեստը։
sobes.tech AI
Պատասխան AI-ից
G-տեստ (կամ G-տեստ, χ²-տեստ հավանականության հարաբերությունների համար) է վիճակագրական թեստ, որը օգտագործվում է կատեգորիկ տվյալների հաճախականությունների բաշխման մասին ենթադրությունների ստուգման համար: QA կոնտեքստում այն կարող է կիրառվել թերությունների բաշխումները համեմատելու համար կատեգորիաներով (օրինակ, տեսակ, առաջնահերթություն) տարբեր արտադրանքի հավաքածուներում, փորձարկման միջավայրերում կամ երկու տարբեր փորձարկման մոտեցումների արդյունքները համեմատելու համար՝ որոշելու համար, արդյոք կա վիճակագրականապես նշանակալի տարբերություն: Այն հանդիսանում է Փիրսոնի χ²-տեստի ալտերնատիվը, հատկապես փոքր նմուշների դեպքում օգտակար:
Հիմնական քայլեր՝
- Նուլե ($H_0$) և փոխհատուցող ($H_1$) ենթադրությունների ձևակերպում:
- $H_0$: Չկա վիճակագրականապես նշանակալի տարբերություն հաճախականությունների բաշխման մեջ:
- $H_1$: Կան վիճակագրականապես նշանակալի տարբերություններ:
- Տեղական բաշխման աղյուսակի ստեղծում՝ դիտարկված հաճախականություններով:
- Հաշվարկ՝ սպասվող հաճախականություններ՝ $H_0$ ճշմարտության դեպքում:
- G-տեստի հաշվարկ՝ հետևյալ բանաձևով: $G = 2 \sum_{i} O_i \ln(O_i/E_i)$ որտեղ $O_i$՝ դիտարկված հաճախականությունը, $E_i$՝ սպասվող հաճախականությունը:
- Ազատության աստիճանների հաշվարկ՝ $df$՝։ $R \times C$ աղյուսակների համար՝ ($R$ տողեր, $C$ սյունակներ): $df = (R-1)(C-1)$:
- Հաշվարկված G արժեքի համեմատություն՝ G-բաշխության քննիչ արժեքի կամ p-արժեքի հետ:
- Եթե G > քննիչ արժեք կամ p < նշանակության մակարդակ ($\alpha$), ապա $H_0$ մերժվում է:
Օգտագործման օրինակ՝ QA-ում:
Երկու տարբեր փորձարկման միջավայրերում թերությունների տեսակների բաշխման համեմատություն:
| Թերության տեսակ | Միջավայր Ա (դիտարկված) | Միջավայր Բ (դիտարկված) |
|---|---|---|
| Ֆունկցիոնալ | 50 | 30 |
| UI/UX | 20 | 15 |
| Արդյունավետություն | 10 | 5 |
| Ընդհանուր | 80 | 50 |
Հետո հաշվարկվում են սպասվող հաճախականությունները և G արժեքը:
Հաշվարկի գործիքներ՝
- Python:
scipy.statsգրադարաններ: - R: ներքին ֆունկցիաներ:
- סטատיסטիկային փաթեթներ՝ SPSS, R, SAS:
# Python-ում scipy-ով օրինակ
import numpy as np
from scipy.stats import chi2_contingency # G-տեստը իրականացվում է chi2_contingency-ով scipy-ում՝ lambda='log-likelihood' պարամետրի միջոցով
# Դիտարկված հաճախականությունների աղյուսակ (մասին տվյալներ)
observed = np.array([[50, 30],
[20, 15],
[10, 5]])
# G-տեստի իրականացում
# lambda='log-likelihood' նշում է G-տեստի օգտագործումը
g_statistic, p_value, dof, expected = chi2_contingency(observed, lambda_='log-likelihood')
print(f"G-տեստի արժեքը: {g_statistic:.4f}")
print(f"P-արժեքը: {p_value:.4f}")
print(f"Ազատության աստիճաններ (dof): {dof}")
print("Սպասվող հաճախականություններ:")
print(expected)
# Հիպոթեզի ստուգում՝ նշանակության մակարդակ 0.05
alpha = 0.05
if p_value < alpha:
print("Արդյունք: Ներքին հիպոթեզը մերժվում է՝ կա վիճակագրականապես նշանակալի տարբերություն")
else:
print("Արդյունք: Ներքին հիպոթեզը չի մերժվում՝ չկա վիճակագրականապես նշանակալի տարբերություն")