0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

偏差値の計算式を理解する|標準偏差との関係とJavaScriptでの実装

0
Posted at

1.png

テストの結果でよく目にする「偏差値」。

偏差値50が平均ということは知っていても、

  • なぜ50が基準なのか
  • 80点なら偏差値はいくつになるのか
  • 同じ80点でも偏差値が変わるのはなぜか
  • 標準偏差は何のために使うのか

まで理解しようとすると、少し分かりにくくなります。

この記事では、偏差値の計算式を実際の数字とJavaScriptを使って確認します。

偏差値の計算式

偏差値は次の式で求めます。

偏差値 = 50 + 10 × (自分の点数 - 平均点) ÷ 標準偏差

たとえば、

自分の点数:80
平均点:60
標準偏差:10

なら、

50 + 10 × (80 - 60) ÷ 10
= 50 + 20
= 70

偏差値は70です。

なぜ平均点だと偏差値50になる?

自分の点数と平均点が同じ場合を考えます。

自分の点数:60
平均点:60
標準偏差:10

式に入れると、

50 + 10 × (60 - 60) ÷ 10
= 50

点数と平均点の差が0になるため、必ず偏差値50になります。

つまり偏差値では、

平均 = 50

を基準として、自分の位置を表しています。

偏差値60は「平均より10点高い」という意味ではない

ここは特に間違いやすいところです。

偏差値60は、

「平均点より10点高い」

という意味ではありません。

正確には、

平均より1標準偏差分だけ高い

という意味です。

標準偏差が10なら、

平均60点
自分70点

で偏差値60になります。

しかし標準偏差が20なら、

平均60点
自分80点

で偏差値60です。

つまり、平均との差だけでは偏差値は決まりません。

同じ80点でも偏差値が変わる

次の2つのテストを比較してみます。

テストA

自分:80点
平均:60点
標準偏差:10

偏差値は、

50 + 10 × 20 ÷ 10 = 70

テストB

自分:80点
平均:60点
標準偏差:20

偏差値は、

50 + 10 × 20 ÷ 20 = 60

自分の点数も平均点も同じなのに、

テストA:偏差値70
テストB:偏差値60

となりました。

違いを生んでいるのが標準偏差です。

標準偏差が小さいテストでは点数が平均付近に集まっているため、平均から20点離れていることの意味が大きくなります。

反対に、点数のばらつきが大きければ、同じ20点差でも偏差値への影響は小さくなります。

JavaScriptで偏差値を計算する

計算式をそのままJavaScriptにするとシンプルです。

function deviationScore(score, mean, sd) {
  return 50 + 10 * (score - mean) / sd;
}

console.log(deviationScore(80, 60, 10));
// 70

ただし標準偏差が0の場合は割り算ができません。

実際にフォームなどで利用するならチェックを入れておきます。

function deviationScore(score, mean, sd) {
  if (sd <= 0) {
    throw new Error("標準偏差は0より大きい値を指定してください");
  }

  return 50 + 10 * (score - mean) / sd;
}

表示用に小数点以下を丸めるなら、

const result = deviationScore(73, 58, 12);

console.log(result.toFixed(2));

のように処理できます。

目標偏差値から必要な点数を逆算する

偏差値の式を変形すると、

「偏差値60を取るには何点必要か」

という逆算もできます。

式は、

必要な点数
= 平均点 + (目標偏差値 - 50) × 標準偏差 ÷ 10

たとえば、

目標偏差値:65
平均点:60
標準偏差:10

なら、

60 + (65 - 50) × 10 ÷ 10
= 75

必要な点数は75点です。

JavaScriptでは次のように書けます。

function requiredScore(target, mean, sd) {
  return mean + (target - 50) * sd / 10;
}

console.log(requiredScore(65, 60, 10));
// 75

偏差値計算には標準偏差が必要

「自分が80点、平均が60点だから偏差値はいくつ?」

という情報だけでは、正確な偏差値は計算できません。

必要なのは、

自分の点数
平均点
標準偏差

の3つです。

標準偏差が分からない状態で出した偏差値は、正確な値ではありません。

実際の数値を確認するときは、偏差値計算に点数・平均点・標準偏差を入力すると、偏差値だけでなく目標偏差値に必要な点数も逆算できます。

偏差値に0〜100の制限はない

偏差値は0から100までの数字だと思われることがありますが、計算式上、そのような制限はありません。

平均から非常に大きく離れた値なら、

100を超える

ことも、

0を下回る

ことも数学上は可能です。

偏差値は点数そのものではなく、

平均からどれくらい離れているかを、標準偏差を基準に標準化した値

だからです。

まとめ

偏差値の計算式は、

偏差値 = 50 + 10 × (自分の点数 - 平均点) ÷ 標準偏差

です。

重要なのは、単純な点数の高さではなく、

平均との差
÷
点数のばらつき

を見ていることです。

そのため同じ80点でも、受験したテストの平均点や標準偏差が違えば偏差値は変わります。

計算式の意味まで理解すると、「偏差値50=平均」「偏差値60=平均より1標準偏差高い」という関係も理解しやすくなります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?