ケンドールの順位相関係数計算
このケンドールの順位相関係数計算機は、長さが等しい2つの数値系列が同じ順位傾向を示すかどうかを測定します。すべての観測値の組を調べ、一致関係と不一致関係を数え、同順位を記録し、その内訳とともにケンドールのtau-aを返します。計算は決定論的で分布を仮定しないため、値の間隔より順位が重要な場合、値が正規分布に従わない場合、またはピアソンの線形相関では調べたい関係を適切に表せない場合に役立ちます。
無料で実行
ケンドールの順位相関係数が測るもの
ケンドールの順位相関係数は、順位の関連性を表す統計量です。2つの変数が直線に沿うかではなく、観測値の並び順が一致するかを調べます。計算機は位置の組ごとに、第1系列の変化方向と第2系列の変化方向を比較します。両方の値がともに上がるか、ともに下がる場合は一致ペアです。一方が上がり、もう一方が下がる場合は不一致ペアです。表示されるtau-aは、一致ペア数から不一致ペア数を引き、観測値から作れる全ペア数で割った値です。結果の範囲はマイナス1から1までです。1に近い値は順位が一貫して同じであること、マイナス1に近い値は順位が一貫して逆であること、0に近い値は一致と不一致がおおむね釣り合うことを示します。この解釈が対象とするのは単調な順序であり、変化量の大きさ、因果関係、元の測定単位での一致度ではありません。
データの入力方法と件数の読み方
xとyには同じ長さの数値配列を指定し、両方の同じ位置が同一の観測対象を表すようにしてください。1つの観測値だけでは比較ペアを作れないため、少なくとも2つの観測値が必要です。結果には、観測数、作成可能な全ペア数、一致ペア数、不一致ペア数、および3種類の同順位件数が含まれます。ties_xはxが同じでyが異なる場合、ties_yはyが同じでxが異なる場合、ties_bothは両方が同じ場合を表します。tau-aでは、作成可能なすべてのペアを分母に含め、同順位のペアは「一致数から不一致数を引いた分子」に0として寄与します。この定義により、教科書や統計ソフトウェアの出力と比較する場合も、計算内容を明確に再現できます。tauを解釈する前に内訳を確認してください。同順位が多いと絶対値が0に近づくことがありますが、これは順序関係がないためではなく、測定の細かさを反映している可能性があります。
この計算機が適している場面
観測値の順序に意味があり、正規分布、等間隔、線形関係を仮定したくない場合に、ケンドールの順位相関係数をご利用ください。順位表、順序尺度の評価、小標本、偏りのある測定値、方向を反転せずに曲がる単調なパターンなどに適しています。たとえば、2人の評価者が異なる得点範囲を使っていても、商品をほぼ同じ順序に並べることがあります。tauはその順位の一致を捉えます。この計算機はtau-aを使用するため、分母には作成可能な全観測ペアが入ります。データに同順位が多く、同順位を補正するケンドールのtau-bや仮説検定のp値が必要な場合は、その仕様に対応する統計手法を選び、選択理由を記録してください。また、関連性は因果関係を意味しません。強いtauは、両方の変数が別の要因に反応して生じることもあります。重要な判断を行う前に、この結果をペア単位の順位を要約する指標として扱い、分野の知識、グラフ、標本設計、不確実性分析と組み合わせてください。
活用例
2つの順位表を比較する
2人の評価者、2つのモデル、または2種類の採点方式が、同じ項目群をどの程度一貫して並べるかを測ります。
順序尺度の回答を分析する
回答段階の間隔が等しいと仮定せず、順序付き評価間の単調な関連性を要約します。
非線形な傾向を確認する
関係が単調でありながら直線では適切に表せない場合に、一貫した増加順または減少順を検出します。
よくある質問
計算結果の料金はいくらですか?
APIの料金は1リクエストあたり$0.002です。ブラウザー版の計算機は、このページ上で直接ご利用いただけます。
ケンドールのどの係数を返しますか?
tau-aを返します。一致ペア数から不一致ペア数を引き、作成可能な全観測ペア数で割った値です。
配列の長さが異なる場合はどうなりますか?
xの各位置がyの位置と1対1で対応する必要があるため、リクエストは拒否されます。
同順位はどのように扱われますか?
同順位は種類別に表示されます。分子への寄与は0ですが、tau-aで使用する全ペアの分母には残ります。
ケンドールの順位相関係数で因果関係を証明できますか?
できません。この係数が表すのは順位の関連性だけであり、一方の変数が他方の変化を引き起こすことは証明しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/kendall-tau \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":[1,2,3,4],"y":[1,3,2,4]}'const res = await fetch("https://api.kit.forhosting.com/stat/kendall-tau", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": [
1,
2,
3,
4
],
"y": [
1,
3,
2,
4
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/kendall-tau",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": [
1,
2,
3,
4
],
"y": [
1,
3,
2,
4
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/kendall-tau", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":[1,2,3,4],"y":[1,3,2,4]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":[1,2,3,4],"y":[1,3,2,4]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/kendall-tau", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"x": [
1,
2,
3,
4
],
"y": [
1,
3,
2,
4
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.kendall_tau",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 5000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |