(過去記事1)で、
入試の合格率を模試の偏差値から推定する方法で、
ロジスティック曲線で近似することを書いた。
そこまで書けば勘の良い人は分かると思ったのでそれ以上書かなかったが、念の為、近似方法について書いておく。
今までの記事の中で最小二乗法という言葉を使ったけど、
最小二乗法って直線近似でしょ?
直線でない場合はどうするのか?
とか、細かいことが気になって落ち着かないという人のために書く。
一般に、
a,b,xで書かれた式
f(x,a,b)
があって、
x y平面上にあるN個のデータ((x1,y_1),…,(x_N,y_N))を曲線
y=f(x,a,b)
で近似するとは、
S(a,b):=Σ_{i=1}^N (y_i-f(x_i,a,b))^2
が最小になる
a,bを求めることだ。
計算機が発達した今の時代はそんなに工夫に凝らなくてもそんなa,bは簡単に求まる。
小さな正の実数εと、
この辺だろうと思う具体的な(a0,b0)を選んで、
S(a0+iε,b0+jε)
をいろんな(I,j)で試して計算してみるのだ。(-5,-5)から(5,5)まで11*11=121通りとか。
その中で一番S(a0+iε,b0+jε)が小さくなる
(a0+iε,b0+jε)
を改めて(a0,b0)とおく。
必要ならεももっと小さいものに置き換える。
そして
これを何回か繰り返すと
(I,j)=(0,0)
あたりでS最小となるから、
その時の(a0,b0)
がベストの(a,b)だ。
要求する(a,b)の精度と使える計算機資源によって繰り返す回数は調節できる。
一般のfでは理論的には落ち着くとは限らないし、最初に選ぶ(a0,b0,ε)によって落ち着く(a0,b0)が大きく異なる場合もあるが、普通はそんなことにはならない。
特に我々が想定してる合格率の推定には充分だ。
f(x,a,b)は、 (過去記事1)であげたロジスティック曲線に限らなくても良いし、パラメータは二個でなくてももっと少なくてももっと多くても良い。
最小二乗法による直線近似はもっと簡単になる。
直線
f(x,a,b)=b(x-a)
の時は、上のような繰り返しをやらずとも公式があるので当てはめてすぐ出てくる。
公式は(過去記事2)(3)またはそこで引用したサイト参照。
今回の偏差値の話の場合はないだろうが、
最初の(a0,b0)が全く想定できない時は
ロジスティック曲線
y=F(x,a,b)=1/(1+e^(-b(x-a)))
ならば、次のようにする。
G(y):=-log((1/y)-1)
として、
G(F(X,a,b))=b(x-a)
となるから、
各データ(x_i,y_j)を(x_i,G(y_i))に変換して平面にプロットし、
普通の最小二乗法の直線近似で
y=b(x-a)
に近似させて、この(a,b)を
さっきの最初に選ぶ(a0,b0)にする
という手もある。
大抵はすぐにほぼ変わらない値に落ち着くはずだ。
ただG(0),G(1)は±♾️になるので、そこは除外するとか±大きな数に置き換えるとか工夫がいる。
今回は分かってる人には当たり前すぎたかもしれません。計算機に弱く無駄に難しく考えて混乱してる人向けに書きました。
(過去記事1)
(過去記事2)