ミッドヒンジ計算機
ミッドヒンジ計算機は、第1四分位数と第3四分位数の平均を求め、数値標本の中心を要約します。入力配列を検証し、そのコピーを並べ替え、Tukeyの排他的な二分法でQ1とQ3を計算して、使用した四分位数とともに平均を返します。元の入力順序を変更せず、探索的統計、品質確認、報告書、データ処理の自動化に利用できる、透明で再現可能な結果を得られます。
無料で実行
ミッドヒンジから分かること
ミッドヒンジは第1四分位数と第3四分位数の算術平均です。Q1とQ3を足し、2で割って求めます。この二つの四分位数は標本の中央50%を区切るため、その中点は中心位置を簡潔に示します。すべての観測値を直接使う通常の平均値や、中央の順位に基づく中央値とは異なる指標です。この違いは、分布が非対称な場合や極端な観測値を含む場合に重要です。非常に大きな最大値は平均値を大きく押し上げても、四分位数とミッドヒンジへの影響は比較的小さいことがあります。本計算機は最終値だけでなくQ1とQ3も返すため、計算の根拠を確認できます。また、観測数と四分位数の計算法も示し、報告書や別の統計ツールでの記録、比較、再現を容易にします。ミッドヒンジだけで標本を判断せず、散布度や分布形状と併せて記述的な要約としてご利用ください。
四分位数の計算方法
四分位数には複数の定義があり、小さな標本では表計算ソフトや統計ソフトによってQ1とQ3が異なる場合があります。本計算機はTukeyの排他的な二分法を採用します。最初に数値を昇順に並べます。観測数が偶数なら、下半分と上半分は同じ個数です。奇数なら、標本全体の中央の観測値をどちらの半分からも除外します。Q1は下半分の中央値、Q3は上半分の中央値であり、その平均がミッドヒンジです。片方の半分に偶数個の値がある場合、その中央値は中央の二値の平均です。標本が一つの数値だけなら、Q1、Q3、ミッドヒンジはすべてその数値になります。応答では方式を tukey_exclusive と明示するため、後続のコードが規約を推測する必要はありません。別のシステムと結果を比較する際は、同じ規則を使用していることをご確認ください。
入力の準備と応答の読み方
個別の確認にはWebツールを、同じ機能を自動処理に組み込む場合はAPIを使用できます。
活用例
非対称な標本の要約
極端な観測値のため一つの統計量では中心を表しにくい場合に、ミッドヒンジを平均値や中央値と比較します。
統計演習の確認
手計算を検証し、明示された規約で使用されたQ1とQ3の正確な値を確認します。
記述統計レポートの自動化
定期的な要約に決定的なミッドヒンジ項目を追加し、再現性のため計算法も保存します。
よくある質問
ミッドヒンジの式は何ですか?
ミッドヒンジは (Q1 + Q3) / 2 です。Q1は第1四分位数、Q3は第3四分位数です。
どの四分位数計算法を使いますか?
Tukeyの排他的な二分法を使い、標本数が奇数の場合は全体中央値を上下どちらの半分からも除外します。
ミッドヒンジと中央値は同じですか?
常に同じではありません。中央値は中央順位を使い、ミッドヒンジは第1・第3四分位数を平均します。対称な標本では一致することがありますが、異なる場合もあります。
数値文字列や空欄を配列に含められますか?
いいえ。各要素は有限の数値でなければなりません。文字列、空欄、null、Infinity、NaNは拒否されます。
数値が一つだけの場合はどうなりますか?
Q1、Q3、ミッドヒンジはすべてその数値となり、応答の観測数は1になります。
APIリクエストの料金はいくらですか?
各APIリクエストは$0.002からです。ブラウザ実装でも同じ計算をご利用いただけます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/midhinge \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers":[2,4,6,8,10,12,14,16]}'const res = await fetch("https://api.kit.forhosting.com/stat/midhinge", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numbers": [
2,
4,
6,
8,
10,
12,
14,
16
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/midhinge",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numbers": [
2,
4,
6,
8,
10,
12,
14,
16
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/midhinge", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numbers":[2,4,6,8,10,12,14,16]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numbers":[2,4,6,8,10,12,14,16]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/midhinge", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"numbers": [
2,
4,
6,
8,
10,
12,
14,
16
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.midhinge",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |