ガンマ分布の確率密度計算
ガンマ分布の確率密度計算機は、連続型のガンマ分布に従う変数について、指定した非負の点で確率密度を評価します。正の形状、正の率、xの値を入力すると、密度とその自然対数を返します。率によるパラメータ表現は、信頼性、待ち時間、保険、ベイズ推論のモデルで役立ちます。また、形状が1未満の場合の特異点を含め、xがゼロのときの挙動も正確に処理し、率を尺度と取り違えることはありません。
無料で実行
形状、率、評価点を入力します
この計算機では、2つの正のパラメータでガンマ分布を定めます。形状は曲線全体の形を制御します。1未満ではゼロの特異点から低下する曲線となり、1では指数分布になり、1を超えると密度はいったん上昇してから低下します。率は、値がゼロの近くにどの程度集中するかを決めます。尺度ではなく、率を直接入力してください。資料に尺度が示されている場合は、計算前に rate = 1 / scale で率へ変換します。最後に、密度を評価する非負の点としてxを入力します。出力は密度であり、xをちょうど観測する確率ではありません。連続分布では、厳密に1点を取る確率はゼロです。区間の確率を求めるには、密度を積分するか累積分布関数を使用する必要があります。すべての入力は有限でなければなりません。形状と率は厳密に正であり、xはゼロを取れますが負にはできません。この検証により、未定義のパラメータからもっともらしい数値が出ることを防ぎます。
数式と数値結果を理解します
xがゼロ以上の場合、f(x) = rate^shape × x^(shape - 1) × exp(-rate × x) / Gamma(shape) を使用します。各因子を直接計算すると、最終的な密度が表現可能でもオーバーフローやアンダーフローが起こる場合があります。そのため、まず対数空間で shape × log(rate) + (shape - 1) × log(x) - rate × x - logGamma(shape) を計算します。logGammaには固定されたLanczos近似を使い、最後に指数関数を適用します。返される対数密度は、非常に小さい尤度の寄与を比較するときに便利です。通常の密度がゼロへ丸められた後も、対数密度は有限に保たれる場合があります。x = 0ではlog(0)を計算せず、厳密な極限を適用します。形状が1を超える場合はゼロ、1の場合は率、1未満の場合は非有界です。非有界の値は有効なJSONを保つため“Infinity”という文字列で表し、明示的なフラグも返します。
密度の値を適切に利用します
確率密度は、分布が狭い範囲に強く集中している場合などに1を超えることがありますが、確率の規則には反しません。1でなければならないのは、台全体にわたる曲線下の総面積です。この結果は、尤度の評価、候補パラメータの比較、当てはめたモデルの確認、描画用の点の生成に利用できます。密度そのものを百分率や、変数がちょうどxになる確率として解釈しないでください。多数の観測の密度を掛け合わせる場合は、返された対数密度を加算します。これにより数値アンダーフローを抑え、一般的な最尤法の処理にも一致します。統計ライブラリによって率と尺度のどちらを使うかが異なるため、パラメータ表現には注意が必要です。この計算機は常に率を使用し、scale = 1 / rate の関係があります。論文、表計算、ソフトウェアと結果を比べる前に、その規約をご確認ください。結果はJavaScriptの倍精度演算と決定論的近似を用いており、通常の統計計算には適しますが、極端な科学的範囲や正式な数値認証には任意精度ソフトウェアが必要です。
活用例
待ち時間モデルを評価します
待ち時間を形状と率が既知のガンマ分布で表すとき、特定の時間における密度を求めます。
対数尤度を構築します
パラメータ推定やモデル比較における安定した1項として、返された対数密度を使用します。
統計ソフトウェアを確認します
率と尺度の規約を明示したうえで、ガンマ分布の密度値を照合します。
よくある質問
ガンマ分布の密度値は何を表しますか?
xにおける確率密度曲線の高さであり、その値を厳密に観測する確率ではありません。
率と尺度のどちらを使用しますか?
率を使用します。尺度が与えられている場合は、計算前にその逆数へ変換してください。
密度が1を超えてもよいのはなぜですか?
密度はxの単位当たりの高さであり、単独の確率ではないためです。曲線下の総面積は1です。
xがゼロの場合はどうなりますか?
形状が1より大きければゼロ、1なら率、1より小さければ非有界になります。
対数密度も返すのはなぜですか?
非常に小さい尤度を加算で組み合わせられ、多くのアンダーフロー問題を避けられるためです。
APIでの計算料金はいくらですか?
APIリクエスト1回につき$0.002です。ブラウザー計算機では、このページ上で同じ決定論的処理を実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/gamma-pdf \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shape":3.5,"rate":2,"x":1.25}'const res = await fetch("https://api.kit.forhosting.com/stat/gamma-pdf", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shape": 3.5,
"rate": 2,
"x": 1.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/gamma-pdf",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shape": 3.5,
"rate": 2,
"x": 1.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/gamma-pdf", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shape":3.5,"rate":2,"x":1.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shape":3.5,"rate":2,"x":1.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/gamma-pdf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"shape": 3.5,
"rate": 2,
"x": 1.25
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.gamma_pdf",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |