パーセンタイルからZスコアを計算
このパーセンタイル・Zスコア計算機は、入力されたパーセンタイルと累積確率が一致する標準正規分布上の値を求めます。ゼロより大きく百より小さいパーセンタイルを指定すると、対応する確率とZスコアが返されます。正規分布の境界値の解釈、統計表の確認、片側しきい値の設定、パーセンタイルから平均に対する標準偏差への換算を、表から手作業で探さずに行う場合に便利です。
無料で実行
標準正規曲線におけるパーセンタイルの意味
パーセンタイルは、ある点より左側にある累積面積を表します。たとえば50パーセンタイルは標準正規分布を半分に分けるため、そのZスコアはゼロです。50より大きいパーセンタイルでは正のZスコア、50より小さい場合は負のZスコアになります。この計算機は、入力値をゼロから百までの尺度として解釈し、百で割って確率を求めます。続いて標準正規累積分布関数の逆関数を解きます。つまり、Zスコアから面積を求めるのではなく、面積からZスコアを求めます。その結果、指定された累積パーセンタイルが正規分布の平均より上または下に何標準偏差離れているかが分かります。この計算方向は重要です。一般的なZスコア計算機は、観測値、平均、標準偏差から計算を始めるためです。ここでは参照分布の平均がゼロ、標準偏差が一と決まっているので、生データや分布パラメーターは必要ありません。返される確率により、変換で使われた尺度を正確にご確認いただけます。
入力方法と結果の読み方
0より大きく100より小さい有限の数値パーセンタイルを入力してください。小数も利用でき、2.5、90、95、99.9などを一般的な裾の境界値として指定できます。応答には`percentile`、`probability`、`z_score`が含まれます。`z_score`の符号は境界値が平均のどちら側にあるかを示し、絶対値は平均からの距離を標準偏差単位で示します。対称なパーセンタイルのZスコアは符号が反対になります。たとえば5パーセンタイルと95パーセンタイルは、ゼロを挟んで同じ距離にあります。結果をゼロとZスコアの間の確率として解釈しないでください。この値は左端の裾からの累積確率に基づきます。資料が右側確率を用いている場合は、その確率を一から引き、百を掛けて左側パーセンタイルへ変換してから入力してください。どちら側の裾を扱うか明確にすると、もっともらしく見えても符号が逆という誤りを防げます。
精度、端点、実用上の制約
計算には、標準正規分布の逆関数に対する決定論的な区分有理近似を使用します。一つの多項式では有効精度が落ちるため、中央部と裾には別々の式を適用します。返されるZスコアは有効数字十二桁に丸められます。通常の統計表やしきい値計算に必要な精度を上回りながら、JSON結果を安定させるためです。正確な0パーセンタイルと100パーセンタイルは、百分率尺度の境界に見えても受け付けません。数学上、それぞれの標準正規分位点は負の無限大と正の無限大であり、通常のJSON数値で表せる有限のZスコアではないためです。ゼロから百までの範囲外の値、数値でない文字列、未入力のフィールド、NaN、無限大も無効です。有限でも裾に極端に近いパーセンタイルは、一般的な浮動小数点表現の制約を受ける場合があります。入力元のパーセンタイルが保証する桁数だけをお使いください。ブラウザー計算とAPIハンドラーは、ネットワーク参照、乱数、時刻依存のない同一の純粋な実装を共有しています。APIは1リクエストあたり$0.002です。
活用例
片側しきい値を設定する
目標の累積パーセンタイルを、正規分布に従う監視指標や品質指標で使うZ境界値へ変換します。
統計問題を確認する
逆正規分布表から読み取った値を検算し、確率尺度と符号付きZスコアを並べて確認できます。
パーセンタイル報告を換算する
標準正規モデルが適切な場合に、公表されたパーセンタイルを平均からの標準偏差として表します。
よくある質問
50パーセンタイルのZスコアはいくつですか?
0です。標準正規分布の半分が平均より下にあるためです。
0と100パーセンタイルを使用できないのはなぜですか?
理論上の分位点が負の無限大と正の無限大になるためです。この計算機は有限のJSON数値を返すので、入力は範囲の内側でなければなりません。
小数のパーセンタイルを入力できますか?
はい。0より大きく100より小さい有限の数値なら、2.5や99.9のような裾のパーセンタイルも入力できます。
生の値からZスコアを求める計算と同じですか?
いいえ。生の値の標準化には観測値、平均、標準偏差が必要です。この計算機は累積確率から始め、標準正規分布の逆関数を適用します。
パーセンタイルは左側と右側のどちらの面積ですか?
左側の累積面積です。右側確率を使う場合は、一から引いてからパーセンタイルへ変換してください。
APIの利用料金はいくらですか?
APIは1リクエストあたり$0.002です。同じ決定論的な計算をブラウザーでも実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/percentile-to-z \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"percentile":95}'const res = await fetch("https://api.kit.forhosting.com/stat/percentile-to-z", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"percentile": 95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/percentile-to-z",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"percentile": 95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/percentile-to-z", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"percentile":95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"percentile":95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/percentile-to-z", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"percentile": 95
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.percentile_to_z",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |