Loi hypergéométrique
Calculez la probabilité de tirer un nombre exact d'éléments marqués sans rien remettre : dans une urne de 10 boules dont 4 rouges, en tirer 3 donne exactement une rouge avec une probabilité d'un demi. Valable pour les cartes, les lots défectueux et les poissons marqués. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Population
- 10
- Succès
- 4
- Tirages
- 3
- K
- 1
- Probabilité
- 0,5
- Moyenne
- 1,2
- Variance
- 0,56
La loi hypergéométrique décrit combien d'éléments marqués vous observez lorsque vous tirez un échantillon de taille fixe sans jamais remettre quoi que ce soit. Une population finie de taille N contient exactement K états de succès ; vous effectuez n tirages ; X est le nombre de succès dans cet échantillon. Contrairement à un modèle binomial, chaque tirage modifie le mélange restant, de sorte que les essais successifs sont dépendants. Ce calculateur évalue la masse de probabilité P(X = k) à partir de ces quatre entiers, via le rapport combinatoire C(K, k) fois C(N moins K, n moins k) sur C(N, n).
Comment la loi hypergéométrique fonctionne sans remise
Parte d'une population finie de N éléments distincts dont exactement K sont étiquetés succès : as d'un jeu, défectueux d'un lot, poissons marqués d'un lac ou billets gagnants d'une urne. Vous tirez un échantillon de taille n sans remise, de sorte que chaque sous-ensemble de taille n est équiprobable et que l'ordre des tirages ne crée pas de combinaisons supplémentaires. Soit X le nombre de succès dans cet échantillon.
Alors X suit une loi hypergéométrique, et la probabilité d'observer exactement k succès est la combinaison C(K, k) multipliée par la combinaison C(N moins K, n moins k), divisée par la combinaison C(N, n). Le support de X n'est pas simplement de zéro à n : k ne peut dépasser ni K ni n, et ne peut tomber sous max(0, n moins (N moins K)), car vous pouvez être forcé de prendre quelques succès une fois le réservoir de non-succès épuisé.
Une vérification de cours claire est une urne de dix boules dont quatre rouges, en tirant trois et en demandant exactement une rouge : C(4, 1) fois C(6, 2) sur C(10, 3) vaut un demi. Un autre cas de manuel est un jeu de cinquante-deux cartes avec quatre as, en tirant cinq cartes et en demandant exactement deux as.
Cette implémentation n'utilise jamais d'échantillonnage de Monte Carlo, de graines aléatoires, d'horloge murale ni de requêtes réseau : elle évalue la masse en espace logarithmique pour que les produits intermédiaires restent sages pour un N plus grand, et renvoie aussi l'espérance en forme fermée n fois K sur N ainsi que la variance de population finie.
Contrat d'entrée, champs de réponse et l'erreur k face aux tirages
Les chaînes d'entiers numériques sont acceptées afin que les widgets de formulaire puissent envoyer des champs texte sans conversion côté client. La population doit se situer entre zéro et dix mille inclus. Les succès et les tirages doivent être non négatifs et ne peuvent pas dépasser la population.
Les champs manquants, non entiers, décimaux là où des entiers sont exigés, et les négatifs échouent de la même façon et ne sont pas facturés. Contrôles d'exemple : population dix, succès quatre, tirages trois, k un donne la probabilité un demi ; un jeu de cinquante-deux cartes avec quatre as, cinq cartes et deux as donne la masse classique de deux as.
Où un calculateur de loi hypergéométrique justifie son usage
Les cours d'introduction à la statistique et aux mathématiques discrètes demandent sans cesse la chance d'obtenir exactement k éléments marqués dans une main ou un échantillon tiré sans remise, des problèmes de cartes façon poker aux croquis de recapture de poissons marqués qui motivent l'échantillonnage de populations finies. Les ingénieurs qualité utilisent la même fonction de masse lorsqu'un lot de taille N contient K défectueux et qu'un inspecteur tire n unités, ayant besoin de la probabilité de trouver exactement k pièces mauvaises avant d'accepter ou de refuser le lot.
Les écologues et les concepteurs d'enquêtes comparent les reprises de marques observées aux espérances hypergéométriques lorsque le décompte marqué est connu et que l'échantillonnage se fait sans remise. Les data scientists valident des simulateurs de Monte Carlo d'urnes finies et de battages en comparant les fréquences échantillonnées à la masse en forme fermée pour un N modeste avant d'étendre les simulations. Les enseignants construisent des corrigés et des correcteurs automatiques qui ont besoin d'une seule valeur déterministe plutôt que d'une simulation aléatoire qui changerait d'une exécution à l'autre.
Si vous avez ensuite besoin d'une queue gauche cumulée, des tables du test exact de Fisher, de quantiles inverses ou d'odds binomiaux d'essais indépendants avec remise, traitez-les comme des intentions de recherche distinctes plutôt que de surcharger cette page. Gardez N dans la borne documentée pour que la latence du niveau gratuit reste prévisible, et souvenez-vous que la probabilité en virgule flottante convient au classement et aux seuils tandis que mean et variance décrivent le reste de la loi.
Cas d’usage
Cartes, urnes et devoirs de statistique
Calculez des probabilités exactes sans remise pour des mains, des tirages d'urne et des problèmes hypergéométriques de manuel, avec des corrigés déterministes.
Contrôles de simulateur et Monte Carlo
Validez un code d'échantillonnage de populations finies contre la FMP hypergéométrique en forme fermée pour un N modeste avant de faire confiance à de grands tirages.
Questions fréquentes
Quelle formule utilise la loi hypergéométrique ?
La fonction de masse de probabilité P(X=k) = C(K,k) × C(N−K, n−k) / C(N,n), pour un échantillonnage sans remise dans une population finie de taille N avec K états de succès.
Que se passe-t-il si k dépasse le nombre de tirages ?
Vous ne pouvez pas observer plus de succès que d'éléments tirés, aussi la requête est rejetée et n'est pas facturée.
En quoi cela diffère-t-il d'une loi binomiale ?
La binomiale modélise des essais indépendants avec une chance de succès fixe (avec remise, ou une population infinie). La loi hypergéométrique modélise des tirages sans remise dans une population finie, de sorte que chaque tirage change le mélange restant.
Quels quatre nombres dois-je envoyer ?
Envoyez population (N), les succès dans la population (K), draws (n) et les succès observés k. Les chaînes d'entiers sont acceptées. Succès et tirages ne peuvent pas dépasser la population.
Pourquoi k ne peut-il pas prendre n'importe quelle valeur entre zéro et le nombre de tirages ?
Parce que k ne peut dépasser ni les succès de la population ni les tirages, et ne peut descendre sous les tirages moins les non-succès. Une fois les éléments non marqués épuisés, chaque tirage supplémentaire est forcément un succès.
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/hypergeometric-distribution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"population":10,"successes":4,"draws":3,"k":1}'const res = await fetch("https://api.kit.forhosting.com/stat/hypergeometric-distribution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"population": 10,
"successes": 4,
"draws": 3,
"k": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/hypergeometric-distribution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"population": 10,
"successes": 4,
"draws": 3,
"k": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/hypergeometric-distribution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"population":10,"successes":4,"draws":3,"k":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"population":10,"successes":4,"draws":3,"k":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/hypergeometric-distribution", 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
{
"population": 10,
"successes": 4,
"draws": 3,
"k": 1
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.hypergeometric_distribution",
"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_population | 0 |
max_population | 10000 |
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
Les requêtes qui demandent plus de succès observés que de tirages sont rejetées avec invalid_input au lieu d'un zéro silencieux.
Contrat d'entrée, champs de réponse et l'erreur k face aux tirages
Envoyez un corps JSON avec quatre entiers obligatoires : population (alias population_size, N ou pop), successes (alias success_count, K ou marked), draws (alias n, sample ou sample_size) et k (alias observed ou sample_successes). Le décompte observé k doit être un entier non négatif et ne doit pas dépasser le nombre de tirages : demander quatre succès dans un échantillon de trois n'est pas une expérience hypergéométrique licite, aussi le gestionnaire rejette la requête avec invalid_input en nommant cette règle. En cas de succès le corps répète les quatre entiers normalisés, renvoie probability comme un double IEEE entre zéro et un, inclut mean et variance de la loi hypergéométrique pour ces paramètres, et fournit formula comme la chaîne P(X=k) égale à C(K,k) fois C(N moins K, n moins k) sur C(N,n). Le tarif des appels API réussis est la base publiée de $0.002 par élément ; l'outil du navigateur reste gratuit.
Où un calculateur de loi hypergéométrique justifie son usage
Les concepteurs de jeux et les démonstrations de probabilité exposent souvent des valeurs par défaut de jeu et d'urne tout en laissant le contrôle total de population, successes, draws et k pour enseigner la dépendance à la composition de la population. Comme cette capacité est un moteur parse pur, le tarif API est la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas de solde.
Cas d'intégration
Inspection de lots et contrôle qualité
Étant donné un lot de taille N avec K défectueux et un échantillon de n unités, obtenez P(exactement k défectueux) pour des exemples d'acceptation ou de refus et pour des fixtures.
Questions techniques
Que coûte le calculateur de la loi hypergéométrique ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.