確率分布の妥当性チェッカー
0.25が4つ並んだ一覧は、合計がちょうど1なので正しい分布と判定されます。確率の一覧を貼り付けると、正しい分布かどうか、負や1を超える項目はどれか、合計が1からどれだけずれているかがすぐに分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 確率
- 0.25, 0.25, 0.25, 0.25
- 数量
- 4
- Sum
- 1
- 合計の絶対誤差
- 0
- 許容誤差
- 0.000000001
離散確率質量関数が妥当な分布であるのは、各質量が非負であり、かつリスト全体の和が1のときだけです。学生・講師・データサイエンティスト・ゲームデザイナーは、サンプリングコード、エントロピー公式、試験の模範解答にベクトルを渡す前に、高速で決定的な検査をしばしば必要とします。この確率分布妥当性チェッカーは、有限な数値の配列と、任意で浮動小数点のずれ用の数値許容誤差を受け取り、構造化された判定を返します。リストが妥当かどうか、計算された和、和の絶対誤差、負または1超の要素のインデックス、失敗時の読みやすい理由です。空配列は空洞のfalse結果ではなく、無効な入力として拒否されます。
離散PMFが妥当である条件
確率論では、有限台の離散分布とは、質量 p0 から p(n−1) までの一覧で、各質量が0以上であり、かつすべての質量の和がちょうど1であるものを指します。この二つの公理で十分です。各質量が非負で合計が1なら、どの質量も1を超えられません。
1より大きい単一の項があれば、残りの非負項は合計超過か負値を強いられるからです。実務では診断が両方の問題を名指しできるよう、公理は分けて検査します。負の重みを許した符号エラーと、和を0.95や1.02に残した正規化バグです。
一覧を一度走査して和を累積し、負の質量のインデックスと1超の質量のインデックスを記録します。次に和と1の絶対差を、既定で1×10の−9乗の許容誤差エプシロンと比較します。単純な除算後の通常の倍精度には十分に厳しく、1/3の繰り返しのような分数の無害な二進丸めには十分に緩い設定です。
非負性と和が1であることの両試験に合格すると、応答はvalidをtrueにし、reasons配列を空にします。いずれかが失敗するとvalidはfalseとなり、reasonsはフォームやログ行の横にそのまま示せる具体的な日本語文を列挙します。本ツールはカテゴリを作らず、質量から標本を取らず、連続密度も推定しません。
送っていただいた数に対する有限PMFの公理の証明または却下だけを行います。
確率の一覧を確かめたい場面
入門統計と離散数学の授業では、生の度数を確率に正規化し、得られたベクトルが合法な分布であることを示すよう求めます。ゲームとシミュレーションのチームは、出荷前に戦利品表・サイコロ面の重み・手続き的スポーン表を検証し、反復除算で5行が0.999になる古典的なエプシロンずれを捕捉します。
ヒストグラムからカテゴリ分布を推定する機械学習特徴パイプラインは、対数尤度や交差エントロピーのコードが非負の正規化質量を前提にする前に、決定的なゲートを必要とします。品質技術者と信頼性分析者は、経験的な故障モード件数を確率ベクトルに変え、非統計家へリスクを報告する前に純粋な和と符号の検査を望みます。空または不正な入力の検証失敗は残高を消費しません。
活用例
授業と宿題の確認
学習者が候補の確率ベクトルを貼り付け、質量が非負で許容誤差内に和が1になるかを直ちに確認できるようにします。
ゲームとシミュレーションの表
出荷前に戦利品表・重み付き乱数行・スポーン分布を検証し、実行時サンプラーが負または未正規化の重みを受け取らないようにします。
MLとデータパイプライン
合法な離散PMFを前提とするエントロピー、KLダイバージェンス、サンプリングの前に、推定カテゴリヒストグラムをゲートします。
よくある質問
配列が空の場合はどうなりますか?
空リストは確率分布になり得ないため、valid falseとして返すのではなく入力を拒否します。
個々の確率は1より大きくてよいですか?
非負性と合わせると和が1の検査も通常失敗し、validはfalseになります。
確率分布妥当性チェッカーの料金は?
ブラウザツールは無料です。空配列などの無効入力は課金されません。
合計が0.999になる一覧が不合格になるのはなぜですか?
初期設定の許容誤差は10億分の1で、1000分の1のずれはそれよりはるかに大きいためです。割り算を繰り返したときによく起こるので、合計が1になるよう調整するか、許容誤差を意図して広げてください。
不合格のときは何が分かりますか?
計算した合計と1からのずれ、負の項目と1を超える項目の位置、そして不合格になった理由の短い説明が分かります。どこを直せばよいかをすぐに確認できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/pmf-validity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"probabilities":[0.25,0.25,0.25,0.25]}'const res = await fetch("https://api.kit.forhosting.com/stat/pmf-validity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"probabilities": [
0.25,
0.25,
0.25,
0.25
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/pmf-validity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"probabilities": [
0.25,
0.25,
0.25,
0.25
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/pmf-validity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"probabilities":[0.25,0.25,0.25,0.25]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"probabilities":[0.25,0.25,0.25,0.25]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/pmf-validity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"probabilities": [
0.25,
0.25,
0.25,
0.25
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.pmf_validity",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
同じ純粋解析パスが無料ブラウザツールとプリペイドAPIの両方を駆動するため、宿題用オラクルと本番パイプラインが半パーセントの丸めで食い違うことはありません。
離散PMFが妥当である条件
本チェッカーは、その教室定義を素直なJSON配列に実装します。
入力契約・応答形・空配列エラー
こうした構造的失敗はvalid falseの成功ではなく、検証エラーとして扱われます。上限1の有限非負絶対許容誤差です。省略時は既定の1×10の−9乗を使います。例:各0.25の四等分はvalid trueで和1です。例:0.5、0.5、0.1は和誤差約0.1でvalid falseです。例:0.6と−0.1は負のインデックスと悪い和で無効です。追加の統計が必要ならご自身の標本化やエントロピーコードと組み合わせてください。必須フィールドprobabilitiesとして、有限数の非空配列を含むJSON本体をPOSTしてください。各要素はJSON数値または数値文字列で構いません。非有限値、空文字、非数値トークンはインデックスを示したinvalid_inputで失敗します。空配列、欠落フィールド、トークンがゼロになる文字列は、妥当なPMFには少なくとも一つの質量が必要という明確なメッセージで拒否されます。任意でtolerance(エイリアスtol、eps、epsilon)を送り、既知の浮動小数点パイプライン向けに和が1かの試験を広げたり狭めたりできます。成功時、本体はブールのvalid、一覧長のcount、強制変換された有限数のprobabilities、安定JSON向けに整形されたsumとabs_sum_error、実際に使ったtolerance、フラグsum_equals_one・has_negative・has_above_one、配列negative_indices・above_one_indices、説明文のreasons配列、および各p_iが0以上かつ和の絶対誤差がエプシロン以下なら妥当、という公理を再掲するformula文字列を返します。本エンドポイントは分布契約の検証のみを行います。
PMF妥当性APIが役立つ場面
構造化JSONを返す信頼できるオラクルは、不透明な表計算の丸めに頼らず、採点・デモ・対話型教材の設計を速めます。公開されたサイズ上限内に一覧を保ち、自動テストで整形済み和フィールドを固定すれば、自前の統計ライブラリを立てずに宿題・LMSプラグイン・エッジワーカー向けの再現可能なPMF検査が得られます。
技術的な質問
確率配列が妥当なPMFかはどう確認しますか?
有限数の非空probabilities配列を送ってください。各質量が≥0かつ和が1の許容誤差内ならAPIはvalid trueを返し、それ以外はreasons付きでvalid falseです。
和が1かの試験はどのくらい厳しいですか?
既定では|sum − 1|は最大1e-9です。tolerance(またはtol、eps、epsilon)で1までの別の非負絶対許容誤差を指定できます。