Qu'est-ce que le test G?
sobes.tech IA
Réponse de l'IA
Le test G (ou test G, test du χ² de rapport de vraisemblance) est un test statistique utilisé pour vérifier des hypothèses sur la distribution des fréquences dans des données catégoriques. Dans le contexte de l'assurance qualité (QA), il peut être utilisé pour comparer la distribution des défauts par catégories (par exemple, type, priorité) dans différentes versions du produit, environnements de test ou lors de la comparaison de deux approches différentes de test, afin de déterminer s'il existe une différence statistiquement significative. Il constitue une alternative au test du χ² de Pearson, particulièrement utile avec de petits échantillons.
Étapes principales:
- Formulation des hypothèses nulle ($H_0$) et alternative ($H_1$).
- $H_0$: Il n'y a pas de différence statistiquement significative dans la distribution des fréquences entre les groupes analysés.
- $H_1$: Il existe une différence statistiquement significative.
- Construction du tableau de contingence avec les fréquences observées.
- Calcul des fréquences attendues pour chaque cellule du tableau sous l'hypothèse $H_0$.
- Calcul de la statistique G selon la formule: $G = 2 \sum_{i} O_i \ln(O_i/E_i)$ où $O_i$ est la fréquence observée, $E_i$ la fréquence attendue.
- Détermination du nombre de degrés de liberté ($df$). Pour un tableau de contingence $R \times C$ ($R$ lignes, $C$ colonnes): $df = (R-1)(C-1)$.
- Comparaison de la valeur calculée de G avec la valeur critique de la distribution G ou utilisation de la valeur p. Si G > valeur critique ou p < niveau de signification ($\alpha$), $H_0$ est rejetée.
Exemple d'application en QA:
Comparaison de la distribution des types de défauts dans deux environnements de test différents.
| Type de défaut | Environnement A (Observé) | Environnement B (Observé) |
|---|---|---|
| Fonctionnel | 50 | 30 |
| UI/UX | 20 | 15 |
| Performance | 10 | 5 |
| Total | 80 | 50 |
Ensuite, on calcule les fréquences attendues et la valeur G.
Outils pour le calcul:
- Python: bibliothèques
scipy.stats. - R: fonctions intégrées.
- Paquets statistiques: SPSS, R, SAS.
# Exemple d'utilisation en Python avec scipy
import numpy as np
from scipy.stats import chi2_contingency # La test G est implémentée dans chi2_contingency dans scipy via le paramètre lambda='log-likelihood'
# Tableau des fréquences observées (données d'exemple)
observed = np.array([[50, 30],
[20, 15],
[10, 5]])
# Réalisation du test G
# lambda='log-likelihood' indique l'utilisation du test G
g_statistic, p_value, dof, expected = chi2_contingency(observed, lambda_='log-likelihood')
print(f"Statistique G: {g_statistic:.4f}")
print(f"Valeur p: {p_value:.4f}")
print(f"Degrés de liberté (dof): {dof}")
print("Fréquences attendues:")
print(expected)
# Vérification de l'hypothèse au niveau de signification 0.05
alpha = 0.05
if p_value < alpha:
print("Résultat: Rejet de l'hypothèse nulle - il existe une différence statistiquement significative.")
else:
print("Résultat: Nous ne rejetons pas l'hypothèse nulle - il n'y a pas de différence statistiquement significative.")