今までこのブログでは偏差値(学力偏差値・Z偏差値)について簡単な説明だけで書いてきた。
多くの場合はだいたい高校数学は知っているものとして書いてきたし、高校数学に毛の生えた程度の知識で理解でき、調べればすぐに出てくるからだった。
ところが、ググってみたら、偏差値について、あいまいな説明、不正確な説明、間違えた説明が横行しているようだった。塾の講師とかでも偏差値のことをアバウトにしか理解していない人が多いようだった。これでは偏差値の有用性と限界が分からない事になるのでちゃんと書こうと思う。
(過去記事1)で引用したWikipedia見れば補えると思ったが、ちょっと簡素なので、今回はもっと詳細に普通の偏差値について解説する。
https://ja.m.wikipedia.org/wiki/偏差値
(1)定義
nを1以上の自然数とし、n個の実数の列X=(x_1, ..., x_n)があるとき、
Xの平均と分散を
E[X]:=(x_1+....+x_n)/n,
Var[X]:=E[(X-E[X])^2]=((x_1-E[X])^2+...+(x_n-E[X])^2)/n,
で定義し、
実数rのz値z(r)を
z(r):=(r-E[X])/√(Var[X])
で定義し、
rのZ偏差値Z[r]を
Z[r]:=50+10*z(r)
で定義する。
(定義終わり)
(2)意味
なぜ上のような定義を採用したのか、その意味を解説しよう。
E[X],Var[X]はrに依存しない。rにとっては定数である。
Z偏差値はrを定数倍して別の定数を足したものである。(これを線形変換という。)
本当はもっと複雑な変換方法もある。(過去記事1)で解説したT偏差値は線形変換ではない。しかし線形変換でなく計算が複雑だから歴史的にあまり使われてこなかった(パソコン無い時代から偏差値は使われていた)。
統計処理はシンプルにしたい。
素点を線形変換するだけで、うまくテストの難易度を補正したかったのである。
では線形変換するためにはふたつ定数が必要だが、そのふたつの定数はどうやって選んだらよいだろうか?順を追って説明する。
ここで度数分布を定義しよう。
度数分布とは、Xから作られる次のような関数gである。
g: R-> R
r-> g(r):=(x_i=rとなるiの個数)/n,
ここでRは実数全体の集合。gは有限個のr以外では全て0になる.
簡単に言うとgは横軸に素点、縦軸に人数をとった棒グラフ(棒の幅0)のようなものである.(Xの値が全部整数値なら,非整数値ではgは値0しかとらない)
Rでgを-∞から∞まで(離散関数用に拡張した)”積分”をすると1になる。
∫g(r)dr:=Σ_r g(r)=1.
(rは実数全体を動くので上のΣは無限和だが,有限個以外0になるので発散しない)棒グラフの幅は0なので普通の積分をすると0になってしまうのだが,その一つの棒の”面積”(重み)をg(r)と考えるのである.
さてここで動機は、度数分布グラフgを正規分布グラフfで近似することだ。
正規分布とは、定数a, d(d>0)できまる次の関数だ。
f:R->R
r -> f(r):=(1/(d√(2π)))e^(-(r-a)^2/(2d^2))
ここでeは自然対数の底2.718281828。。。
eの前に係数(1/(d√(2π)))がついているのは積分したときに1になるようにするためだ。
(*0) ∫f(r)dr=1.
証明は以下のサイト参照(易しい.高校数学または大学学部一年の内容)。
このfはx=aで頂を持つ左右対称な山形であり、左右に行くほどなだらかに0に近づくものだ。
また-d<x<dの範囲で上に凸、それより左や右は下に凸だ。(-d,f(-d)),(d,f(d))の二点を変曲点という。
正規分布はガウス分布とも呼ばれる。二項分布、ポアソン分布も近似的には正規分布になる。試験の点数の分布もだいたい正規分布に近くなるだろうという仮定が採用されている。(信仰)
度数分布gをfで近似したいが、どう定数a, d (d>0)を決めたら精度よく近似できたといえるだろうか?
・aを大きくするとfのグラフは右へ平行移動し、
・aを小さくするとfのグラフは左へ平行移動する。
・dを大きくするとfのグラフは軸x=aを固定して左右へ拡大し、頂は低くなり、
・dを小さくするとfのグラフは軸x=aを固定して左右縮小し、頂は高くなる。
aをどう選んだらよいか?
まず、aをどう選ぶか?つまりどう平行移動したらよいか?
ひとつの考えとして、
y=f(x)はx=aを軸として左右対称だから、軸x=aでグラフy=g(x)を二つに分けて左右の"面積"(重みの和)が等しくなるようにaをとる
ことが考えられるだろう。
このaを
中央値
と呼ぶ。
メリットがあるのでたまに中央値も選ばれるが、偏差値の世界では中央値は選ばないのが普通だ。
理由としては計算が少し難しいというのがある。データを一部入れ替えただけで計算を全部やり直すことになる。
ここでは中央値ではなく、aとして平均値
(#) E[X]=(x_1+...+x_n)/n=Σ_rr g(r)=∫xg(x)dx=:a
をとる(上のrは実数全体を動くのでΣは一見無限和だがgは有限個のr以外で0なので有限和になる)。棒グラフgの各xに重みg(x)を付けた和が平均値と解釈できる。
平均値と中央値は一般に一致しないから、平均値より良い人の人数と悪い人の人数は等しくはならない。((過去記事1)の10人中8人が0点、1人が1点、1人が100点の例では、平均以上が一人しかいない。)
上ではaとして平均値をとる理由に計算のし易さをあげた。しかしもうひとつ深い理由がある。
aは平均にとることをいったん忘れよう。
次の量を考える。
(*1) ∫(x-a)^2g(x)dx:=Σ_x (x-a)^2 g(x)
左辺の積分も右辺のΣでもxは実数全体を動く(例によってΣは一見無限和だが。gはほとんど0なので有限和だ)。
(#)で見た通り、平均は微小な幅の棒の面積g(x)を重みづけした各xの和だが、
(*1)は、平均は微小な幅の棒の面積g(x)を重み付けした各(x-a)^2の和なのだ。
二乗という事で誤差|x-a|が1より大きい時は強調される。
(*1)が大きいということはx=a軸からの誤差が大きいということだ。(なぜ二乗であって1.5乗や2.5乗でないかは扱い易さからきていると思う。)
軸x=aが度数分布グラフy=g(x)の”ど真ん中”にあるということを、(*1)が最小という意味で定義しよう。(*1)が最小となるaを求めると、
∫(x-a)^2g(x)dx=∫(x^2-2ax+a^2)g(x)dx
=(∫x^2g(x)dx)-2a∫xg(x)dx+a^2∫g(x)dx
=(∫x^2g(x)dx)-2a E[X]+a^2
=(∫x^2g(x)dx)-E[X]^2+(a-E[X])^2
であるから、a=E[X]のときに(*1)は最小値となる。
よってaとして平均をとることの妥当性がわかる。
dをどう選んだらよいか?
dの選び方もおそらく複数ありえるだろう。上とおなじく次の量を考える。
(*2) ∫(x-b)^2f(x)dx
(*2)を最小とするbは上の計算と同様にしてb=∫xf(x)dx=∫(x-a+a)f(x)dx=a+∫(x-a)f(x)dx=a+∫(x-a)f(x)dx=a+c∫(x-a)e^(-(x-a)^2/2d^2)dx=a+c∫z e^(-z^2/2d^2)dz=a+c∫(奇関数)dx=a.
よって(*2)を最小とするbはaである。
次の性質に着目する。
(*) ∫(x-a)^2f(x)dx=d^2.
証明は(注1)。
dは左辺(の平方根)で定義できるわけである。
fとgがうまく近似できているということを
∫(x-a)^2g(x)dx= ∫(x-a)^2f(x)dx
で主張しよう。すると
d^2:=∫(x-a)^2g(x)dx
=Σ_x (x-a)^2 g(x)
=((x_1-a)^2+...+(x_n-a)^2)/n
=Var[X]
となる(上のΣも一見無限和だがgはほとんどいつも0なので有限和になる)。
z値・Z偏差値への変換
さて、度数分布棒グラフgに近似すべき正規分布曲線
f(x)=(1/(d√(2π)))e^(-(x-a)^2/(2d^2))
のa,dは決まった。
これを(a=0,d=1とした)正規分布曲線
(1/(√(2π)))e^(-z^2/2)
へ変換するには
z:=(x-a)/d
とおけばよい。これをz値と呼んだ。
これを(a=50,d=10とした)正規分布曲線
(1/(10√(2π)))e^(-(Z-50)^2/200)
へ変換するには
(Z-50)/10=z=(x-a)/d,
Z=50+10(x-a)/d
とすればよいわけだ。
これでaもdも前半(1)で書いた”定義”と一致する。
お分かりだろうか?
ようするに度数分布グラフを平均50、標準偏差(軸と変曲点との距離)10となるような正規分布グラフへ線形変換だけで近似する簡便な方法が、この偏差値をつかうメソッドなのだ。
それ以上でも以下でもない。
線形変換という限界、正規分布という限界を分かったうえで使うのがよい。
(注1)
真偽のチェックだけしたい人はWolframAlphaやChatGPTでも確認できるはずです.(WolframAlphaでは出来ることを確認しました(ただし導出過程なし).ChatGPTでもやってみましたが証明完成するまで何回かアシストが必要でした.)
以下は自力で読みたい人のための証明.
z:=(x-a)/dとして、
∫(x-a)^2f(x)dx
=(d/(√(2π)))∫((x-a)/d)^2e^(-(x-a)^2/(2d^2))dx
=(d^2/(√(2π)))∫z^2e^(-z^2/2)dz
=-(d^2/(√(2π)))∫(ze^(-z^2/2))’-e^(-z^2/2)) dz
=-(d^2/(√(2π)))([ze^(-z^2/2)]_{-∞}^∞-∫e^(-z^2/2)) dz)
=(d^2/(√(2π)))(∫e^(-z^2/2)) dz)
=d^2
最後の等号は(*0)でa=0,d=1の場合を使った。
(過去記事1)