だいたいNBA

Kだよ。だいたいNBAのことを書くのです。だいたいスパーズのことを書くのです。

「平均的なNBAプレーヤー」とはどういうプレーヤーか

PER(Player Efficiency Rating)から「平均的なNBAプレーヤー」について考える

BBRDraftExpressなどでよく見かける総合指標PER、ポジションを問わずプレーヤーの質を比較でき、しかもプレータイムの長短に影響を受けないのでなかなか重宝するというか、ついつい眺めてしまうスタッツです。リーグ平均が15になるように調整されているので、そこを基準にできるところも使い勝手がいい。その一方で、ビッグマン、とりわけショットブロッカーに対する評価が過大評価になりやすい印象もあり、個人的にはどれぐらい信頼していいか疑問な部分があります。また、本当に平均が15になるのか、実際に確かめたことがあるわけではないから本当にそうなるか分かりません。そもそも、PERが15付近の選手は探せば出てくるものの、そういった選手は様々なスタッツの偏りがありながら、方程式に変数を当てはめていった結果たまたま15に収まったというだけで、そういう選手が皆平均的なNBAプレーヤーと言えるわけではありません。一芸入試NBA入りしているような選手でもPERが15になったりしますし(昨シーズンなら例えばビヨンボ)、器用貧乏なバーサタイルプレーヤーがPER15付近にうようよいるわけでもありません。

こんなことをぼんやり考えているうちにひとつ閃いた。あらゆる能力が平均的な、完全にフラットなNBA選手が仮に存在したとしたら、それはどういう選手だろうか、どんな成績になるだろうか、そういう選手を基準にすればPERよりも具体的にプレーヤーの優劣や個性を比較によって認識できるのではないか、PER等の発展的なスタッツについてその妥当性を検証できるのではないか。

よっしゃそうと来たら早速調べてみるか、と色々検索してみるも、それらしいものがない。日本語で見つからないのはまあいいとして、「nba average player stats」などで英語で探しても全然出てこないのには困りました。アイデアとしては単純だし、同じことを考えた人間が他に全くいないとは思えませんし、その中で実際に計算したことがある人が一人もいないということは無さそうな気がしますが。Hoopdataには発展的なスタッツの平均はあるものの、一般的なスタッツのものはなくさらにデータが古い、かつ計算が正しくないと思われるので(PERが15になっていなかったりUSGが20%になっていなかったり。多分プレータイム等で加重平均しないで列挙されたデータを単純平均したのではないか)役に立たない。BBRにはチームの平均はあるもののプレーヤーのそれはない。更に小数点以下の数字が一定のところから切り上げられたり切り下げられたりしているため、これをベースに平均的プレーヤーを算出しても正確とは言えないものになってしまいます。

ということで、ないならしょうがない、自分で計算するか、はーめんどくせえ、などと言いながらここ数日ちまちま計算していました。以下その研究発表。

前提

今回の計算をするにあたってBBRの2015-2016シーズンのレギュラーシーズンのTeam Statsを生データとして利用しました。各種スタッツはBBRで用いられている計算方法で計算しました。各種スタッツの略称もBBRに依拠しています。スタッツの参照先としてはNBA.comもありますが、NBA.comとBBRでは同じ名目の項目でも計算方法が違ったりするので数値に齟齬が出ること、NBA.comは計算方法が明示されていない項目が多数あること、CSVなどでのデータのダウンロードが出来ず、ユーザーはただ見て楽しめという方針であること、BBRのほうが発展的なスタッツの種類が豊富なことなどから、NBA.comのデータを元にした計算は諦め、生データも計算方法もBBRに準拠することでスタッツの比較などをする場合にBBRと互換性をもたせる事を目指しました。以下のスタッツはBBRとの比較で利用してください。

計算を行ったスプレッドシートを公開しておきます(右側のDownload through your blowserをクリックしてください)。以下のデータと文章は全てこのスプレッドシートの内容を基本にして行っていきますので、各自ダウンロードして適宜参照してください。スプレッドシートを参照しなくても結果は分かるような文章を書いていくつもりですが、Kが計算間違いをしている可能性はもちろんありますので、計算が正しいかどうか批判的に検討できるように、スプレッドシートを見ていただければありがたいです。スプレッドシートは.ods .xls .xlsxの3種類ありますが内容は同じです。計算はLibreOffice Calcを用いて行い、.odsファイルを基本にして.xls .xlsxファイルに変換しましたが、Excellを所有していないため.xls .xlsxファイルで計算式も含めて正しくデータが移植されているかは確認できません。多分大丈夫だとは思いますが。また、スプレッドシートのA2からY31の範囲に他シーズンのTeam StatsをBBRからコピー&ペーストすることで、他シーズンの平均的なNBAチームと平均的なNBAプレーヤーのスタッツを自動で算出することが出来ます。

