Prob. hypergéométrique
En tirant 5 cartes d’un jeu de 52 qui compte 4 as, on obtient exactement 2 as dans près de 4 % des mains : 6 fois 17296 des 2598960 mains possibles. Saisissez population, succès, tirages et cible pour la valeur exacte. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taille de la population
- 52
- K
- 4
- N
- 5
- K
- 2
- Probabilité
- 0,0399298181
- Coefficient de succès
- 6
- Coefficient d'échec
- 17296
- Coefficient total (global)
- 2598960
L'échantillonnage sans remise est le cadre quotidien des cartes, des lots de contrôle qualité et des modèles d'urne : chaque tirage change la composition de ce qui reste, de sorte que les essais successifs ne sont pas indépendants. Lorsqu'une population finie de taille N contient exactement K états de succès et que vous tirez n éléments d'un coup ou en séquence sans les remettre, la chance d'observer exactement k succès suit la fonction de masse de probabilité hypergéométrique. Cette formule multiplie les façons de choisir k succès parmi les K bons par les façons de choisir le reste des tirages parmi les non-succès, puis divise par les façons de choisir tout échantillon de taille n dans toute la population. Cette capacité accepte N, K, n et k, valide que les paramètres sont cohérents avec une expérience légale sans remise, et renvoie la probabilité ainsi que des coefficients binomiaux exacts sous forme de chaînes décimales, une courte chaîne de formule et l'intervalle réalisable de k pour ces N, K et n. Les combinaisons impossibles, comme plus de succès dans l'échantillon qu'il n'en existe dans la population, sont rejetées avec une erreur de validation claire au lieu d'un zéro silencieux.
Comment fonctionne la probabilité hypergéométrique sans remise
Partez d'une population finie de N éléments distincts dont exactement K sont étiquetés succès (as, défectueux, poissons marqués, billets gagnants). Vous tirez un échantillon de taille n sans remise, de sorte que l'ordre des tirages ne crée pas de nouvelles combinaisons : chaque sous-ensemble de taille n est également probable. 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 C(K, k) multiplié par C(N moins K, n moins k) divisé par C(N, n), où chaque C(a, b) est un coefficient binomial comptant les combinaisons. Le support de X n'est pas simplement de zéro à n : k ne peut dépasser ni K ni n, et ne peut descendre sous max(0, n moins (N moins K)), car vous pouvez être forcé de prendre certains succès une fois le réservoir de non-succès épuisé.
Les contrôles classiques incluent un jeu de 52 cartes avec quatre as, en tirant cinq cartes et en demandant exactement deux as : C(4, 2) multiplié par C(48, 3) sur C(52, 5). Un autre cas de manuel est une urne avec vingt boules dont huit sont rouges, en tirant cinq et en demandant exactement trois rouges.
Les cas limites comptent pour la correction : si n est zéro alors seul k égal à zéro a probabilité un ; si K est zéro alors seul k égal à zéro est possible lorsque n est positif ; si k sort de l'intervalle réalisable les paramètres sont inconsistants pour ce modèle.
Cette implémentation n'utilise jamais d'échantillonnage Monte Carlo, de graines aléatoires, d'horloge murale ni de requêtes réseau : elle calcule des coefficients binomiaux exacts avec l'arithmétique BigInt et évalue la probabilité de façon numériquement stable pour que les produits intermédiaires restent bien conditionnés pour de plus grands N.
Où les probabilités hypergéométriques apparaissent dans le travail réel
Les cours d'introduction à la statistique et aux mathématiques discrètes demandent constamment la chance d'exactement k éléments marqués dans une main ou un échantillon tiré sans remise, des problèmes de cartes style 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 rejeter le lot.
Écologues et concepteurs d'enquêtes comparent les récupérations de marques observées aux attentes hypergéométriques lorsque la population d'individus marqués est connue et que l'échantillonnage est sans remise. Les data scientists valident des simulateurs Monte Carlo d'urnes finies et de battages de cartes en comparant les fréquences échantillonnées à la probabilité hypergéométrique sous forme fermée pour de modestes N avant d'élargir les simulations. Les enseignants construisent des corrigés et des auto-correcteurs 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.
Concepteurs de jeux et démos de probabilité exposent souvent des valeurs par défaut de jeu et d'urne tout en permettant le contrôle total de N, K, n et k pour enseigner la dépendance à la composition de la population. Si vous avez ensuite besoin de la distribution cumulée P(X inférieur ou égal à k), 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 rappelez-vous que la probabilité flottante est idéale pour le classement et les seuils tandis que les coefficients en chaîne restent exacts pour les contrôles combinatoires.
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 simulateurs et Monte Carlo
Validez le code d'échantillonnage de populations finies contre la f.m.p. hypergéométrique sous forme fermée pour de modestes N avant de faire confiance à des tirages à grande échelle.
Questions fréquentes
Quelle formule cet outil utilise-t-il ?
La fonction de masse de probabilité hypergéométrique : P(X=k) = C(K,k) × C(N−K, n−k) / C(N,n), pour l'échantillonnage sans remise d'une population finie.
En quoi cela diffère-t-il de la probabilité binomiale de pile ou face ?
La binomiale (avec remise ou essais indépendants) garde la chance de succès fixe à chaque essai. L'hypergéométrique modélise des tirages sans remise d'une population finie, donc chaque tirage change la composition restante.
Que se passe-t-il si les paramètres sont inconsistants ?
Exemples : K supérieur à N, n supérieur à N, k supérieur à n ou K, ou k hors du support réalisable max(0, n−(N−K))…min(n, K).
Les coefficients binomiaux sont-ils exacts ?
Oui. C(K,k), C(N−K, n−k) et C(N,n) sont calculés avec BigInt et renvoyés comme chaînes décimales pour que chaque chiffre soit exact dans la plage de N prise en charge.
Combien cela coûte-t-il ?
L'outil navigateur est gratuit et s'exécute en local.
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/prob/hypergeometric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"N":52,"K":4,"n":5,"k":2}'const res = await fetch("https://api.kit.forhosting.com/prob/hypergeometric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"N": 52,
"K": 4,
"n": 5,
"k": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/prob/hypergeometric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"N": 52,
"K": 4,
"n": 5,
"k": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/prob/hypergeometric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"N":52,"K":4,"n":5,"k":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"N":52,"K":4,"n":5,"k":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/prob/hypergeometric", 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
{
"N": 52,
"K": 4,
"n": 5,
"k": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.hypergeometric",
"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_N | 0 |
max_N | 10000 |
min_K | 0 |
min_n | 0 |
min_k | 0 |
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
Ce que vous envoyez et ce que vous recevez
Les messages d'erreur nomment le champ fautif ou la combinaison inconsistante pour que clients de formulaire et scripts corrigent la requête sans deviner. Fournissez quatre entiers obligatoires : N (taille de la population ; alias population, pop ou population_size), K (succès dans la population ; alias successes_pop, good, marked ou population_successes), n (tirages ou taille d'échantillon ; alias draws, sample ou sample_size), et k (succès dans l'échantillon ; alias successes, observed ou sample_successes). Les champs manquants, non entiers, décimaux là où des entiers sont requis, valeurs négatives, K supérieur à N, n supérieur à N, k supérieur à n, k supérieur à K, et tout k hors du support hypergéométrique réalisable sont rejetés avec invalid_input et ne sont pas facturés. En cas de succès la réponse inclut toujours le N, K, n et k normalisés ; probability comme nombre flottant de zéro à un ; coefficient_success, coefficient_failure et coefficient_total comme chaînes décimales exactes de C(K, k), C(N moins K, n moins k) et C(N, n) ; formula comme courte chaîne d'affichage du rapport hypergéométrique ; et feasible_min_k plus feasible_max_k décrivant le support légal de k sous ces paramètres. Contrôles d'exemple : N égal à 52, K égal à 4, n égal à 5, k égal à 2 donne la probabilité classique de deux as et le triple de coefficients d'une main de cinq cartes ; N égal à 20, K égal à 8, n égal à 5, k égal à 3 donne un problème d'urne standard ; N égal à 10, K égal à 3, n égal à 5, k égal à 4 donne invalid_input car quatre succès ne peuvent apparaître quand seuls trois existent dans la population ; N égal à 50, K égal à 60 est rejeté car K dépasse N. Le tarif 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é.
Où les probabilités hypergéométriques apparaissent dans le travail réel
Comme cette capacité est un moteur de 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 le 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'enseignement accepter/rejeter et des fixtures.