デシル計算ツール
9つの区切りでデータを10等分します。D1は下位10パーセント、D5は中央値、D9は90パーセントの位置です。給与や点数が分布のどこにあるかを、9つのパーセンタイルを別々に計算せずに確かめられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
このデシル計算ツールは、数値配列を昇順分布の10等分点となる9個の境界値に変換します。各値を検証し、データのコピーを並べ替え、包含的な線形補間によってD1からD9までを算出します。9つのパーセンタイルを個別に求めなくても、標本の下位・中央・上位の各10分位と観測値を比較できます。元の配列順は変更されず、空の配列は明確なエラーとして拒否されます。
9個のデシルが示す内容
デシルは、昇順に並べたデータ集合における位置の目印です。D1は分布の最初の10パーセントに対応する点、D2は20パーセントに対応する点であり、D9の90パーセントまで続きます。この9個の値により、観測値をほぼ同じ割合で含む10の帯域が作られます。
単一の平均値ではデータの形状が見えにくい場合、特に偏りや長い裾がある分布で役立ちます。たとえば給与分析では、全員を1つの平均値にまとめず、従業員全体で報酬がどのように変化するかを確認できます。結果は昇順で返され、最初がD1、9番目がD9です。
計算を確認できるよう、並べ替え済みの値と件数も返します。デシルは送信された標本内の相対位置を表すものであり、隣接する境界間の距離が等しいとは限りません。間隔の広さや狭さ自体が、観測された分布の重要な特徴です。
線形補間の計算方法
最初に、入力が空ではなく、有限のJavaScript数値だけを含む配列であることを検証します。次に、コピーを最小値から最大値へ並べ替えます。1から9までの各デシル番号kについて、ゼロ始まりの小数インデックスを求めます。
式は(kを10で割った値)に(n引く1)を掛けたもので、nは観測数です。インデックスが整数なら、その位置の値をそのまま返します。2つの位置の間なら、下側と上側の値を比率に応じて補間します。
この包含的な線形方式では、D1は第10パーセンタイル、D5は中央値、D9は第90パーセンタイルに相当します。各観測値が位置に寄与するため、重複値も保持されます。負数と小数も通常どおり処理します。
NaN、Infinity、文字列、nullなどの数値でない入力は暗黙に変換せず拒否するため、不正な元データが一見妥当な結果に隠れることはありません。
結果の読み方と活用方法
返されたデシルは、10個の平均値ではなく境界値としてお読みください。D1より小さい値は送信した分布の最下位部分にあり、D9より大きい値は最上位部分にあります。D4とD5の間の値は、その2つの目印で囲まれた帯域に属します。
標本が小さい場合、補間された境界が実際の観測値の間に置かれることがあります。これは正常であり、計算値が元の配列に存在したことを意味しません。統計ツールには複数の分位点方式があるため、異なるシステム間で比較する際は方式を記録してください。
この機能は方式をlinearと明示し、監査用に並べ替え済み標本も含めます。業務判断には代表性のある標本をご使用ください。デシルは受け取った数値を忠実に要約しますが、選択バイアス、欠測、単位の不一致は修正できません。
事前に単位を統一し、重複が正当か確認してください。
活用例
成績や実績を区分する
各パーセンタイルを個別に計算せず、得点、キャンペーン、運用指標を10の帯域に分けられます。
所得分布を確認する
分布の形状を保ったまま、給与や売上の標本について下位・中央・上位の各10分位を比較できます。
監視しきい値を設定する
過去のデシル境界を、異常に低い観測値や高い観測値を判断する透明な基準として利用できます。
よくある質問
計算結果には何が含まれますか?
D1からD9までの順序付き配列に加え、方式、観測数、計算に使用した並べ替え済みデータを返します。
どのデシル計算法を使用しますか?
kを1から9として、位置 (k/10) × (n−1) に包含的な線形補間を適用します。
D5は中央値ですか?
はい。 この線形補間方式ではD5が第50パーセンタイルとなるため、中央値に一致します。
重複値や負数も使用できますか?
はい。 すべて有限数であれば、重複値、負数、ゼロ、小数を使用できます。
ある値がどの十分位に入るかはどう読みますか?
デシルは平均ではなく境界として読みます。D1より下の値は標本の最下位の10分の1、D4とD5の間なら下から5番目、D9より上なら最上位の10分の1に入ります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/deciles \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"values":[12,7,3,18,10,5,14,1,16,9]}'const res = await fetch("https://api.kit.forhosting.com/stat/deciles", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"values": [
12,
7,
3,
18,
10,
5,
14,
1,
16,
9
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/deciles",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"values": [
12,
7,
3,
18,
10,
5,
14,
1,
16,
9
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/deciles", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"values":[12,7,3,18,10,5,14,1,16,9]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"values":[12,7,3,18,10,5,14,1,16,9]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/deciles", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"values": [
12,
7,
3,
18,
10,
5,
14,
1,
16,
9
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.deciles",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
結果の読み方と活用方法
自動リクエスト1件の料金は$0.002で、初期順序にかかわらず同じ数値配列には同じ結果を返します。
技術的な質問
空の配列を送るとどうなりますか?
観測値なしではデシル境界を計算できないため、invalid_inputエラーになります。
API計算の料金はいくらですか?
自動リクエスト1件の料金は$0.002です。