Kは数学自体は非常に得意ですが、知識・技術としては高校数学のものまでに限定されており、それ以上の専門的知識、特に統計学についての知識はほとんどありません。計算やデータの理解を誤っている箇所があるかもしれませんので、そういったものを見つけた場合はコメント欄からご一報願います。また、スプレッドシートがダウンロードできない、アップローダーが消えている、などの場合もご一報いただければ助かります。

「平均的なNBAチーム」の算出

まずはGからPTSに至るまで、各項目ごとに数値の総和を求めます。これがスプレッドシートの34行目になります。これらの数字は「レギュラーシーズンにコート上で発生した古典的スタッツで測られるプレーと、試合、プレータイム、得点の総量」ということになるでしょうか。次にこれらの数値を全チーム数である30で割れば、平均的なNBAチームにおけるレギュラーシーズンの各プレー・プレータイム・得点の総量を求めることができます(35行目)。各列の2から31行目の範囲を平均したものでも同じ結果が出せますし、そのような計算をしたほうが28チーム時代のスタッツなどもコピー&ペーストで自動計算できて有用なので、実際はそのような方法で処理しています。発展的なスタッツを計算する上で、この35行目の各数値を頻繁に活用することになります。また、この35行目の数値がBBRのTeam Statsの表の一番下にあるLeague Averageと一致する=計算に間違いがないことも確認してください。

さて、こうして求められた各プレー・プレータイム・得点の総量を総試合数の82で割れば、平均的なNBAチームの1試合あたりのスタッツを求めることが出来ます(36行目)。これと内容は全く同じですが、見やすくするために各数値の小数点以下の桁数を調整したものが37行目です。この調整したものをここに転載します。

Team traditional stats G MP FG FGA FG% 3P 3PA 3P% 2P 2PA 2P% FT FTA FT% ORB DRB TRB AST STL BLK TOV PF PTS
AT per game(adjusted) 82 241.8 38.2 84.6 .452 8.5 24.1 .354 29.7 60.5 .491 17.7 23.4 .757 10.4 33.3 43.8 22.3 7.8 5.0 14.4 20.3 102.7

多分とてつもなく表示がおかしくなっていると思いますが、許してたもれ。一番左の「AT」はAverage Teamの略です。各数値が先に触れたBBRのLeague Averageに一致することを確認してください。

次に、34行及び35行目のデータから、BBRの計算方法に基づいて発展的なチームスタッツを計算します。簡単な計算のものがほとんどですが、ポゼッション(Poss)はなかなか複雑ですので注意して式を組み立てる必要があります。これを計算したものが40行目で、各数値の小数点以下の桁数を調整したものが41行目です。調整したものをここに転載します。

Team miscellaneous stats eFG% TS% 3PAr FTr ORB% DRB% TRB% ASTr STL% BLK% TOV% Poss Pace ORtg DRtg
AT misc stats(adjusted) .502 .541 .285 .276 23.8 76.2 50.0 58.3 8.1 8.2 13.2 7912.9 95.8 106.4 106.4

これらの数値がBBRのMiscellaneous Statsの表の一番下にあるLeague Averageと一致することを確認してください。特にPaceが一致することで計算の煩雑なPossが正しいことを確認していただければと思います。この表にあってBBRに無い項目はPoss(年間のトータルのポゼッション数)、TRB%、ASTrの3項目です。Pace=1試合あたりのポゼッション数であり、計算上先にPossの計算が必要であること、また発展的スタッツの計算で活用する機会が複数あることから項目として追加しました。TRB%は試合で発生した全てのリバウンドのうちどれぐらいの割合を獲得したかを示すものですが、全チームの平均の数を獲得するとなるとジャスト50%になるはずなので、それを確認するために計算しました。計算式は、「100*(自チームの総リバウンド)/[(自チームの総リバウンド)+(他チームの総リバウンドの平均)]」で良いかと思います。このケースでは、自チームの総リバウンドはリーグ平均なので、これを取り除いた他のチームの総リバウンドの平均もまたリーグ平均に一致しますので、「100*n/(n+n)=100*(1/2)=50[%]」という計算になります。ASTrは「100*AST/FGM」で計算されるもので、要は入ったシュートのうちどれぐらいの割合がアシストパスを受けているかを示すもので、これが高いチームはチームバスケット志向で低いチームはアイソレーション志向、などということを漠然と把握できます。特に算出する必要もないのですが、計算が簡単なのとスプレッドシートの列を整える目的でとりあえず足してみました。NBA.comでは発展的チームスタッツとして採用されています。プレーヤーのスタッツで出てくるAST%とは異なるものです。

「平均的なNBAプレーヤー」の算出

次にこれをもとに「平均的なNBAプレーヤー」を作り出します。発想としては非常に単純で、全く同じ能力(成績)の5人のプレーヤーがプレーするチームがあると仮定すると、その個々のプレーヤーはそのチームの平均的なプレーヤーと言うことができ、さらにそのチームがリーグ平均と完全に一致する成績を残したと仮定したら、その個々のプレーヤーは「平均的なNBAチーム」の平均的なプレーヤーということになり、「平均的なNBAプレーヤー」とみなすことができる、ということです。

まずは平均的チームのトータルスタッツを5で割って、平均的プレーヤーのトータルスタッツを算出します(45行目)。この45行目は発展的スタッツの計算で多用します。次にこれを試合数で割ると平均的な選手の1試合あたりのスタッツが算出できます(46行目)。このケースでは1試合あたりの出場時間が48.36分と48分を超えますが、これはOTのプレータイムも含まれるためです。これでは非現実、かつもともと1試合あたりのスタッツの比較ではプレーの質は測りにくいため、単位時間あたりのスタッツに調整します。48分あたりのものが47行目、36分あたりのものが48行目で、これを見やすいように小数点以下の桁数をさらに調整したのがそれぞれ49行目と50行目です。BBRでも採用されている36分あたりの成績に調整したものを転載します。

Player traditional stats G MP FG FGA FG% 3P 3PA 3P% 2P 2PA 2P% FT FTA FT% ORB DRB TRB AST STL BLK TOV PF PTS
AP per 36min(adjusted) 82 36 5.7 12.6 .452 1.3 3.6 .354 4.4 9.0 .491 2.6 3.5 .757 1.6 5.0 6.5 3.3 1.2 0.7 2.1 3.0 15.3

一番左の「AP」はAverage Playerの略です。次に100チームポゼッションあたりのスタッツを求めます。まずは、プレーヤーが出場した試合において最初から最後までずっと出ずっぱりであったという仮の状況を作り出します。これはチームの1試合あたりの総プレータイムを5で割り、これをさらに計算したいプレーヤーの1試合あたりのプレータイムで割ったものを、求めたい項目の1試合あたりの数値にかければ、1試合出ずっぱりだったとした場合のその項目の値が求められます。更に、Paceとは1試合あたりのチームのポゼッション数であることから、100/Paceをかけることで100チームポゼッションあたりのスタッツを求めることが出来ます。すなわち、(求めたい項目の1試合あたりのスタッツ)*((team minute per game/5)/mpg)*(100/Pace)で100チームポゼッションあたりのスタッツが求められます。例として2015-2016シーズンのスパーズレナードの100チームポゼッションあたりのPTSを求めてみます。このシーズンのスパーズの1ゲームあたりのプレータイムは240.3分、Paceは93.8、レナードのmpgは33.1分、ppgは21.2でした。したがってレナードの100チームポゼッションあたりのPTSは、21.2*((240.3/5)/33.1)*(100/93.8)=32.8162...となります。これが実際に2015-2016シーズンのper 100 PossのPTS=32.8と一致することを確認してください。平均的プレーヤーについてこれを算出したものが53行目です。これを見やすいように小数点以下の桁数を調整したのが54行目です。これを転載します。

Per 100 Poss G MP FG FGA FG% 3P 3PA 3P% 2P 2PA 2P% FT FTA FT% ORB DRB TRB AST STL BLK TOV PF PTS Ortg Drtg
AP per 100 Poss(adjusted) 82 3966 8.0 17.7 .452 1.8 5.0 .354 6.2 12.6 .491 3.7 4.9 .757 2.2 7.0 9.1 4.7 1.6 1.0 3.0 4.2 21.4 106.9 106.5

更に、ここまでで求められたスタッツに基づき、BBRの手法に則って各種の発展的スタッツを算出しました(57行目)。100チームポゼッションあたりのスタッツにORtgとDRtgがありますが、実際には最後の方に計算しています。これを見やすいように小数点以下の桁数を調整したものが58行目で、これを転載します。

Player miscellaneous stats PER eFG% TS% 3PAr FTr ORB% DRB% TRB% AST% STL% BLK% TOV% USG% ORtg DRtg OWS DWS WS WS/48 OBPM DBPM BPM VORP
AP misc stats(adjusted) 15 .502 .541 .285 .276 4.8 15.2 10.0 14.6 1.6 1.6 13.2 20.0 106.9 106.5 4.4 4.0 8.4 .102 0 0 0 2

発展的スタッツを求めるための煩雑な計算プロセスは61行目以下に記述してあります。発展的スタッツを眺めてみると色々気付くことがありますが、細かい話は後ほどします。理屈の上では各RB%やSTL%、BLK%はチームスタッツの5分の1になっていなければいけませんし、USG%は20%ジャストになるはずでしたが、実際の計算の結果はその通りだったので安心しました。eFG%からUSG%までは計算ミスはないはずです。

 さて、こうして「平均的なNBAプレーヤー」を作り出してみたわけですが、どうでしょうか。Kは普通に贔屓のチームにほしいですこの選手。突出したところは文字通り(というか定義上)ひとつもないのですが、全部揃うとなかなかのバーサタイルプレーヤーぶりと言えるのではないでしょうか。「わしらが欲しかったソロモン・ヒルはこっちの方じゃ!」というペリカンズファンの心の声は今受信しました。それと、ウィルソン・チャンドラーにスタッツが結構似ているように思います。チャンドラーからシュート意欲を程々削ぎ落としてパスの意識をプラスすると平均的なNBAプレーヤーになるのではないか、という感じもします。仮にこの選手が毎試合36分プレーしてくれるとしたら全体のプレータイムに占める割合は約8分の1で、平均的なプレーヤーらしくサラリーキャップの8分の1の年俸を支払うとしたら、2015-2016シーズンのキャップは7000万ドルなので7000/8=875万ドル、タックスラインの8分の1を支払うとしたら8474万ドルの8分の1で8474/8=1059万ドル。うーん、安い、ような、そうでもない、ような。今年のサラリーキャップなら、同じ計算をしたとして1200万から1400万ドルぐらいが平均的プレーヤーの適正サラリーというところでしょうか、プレータイムによりますが。ソロモン・ヒルがこういう選手だったら、あの契約は適正価格でした。しかし、ヒルのスタッツを眺めてみると、2015-2016シーズンは平均的プレーヤーにかなり近い数字を残していましたが、ポール・ジョージとCJ マイルズの後ろの2ないし3番手のSF・PFのポジションで、「平均以下のメンツを相手にした平均的スタッツ」なわけで、なんでその選手とあんな大きな契約をしてしまったのか。オフはタイラー・ジョンソンの契約が高すぎるという話題のほうが大きかったと思いますが、サンプルは少ないながら彼が全体として平均よりも良い成績を残していたのは確かなので、まだ合理性があったと言えると思います。ヒルもまだ若いからこれからずっと伸びるかもしれませんけど。

なお、36分あたりのスタッツよりは100ポゼッションあたりのスタッツのほうが比較には有用です。試合ペースの早いチームの選手は1試合や単位時間あたりのスタッツが全体的に伸びやすいですが、バスケは対戦する両チームのポゼッションが交互に交代し必ず同じポゼッション数になるスポーツですので、ポゼッションベースのスタッツのほうがプレーの内容や質をフェアに反映します。

以下発展的なスタッツについての細かい話。

「平均的なNBAプレーヤー」のPER

計算方法はこちら。今回の試みの直接の出発点になったのは「PERは特定のスタッツに引っ張られているのではないか」「本当に平均的な選手のPERは15になるのか」という疑問でしたが、計算の結果平均的プレーヤーのPERがジャスト15になったことを確認しました。小数点以下の数値の切り捨て・切り上げの結果の15ではなく、ジャストで15です。これにはさすがに感動しました。これほど複雑で煩雑な計算式でも、プレーヤーとリーグ全体のuPERが一致するとは、見事なものです。PERの妥当性はともかく、非常に見事な設計がされている指標であることは間違いありません。

一方で、「PERは特定のスタッツに引っ張られているのではないか」という疑問は解消できないな、という認識です。というのも、計算式上にチームスタッツが複数出てくるからです。例えば、個人スタッツとリーグスタッツだけを使う計算であったり、チームスタッツはPaceの調整だけに使うというのであれば、最終的な計算式の変数は個人スタッツだけになるので、各変数の係数を比較することで「PERはSTLを3Pn回分の価値があるとみなしている」などと解釈することが可能になります。しかしチームスタッツがPERに複数含まれるということは「個々のプレーヤーのPERに対してチームの成績が影響を及ぼす」ということですので、個人スタッツだけを問題にすることができなくなりますので、上記のような解釈を行うことは出来ません。やや残念ですが、この点については解決できませんでした。

「平均的なNBAプレーヤー」のIndividual ORtg、Individual DRtg、WS

Individual Offensive Rating及びIndividual Defensive Ratingの計算方法はこちら。Win Sharesの計算方法はこちら。WSはIndividual ORtg & DRtgをベースにした派生スタッツなので両方をまとめて論じます。

まず、チームのORtgとDRtgは上述のように106.4でともに一致しています(スプレッドシートではQ40及びR40)。平均的チームは得失点差0のチームですから一致するのは当然です。また、このチームの平均的プレーヤーのIndividual ORtg及びDRtgもチームのORtg及びDRtgに一致しなければいけません。しかし計算の結果、「平均的なNBAプレーヤー」のIndividual ORtg及びDRtgは「平均的なNBAチーム」のORtg及びDRtgに一致せず、しかもIndividual ORtgとDRtgが一致しませんでした。BBRの計算式やスプレッドシートの計算プロセスを見てもらえば分かるとおり、Individual ORtgとDRtgの計算はPERにもましてさらに煩雑で、計算ミスがありそうな項目で、個人的には不安が残っています。2、3回内容を確認しましたが、計算間違いは見つけられませんでした。

Kが正しい計算をしたという前提でこの結果を見ると、「Individual ORtg及びDRtgはバランスするように設計されていない」「Individual ORtg及びDRtgはチームのORtg及びDRtgとバランスするように設計されていない」「しかし誤差は極めて小さい」ということが言えると思います。最後が一番重要です。個人の能力を測る総合指標は様々ありますが、Individual ORtgとDRtgはなかなか確度が高い指標なのではないかと思います。PERのようなぼんやりした上下の比較ではなく、生み出す得点と失点を算出することで「このプレーヤーはチームにとって総合的にどれぐらいプラスないしマイナスになるか」を測れるところも良い点です。NBA.comで採用されているシンプルなPlus/MinusやORtgとDRtgは、客観性が極めて高い一方でチーム全体のプレーに引っ張られ過ぎるきらいがあり、あれらの指標よりはより実態に近い個人の能力を測ることができる良い指標だと思います。

しかしIndividual ORtgとDRtgが全くチーム成績の影響を受けないかというとそうではないでしょう。計算式の中にもチームスタッツは数多く入りますし、事実としてもチームと個人のORtgとDRtgには相関がありそうです。例としてスパーズとダンカンを取り上げます。ダンカンのオフェンス面での役割の変化については周知のとおりですが、ディフェンス面での役割は一貫して変わらず、ディフェンス力は生涯安定していたと言えますので、DRtgの動きを見ます。ダンカンのDRtgを見てみると、毎年95程度の安定した数字を残しています(すげーな)が、2008-2009シーズンから4年ほど100を超えるような比較的高い時期が続きます。この間のチームのDRtgを見てみると、ちょうどこの4年間にDRtgがぐっと上がっていることがわかります。その後少し下がりますが100を超える時期が続き、ダンカンのDRtgもそれ以前ほどには低くありません。ダンカンの実際のディフェンス力が年齢にも関わらずそれほど変わらなかった事を考えると、「ダンカンの成績がチームDRtgに影響を与えた」というよりも「チームの成績がダンカンのDRtgに影響を与えた」と考えるほうが正しいのではないでしょうか。事実、それ以前のスパーズはチームDRtgはリーグで3位以下が当たり前(ほとんど1位)なのに対し、2008-2009は5位2009-2010は8位2010-2011は11位2011-2012は10位と確かに悪かったのです。Individual ORtgとDRtgはチーム成績にある程度は影響を受ける指標であるということができると思います。しかしながら、その影響される程度はそれほど大きくないとも言えるのではないでしょうか。Individual ORtgとDRtgの差をとって総合的にプラスになる選手かをみたり、平均的チームのORtg及びDRtgと比較して「この選手のオフェンス力(ディフェンス力)は平均と比べてどれぐらい良い(悪い)か」などということを探ってみるのは、個々のプレーヤーの能力を評価する良い方法だと思います。

