2018年NPBプロ野球の主要選手をクラスター分析してみた。
クラスター分析とは
クラスター分析では複数の個体をグループ各に分類する方法です。
クラスター分析の種類・方法
クラスター分析では複数の個体をグループに分けていきます。
当然ながら色々なグループの作り方がありそうですよね。
Rでheip(hclust)をrunしてやると
This should be (an unambiguous abbreviation of) one of "ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (= WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC).
出典 R
だそうです。
クラスタ間の距離の選び方
- "ward.D" : D(P,Q) = E(P ∪ Q) - E(P) - E(Q)
E(C)=Σd(C,gc):各点と重心の距離の2乗和の根(ユークリッド距離)
- "ward.D2": "ward.D"の最新版らしい。
- "single" : 最近隣法。2つのクラスターの中で最も個体間の距離が短い値を代表値とする。
- "complete" : 最遠隣法。2つのクラスター中で最も個体間の距離が長い値を代表値とする。
- "average" : 群平均法。2つのクラスター間の各個体の全ての組み合わせの距離の平均を代表値とする。
- "mcquitty" : 以後精進します。
- "median" : 2つのクラスター間の各個体の全ての組み合わせで求まった距離の中央値を代表値とする。
- "centroid" : 重心法。2つのクラスターの重心間の距離を代表値とする。
距離の計算方法
help(dist)を打ってやると
This must be one of "euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski".
と言われます。
- "euclidean" : ユークリッド距離
n次元の点p,q間の距離 : sqrt(sum(p-q)^2)
- "maximum" : n次元の点p,qの各次元間の距離の絶対値の最大値 max(abs(p-q))
- "manhattan" : n次元の点p,qの各次元間の距離の絶対値の和 sum(abs(p-q))
- "canberra" : sum(abs(p-q) / (abs(p)+abs(q)))
2018年NPBの主要選手をクラスター分析する
概要
選手が多すぎてもよくないと思うので規定打席(試合数×3.1)・規定投球回(試合数×1.0)を超えた選手に絞ってクラスターしていきます。
セ・リーグ打者のクラスター分析
順位 | 選 手 | チーム名 | 打率 | 試合 | 打席 | 打数 | 得点 | 安打 | 2塁打 | 3塁打 | 本塁打 | 塁打 | 打点 | 盗塁 | 盗塁刺 | 犠打 | 犠飛 | 四球 | 敬遠 | 死球 | 三振 | 併殺打 | 長打率 | 出塁率 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ビシエド | (中) | 0.348 | 135 | 582 | 512 | 91 | 178 | 26 | 1 | 26 | 284 | 99 | 3 | 4 | 0 | 4 | 51 | 4 | 15 | 61 | 24 | 0.555 | 0.419 |
2 | 坂本 勇人 | (巨) | 0.345 | 109 | 502 | 441 | 87 | 152 | 27 | 2 | 18 | 237 | 67 | 9 | 5 | 0 | 0 | 61 | 10 | 0 | 83 | 4 | 0.537 | 0.424 |
3 | 平田 良介 | (中) | 0.329 | 138 | 568 | 493 | 83 | 162 | 26 | 5 | 9 | 225 | 55 | 8 | 7 | 2 | 3 | 67 | 4 | 3 | 69 | 7 | 0.456 | 0.41 |
4 | 青木 宣親 | (ヤ) | 0.327 | 127 | 567 | 495 | 85 | 162 | 37 | 3 | 10 | 235 | 67 | 3 | 4 | 0 | 2 | 51 | 1 | 19 | 48 | 13 | 0.475 | 0.409 |
5 | アルモンテ | (中) | 0.321 | 132 | 546 | 498 | 56 | 160 | 37 | 0 | 15 | 242 | 77 | 1 | 1 | 0 | 3 | 44 | 1 | 1 | 95 | 16 | 0.486 | 0.375 |
6 | 鈴木 誠也 | (広) | 0.32 | 124 | 520 | 422 | 86 | 135 | 32 | 2 | 30 | 261 | 94 | 4 | 4 | 0 | 5 | 88 | 2 | 5 | 116 | 4 | 0.618 | 0.438 |
7 | 雄平 | (ヤ) | 0.318 | 125 | 482 | 446 | 50 | 142 | 19 | 1 | 11 | 196 | 67 | 6 | 1 | 0 | 2 | 33 | 5 | 1 | 62 | 13 | 0.439 | 0.365 |
8 | 宮﨑 敏郎 | (デ) | 0.318 | 142 | 590 | 551 | 71 | 175 | 34 | 0 | 28 | 293 | 71 | 0 | 0 | 0 | 0 | 38 | 3 | 1 | 45 | 16 | 0.532 | 0.363 |
9 | 坂口 智隆 | (ヤ) | 0.317 | 139 | 595 | 508 | 64 | 161 | 22 | 4 | 3 | 200 | 37 | 9 | 7 | 7 | 2 | 75 | 5 | 3 | 60 | 15 | 0.394 | 0.406 |
10 | 山田 哲人 | (ヤ) | 0.315 | 140 | 637 | 524 | 130 | 165 | 30 | 4 | 34 | 305 | 89 | 33 | 4 | 0 | 3 | 106 | 5 | 4 | 119 | 8 | 0.582 | 0.432 |
11 | ソト | (デ) | 0.31 | 107 | 459 | 416 | 74 | 129 | 16 | 0 | 41 | 268 | 95 | 0 | 1 | 0 | 5 | 29 | 2 | 9 | 100 | 5 | 0.644 | 0.364 |
12 | 岡本 和真 | (巨) | 0.309 | 143 | 616 | 540 | 82 | 167 | 26 | 0 | 33 | 292 | 100 | 2 | 1 | 0 | 0 | 72 | 1 | 4 | 120 | 11 | 0.541 | 0.394 |
13 | 糸井 嘉男 | (神) | 0.308 | 119 | 509 | 419 | 60 | 129 | 24 | 0 | 16 | 201 | 68 | 22 | 3 | 0 | 5 | 77 | 4 | 8 | 63 | 9 | 0.48 | 0.42 |
14 | 丸 佳浩 | (広) | 0.306 | 125 | 566 | 432 | 109 | 132 | 22 | 0 | 39 | 271 | 97 | 10 | 10 | 0 | 1 | 130 | 8 | 3 | 130 | 5 | 0.627 | 0.468 |
15 | 松山 竜平 | (広) | 0.302 | 124 | 446 | 397 | 46 | 120 | 25 | 2 | 12 | 185 | 74 | 2 | 0 | 0 | 5 | 42 | 4 | 2 | 46 | 10 | 0.466 | 0.368 |
16 | 筒香 嘉智 | (デ) | 0.295 | 139 | 580 | 495 | 77 | 146 | 33 | 1 | 38 | 295 | 89 | 0 | 0 | 0 | 3 | 80 | 7 | 2 | 107 | 10 | 0.596 | 0.393 |
17 | ロペス | (デ) | 0.288 | 110 | 459 | 441 | 46 | 127 | 23 | 0 | 26 | 228 | 77 | 0 | 0 | 0 | 1 | 16 | 1 | 1 | 58 | 12 | 0.517 | 0.314 |
18 | 野間 峻祥 | (広) | 0.286 | 126 | 447 | 405 | 64 | 116 | 14 | 7 | 5 | 159 | 46 | 17 | 10 | 4 | 2 | 30 | 0 | 6 | 69 | 2 | 0.393 | 0.343 |
19 | 糸原 健斗 | (神) | 0.286 | 143 | 637 | 531 | 79 | 152 | 29 | 4 | 1 | 192 | 35 | 6 | 4 | 9 | 4 | 86 | 1 | 7 | 73 | 5 | 0.362 | 0.39 |
20 | マギー | (巨) | 0.285 | 132 | 547 | 499 | 65 | 142 | 28 | 0 | 21 | 233 | 84 | 2 | 0 | 0 | 6 | 41 | 1 | 1 | 92 | 12 | 0.467 | 0.336 |
21 | 福留 孝介 | (神) | 0.28 | 123 | 499 | 414 | 57 | 116 | 26 | 2 | 14 | 188 | 72 | 2 | 1 | 0 | 7 | 73 | 2 | 5 | 90 | 10 | 0.454 | 0.389 |
22 | 大島 洋平 | (中) | 0.274 | 141 | 645 | 588 | 92 | 161 | 20 | 7 | 7 | 216 | 57 | 21 | 9 | 1 | 5 | 47 | 2 | 4 | 80 | 2 | 0.367 | 0.329 |
23 | バレンティン | (ヤ) | 0.268 | 142 | 602 | 514 | 72 | 138 | 22 | 0 | 38 | 274 | 131 | 1 | 1 | 0 | 3 | 85 | 5 | 0 | 121 | 15 | 0.533 | 0.37 |
24 | 田中 広輔 | (広) | 0.262 | 143 | 675 | 572 | 92 | 150 | 19 | 10 | 10 | 219 | 60 | 32 | 13 | 6 | 5 | 75 | 3 | 17 | 118 | 6 | 0.383 | 0.362 |
25 | 福田 永将 | (中) | 0.261 | 133 | 487 | 440 | 50 | 115 | 22 | 1 | 13 | 178 | 63 | 0 | 0 | 0 | 5 | 37 | 1 | 5 | 119 | 13 | 0.405 | 0.322 |
26 | 梅野 隆太郎 | (神) | 0.259 | 132 | 455 | 386 | 45 | 100 | 27 | 1 | 8 | 153 | 47 | 5 | 1 | 28 | 1 | 39 | 3 | 1 | 67 | 6 | 0.396 | 0.328 |
27 | 高橋 周平 | (中) | 0.254 | 128 | 477 | 433 | 35 | 110 | 26 | 2 | 11 | 173 | 69 | 0 | 0 | 8 | 3 | 30 | 1 | 3 | 89 | 9 | 0.4 | 0.305 |
28 | 亀井 善行 | (巨) | 0.254 | 123 | 461 | 422 | 47 | 107 | 20 | 0 | 13 | 166 | 49 | 4 | 0 | 0 | 1 | 36 | 2 | 2 | 70 | 6 | 0.393 | 0.315 |
29 | 西浦 直亨 | (ヤ) | 0.242 | 138 | 550 | 479 | 57 | 116 | 28 | 0 | 10 | 174 | 55 | 1 | 2 | 20 | 3 | 40 | 1 | 8 | 88 | 10 | 0.363 | 0.309 |
30 | 京田 陽太 | (中) | 0.235 | 143 | 632 | 578 | 73 | 136 | 15 | 7 | 4 | 177 | 44 | 20 | 10 | 26 | 3 | 19 | 0 | 6 | 111 | 12 | 0.306 | 0.266 |
31 | 菊池 涼介 | (広) | 0.233 | 139 | 642 | 557 | 85 | 130 | 27 | 1 | 13 | 198 | 60 | 10 | 2 | 30 | 1 | 51 | 2 | 3 | 111 | 5 | 0.355 | 0.301 |
これをRのstatsパッケージのhclust関数を用いてデフォルトで行いました。デフォルトではmethodは最遠隣法だそう。dist関数はデフォルトでユークリッド距離です。デンドログラムを作成すると
番号じゃなくて選手名にしたいのですがやり方が分からないので、取得次第修正します。1番近いのは3番と4番の選手のようです。これは平田選手と青木選手で、成績をみると確かに似ていました。ちなみにこの番号は打率の順番になっているのですが、クラスターになる際に近い番号同士になっている傾向がある気が僕はします。打率と選手の総合値にはそこそこの相関があるのでしょうか。それはそう。
パ・リーグ打者のクラスター分析
同様にパ・リーグの規定打席に到達した打者もクラスターにかけます。これもデフォルトで。
位 | 選 手 | チーム名 | 打率 | 試合 | 打席 | 打数 | 得点 | 安打 | 二塁打 | 三塁打 | 本塁打 | 塁打 | 打点 | 盗塁 | 盗塁刺 | 犠打 | 犠飛 | 四球 | 敬遠 | 死球 | 三振 | 併殺打 | 長打率 | 出塁率 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 柳田 悠岐 | (ソ) | 0.352 | 130 | 550 | 475 | 95 | 167 | 29 | 5 | 36 | 314 | 102 | 21 | 7 | 0 | 5 | 62 | 4 | 8 | 105 | 8 | 0.661 | 0.431 |
2 | 秋山 翔吾 | (西) | 0.323 | 143 | 685 | 603 | 107 | 195 | 39 | 8 | 24 | 322 | 82 | 15 | 10 | 0 | 1 | 77 | 4 | 4 | 96 | 3 | 0.534 | 0.403 |
3 | 近藤 健介 | (日) | 0.323 | 129 | 555 | 462 | 59 | 149 | 29 | 3 | 9 | 211 | 69 | 5 | 0 | 0 | 5 | 87 | 8 | 1 | 90 | 16 | 0.457 | 0.427 |
4 | 吉田 正尚 | (オ) | 0.321 | 143 | 598 | 514 | 77 | 165 | 37 | 2 | 26 | 284 | 86 | 3 | 1 | 0 | 8 | 69 | 10 | 7 | 74 | 9 | 0.553 | 0.403 |
5 | 浅村 栄斗 | (西) | 0.31 | 143 | 640 | 565 | 104 | 175 | 27 | 0 | 32 | 298 | 127 | 4 | 2 | 0 | 5 | 68 | 4 | 2 | 105 | 18 | 0.527 | 0.383 |
6 | 中村 晃 | (ソ) | 0.292 | 136 | 580 | 506 | 57 | 148 | 28 | 1 | 14 | 220 | 57 | 1 | 1 | 3 | 6 | 60 | 4 | 5 | 68 | 5 | 0.435 | 0.369 |
7 | 井上 晴哉 | (ロ) | 0.292 | 133 | 548 | 476 | 59 | 139 | 26 | 2 | 24 | 241 | 99 | 1 | 0 | 0 | 6 | 63 | 0 | 3 | 106 | 7 | 0.506 | 0.374 |
8 | 島内 宏明 | (楽) | 0.292 | 103 | 453 | 394 | 53 | 115 | 16 | 3 | 11 | 170 | 53 | 11 | 5 | 3 | 3 | 47 | 0 | 6 | 45 | 10 | 0.431 | 0.373 |
9 | 外崎 修汰 | (西) | 0.287 | 119 | 510 | 453 | 70 | 130 | 24 | 3 | 18 | 214 | 67 | 25 | 9 | 6 | 1 | 47 | 0 | 3 | 102 | 9 | 0.472 | 0.357 |
10 | 中村 奨吾 | (ロ) | 0.284 | 143 | 639 | 552 | 82 | 157 | 30 | 3 | 8 | 217 | 57 | 39 | 15 | 0 | 5 | 60 | 2 | 22 | 94 | 11 | 0.393 | 0.374 |
11 | 山川 穂高 | (西) | 0.281 | 143 | 647 | 541 | 115 | 152 | 24 | 1 | 47 | 319 | 124 | 0 | 0 | 0 | 2 | 88 | 2 | 16 | 138 | 5 | 0.59 | 0.396 |
12 | 西川 遥輝 | (日) | 0.278 | 140 | 636 | 528 | 90 | 147 | 25 | 6 | 10 | 214 | 48 | 44 | 3 | 7 | 2 | 96 | 1 | 3 | 103 | 1 | 0.405 | 0.391 |
13 | 源田 壮亮 | (西) | 0.278 | 143 | 666 | 594 | 92 | 165 | 27 | 9 | 4 | 222 | 57 | 34 | 8 | 14 | 6 | 48 | 0 | 4 | 101 | 7 | 0.374 | 0.333 |
14 | 銀次 | (楽) | 0.276 | 139 | 552 | 492 | 45 | 136 | 16 | 5 | 5 | 177 | 48 | 1 | 1 | 6 | 2 | 48 | 3 | 4 | 47 | 7 | 0.36 | 0.344 |
15 | 今江 年晶 | (楽) | 0.276 | 127 | 465 | 421 | 44 | 116 | 17 | 2 | 10 | 167 | 49 | 0 | 3 | 0 | 4 | 32 | 5 | 7 | 76 | 19 | 0.397 | 0.334 |
16 | 森 友哉 | (西) | 0.275 | 136 | 552 | 473 | 67 | 130 | 34 | 2 | 16 | 216 | 80 | 7 | 2 | 0 | 7 | 70 | 2 | 2 | 105 | 3 | 0.457 | 0.366 |
17 | 上林 誠知 | (ソ) | 0.27 | 143 | 608 | 551 | 88 | 149 | 26 | 14 | 22 | 269 | 62 | 13 | 4 | 17 | 3 | 30 | 4 | 7 | 117 | 2 | 0.488 | 0.315 |
18 | 鈴木 大地 | (ロ) | 0.266 | 143 | 558 | 477 | 44 | 127 | 27 | 6 | 8 | 190 | 49 | 8 | 4 | 14 | 6 | 44 | 2 | 17 | 55 | 11 | 0.398 | 0.346 |
19 | 角中 勝也 | (ロ) | 0.265 | 112 | 470 | 411 | 44 | 109 | 23 | 2 | 7 | 157 | 57 | 3 | 3 | 0 | 6 | 48 | 2 | 5 | 63 | 9 | 0.382 | 0.345 |
20 | 中田 翔 | (日) | 0.265 | 140 | 599 | 540 | 61 | 143 | 32 | 0 | 25 | 250 | 106 | 0 | 1 | 0 | 13 | 43 | 1 | 3 | 81 | 24 | 0.463 | 0.316 |
21 | 田中 和基 | (楽) | 0.265 | 105 | 465 | 423 | 67 | 112 | 11 | 1 | 18 | 179 | 45 | 21 | 6 | 4 | 1 | 37 | 0 | 0 | 101 | 4 | 0.423 | 0.323 |
22 | 中島 卓也 | (日) | 0.261 | 132 | 449 | 391 | 57 | 102 | 11 | 3 | 1 | 122 | 23 | 29 | 5 | 22 | 1 | 35 | 0 | 0 | 88 | 4 | 0.312 | 0.321 |
23 | 松田 宣浩 | (ソ) | 0.248 | 143 | 580 | 517 | 72 | 128 | 21 | 3 | 32 | 251 | 82 | 3 | 3 | 0 | 3 | 56 | 4 | 4 | 113 | 12 | 0.485 | 0.324 |
24 | 田村 龍弘 | (ロ) | 0.239 | 143 | 476 | 415 | 32 | 99 | 14 | 7 | 3 | 136 | 35 | 3 | 3 | 16 | 2 | 40 | 1 | 3 | 68 | 13 | 0.328 | 0.309 |
25 | デスパイネ | (ソ) | 0.238 | 116 | 469 | 407 | 62 | 97 | 15 | 1 | 29 | 201 | 74 | 0 | 0 | 0 | 3 | 55 | 4 | 4 | 93 | 13 | 0.494 | 0.333 |
26 | ロメロ | (オ) | 0.237 | 119 | 501 | 443 | 63 | 105 | 18 | 1 | 25 | 200 | 63 | 7 | 2 | 0 | 6 | 42 | 2 | 10 | 114 | 10 | 0.451 | 0.313 |
27 | レアード | (日) | 0.233 | 120 | 505 | 450 | 47 | 105 | 14 | 2 | 26 | 201 | 65 | 0 | 1 | 0 | 4 | 44 | 5 | 7 | 124 | 10 | 0.447 | 0.309 |
28 | 藤岡 裕大 | (ロ) | 0.23 | 143 | 611 | 535 | 58 | 123 | 15 | 5 | 5 | 163 | 42 | 14 | 13 | 26 | 1 | 44 | 1 | 5 | 97 | 9 | 0.305 | 0.294 |
29 | 安達 了一 | (オ) | 0.219 | 140 | 514 | 465 | 44 | 102 | 12 | 3 | 3 | 129 | 41 | 20 | 5 | 16 | 5 | 25 | 1 | 3 | 64 | 8 | 0.277 | 0.261 |
26番と27番が最も近そう。ロメロとレアード(納得)。7と16はアジャと西武の森(納得)。
NPBの打者を別の距離の計算法を用いてクラスター分析をする
まずはセ・リーグの選手に対してmethodを="average"にして群平均法にしてみると
並べてみると
completeかaverageかは群が大きくなるにつれて違いが生じるので、下の段階では房の付き方は似ているが上に行くほど違う構図がみられるのではないでしょうか。
重心法にすると
ちょっと意味が分からないです。
最後によく聞くウォード法で
一応全てscale()関数で標準化しています。果たしてどれがいいんでしょうか、やっぱりウォード法ですかね。