負の二項分布の平均・分散計算機
この計算機は、所定の成功回数に達するまでに発生する失敗回数について、負の二項分布の平均と分散を求めます。必要成功回数 r と、独立した各試行で一定となる成功確率 p を入力してください。r 回目の成功より前の失敗を数える一般的な定義に基づき、期待失敗回数と分散を直ちに返します。確率の学習、信頼性の計画、反復試行を伴う業務の検討に利用できます。
無料で実行
負の二項分布の定義を確認します
負の二項分布という名称は、互いに関連する2種類の確率変数に使われるため、最初に定義を確認する必要があります。この計算機が数えるのは、r 回目の成功より前に観測される失敗の回数です。最初の r 回がすべて成功すれば、失敗がゼロのまま終了することもあります。教科書やソフトウェアによっては、r 回目の成功までに必要な総試行回数を数えます。その変数は失敗回数よりちょうど r 大きいため、平均には r が加わりますが、分散は変わりません。r には正の整数を、p にはゼロより大きく1以下の小数を入力してください。たとえば成功確率40パーセントは 0.4 とします。このモデルは、各試行が独立し、p が常に同じであることを前提とします。難易度が変化する場合や、前の結果が後の試行に影響する場合には適しません。p がゼロなら正の成功目標に到達できず有限の平均と分散が存在しないため、入力を受け付けません。
平均と分散の計算を理解します
失敗回数を数える定義では、平均は r に1から p を引いた値を掛け、p で割ります。分散は r に1から p を引いた値を掛け、p の2乗で割ります。平均は、過程全体を何度も繰り返したときの長期的な失敗回数の平均であり、1回の実行結果を予言する値ではありません。分散は平均の周囲への広がりを失敗回数の2乗単位で示します。p が1に近づくと両方の値はゼロに近づき、p が1ならすべての試行が成功するため、どちらも正確にゼロです。p がゼロに近づくほど失敗が増え、特に分母に p の2乗を含む分散は急速に大きくなります。確認の目安として、どちらも負にはならず、分散は平均以上になります。後続計算では十分な精度を保ち、表示時にだけ丸めることをお勧めします。
適切な過程に結果を利用します
一定回数の成功を得るまで続ける独立したベルヌーイ試行に利用してください。サポート部門なら必要な成功連絡までの不成立回数、検査室なら合格品を必要数得るまでの不合格品、通信分野なら必要な配信成功までの送信失敗をモデル化できます。r は事前に固定し、p は試行ごとに一定でなければなりません。平均は失敗量、人員、予備容量、廃棄量の見積もりに役立ち、分散は不確実性を表します。ただし、分散は信頼区間でも、しきい値を超える確率でもありません。この機能は点確率、累積確率、分位点、観測データからの母数推定を計算せず、独立性や p の一定性も検定しません。非復元抽出、互いに依存する試行、対象ごとに異なる成功確率には、別のモデルが適する場合があります。
活用例
反復試行を計画する
固定した成功目標に達するまでの平均失敗回数と、そのばらつきを見積もります。
確率の課題を確認する
失敗回数を数える定義を明示しながら、負の二項分布のモーメントを検算します。
工程の廃棄量を見積もる
成功確率が一定のとき、必要な合格数を得るまでに予想される不合格数を把握します。
よくある質問
どの公式を使用しますか?
r 回目の成功前の失敗について、平均 = r × (1 − p) / p、分散 = r × (1 − p) / p² を使用します。
失敗回数と総試行回数のどちらを数えますか?
r 回目の成功前の失敗回数を数えます。総試行回数の平均を求めるには、返された平均に r を加えてください。分散は同じです。
p がゼロの場合にエラーになるのはなぜですか?
p がゼロでは成功が不可能であり、正の目標 r に到達せず、有限の平均と分散が存在しないためです。
p は1でもよいですか?
はい。すべての試行が成功するため、r 回目の成功前に失敗はなく、両方の結果がゼロになります。
r は整数でなければなりませんか?
はい。必要な成功回数を表すため、正の整数である必要があります。
API での計算料金はいくらですか?
API リクエスト1回の料金は $0.002 です。ブラウザー計算機は API リクエストなしで動作します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/negative-binomial-mean-variance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":5,"p":0.4}'const res = await fetch("https://api.kit.forhosting.com/stat/negative-binomial-mean-variance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 5,
"p": 0.4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/negative-binomial-mean-variance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 5,
"p": 0.4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/negative-binomial-mean-variance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":5,"p":0.4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":5,"p":0.4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/negative-binomial-mean-variance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"r": 5,
"p": 0.4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.negative_binomial_mean_variance",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |