箱根駅伝の結果は10000mの記録でどれくらい予測できるのか？

箱根駅伝の往路が終了した。テレビ中継を見ていると、記録会での1万メートルのタイムがデータとして表示される。すると、この値が箱根駅伝においてどれほど参考になるのか気になる。これを検証してみる。そのうえで、明日の復路の結果を手元のデータで予測してみる。自信のある予測とは言えないもののひとつ予想を持っていると明日の競技に楽しみが増える。なお、駅伝についても陸上競技全般についても予備知識はほとんどない。

## 実装ファイル

実装のすべてはこちらの Kaggle Notebook においてある。
https://www.kaggle.com/kotamori/hakone-2023-day-1


## データ収集

- 事前の1万メートルの記録についてはこちらから取得した。事前のエントリー情報をこちらに記載がある。https://hochi.news/hakone/member/
- 往路の競技結果についてはこちらから取得した。https://blog.neet-shikakugets.com/hakone-ekiden-2016-results#sec-1-results-2023

いずれも公式情報ではないが、実験的な分析には十分と判断した。どちらも素直なHTMLスクレイピングでデータが得られる。


## 可視化

![Screenshot_2023-01-02_22-23-42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80588/c2904f08-6395-0f9d-3643-8c8c2b3d401c.png)
往路区間別に、横軸に1万メートルの記録、縦軸に往路でのタイムをグラフにしたもの（タイムが早いものほど右上に来るように軸を反転させている）。
どの区間でも正の相関は示すものの、強い相関関係とは言えないようだ。
特に5区などはばらつきが大きく見える。少し調べると、5区は山登り区間で特に競技性がトラック走と異なるらしく、そのせいかもしれない。逆に4区は比較的1万メートルのタイムとの相関が高いが、比較的平坦な区間であるためだろうか。
ところで、2区は全体的に1万メートルのタイムが速い選手が多いが、「花の2区」と呼ばれてエースが起用されることが多いらしい。

![Screenshot_2023-01-02_23-15-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80588/27fa493a-d362-6ada-062a-978d096d47f7.png)
区間ごとの距離の違いをコントロールして、往路タイムを1万メートル分に換算したもの。
5区は他と比べてタイムが遅いことがわかる。おそらく山登りのためだろう。
その他の区間の間では、やや2区と4区の傾きが大きいようにも見える。

## 推定・予測

次の予測モデルを考える。

$$
\log(y_i) = \alpha_{s_i} + \beta\log(x_i) + \gamma\log(dist_i)
$$

- $s_i$ は区間を表し、$\alpha_{a_i}$ は区間の固定効果。
- $dist_i$ は区間長さの自然対数
- $x_i$ は1万メートルのタイム

残念ながら、これは区間長さが区間で一定であるため、多重共線性の問題が出る。そこで、強い過程ながら距離の係数$\gamma$を1とおく（タイムは距離に比例する）。すると、こう書ける。

$$
\log(y_i / dist_i) = \alpha_{s_i} + \beta\log(x_i)
$$

これを線型回帰で推定する。

![Screenshot_2023-01-03_00-01-25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80588/b432a75a-034b-bc33-0123-df5889a887ff.png)
学習データにおける予実プロット。ある程度予測できてはいるが、区間の差異を捉えているのが主で、区間内の変動については5区や3区についてはあまり予測できていないらしい。1万メートルタイムと箱根でのタイムの相関が区間で異なるためだろう。

最後に、復路の結果を予測する。復路については、区間の固定効果は学習データに含まれないため不明だ。そこで、すべての区間ダミーを0.2に置くことで「平均的な区間」と考えることにした。これが正しい理由は何もないが、すべてのチームに等しくバイアスを与えるので順位の予測には大きな悪影響を与えないことを願うことにする。また、3名の選手で1万メートルのタイムが欠損していたので、これをチーム内の中央値で補完した。

