正規化テスト得点の計算
50点満点の40点も、80点満点の64点も、0から100の尺度ではどちらも80です。素点とテストの最低点・最高点を入れれば、満点の違う試験を同じ列で比べられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 得点
- 40
- 最低スコア
- 0
- 最高得点
- 50
- 目標の最小値
- 0
- 目標の最大値
- 100
- スパン
- 50
- 分数
- 0.8
ある試験が五十分、別の試験が八十分、三つめがゼロから十点の授業評点だと、素点同士は比べにくくなります。最小最大正規化は、各試験の公表された最小と最大だけを使い、素点を共通の目標尺度へ伸ばしたり縮めたりするので、同じ相対成績が同じ数値に落ちます。本正規化テスト得点計算は線形写像を適用します。既定の目標はゼロから百で、元の範囲に対する百分率として読めます。検証失敗は課金されません。
テスト得点の最小最大正規化とは何か、それを生む公式
最小最大正規化は、元の試験の公表された下限と上限だけを使い、素点を共有の報告尺度へ置く線形写像です。ある小テストがゼロから五十、別のものがゼロから八十なら、前者の四十点はその範囲の八十パーセント、後者の六十四点も八十パーセントです。共通尺度がなければ、この二つの数は無関係に見え、同じ順位列に並べられません。
恒等式は次のとおりです。目標が既定のゼロから百なら、結果は元の幅の百分率そのものです。写像は厳密で決定的であり、分布を仮定しません。
クラス平均も標準偏差も zスコアも心理測定の Tスコアも使わず、答案ごとにカーブ加点もしません。それらは別の検索意図で、別の計算です。本能力は最小最大の再尺度化だけを実装するので、素点の上限が違う二つの試験でも、それぞれに文書化された最小と最大があれば比較できます。
正規化テスト得点の計算が価値を発揮する場面
授業担当と学科主任は、中間が四十五点満点、期末が百点満点なのに、どちらも同じ進度報告や奨学金名簿に載せなければならないときに最小最大正規化を使います。単位認定窓口と国際入試デスクは、同じ問題をより大きな規模で抱えます。ゼロから二十の国家試験、ゼロから五十の学校試験、ゼロから八十の業者小テストは、各点が一つの共通尺度に乗るまで平均できません。
正規化テスト得点計算で上位を狙うコンテンツサイトは、人が打つ検索語に slug・タイトル・例が一致する焦点の定まったランディングの恩恵を受けます。平均と標準偏差を要する zスコア用具とも、すでに標準化した z を前提とする T 変換とも、加点するだけの直線カーブとも異なります。
活用例
配点が違う中間と期末を比べる
36/45 の小テストと 82/100 の試験を同じ 0–100 尺度へ載せ、順位・平均・保護者向け報告を公平に保ちます。
単位認定と混在した試験セット
公表された下限・上限が異なる国家試験・学校試験・業者試験を、一つの共通報告尺度へ載せ替えます。
よくある質問
最小と最大で素点をどう正規化しますか?
既定の目標 0–100 では、それは元の幅の百分率そのものです。
既定の目標尺度は何ですか?
0–10、0–20、1–5 など他の授業尺度へ写すときは明示的に設定します。
zスコアや試験の Tスコアと何が違いますか?
zスコアは集団の平均と標準偏差を使います。Tスコアは既に求めた z を平均 50・SD 10 へ再中心化します。本用具は試験の公表された最小と最大だけを使い、分布は仮定しません。
加点で最高点を超えた点数はどうなりますか?
そのまま換算されるため、結果は目標尺度の上限を超え、切り詰められずに範囲外として示されます。その扱いはご自身の基準で決めてください。
百分率ではなく0〜10や0〜20の尺度に直せますか?
はい。報告に使う尺度の最低値と最高値を指定すると、点数はその尺度の同じ相対位置に置かれます。各尺度の両端が異なる値であれば使えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/normalized-test-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"score":40,"min_score":0,"max_score":50}'const res = await fetch("https://api.kit.forhosting.com/edu/normalized-test-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"score": 40,
"min_score": 0,
"max_score": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/normalized-test-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"score": 40,
"min_score": 0,
"max_score": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/normalized-test-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"score":40,"min_score":0,"max_score":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"score":40,"min_score":0,"max_score":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/normalized-test-score", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"score": 40,
"min_score": 0,
"max_score": 50
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.normalized_test_score",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
正規化値は target_min に、分数(score から min_score を引いたもの)を(max_score から min_score を引いたもの)で割った値を足し、それに(target_max から target_min を引いたもの)を掛けたものです。
テスト得点の最小最大正規化とは何か、それを生む公式
正規化値は target_min に、量(score から min_score を引いたもの)を(max_score から min_score を引いたもの)で割った値を足し、それに(target_max から target_min を引いたもの)を掛けます。公表上限をわずかに超える追加点も写像され(そのとき分数は一を超えます)、黙って切り詰めず in_range を false と印します。
入力契約・応答の形・検証エラー
数値文字列は受け付けます。別名を受け付けるので、表計算の列名を変えずに対応できます。検証失敗は課金されません。必須フィールド score、min_score、max_score を、絶対値が十億以下の有限数として持つ JSON 本体を POST してください。任意の target_min と target_max の既定はゼロと百なので、典型的な授業呼び出しは追加フィールドなしで元範囲の百分率を返します。空文字、NaN、Infinity、非数値型はフィールド名付きの invalid_input で失敗します。元の幅がゼロだと(max_score から min_score を引いたもの)での除算が未定義になるため拒否されます。max_score は min_score と等しくてはなりません。目標にも同じ規則があり、target_max は target_min と等しくてはなりません。score は raw、raw_score、value、mark。min_score は min、source_min、raw_min。max_score は max、source_max、raw_max。target_min は to_min、new_min。target_max は to_max、new_max。成功時の本体には、整えた端点、span(max_score から min_score を引いたもの)、単位区間上の fraction、percent(fraction に百を掛けたもの)、目標尺度上の normalized_score、真偽の in_range、読みやすい恒等式の formula、方針で分岐する機械クライアント向けの method min_max が含まれます。例:score が四十、min_score が零、max_score が五十なら、既定目標で fraction は零点八、percent は八十、normalized_score は八十です。ゼロから八十の試験の score 七十五をゼロから十へ写すと、normalized_score は九点三七五になります。
正規化テスト得点の計算が価値を発揮する場面
実装は純粋な parse ティア A のため、成功した各呼び出しは公開の基本料金 $0.002 で、モデルトークンも外向き通信もなく、無効なペイロードは残高を消費しません。画面では恒等式を明示し、これが心理測定の標準得点ではなく範囲に基づく再尺度化であることを文書化し、丸めた normalized_score をテストに固定すれば、LMS プラグイン、帳票生成、エッジワーカーがランタイムをまたいで再現できます。
連携の活用例
LMS 取込と研究ダッシュボード
同じ最小最大写像をブラウザウィジェットと一括 API の両方で走らせ、パイプラインが公開計算と食い違わないようにします。
技術的な質問
素点が min_score と max_score の外にあるとどうなりますか。
線形写像は実行されます(追加点は公表上限を超えることがあります)。in_range は false になり、分数は 0 未満または 1 超になり得ます。元または目標の幅がゼロの場合は拒否されます。
正規化テスト得点の計算の料金はいくらですか。
ブラウザ用具は無料です。API 要求は成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効な入力は課金されません。