インディアナ・ペイサーズのタイリース・ハリバートンは、4月6日(現地時間5日)、インディアナ州インディアナポリスのゲインブリッジ・フィールドハウスで行われたオクラホマシティ・サンダー戦で11本のアシストを記録し、今シーズンにおけるアシスト数を714に伸ばしました。
これまで、ペイサーズの1シーズンにおけるアシスト数の球団記録は、1997-98シーズンにマーク・ジャクソンが打ち立てた713アシストであり、今回タイリース・ハリバートンはこの記録を抜き、新たに球団記録を更新したことになります。
そこで今回は、2024/4/5時点のPlay By Playデータを使い、タイリース・ハリバートンに焦点をあてながらペイサーズのアシストネットワークの分析を行っていきたいと思います。
データに関しては、Pbox(過去記事参照)はNBA公式ウェブサイトから収集し、PbP. BDB(過去記事参照)はBigDataBallウェブサイトにて購入しており、分析は統計ソフトRにより実行しています。
それでは、2024/4/5時点におけるペイサーズのアシストネットワークのグラフから示していきます。
※データ分析を実践する際に参考にしている書籍『Basketball Data Science: With Applications in R』の紹介記事も書いていますので、よろしければご確認ください。
タイリース・ハリバートンのアシストの特徴<NBA2023-24レギュラー・シーズン ※2024/4/5時点>
2024/4/5時点における2023-24シーズンのペイサーズのアシストネットワークは、下記に示す通りです。
なお、グラフ内に示されている項目やグラフの見方は以下をご参照ください。
- ノード(Node:プレイヤー名とともに円形で表示されているもの)の色は、そのプレイヤーのフィールドゴールによる獲得点数(以下、FGPTS)を表しており、FGPTSが多ければ赤色、FGPTSが少なければ薄紫色を示します。
- ノードの大きさは、そのプレイヤーがチームメイトへアシストすることで生み出した獲得点数(以下、ASTPTS)を表します。ASTPTSが多ければノードのサイズが大きくなり、ASTPTSが少なければノードのサイズは小さくなります。
- 各プレイヤーはエッジ(Edge)と呼ばれる矢印でそれぞれ結ばれており、エッジの起点となるプレイヤーはアシストを出した側、エッジの終点となるプレイヤーはアシストを受けた側であることを表しています。エッジの色はアシスト数と対応しており、アシスト数が多ければ赤色、アシスト数が少なければ薄紫色を示します。(※下記グラフではネットワークの状況を見やすくするために、アシスト数20以下となるエッジの表記を省略しています。)
上記のグラフ内のノードとエッジを確認することにより、タイリース・ハリバートンがペイサーズのアシストネットワークの中心であることを改めて認識することが出来ます。
エッジに注目するとタイリース・ハリバートンからは、マイルズ・ターナーへ出されるアシストが圧倒的に多く、次いで、オビ・トッピンとアーロン・ネスミスへのアシストが比較的多く出されていることが読み取れます。
また、ノードに注目すると、タイリース・ハリバートンのFGPTSとASTPTSはともに高い水準を示しており、同選手はチームの獲得点数という観点からも重要な役割を担っていることが分かります。
なお、上記グラフの作成に使われた実際のスタッツは以下に示すとおりであり、次は具体的なスタッツを交えながらアシストの傾向を確認していきたいと思います。(※Play-by-Playデータから集計されたスタッツであるため、NBA公式で公表されているスタッツと差異があります。あくまでも目安の数値としてご参考ください。)
上記のスタッツにつきアシスト数(AST)に注目すると、タイリース・ハリバートン(最後尾21行目)の725本がチーム内で圧倒的に多いことが分かります。
主力の6プレイヤー(アーロン・ネスミス、アンドリュー・ネムハード、マイルズ・ターナー、オビ・トッピン、パスカル・シアカム、タイリース・ハリバートン)に限定しますが、上記のアシスト数に関して、プレイヤー間のアシストのやり取りが分かるようにクロス集計表を続けて示します。
上記のクロス集計表を確認すると、トータルで725本のアシストを供給したタイリース・ハリバートンは、その約27.5%にあたる200本のアシストをマイルズ・ターナーへ、次いで、その約12.6%にあたる92本のアシストをアーロン・ネスミスへ出していることが読み取れます。
タイリース・ハリバートンからマイルズ・ターナーへのアシストの多さは、前述のアシストネットワークのグラフで視覚的に把握できましたが、具体的な数値を見るとタイリース・ハリバートンのアシスト総数の1/4以上がマイルズ・ターナーへのアシストとなっていることから、改めてその多さを認識することが出来ます。
次に、上記で示したスタッツに関してASTPTSに注目していきます。
ASTPTSに関して、タイリース・ハリバートンは(当然ではありますが)チームトップの1722点をマークしており、この点数は自身で直接的に獲得した得点FGPTSの1154点を上回っていることが分かります。
ペイサーズがチーム全体で獲得したFGPTSのトータルは8401点であり、タイリース・ハリバートンが直接的に獲得した1154点は、そのうちの約13.7%を占めることになります。
これに加えてさらに、タイリース・ハリバートンが自身のアシストにより間接的に生み出した1722点は、チーム全体で獲得したFGPTSの約20.4%を占めていることから、チーム全体のFGPTSの約34.1%(13.7%+20.4%)は、同選手が直接的および間接的に生み出したFGPTSで構成されていると捉えることも出来ます。
なお、この構成割合に関して、タイリース・ハリバートンに次ぐ数値はTJ・マッコネルの約17.9%※1ですが、これら割合の比較からも、オフェンス面におけるタイリース・ハリバートンの強い影響力を垣間見ることが出来ます。[※1(マッコネルのFGPTS 612点 + マッコネルのASTPTS 894点)/ チーム全体のFGPTS 8401点=約17.9%]
なお、上記のグラフを出力するための統計ソフトRのコマンドは、後述を参照ください。
※参考<統計ソフトRに入力するコマンド>
※アシストのネットワーク分析に関しては、3つの過去記事(①、②、③)でも扱っていますので、よろしければご参考ください。
> library(BasketballAnalyzeR) #パッケージBasketballAnalyzeRの読み込み
> Pbox2324 <- read.csv(file="Pbox_20240407.csv") # Pbox2324の読み込み
> dts.PbP.2324 <- read.csv(file="PbP. BDB_2324.csv") # PbP. BDB2324の読み込み
> PbP2324 <- PbPmanipulation(dts.PbP.2324) # PbPmanipulation()でPbP2324を作成
> PbP2324.IND <- subset(PbP2324, team=="IND") #PbP2324からteamがINDと一致するデータを抽出し、PbP2324.INDへ格納
> PbP2324.ind <- PbP2324.IND[!(PbP2324.IND$event_type=="shot" & PbP2324.IND$result=="missed"),] #PbP2324.INDのevent_type欄がshotと一致し、かつresult欄がmissedに一致するデータを除外。除外後のPbP2324.INDをPbP2324.indへ格納。
> netdataind <- assistnet(PbP2324.ind) #assistnet()でアシスト数などを集計しnetdataindへ格納
> plot(netdataind, layout="circle", edge.thr=20, node.col="FGPTS", node.size="ASTPTS") #エッジ表示の閾値を20、ネットワークの形をサークルと指定し、netdataindを用いてグラフを出力
> TABind <- netdataind$assistTable #アシストのクロス集計表をTABindへ格納
> Xind <- netdataind$nodeStats #アシスト関連のスタッツをXindへ格納
> names(Xind)[1] <- "Player" #names()を使ってXindの1列目の変数名をPlayerへ変更
> dataind <- merge(Xind, Pbox2324, by="Player") #merge()を使ってXindとPbox2324をPlayerで横に併合
> dataind <- dataind[-10,] #dataindの10行目のIsaiah Wongを削除
> selind <- which(dataind$Player=="Aaron Nesmith" | dataind$Player=="Tyrese Haliburton" | dataind$Player=="Obi Toppin" | dataind$Player=="Myles Turner" | dataind$Player=="Andrew Nembhard" | dataind$Player=="Pascal Siakam") #which()を使って主力6名を取り出しselindへ格納
> tabind <- TABind[selind, selind] #TABindの行と列のうちselindに該当するものを抽出しtabindへ格納
それでは、今回のトラッシュトークは以上です。
※データ分析を実践する際に参考にしている書籍『Basketball Data Science: With Applications in R』の紹介記事はこちらからご確認ください。