幾何分布の累積確率計算
幾何分布の累積確率は、決められた回数以内に最初の成功が起こる可能性を求める実用的な問いに答えます。独立した1回の試行における成功確率pと、正の整数である試行回数の上限kを入力してください。この計算機は、1回目からk回目までに少なくとも1回成功する確率を返します。試行をシミュレーションせず正確な式を評価するため、同じ入力からは常に同じ結果が得られます。範囲外の確率や1未満の試行回数は、明確なエラーとして拒否されます。
無料で実行
幾何分布の累積分布関数が表すもの
幾何分布は、それぞれの成功確率が同じ独立な試行を繰り返し、最初の成功までを観測する状況をモデル化します。この計算機では、最初の成功までに行う試行回数という定義を採用するため、確率変数Xは1から始まります。kにおける累積分布関数は、Xがk以下となる確率です。日常的な表現では、最初のk回の試行以内に成功する可能性を意味します。補事象から考えると分かりやすくなります。k回以内に目標を達成できないとは、k回すべてに失敗することです。1回の試行が確率pで成功するなら、失敗確率は1引くpです。各試行が独立なので、k回連続で失敗する確率は、1引くpのk乗になります。この値を1から引くと、求める累積確率が得られます。出力には、このCDFと、すべて失敗する残りの確率の両方が含まれます。通常の浮動小数点の丸めを除けば、両者の合計は1です。これは、最初の成功がちょうどk回目に起こる確率とは異なります。後者は累積確率ではなく、確率質量です。用途に応じて両者を混同しないようご注意ください。
pとkの入力方法および結果の読み方
pには、0より大きく1以下の数値を指定してください。小数確率はそのままの尺度で入力します。成功確率が二十五パーセントの場合は25ではなく0.25と入力してください。確率1は有効で、最初の試行が必ず成功することを示します。成功が起こり得ない場合、幾何分布の待ち時間は定義できないため、確率0は拒否されます。kには、1から始まる整数の試行回数を指定してください。分数、0、負の数は、離散的な試行番号として扱えないため拒否されます。cdfとprobabilityの両フィールドは、指定した上限までに成功する確率を示します。failure_probabilityは、k回の試行がすべて失敗する補完的な確率です。percentは表示に便利であり、後続の計算には数値フィールドの使用が適しています。たとえばpが0.25、kが4の場合、4回の独立した機会の中で1回以上成功する可能性を測定します。成功確率を途中で停止して再設定するという仮定は置かず、成功回数の期待合計を数える計算でもありません。
前提条件、数値上の特性、実用的な利用法
このモデルは、試行が十分に独立しており、成功確率が一定に保たれる場合にのみ使用してください。ある試行が次の試行に影響する場合、標本を戻さずに取り出す場合、またはpが時間とともに変化する場合、単純な幾何分布のCDFでは過程を適切に表せないことがあります。固定回数の試行における複数回の成功を扱う問いには、通常は二項分布が適しています。この実装では、特にpが非常に小さいときの数値安定性を高めるため、対数関数と指数関数を用いて補事象を計算します。これにより、1に極めて近い累乗値を直接1から引く際に生じる精度低下の多くを避けられます。ただし、標準的な有限精度の演算であるため、0または1に極端に近い値は、表現可能な最も近い数値として表示される場合があります。計算は決定論的で、ネットワーク通信やランダムなシミュレーションを使用しません。再試行回数の設定、独立した営業接触による成約可能性の推定、検査計画、教科書の演習説明などに利用できます。kを変えて機会の追加効果を比較できますが、重要な判断に用いる前に、独立性と一定確率の前提が妥当かご確認ください。
活用例
再試行回数の上限を設定
再試行の上限に達する前に、独立した要求が少なくとも1回成功する確率を推定します。
反復検査を計画
選択した回数の独立した検査以内に、対象事象を検出できる可能性を計算します。
累積確率を説明
k回目までに成功する確率と、最初の成功がちょうどk回目に起こる別の確率を比較します。
よくある質問
この計算機はどの式を使用しますか?
成功確率pが一定の独立試行について、P(X <= k) = 1 - (1 - p)^kを使用します。
pは小数とパーセントのどちらで入力しますか?
0より大きく1以下の小数確率を入力してください。たとえば二十パーセントは0.2です。
kは何を表しますか?
kは正の整数で表す試行回数の上限であり、結果には1回目からk回目までが含まれます。
k回目ちょうどに成功する確率が返されますか?
いいえ。最初の成功がk回目以前に起こる累積確率を返します。
APIリクエストの料金はいくらですか?
成功したAPIリクエストの料金は$0.002です。同じ決定論的計算をブラウザーでは無料で実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/geometric-cdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p":0.25,"k":4}'const res = await fetch("https://api.kit.forhosting.com/stat/geometric-cdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p": 0.25,
"k": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/geometric-cdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p": 0.25,
"k": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/geometric-cdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p":0.25,"k":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p":0.25,"k":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/geometric-cdf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"p": 0.25,
"k": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.geometric_cdf",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |