ベンフォードの法則
ベンフォードの法則では、先頭が1の数値は約30.103パーセントあるのに、9は約4.576パーセントしかありません。先頭の数字を選ぶと期待される割合が分かり、手元の集計と比べる理論上の基準になります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 桁の数字
- 1
- パーセンテージ
- 30.1029995664
- 確率
- 0.3010299957
ベンフォードの法則は、自然界に現れる多くの数値の集まりに見られる規則です。先頭の有効桁は9より1の方がはるかに多い、というものです。桁dの期待割合は、1に1/dを足した値の常用対数で、P(d) = log10(1 + 1/d)と書きます。このベンフォードの法則計算機は、1から9までの先頭桁を1つ受け取り、その期待頻度を百分率で返し、単位区間上の確率と教科書どおりの数式文字列も添えます。桁0は先頭桁ではないため拒否され、分数や1から9の閉区間の外の値も同様です。
ベンフォードの法則が述べることと期待頻度の求め方
Simon Newcombは1881年、対数表の先頭ページが後ろのページより擦り減っていることに気づき、Frank Benfordは後に同じ先頭桁の法則をより広い経験表で発表しました。数学的な主張は単純です。
正の数が対数スケール上のどこにでも等しくあり得るなら、仮数は対数空間で一様に分布し、先頭桁がdである確率は、そのスケール上でdからd+1までの区間の幅になります。その幅が log10(1 + 1/d) です。dが1のとき区間は1から2までで、十進の約30.103パーセントを占めます。
dが9のとき9から10までの区間は約4.576パーセントしか占めません。これら9個の確率の和は1になり、教室での検算に使えます。法則は尺度不変です。 観測値をすべて定数倍しても(通貨・単位・報告尺度を変えても)先頭桁の予測割合は変わりません。
対数空間での定数シフトは、対数の小数部が等しくあり得るまま残すからです。データが何桁にもまたがり、乗法的な過程から生じるときにも現れやすいです。人口、河川長、住所、物理定数、多くの会計元帳が典型です。
割り当て識別子、狭い範囲の測定、くじ、線形スケールで一様な系列には当てはまりません。この端点はデータ集合を法則に照らして検定しません。要求された1桁について閉形式の期待頻度を評価するので、表を作り、宿題を採点し、観測割合を理論棒と比べるときに、その都度対数を導き直す必要がありません。
入力できる数字と結果の見方
1から9の整数を1つ指定してください。成功時の本体は解析済みの桁、百分率として100倍した log10(1 + 1/d)、単位区間上の同じ量としての probability、数式文字列 P(d) = log10(1 + 1/d) を返します。値は安定した有効数字12桁へ丸められるので、自動検査は実行環境をまたいでバイト単位で一致します。
古典的な確認例は次のとおりです。桁1は百分率およそ30.103、確率およそ0.30103。桁2は約17.609パーセント。
桁9は約4.576パーセント。対話授業には無料のブラウザフォームを配線し、監査ブックや採点器向けに1から9の全表が必要なときは、同じ契約をスクリプトから呼び出してください。検証失敗は前払い残高を消費しません。
期待頻度が役立つ場面
統計と鑑識会計の授業では、先頭桁の公式を書き、9つの期待百分率を暗記から述べさせることが絶えません。内部監査とデータ品質のチームは、観測した先頭桁ヒストグラムをこれらの理論棒と照合します。これはスクリーニング信号であり、不正の判決ではありません。
大きなずれは、捏造数字、打ち切られた範囲、二つの過程の混合、あるいは法則に向かないデータ集合を意味し得ます。選挙や政治資金の研究者、報道、オープンデータの分析者は、先頭桁の図を公表し比較線の出典が必要なときに、同じ期待頻度を使います。後から全標本に対するカイ二乗適合度が必要なら、この1桁の期待頻度ページを過負荷にせず、別の検索意図として扱ってください。
活用例
教室でのベンフォード演習
学習者は1から9の桁を送り、期待百分率を手計算の100×log10(1 + 1/d)と照合します。
監査と元帳のスクリーニング表
請求書・仕訳・公開帳簿を見直すとき、観測対期待の図のために先頭桁の理論棒9本を組み立てます。
採点フィクスチャとノート
観測割合をベンフォードの法則と比べる単体テスト、LMS採点器、研究ノートに、決定的な期待頻度を固定します。
よくある質問
先頭桁に対するベンフォードの法則の公式は何ですか?
整数桁 d が1から9のとき P(d) = log10(1 + 1/d) です。この計算機はその値を百分率と単位区間上の確率で返します。
応答には何が含まれますか?
エコーした桁、percentage(ベンフォード確率の100倍)、[0, 1] 上の probability、数式文字列 P(d) = log10(1 + 1/d) です。
データ集合がベンフォードの法則に従うかを検定しますか?
いいえ。 1桁の理論的な期待頻度だけを返します。観測割合とこれらの棒の比較は、別の適合度手続きで行ってください。
ベンフォードの法則はどんなデータにも当てはまりますか?
いいえ。人口や川の長さのように、何桁にもわたり掛け算的に増えるデータに現れやすい性質です。割り当てられた番号、範囲の狭い測定値、宝くじの当選番号などには当てはまりません。
なぜ0は先頭の数字として入力できないのですか?
0は先頭の有効数字にならないためです。受け付けるのは1から9までの整数だけで、小数やこの範囲外の値も入力できません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/benfords-law \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"digit":1}'const res = await fetch("https://api.kit.forhosting.com/stat/benfords-law", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"digit": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/benfords-law",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"digit": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/benfords-law", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"digit":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"digit":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/benfords-law", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"digit": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.benfords_law",
"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経路を動かすので、監査ノート、試験の正答、鑑識スクリプトが先頭の1の古典的な30.1パーセントで食い違うことはありません。成功したAPI呼び出しは公開ベース料金$0.002で課金され、不正な入力は課金されません。
入力契約、応答フィールド、検証エラー
必須フィールド digit を持つJSON本体をPOSTするか、短い別名 d または leading_digit を使います。JSON数値と整数文字列を受け付けるので、フォームはクライアント側の型変換なしにテキスト欄を送れます。フィールド欠落、空、非数値、1.5のような分数、ゼロ、十、あるいは1から9の外は、digit が1から9の整数でなければならないというメッセージ付きの invalid_input で失敗します。これらの失敗は課金されません。9本の理論棒は標本からの推定ではなく決定的な定数なので、同じ桁を送った呼び出しは常に同じJSONを受け取ります。成功したAPI呼び出しの料金は公開ベース$0.002/件です。
ベンフォード期待頻度APIが役立つ場面
整形済みJSONを返す信頼できる神託は、採点・デモ準備・対話型授業の設計を速め、誰かが自然対数と間違えて打った表計算の対数を避けられます。本能力は純粋なparseエンジンのため、成功呼び出しはモデルトークンも外向きネットワークもなく公開ベース料金$0.002のみで、検証失敗は残高を消費しません。リクエストを小さく保ち、丸めた百分率をテストに固定すれば、自前の統計ライブラリを立てずに宿題・LMSプラグイン・エッジワーカー向けの再現可能な答えが得られます。
技術的な質問
桁0が拒否されるのはなぜですか。
先頭の有効桁は0になり得ません。ベンフォードの先頭桁の法則は d = 1, 2, …, 9 にだけ定義されます。要求は invalid_input で失敗し、課金されません。
ベンフォードの法則計算機の料金はいくらですか。
ブラウザツールは無料で端末内で動きます。API要求は成功1件あたり $0.002 の前払いKIT残高を使い、不正な入力は課金しません。