「平均的なNBAプレーヤー」のWSが8.4になってしまっているのは笑いどころというかなんというか。算出した平均的チームはこの選手5人のチームなので、このWSに基づいた年間勝利数の期待値は8.4*5=42になってしまいます。つまり、勝ち越してしまいます。この選手は得失点差が0になるように設計されているわけですから、この選手5人のチームの年間勝利数の期待値は41勝で五分の成績なります。これはWSがベースにしているIndividual ORtgとDRtgの差が、この選手の場合+0.4になってしまっているためこういうズレが出るのでしょう。まあ、それでもなかなか面白いスタッツだとは思います。WS/48はWSに対して100Possあたりのスタッツを求めるときにしたのと同じような操作をすれば求められます。すなわち、(WS/G)*(48/mpg)で求めることができます。平均的な選手のWS/48は.100付近になるとのことですが、この場合も大体そこに収まっています(.102)。

しかし、チームのORtg及びDRtgとIndividual ORtg及びDRtgがバランスしないこと、Individual ORtgとDRtgがバランスしないことは意外でした。開発者のメールアドレスが公開されてるので、メール送ってこれで正しいか聞いてみようかな。いまキングスで働いているらしいので、メール送っても忙しくてみてくれないかもしれないけど。てかこんな古いアドレス(2004年出版の本のプロモーションサイトのドメイン)にメール届くのか&チェックしてるのかも謎ですが。

「平均的なNBAプレーヤー」のBPM

Box Plus/Minusの計算方法はこちら。BBRにおいて採用されているもうひとつの発展的スタッツがBPMで、計算手法が不明な部分が複数あったために、内容にはあまり自信がありません。

まずはプレータイムを調整したReMPGの計算方法が確信が持てません。今回作った平均的プレーヤーは全試合の全時間出場している設定なので調整の必要はないと思いますが、正しい計算式を組まずに算出するのもどうかという感があります。一応調整しないプレータイムを用いてRaw BPMとRaw OBPMを計算してはいます(77行目、80行目)。

このRaw BPMにTeam Adjustmentと呼ばれる項目を加えたものが最終的なBPMとなりますが、このTeam Adjustmentの式の内容が理解しづらい。正直かなりぼんやりと式を組んでしまいました。言わんとするところは分かるんだけど、具体的な事例で計算してくれていないので、自分で組んだ式が正しいのか確信が持てないなあ、という感じです。式はセルのO77及びO80を見ていただければと思います。得失点差0の平均的チームなのでTeam RatingはORtg-DRtg=0で、全時間フロアに立っているのでプレータイム率は1、同じ能力のプレーヤーだけのチームなのでRaw BPMの合計はプレーヤーの数を単純にかければいい=(team total minutes)/(player total minutes)をかければいい、ということでこういう式にしてみました。計算の結果各BPMは0になりました。これまた上手くバランスしましたな。VORPも方程式通りに計算しました。VORPはValue Over Replacement Playerの略で、交代要員レベルの選手(Replacement Player)に比べてどれだけ価値があるか、という指標で、その交代要員レベルの選手を「BPMで-2ぐらいの選手」と定義しているため、平均的プレーヤーのVORPが2になるのは仕様通りというところです。

BPMは100ポゼッションあたりのスタッツで、過去のデータから回帰分析によって算出された係数、さらにチーム成績と実際のプレータイムの間のチームへの貢献度を基にした調整が組み合わさった複合的なもので、非常に良く出来ているように思います。平均的なプレーヤーのBPMがちゃんと0になるような設計もされていますし。しかし、今回の想定ではチーム自体も平均的なチームであるという前提があるためRaw BPMとTeam Adjustmentがバランスしましたが、平均的でないチームの中にこの平均的プレーヤーをはめこんだとしたら上手くバランスしないのではないかと思います。検証するのがあまりにも面倒なので、流石にそこまでは確認する気力がありませんが。

Individual ORtg及びDRtgと同じくダンカンのスタッツを眺めてみると、チーム成績に左右される部分があることは否めないように思います。結果を比較すると、BPMとIndividual ORtg及びDRtgはそれほど大きく価値の違わない情報をこちらに提供してくれると思います。BPMは基準点が0で、実際の100ポゼッションあたりの得失点差にプレーヤーが与えるインパクトがわかりやすいというか実感にマッチした数字が出るので、比較のためにリーグ平均を調べる必要のあるIndividual ORtg及びDRtgよりも簡便なのは確かですね。両者の最大の違いは、BPMはプレータイムを評価に入れており、この大小がBPMにそれなりの影響を与えるということです。プレータイムの長いプレーヤーは相手の1st Unitの強力なプレーヤーとマッチアップする機会が多い、短いプレーヤーはガベージタイムで劣った相手とマッチアップする機会が多い、だからプレータイムはそれ自体がプレーヤーの能力を語るものとして評価に入れるべき、という発想です。プレータイムの短い選手ではBPMとIndividual ORtg及びDRtgとで違いが比較的大きく出てきます。

