偏差値と知能指数の対応


TOEIC何点! とか言いますよね。私は860点ですが。中国語検定2級はリスニング70点、筆記70点が合格基準点といいながら毎回、基準点が変動する。テストのたびに難しさが違うので、本来は標準偏差を使った統計手法を用いなければいけないはずですが、実際はむずかしいので便宜的にこういった手法を用いる。そこで悪がはびこる、という結果になります。


まず偏差値と知能指数あたりから片付けると、記憶で書いているので間違っているかもしれませんが、偏差値は平均を50として知能指数は平均を100とする。あと、標準偏差を偏差値は10と置いて、知能指数は15と置く。合ってますか? これで偏差値と知能指数の対応プログラムは作成可能ですよね?

プログラム作りはまたのことにします。


TOEICはそう言った批判を意識してかどうか、毎回テスト結果の点数分布を発表していたと思う。だから、ホントは第xx回TOEICで860点。偏差値換算65です、とか言わなければいけない。ただ英語のテストですので、日本人の結果の点数分布を見てもホントは意味がない。同じテストをアメリカでサンプリングして平均と標準偏差を割り出し、それに当てはめて偏差値を取って初めて世界に通用するテストになる。


TOEFLGRE、SAT、GMATだっけ? 違うな。つまりアメリカの大学受験用の資格試験は建前としては裏でその統計処理を行っているので、どこでも通用する資格となる。


さて、その意味でTOEICだけでなく、中国語検定しかり、HSKしかりでいい加減この上ない。この辺は改まらないものだろうか。


追記:偏差値をIQに変換するプログラム。まずテストを先に書こう。

# test_toiq.rb
require 'test/unit'
require 'toiq'
class ToiqTests < Test::Unit::TestCase
  def test_to_iq
    assert_equal(119.5, to_iq(63))
  end
end

意味は、偏差値63を知能指数に変換したら、119.5になるという話。63 - 50 = 13 => 13 / 10 = 1.3 => 1.3 * 15 = 19.5 => 19.5 + 119.5という流れをプログラムすればよい。

#toiq.rb
def to_iq(hensachi)
  haverage = 50.0
  iaverage = 100.0
  hdeviation = 10.0
  ideviation = 15.0
  deviation = hensachi - haverage
  newdeviation = (deviation / hdeviation) * ideviation
  iq = iaverage + newdeviation
end

変数の命名法がきたないですが、これでテストをパスするか? => スペルミスがあってそれを直したらOKでした。
で、たとえば偏差値70、80は知能指数換算130、145であることが計算できました。

以上