| team | result day1 | predict day2 | total | rank1 | rank2 | rank |
|:-----------|:----------------|:--------------------------|:--------------------------|--------:|--------:|-------------:|
| 駒澤大 | 05:23:10 | 05:36:36 | 10:59:46 | 1 | 2 | 1 |
| 中央大 | 05:23:40 | 05:37:31 | 11:01:11 | 2 | 4 | 2 |
| 青山学院大 | 05:25:13 | 05:37:56 | 11:03:09 | 3 | 6 | 3 |
| 創価大 | 05:29:15 | 05:35:38 | 11:04:53 | 10 | 1 | 4 |
| 早稲田大 | 05:27:33 | 05:38:09 | 11:05:42 | 5 | 7 | 5 |
| 國學院大 | 05:27:10 | 05:38:54 | 11:06:04 | 4 | 8 | 6 |
| 順天堂大 | 05:27:41 | 05:39:17 | 11:06:58 | 6 | 10 | 7 |
| 東洋大 | 05:30:42 | 05:37:45 | 11:08:27 | 11 | 5 | 8 |
| 東海大 | 05:31:40 | 05:37:18 | 11:08:58 | 13 | 3 | 9 |
| 東京国際大 | 05:27:49 | 05:42:09 | 11:09:58 | 7 | 16 | 10 |
| 明治大 | 05:31:29 | 05:39:06 | 11:10:35 | 12 | 9 | 11 |
| 法政大 | 05:28:53 | 05:42:17 | 11:11:10 | 8 | 18 | 12 |
| 城西大 | 05:29:08 | 05:42:07 | 11:11:15 | 9 | 15 | 13 |
| 山梨学院大 | 05:33:39 | 05:40:29 | 11:14:08 | 16 | 13 | 14 |
| 帝京大 | 05:32:20 | 05:42:13 | 11:14:33 | 14 | 17 | 15 |
| 大東文化大 | 05:36:01 | 05:40:13 | 11:16:14 | 17 | 12 | 16 |
| 国士舘大 | 05:33:16 | 05:43:06 | 11:16:22 | 15 | 20 | 17 |
| 立教大 | 05:38:51 | 05:39:46 | 11:18:37 | 21 | 11 | 18 |
| 日本体育大 | 05:36:33 | 05:42:31 | 11:19:04 | 18 | 19 | 19 |
| 専修大 | 05:38:35 | 05:42:01 | 11:20:36 | 20 | 14 | 20 |
| 関東学連 | 05:36:52 | 05:43:59 | 11:20:51 | 19 | 21 | 21 |

復路と総合結果の予測結果。復路では創価大学が躍進し優勝するも、総合順位は往路と変わらず駒澤大、中央大、青山学院大を予測した。この予測はほぼ1万メートルタイムによるもので、実際創価大学はメンバーの1万メートルタイムの平均が1番速く、それがそのまま予測結果に出ている。往路の結果では、1万メートルのタイムと往路タイムとの相関係数 (Spearman係数) は0.75ほどなので、参考にはなるが絶対的な指標でもない。だからこの結果もあまり信用ならないが、とりあえずこの予測を手に明日の競技を楽しむ。



## 振り返り

復路が終了したので答え合わせをする。タイム予想は区間固定効果が不明なため難しいので、順位予想だけを比べる。
関東学生連合は参考記録扱いだが、ここではタイムに応じて順位をつける。

| team       |   predict_day2 |   result_day2 |   predict_total |   result_total |
|:-----------|---------------:|--------------:|----------------:|---------------:|
| 駒澤大     |              2 |             1 |               1 |              1 |
| 中央大     |              4 |             2 |               2 |              2 |
| 青山学院大 |              6 |             9 |               3 |              3 |
| 創価大     |              1 |             4 |               4 |              8 |
| 早稲田大   |              7 |             7 |               5 |              6 |
| 國學院大   |              8 |             8 |               6 |              4 |
| 順天堂大   |             10 |             5 |               7 |              5 |
| 東洋大     |              5 |             6 |               8 |             10 |
| 東海大     |              3 |            18 |               9 |             15 |
| 東京国際大 |             16 |            17 |              10 |             11 |
| 明治大     |              9 |             8 |              11 |             12 |
| 法政大     |             18 |             4 |              12 |              7 |
| 城西大     |             15 |            12 |              13 |              9 |
| 山梨学院大 |             13 |            15 |              14 |             14 |
| 帝京大     |             17 |            16 |              15 |             13 |
| 大東文化大 |             12 |            13 |              16 |             16 |
| 国士舘大   |             20 |            21 |              17 |             19 |
| 立教大     |             11 |            14 |              18 |             18 |
| 日本体育大 |             19 |            11 |              19 |             17 |
| 専修大     |             14 |            20 |              20 |             21 |
| 関東学連   |             21 |            19 |              21 |             20 |

![Screenshot_2023-01-04_07-34-37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80588/e43759ab-c9a1-2a10-2137-66528de5132b.png)

- 復路の予測結果：Spearman相関 0.598. 全体的に正の相関が見えるがところどころ大きく外れている。そのうちのいくつかはアクシデントだと思う。
- 総合の予測結果：Spearman相関 0.921. 往路の結果が見えている状態なので精度は高い。

１万メートルのタイムは、参考にはなるが、結果を正確に予測できるほどのものではないことが確認できた。