超幾何確率
エース4枚を含む52枚のトランプから5枚引くと、エースがちょうど2枚になるのは約4%の手札です。2598960通りの手札のうち6×17296通りがそれに当たります。全体、当たり、引く数、目標を入れるだけで正確にわかります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 母集団の大きさ
- 52
- K
- 4
- N
- 5
- K
- 2
- 確率
- 0.0399298181
- 成功側係数
- 6
- 失敗側係数
- 17296
- 全体係数
- 2598960
非復元抽出はトランプ、品質管理ロット、壺モデルの日常設定です。各抽選で残りの組成が変わるため、続く試行は独立ではありません。大きさNの有限母集団にちょうどK個の成功状態があり、戻さずに一度または順にn個を取るとき、ちょうどk回の成功を観測する確率は超幾何の確率質量関数に従います。その式は、K個の良品からk個を選ぶ方法と、非成功から残りの抽選を選ぶ方法を掛け、母集団全体から大きさnの任意標本を選ぶ方法で割ります。本機能はN・K・n・kを受け取り、パラメータが合法な非復元実験と整合するかを検証し、確率に加え厳密な二項係数を小数文字列、短い式文字列、そのN・K・nに対するkの実行可能範囲を返します。母集団に存在するより多い成功を標本に求めるなどの不可能な組合せは、黙ったゼロではなく明確な検証エラーで拒否されます。
非復元での超幾何確率の仕組み
ちょうどK個が成功とラベル付けされたN個の相異なる品目の有限母集団から始めます(エース、不良、標識魚、当たり券)。大きさnの標本を非復元で取るので、抽選の順序は新しい組合せを生みません。大きさnの各部分集合は等確率です。
Xをその標本中の成功数とします。するとXは超幾何分布に従い、ちょうどk成功を観測する確率はC(K,k)×C(N−K, n−k)/C(N,n)です。各C(a,b)は組合せを数える二項係数です。
Xの台は単に0からnではなく、kはKもnも超えられず、max(0, n−(N−K))を下回れません。非成功のプールが尽きれば成功を取らざるを得ないからです。定番の確認は52枚のデッキにエース4枚、5枚引いてちょうど2エース:C(4,2)×C(48,3)/C(52,5)です。
別の教科書例は赤球8個を含む20球の壺から5個取りちょうど3赤です。端点は正しさに重要です。本実装はモンテカルロ標本、乱数シード、壁時計時刻、ネットワーク照会を使いません。
BigInt算術で厳密な二項係数を計算し、中間積が大きなNでも安定するよう数値的に安定に確率を評価します。宣言された境界はNを0から1万含むまでとし、整合するK・n・kを要求します。
現場で超幾何確率が現れる場面
入門統計と離散数学の授業は、非復元で引いた手や標本にちょうどk個の標識品がある確率を絶えず求めます。ポーカー風カード問題から、有限母集団標本を動機づける標識魚の再捕獲スケッチまでです。品質技術者は、大きさNのロットにK個の不良があり検査員がn個取るとき、ロットを受諾または却下する前にちょうどk個の不良を見つける確率が必要で、同じ質量関数を使います。
生態学者と調査設計者は、標識個体の母集団が既知で非復元標本のとき、観測された標識回収を超幾何の期待と比較します。データ科学者は、大規模抽選を信頼する前に、控えめなNで閉じた形の超幾何確率に対し標本頻度を比べ、有限壺とシャッフルのモンテカルロシミュレータを検証します。
教育者は、実行ごとに変わる乱数シミュレーションではなく単一の決定的値が必要な解答キーと自動採点器を作ります。ゲーム設計者と確率デモは、母集団組成への依存を教えるためN・K・n・kの完全制御を残しつつデッキと壺の既定をよく出します。
のちに累積分布P(X≤k)、フィッシャー正確検定表、逆分位数、復元ありの独立試行の二項オッズが必要なら、この着陆を過負荷にせず別の検索意図として扱ってください。無料枠の遅延を予測可能に保つためNは文書化された境界内に置き、浮動小数確率は順位付けと閾値に、文字列係数は組合せチェックに厳密なまま適していることを忘れないでください。
活用例
カード・壺・統計の課題
手札、壺からの抽出、教科書の超幾何問題について、決定的な解答キー付きで非復元の厳密確率を計算します。
シミュレータとモンテカルロの検証
大規模抽選を信頼する前に、控えめなNで閉じた形の超幾何PMFに対し有限母集団標本コードを検証します。
よくある質問
どの式を使いますか?
超幾何の確率質量関数:有限母集団からの非復元標本に対し P(X=k)=C(K,k)×C(N−K,n−k)/C(N,n) です。
二項のコイン投げ確率とどう違いますか?
二項(復元または独立試行)は各試行の成功確率を固定します。超幾何は有限母集団からの非復元抽選をモデル化し、各抽選で残りの組成が変わります。
パラメータが不整合だとどうなりますか?
例:K>N、n>N、k>nまたはk>K、実行可能台 max(0,n−(N−K))…min(n,K) の外のk。
二項係数は厳密ですか?
はい。 C(K,k)、C(N−K,n−k)、C(N,n)はBigIntで計算され小数文字列として返るので、対応N範囲内で各桁が厳密です。
成功の数kはどの範囲で指定できますか?
kは全体に含まれる当たりの数と引く数を超えられず、引く数から外れの数を引いた値より小さくもできません。計算機はこの範囲も示し、エース4枚で5枚引くなら0から4です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"N": 52,
"K": 4,
"n": 5,
"k": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.hypergeometric",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_N | 0 |
max_N | 10000 |
min_K | 0 |
min_n | 0 |
min_k | 0 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
非復元での超幾何確率の仕組み
nが0ならk=0だけ確率1、Kが0でnが正ならk=0だけ可能、kが実行可能区間の外ならこのモデルではパラメータ不整合です。
送るものと返ってくるもの
必須の整数4つを与えてください。N(母集団の大きさ;別名population、pop、population_size)、K(母集団中の成功数;別名successes_pop、good、marked、population_successes)、n(抽選数または標本サイズ;別名draws、sample、sample_size)、k(標本中の成功数;別名successes、observed、sample_successes)。欠落フィールド、非整数、整数が必要なのに小数、負値、K>N、n>N、k>n、k>K、実行可能な超幾何台の外のkはinvalid_inputで拒否され課金されません。エラーメッセージは問題のフィールドまたは不整合な組合せを名指しし、フォームクライアントと脚本が推測なしで直せるようにします。成功時は常に正規化されたN・K・n・k、0から1の浮動小数のprobability、C(K,k)・C(N−K,n−k)・C(N,n)の厳密小数文字列であるcoefficient_success・coefficient_failure・coefficient_total、超幾何比の短い表示文字列formula、それらのパラメータ下でkの合法な台を示すfeasible_min_kとfeasible_max_kを含みます。例:N=52,K=4,n=5,k=2はクラシックな2エース確率と5枚手の係数三つ組;N=20,K=8,n=5,k=3は標準の壺問題;N=10,K=3,n=5,k=4は母集団に3つしかないのに4成功は出ないためinvalid_input;N=50,K=60はKがNを超えるため拒否。成功したAPI呼び出しの料金は公開ベース$0.002/件で、検証失敗は前払い残高を消費しません。
現場で超幾何確率が現れる場面
本機能は純粋なparseエンジンなので、API料金は成功1件あたり公開ベース$0.002で、検証失敗は残高を消費しません。
連携の活用例
ロット検査と品質管理
大きさNのロットにK個の不良、標本n個があるとき、受諾/却下の教材例とfixture向けにP(ちょうどk個の不良)を得ます。
技術的な質問
費用はいくらですか?
ブラウザツールは無料でローカル実行です。API要求は成功1件あたり$0.002の前払いKIT残高を使い、無効入力は課金されません。