良くなったと言う前に ── 評価の作り方
第9章・第10章・第11章で、三度「それは評価の話なので別章で」と預けました。この章で回収します。
第III部の最後が測り方なのは順番の問題ではありません。ここまでの11章は全部「何かを変えると何かが良くなる」という形をしていて、その「良くなった」を言えるかどうかだけが、この章にかかっているからです。
測るというのは数字を1つ出すことではありません。幅と向きを一緒に出すことです。
1. 1つの数字には幅がある
テスト集合は、解かせたい問題全体から引いた標本です。同じモデルでも別の1,000問を引けば点は動きます。 問のうち の割合を正解するとき、正解数は二項分布に従い、割合の標準偏差は
です。 は本当の正解率、 はテストの件数。95%の幅はその 1.96 倍で、 なら
| 件数 | 95%の幅 |
|---|---|
| 100 | ±0.0898 |
| 300 | ±0.0519 |
| 1,000 | ±0.0284 |
| 3,000 | ±0.0164 |
| 10,000 | ±0.0090 |
| 30,000 | ±0.0052 |
100問で測った「70%」は、本当は61%から79%のどこかです。第0部第3章で見た と同じ形で、幅を半分にするには件数を4倍要ります。
逆に、欲しい幅から必要な件数が決まります()。
| 欲しい幅 | 必要な件数 |
|---|---|
| ±0.05 | 323 |
| ±0.02 | 2,017 |
| ±0.01 | 8,068 |
| ±0.005 | 32,270 |
「0.5点の改善」を主張するには、1モデルにつき3万問が要るという計算です。ここまでが、1本のモデルを1回測る話です。
2. 95%と書いた幅が95%でないとき
上の は、正解率が0と1から離れているときの近似です。どのくらい当たっているかは、二項分布を全部列挙すれば近似なしで確かめられます。本当の値 を決め、 それぞれの確率を足し上げて、「測定から引いた区間が本当の値を含む確率」を出します。
| 本当の値 | 件数 | 素朴な式() | Wilson の式 |
|---|---|---|---|
| 0.50 | 100 | 0.9431 | 0.9431 |
| 0.70 | 100 | 0.9502 | 0.9372 |
| 0.70 | 30 | 0.9529 | 0.9298 |
| 0.95 | 100 | 0.8775 | 0.9659 |
| 0.95 | 1,000 | 0.9417 | 0.9504 |
真ん中あたりでは素朴な式で足ります。問題は端で、正解率0.95のモデルを100問で測ると、95%と名乗った区間が実際に本当の値を含むのは87.8%です。しかも同じ条件で25.2%の確率で区間の上端が1を超えます(「正解率 103%」の区間が4回に1回出る)。
飽和しかけたテストほどこれを踏みます。Wilson の式は
で、 は測った正解率、、 は件数です。中心が少し真ん中へ引き寄せられ、上端は1を超えません。表のとおり端では素朴な式より当たり、真ん中では少し保守的になります。
(この表は列挙で出した値です。第4節の図のつまみを「100問・本当の正解率 0.95」に合わせると、引き直して数えたほうの割合も9割弱まで落ちます。)
3. 2本を比べるなら、同じ問題を解かせる
ここからが本題です。2本のモデル A・B を比べます。人工の問題1,000問を、次の割合で作りました(この割合は私が決めた仮定です)。
| 割合 | |
|---|---|
| 両方とも正解 | 0.62 |
| 両方とも不正解 | 0.24 |
| A だけ正解 | 0.05 |
| B だけ正解 | 0.09 |
本当の正解率は A が 0.67、B が 0.71。86%の問題では2本の正誤が一致します。実際のテストもこの形です(やさしい問題はどちらも解け、難しい問題はどちらも落とす)。
引いた1,000問での実測はこうなりました。
| 正解数 | 正解率 | 単独の95%区間 | |
|---|---|---|---|
| A | 679 | 0.679 | [0.6501, 0.7079] |
| B | 721 | 0.721 | [0.6932, 0.7488] |
2つの区間は 0.0147 の幅で重なっています。 ここで「区間が重なっているから差があるとは言えない」と書くのが、よくある間違いです。差そのものの区間を出すと話が変わります。
一致した問題は差について何も言っていません。効くのは食い違った問題だけで、A だけ正解が45問、B だけ正解が87問、合計132問(13.2%)でした。
| 比べ方 | 差の標準誤差 | 両側 | |
|---|---|---|---|
| 別々に測ったものとして比べる | 0.02047 | 2.052 | 0.0402 |
| 同じ問題で対にして比べる | 0.01142 | 3.678 | 0.000235 |
同じデータなのに標準誤差が 1.79分の1 になりました。問題の難しさのばらつきが、対にすると差し引かれて消えるからです。
食い違い132問だけを見るなら、仮定をほとんど置かずに検定できます。帰無仮説「どちらが正解でも同じこと」が正しいなら、45と87の振り分けは表裏を132回投げたのと同じです。
- 二項分布を全列挙した厳密な値(McNemar 検定):
- 符号をでたらめに入れ替える並べ替え検定を20万回:実測の差 以上になったのは 68回、
二つは一致します。並べ替え検定は正規分布も も使わず、「向きに意味が無ければこうなる」を実際に20万回作って数えただけです。式を思い出せないときでも、これは書けます。
では 0.01(1点)の差を見分けるには何問要るか。食い違い率を 、見たい差を とすると なので
、 で 4,226問。ただしこれは の期待値がちょうど 1.96 になる件数=半分の確率でしか有意にならない件数です。8割の確率で見分けたいなら を に替えて 8,634問。人工データで実測すると
| 件数 | 対にして比べた | 別々に測って比べた |
|---|---|---|
| 1,000 | 0.1640 | 0.0015 |
| 4,226 | 0.4865 | 0.0260 |
| 8,626 | 0.8023 | — |
| 16,000 | 0.9720 | 0.4530 |
式どおり 4,226問で 48.7%、8,626問で 80.2% でした。対にしないと16,135問要ります(表の16,000問で45.3%)。1点の差を主張している比較表を見たら、まず件数を見てください。
4. 選んだ時点で、点は上がっている
次は、同じテスト集合を何度も見ることで起きるずれです。
実力がまったく同じ候補を 個用意します(本当の正解率は全部 0.70)。それぞれ別の500問で測り、いちばん良かったものを選びます。これを20,000回繰り返しました。
| 候補の数 | 選ばれた版の点(平均) | 底上げ | 別の500問で測り直すと | 「0.70より有意に高い」と出た割合 |
|---|---|---|---|---|
| 1 | 0.6997 | −0.0003 | 0.7003 | 0.0200 |
| 2 | 0.7115 | +0.0115 | 0.6999 | 0.0428 |
| 5 | 0.7239 | +0.0239 | 0.7002 | 0.1062 |
| 10 | 0.7315 | +0.0315 | 0.7000 | 0.1976 |
| 20 | 0.7379 | +0.0379 | 0.7000 | 0.3553 |
| 50 | 0.7456 | +0.0456 | 0.7001 | 0.6680 |
20個試して一番良かったものを選ぶと、実力が1ミリも違わないのに平均で +0.0379(3.8点)上がります。 1件あたりの は 0.0205 なので、底上げは 分。しかも20個のうち最良の版は、35.5%の確率で「有意に0.70より高い」と判定されます(本当は差が無いのに)。
コメント
コメントにはログインが必要です