Calculateur Bonferroni
Un seuil de signification de 0,05 réparti sur 10 comparaisons donne un seuil de 0,005 par test. Saisissez le seuil d'origine et le nombre de tests prévus, puis jugez chaque valeur p avec ce seuil plus strict avant de lire les résultats. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Alpha
- 0,05
- Comparaisons
- 10
- Alpha ajusté
- 0,005
Lorsque vous exécutez plusieurs tests d’hypothèse sur la même famille de questions, la chance d’au moins un faux positif croît à chaque comparaison supplémentaire. La correction de Bonferroni est la réponse classique et conservatrice à ce problème : divisez le niveau de significativité familial d’origine, alpha, par le nombre de comparaisons m, afin que chaque test individuel soit jugé contre le seuil plus strict alpha sur m. Ce calculateur de correction de Bonferroni prend ces deux nombres et renvoie le niveau de significativité ajusté que vous devez utiliser comme coupure par test.
Ce qu’est la correction de Bonferroni et ce que contient la réponse
Le taux d’erreur par famille est la probabilité de commettre au moins une erreur de type I parmi un ensemble prévu de tests. Si chaque comparaison est jugée à l’alpha non ajusté, cette chance familiale croît à peu près comme un moins un moins alpha élevé à m, de sorte que dix tests indépendants à cinq pour cent donnent déjà plus de quarante pour cent de chance d’une étoile parasite.
L’inégalité de Carlo Emilio Bonferroni fournit une borne simple qui n’exige pas l’indépendance : gardez le taux familial au plus égal à alpha en testant chaque comparaison à alpha divisé par m. Cette unique division est tout le noyau mathématique de ce calculateur.
Vous envoyez un niveau de significativité d’origine fini dans l’intervalle ouvert-fermé depuis juste au-dessus de zéro jusqu’à un, plus un décompte entier positif de comparaisons, et le moteur renvoie l’alpha ajusté avec les entrées nettoyées, le nom de méthode Bonferroni et la chaîne de formule alpha-adj égal à alpha sur m. Les vérifications classiques de manuel incluent cinq pour cent sur dix comparaisons, qui donne un seuil ajusté d’un demi pour cent, et un pour cent sur cinq comparaisons, qui donne deux dixièmes d’un pour cent.
Une seule comparaison est un succès valide : l’alpha ajusté égale l’alpha d’origine, car il n’y a rien à partager. La procédure est conservatrice à dessein. Elle n’estime pas la dépendance entre tests, elle ne classe pas les valeurs p à la manière Holm–Bonferroni, et ce n’est pas un post-hoc d’étendue studentisée comme Tukey HSD.
Ce sont d’autres intentions de recherche et d’autres pages. Vous obtenez ici le seuil que vous inscrivez à côté d’une famille prévue de tests lorsque le devoir, le protocole ou le relecteur a demandé précisément un niveau de significativité ajusté par Bonferroni.
Où l’alpha ajusté de Bonferroni apparaît dans le travail réel
Les protocoles cliniques et de laboratoire inscrivent encore Bonferroni dans le plan d’analyse lorsqu’une petite famille de critères primaires doit partager un taux familial de cinq pour cent, et le seuil ajusté appartient à côté de chaque critère plutôt que d’être recalculé à la main à chaque brouillon. Les équipes d’analytique produit qui mènent plusieurs contrastes appariés contre un témoin peuvent convertir la taille de famille prévue en une coupure par test avant de regarder les valeurs p, ce qui est l’ordre honnête des opérations.
Les carnets de génomique et de criblage qui appliquent des milliers de tests indépendants enseignent encore Bonferroni comme ligne de base conservatrice même lorsqu’ils passent ensuite au contrôle du taux de fausses découvertes ; un aide déterministe de α sur m maintient cette ligne figée. Gardez les requêtes dans les limites documentées, figez l’alpha ajusté arrondi dans les tests, et vous obtenez des seuils Bonferroni reproductibles pour les devoirs, les greffons LMS et les workers en bordure sans dresser une bibliothèque statistique à vous.
Si plus tard vous avez besoin du pas descendant de Holm, de Šidák, de Tukey HSD ou du FDR de Benjamini–Hochberg, traitez-les comme des intentions de recherche et des pages distinctes plutôt que de surcharger cette page de correction de Bonferroni.
Cas d’usage
Exercices scolaires de comparaisons multiples
Laissez les élèves envoyer un alpha familial et un nombre prévu de tests, puis vérifiez que la coupure de Bonferroni égale alpha divisé par m, y compris le cas d’une seule comparaison.
Seuils de protocole et plan d’analyse
Transformez une taille de famille préspécifiée en niveau de significativité par critère qui appartient à la rédaction d’une expérience clinique, de laboratoire ou de produit.
Questions fréquentes
Que se passe-t-il si le nombre de comparaisons n’est pas un entier positif ?
Le zéro, les négatifs, les fractions et le texte non numérique ne sont pas des décomptes de comparaisons et ne sont pas facturés.
Est-ce la même chose que Tukey HSD ou Holm–Bonferroni ?
Non. Cette page divise seulement l’alpha par m. Tukey HSD est un post-hoc d’étendue studentisée sur des moyennes de groupe ; Holm classe les valeurs p. Ce sont des outils distincts.
Combien coûte cette correction ?
L’outil du navigateur est gratuit et s’exécute en local.
Pourquoi faut-il corriger quand on fait plusieurs tests ?
Parce que chaque test supplémentaire augmente le risque d'au moins un faux positif. Avec dix tests indépendants à cinq pour cent, ce risque dépasse déjà quarante pour cent ; diviser le seuil par le nombre de tests le maintient sous le seuil d'origine.
La correction de Bonferroni suppose-t-elle des tests indépendants ?
Non. L'inégalité de Bonferroni garantit que le risque global de faux positif reste au plus égal au seuil choisi sans exiger l'indépendance des tests. C'est aussi pour cela que la méthode est prudente : elle n'estime pas les liens entre les tests.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/stat/bonferroni-correction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"alpha":0.05,"comparisons":10}'const res = await fetch("https://api.kit.forhosting.com/stat/bonferroni-correction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"alpha": 0.05,
"comparisons": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/bonferroni-correction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"alpha": 0.05,
"comparisons": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/bonferroni-correction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"alpha":0.05,"comparisons":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"alpha":0.05,"comparisons":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/bonferroni-correction", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"alpha": 0.05,
"comparisons": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.bonferroni_correction",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
min_comparisons | 1 |
max_comparisons | 1000000000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Le nombre de comparaisons doit être un entier positif ; les fractions, le zéro, les négatifs et le texte non numérique sont rejetés avec invalid_input plutôt qu’un arrondi silencieux ou un décompte inventé. Les appels API réussis sont facturés à $0.002 ; une entrée invalide n’est pas facturée.
Contrat d’entrée, alias et comportement d’erreur
Fournissez exactement un de ces noms pour qu’un client n’envoie pas par accident deux nombres en conflit. Après l’analyse, le moteur exige une valeur strictement supérieure à zéro et au plus égale à un. Ce contrôle est volontaire : un pourcentage brut comme cinq au lieu de zéro virgule zéro cinq est une erreur fréquente de tableur, et l’écrêter cacherait une faute d’échelle en amont. Comparisons doit être un entier positif. Le zéro, les négatifs, les fractions telles que deux virgule cinq, la notation scientifique qui n’est pas un entier et les valeurs au-dessus du plafond publié d’un milliard échouent avec un message qui nomme le champ et déclare qu’un entier positif est exigé. Tel est le contrat annoncé par la capacité : un décompte de comparaisons non entier n’est pas rabattu en silence. Envoyez par POST un corps JSON avec deux champs obligatoires. Le premier est alpha, le niveau de significativité familial d’origine ; les alias de salle et de formulaire significance, significance_level et alpha_level sont acceptés afin que tableurs et widgets saisis réutilisent le même contrat. L’alpha peut arriver comme nombre JSON ou comme chaîne numérique ; les chaînes vides, les champs manquants, le texte non numérique, NaN et Infinity échouent avec invalid_input en nommant le champ. Le second champ est comparisons, le nombre de tests simultanés m, avec les alias m, n_comparisons, num_comparisons et k. En cas de succès le corps répète l’alpha nettoyé et le décompte entier de comparaisons, renvoie adjusted_alpha comme alpha divisé par m à une précision d’affichage stable, et inclut method et formula pour les widgets pédagogiques et les panneaux latéraux de documentation. Le prix des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé et renvoient le même code invalid_input que le reste du catalogue KIT utilise pour les erreurs du client.
Où l’alpha ajusté de Bonferroni apparaît dans le travail réel
Les unités de statistique du secondaire et de l’université assignent sans cesse des exercices de comparaisons multiples, des rédactions de contrastes planifiés et des problèmes « ajustez l’alpha pour m tests » ; un oracle de confiance qui renvoie un JSON propre accélère la notation, la préparation de démonstrations et la conception de leçons interactives. Les auteurs de curriculum qui construisent des widgets de navigateur veulent la même forme JSON gratuite sur la page et payante via l’API, afin d’aligner feuilles hors ligne et correcteurs en ligne. Comme cette capacité est un moteur parse pur, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant, et une validation échouée ne consomme pas le solde.
Cas d'intégration
Fixtures de notation et contrôles de pipeline
Générez des alphas ajustés attendus et déterministes pour les tests unitaires, les correcteurs LMS et les carnets par lots qui doivent rejeter un décompte de comparaisons non entier.
Questions techniques
Quel est le niveau de significativité ajusté par Bonferroni ?
α_adj = α / m. Envoyez l’alpha familial d’origine et un entier positif de comparaisons ; l’API renvoie le seuil par test adjusted_alpha.
L’alpha 0.05 sur 10 comparaisons est-il un exemple valide ?
Oui. Ce cas classique renvoie adjusted_alpha 0.005. Une seule comparaison renvoie l’alpha d’origine inchangé.