BPMCARMELOのプレーヤー評価にも組み込まれていますが、スタッツ分析の専門家の間でも信頼されている指標だからこそでしょう。

自分で少し考えてみる:ディフェンスの価値

まずSTLの存在しない世界を仮定してみます。2015-2016シーズンのSTLのリーグトータルは19303ですが、これが0になります。STLは定義上相手チームのTOを意味しますので、リーグトータルのTO 35384から19303を引いて16081になります。このように数字を修正してこれまでやったのと同じ計算を行うと、平均的チームのORtg及びDRtgは115.8になります。つまりSTLの存在しない世界の2015-2016シーズンの1ポゼッションあたりの得点期待値は平均で1.158点になります。STLはこの得点期待値のあった相手のポゼッションを0得点にするプレーであり、1.158点の失点を抑えることは1.158得点することと(試合が0対0で終わらない限りは)同じですので、2015-2016シーズンは1回のSTLは1.158点分の価値のあるプレーと数字の上では言えます。一方でBLKは、それ自体がTOやDREBなどポゼッションの交代を意味するわけではないため、STLよりは価値の低いプレーと言えます。ディフェンスの目的は「相手に得点を許さずにポゼッションを交代する(TOかDREBを得る)こと」ですので、それを導き出せるプレーは良いプレーと言えます。

では、1回のSTLには1.158点分の価値がある、BLKはSTLほどの価値がないと単純に言えるかというと、話はそう簡単ではないと思います。そう考える根拠は「そもそもディフェンススタッツがSTL、BLK、DREBしかないのは少なすぎる、これだけではプレーヤーのディフェンス力を正しく評価できないのではないか」ということです。

STLもBLKもDREBもリーグの平均以下にもかかわらず、NBA最高峰のディフェンダーとして認識されていたプレーヤーのわかりやすい例としてブルース・ボウエンを挙げておきます。年度が違うので単純に比較は出来ませんが、2015-2016シーズンの平均的プレーヤーのSTL%、BLK%、DREB%とボウエンのそれを比較してみると、ほぼ常にすべてのスタッツが平均以下となっています。彼のディフェンスの実例として、2007年ファイナル第4戦のレブロンに対するディフェンスを編集した動画があるのでそれを見てみます。

この試合のボックススコアを見てみると、ボウエンはSTLもBLKもゼロである一方、レブロンに30本シュートを打たせてFG% .333 / eFG% .367 / TS% .368と圧倒的におさえています。プレーを見ると、ジャンプシュートの精度が悪いレブロンに対してガッツリ距離をおいており、ジャンプシュートを打ちたいならご自由にどうぞと打たせる一方で、ドライブで抜き去られることを予防するような守り方をしています。ペネトレイトされてもしっかりと食いついていき、オベルトかダンカンとのダブルチームでレイアップをうたせないような対応をしています。こうしたディフェンスはSTLやBLKをベースにして評価することは出来ません。ディナイディフェンスで相手の最も効率的な点取り屋にそもそもボールを持たせないというようなプレーも相手の得点期待値を下げることに貢献するでしょうが、こうしたプレーも伝統的なスタッツをベースにした方法では定量化出来ません。Sports VUなどの現代的テクノロジーを利用した解析でならできるかもしれませんし、実際に行われているのかもしれませんが、ただのファンがそういったデータに触れる機会はほとんどありません。

STL、BLK、DREBは、全体としてはペリメーターディフェンダーほど稼ぎにくくインサイドの選手ほど稼ぎやすいため、これらをベースにしたディフェンス指標は全体的にビッグマンが過大評価されガードは過小評価される傾向があるように思います。2015-2016のNBAオールディフェンシブ1stに選ばれたエイブリー・ブラッドリーはDBPMが-0.3でクリス・ポールは+0.5、対してデアンドレ・ジョーダンは+3.8と極めて差が大きく、この差は妥当だろうか、という疑問をおぼえます。一方、オールディフェンシブチームの常連のガードであるトニー・アレンはDBPMがガードとしては非常に高いですが、BPMの計算式の変数であるSTL%が非常に高く、BLK%やDREB%もガードとしてはかなり高い数値になっていることが影響しているように思います。しかしポールやブラッドリーとこれほどの差があるのかというと、なんとも言いにくいところです。BPMの開発者自身が「ボックススコアにはディフェンス力を測るスタッツが非常に少ないから、BPMはオフェンス力はかなり良く測れる一方ディフェンス力は上手く測れない。あの選手はディフェンスがうまいとか下手だとかいう一般的な評価に照らしてDBPMの評価を割り引くのに躊躇してはいけない」と語っており、ボックススコア由来のスタッツをベースにしてディフェンス力を測ることの難しさについて考えさせられます。

