Description
概要
解答時間推定においての intercept の値をln(contestTime)
に固定してしまった方がモデルとしては正しいと思われます。
詳細
解答時間の従うモデルを以下のように導出してみました:
難易度の定義より、レート
r
の参加者が難易度d
の問題を終了時刻t_{end}
において正答できている確率は問題毎の定数discrim
を用いて
と表せる。
ここで、あるレートr
において正答を得られるまでの時間t
は対数正規分布に依り、すべてのt
について対数スケールでの分散が一定であると仮定する。
そのため、あるレートr
に対して対数スケールでの解答時間の中央値がe^μ
、同じく分散がσ^2
のとき、時間t
に対する確率密度関数は
となる。
ここで、正規分布は定数C≈1.7
によって尺度s=C|σ|
のロジスティック分布に近似できるため、そのような近似を用いてμ
をs
の式で表すことを考える。このμ,s
は、時間t
に対する対数ロジスティック分布の累積分布関数1/1+exp((μ-log t)/s)
とレートあたりの正答率の式(1)
より、
という式に従う。また、これをσ
に対する式とすると、
となる。
この結果は、AtCoder の問題を解くのにかかる時間をモデリングした にて「解答時間の対数の平均は1次関数に従う」と記されているものと一致します。
ここで、件の「解答時間の対数の平均」はμであることが分かります。このμの切片はln(contestTime)
であるため、概要の結論を導きました。
検証
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
avg | 6.024545997 | 6.687260618 | 7.633615235 | 8.391599279 | 8.50844374 | 7.958183507 |
med | 6.017776683 | 6.605093961 | 7.701052326 | 8.421621444 | 8.649164186 | 8.583980336 |
低難易度帯については安定しませんが、高難易度帯についてはln(100*60)=8.69951475
と近い値になっているという印象を受けます。つまり、この変更を適用した際には低難易度帯の推定時間に少し変化があると予想されます。
また、長時間コンテスト(主に AGC 系列)についても検証してみたところ、予測されるような intercept の増加が見受けられました。
time | ln(time*60) | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|
agc049 | 200 | 9.392661928770137 | 9.452750561110271 | 9.791285737791405 | 9.7615837006046 | 10.394303855873897 | 0 | 0 |
agc048 | 150 | 9.104979856318357 | 8.83177500238767 | 8.979662852285616 | 9.610673610133812 | 9.180519564863609 | 0 | 0 |
acl1 | 150 | 9.104979856318357 | 9.948066763356653 | 9.99541723681656 | 10.018541028952216 | 9.126606093044598 | 9.235552693968431 | 0 |
agc047 | 140 | 9.035986984831405 | 9.654789237239758 | 9.393221736024461 | 9.658230533854768 | 9.196613999189703 | 8.948679930503042 | 0 |
agc046 | 150 | 9.104979856318357 | 7.6578514669544555 | 9.213359724331687 | 9.546185396616945 | 9.443326777066297 | 0 | 0 |
agc045 | 150 | 9.104979856318357 | 10.264246873449101 | 9.838588649482373 | 9.706074089017285 | 0 | 0 | 0 |
agc044 | 150 | 9.104979856318357 | 9.149208009507149 | 9.417645098345188 | 8.96127120865903 | 9.744329556275893 | 0 | 0 |
agc043 | 150 | 9.104979856318357 | 9.001965703019499 | 9.852419569563702 | 9.217822221170174 | 9.876969676734948 | 0 | 0 |
補足
モデルの導出の式が間違っていたり、置いている仮定が異なっていたりするかもしれないです。(ブログでは - 分散はレーティングによらない定数 と記されていますが、上記の導出では対数をとった正規分布の分散を定数としています)