一般的に手に入るディフェンススタッツで、伝統的なスタッツに基づかない現代的なものの代表はNBA.comのトラッキングデータでしょうか。例としてレナードのものにリンクしておきます。DFG%はディフェンスしていたプレーヤーのFG%で、FG%はディフェンスしていたプレーヤーの平均FG%、Diff%はFG%とDFG%の差で、これがマイナスなら相手を平均以上に抑えていた、ということになります。リムプロテクターなら6ft以下のDFG%とDiff%がより重要になるでしょうし、ペリメーターディフェンダーならそれ以上の距離のDFG%やD3P%とそのDiff%が重要になるでしょう。このデータを利用すれば相手の得点期待値をどれだけ削いだかを計算することも可能なように思います。例えばレナードの場合は、3P%を1.3%余分に抑えているので、1回の3PAに対し3*0.013=0.039点分得点期待値を削いでおり、2P%を7.2%余分に抑えているので、1回の2PAに対し2*0.072=0.144点分得点期待値を削いでおり、構成比が2P:3P=0.692:0.308なので、相手の1回のFGAに対し、(0.144*0.692)+(0.039*0.308)=0.11166点分の得点期待値を削ぎ落としている計算になります。しかしTS%と一緒で、実際の得点力はFTによるものも考慮しなくてはいけないので、ポゼッションあたりのシューティングファールの回数も考慮し、どれだけトラッキングデータのDiff%が良くても相手に簡単にシューティングファールを与えるような選手のディフェンス力は割り引くべきでしょうから、「与シューテングファール率」や「与FT率」、「FT失点期待値(クリント・カペラのような選手にシューティングファールをしても全然痛くないので)」のようなデータがあればいいのですが、このようなデータは見たことがありません。また、トラッキングデータを活用しても、先に書いたような「ディナイディフェンスで相手の最も効率的な点取り屋にそもそもボールを持たせない」というようなプレーの価値を測ることは出来ません。また、これだけだとスティールの価値が逆に無視されてしまいます。FGAがあったということはそれまでにそのポゼッションでTOがなかったということですので。最高のディフェンスとは失点0でポゼッションを交代させることですが、定義上TOを意味するスティールは文句なしに最高のディフェンスプレーの一つと言えます。得点期待値の高いファストブレークでのシュートにもつながりやすいですし、単なるTO以上の価値のあるプレーです。

ディフェンスの評価は、やはり非常に難しいです。数値化できる要素だけではあまり高い精度で評価できず、現状ある程度主観的な判断をせざるをえないように思います。

終わりに

なんとなくの思いつきで計算し始めたら案外大変な作業になってしまいましたが、やってみて思ったのは「スタッツは計算式を理解することがとても大事」ということでした。どういう変数と係数を使っていて、どういう意図でこういう式にしているのかが理解できれば、スタッツの意味もよく理解できると思います。発展的なスタッツは特にそうでした。ディフェンス力の定量的評価の問題点については前項のとおりです。それと、高度なスタッツ分析の世界は完全にポゼッションベースの分析が主流で、1試合あたりのスタッツにかまけるのはほとんど意味がないなとも思いました。ただ、BPMのコンセプトに「プレータイムには価値がある」というものがありますし、1st Unit相手の平均的な成績と2nd Unit相手の平均的な成績では価値が違うというのも確かですので、プレーヤーがどのような環境に置かれてどのような成績を残したかということを無視することもできないと思います。昨シーズンのマリアノビッチみたいに3rd Unitでリーグ最高峰のポゼッションベースのスタッツやPER等を残したところで、正直あまり意味がないと言えます。

今までTS%の計算でFTAに対して0.44という中途半端な係数をかけるのはなんでだろうか、と不思議に思っていましたが、他の発展的なスタッツでも同様の処理がなされていたため、これはいよいよ意味がある数字なんだなと思い、自分の頭で理由を推測したり検索して調べたりして、今回その根拠を理解しました。こういう計算をする機会がなかったら多分ずっとわからないままだったでしょう。すっきりしました。少し検索すればわかると思いますので、関心のある人は検索してみてください。