12月17日(現地時間16日)、コロラド州デンバーのボール・アリーナで行われたオクラホマシティ・サンダー対デンバー・ナゲッツの試合は、サンダーが118対117でナゲッツに勝利した。
※データ分析を実践する際に参考にしている書籍『Basketball Data Science: With Applications in R』の紹介記事も書きましたので、よろしければご確認ください。
試合内容<サンダー対ナゲッツ 2023-12-17>
試合序盤は両チームがリードチェンジを繰り返し、立ち上がりからテンポの早い試合展開となる。
一時はナゲッツがリードを11点差に広げる場面も見られたが、ジェイレン・ウィリアムズ、シェイ・ギルジャス・アレクサンダー、チェット・ホルムグレンらの活躍もあり、勝負所でサンダーが粘り強さを見せる。
試合時間残り1秒、シェイ・ギルジャス・アレクサンダーがミドルレンジからのフェイドアウェイシュートを沈めスコアを118対117とし、サンダーが土壇場で逆転に成功。
逆転をかけたデンバーのラストプレーはサンダーのディフェンスに阻まれ、そのまま試合終了。
最終スコアを118対117とし、サンダーがナゲッツとの接戦を制した。
本試合における8つのスタッツに関して、各チームのプレイヤーごとのレーダーチャートを下記に示す。(※NBA公式ウェブサイトのボックススコアをもとに作成。)
ナゲッツは、マイケル・ポーターJr.が20得点(3Pシュート成功数4本)、11リバウンド、アーロン・ゴードンが16得点、9リバウンド、5アシスト、2スティール、ニコラ・ヨキッチが24得点、6リバウンド、12アシスト、2スティール、ジャマール・マレーが15得点、5アシスト、ディアンドレ・ジョーダンが7リバウンドを記録している。
また、サンダーは、ジェイレン・ウィリアムズが24得点、チェット・ホルムグレンが17得点、11リバウンド、9ブロック、シェイ・ギルジャス・アレクサンダーが25得点、6リバウンド、8アシスト、2スティール、ジェイリン・ウィリアムズが11得点(3Pシュート成功数3本)を記録している。
接戦となった本試合、両チームとも拮抗した試合内容を見せたが、今回は9ブロックをマークしたサンダーのチェット・ホルムグレンに注目しながら、本試合におけるプラスマイナスやCONTESTED SHOTS※の回数などを取り上げる。(※CONTESTED SHOTSとは、ディフェンスの選手またはチームが、シュートが放たれる前にクローズアウトし、手を上げてシュート間合いを詰めた回数を表す。)
下記は、横軸にプラスマイナス(PM)、縦軸にCONTESTED SHOTS(CTST)の数値をとり、バブルの大きさに出場時間(MIN)、バブルの色にブロック数(BLK)を対応させたバブルチャートである。
上記のバブルチャートのプラスマイナス(PM)を確認すると、サンダーは先発メンバーのうちジョシュ・ギディーを除く4名(ルーゲンツ・ドート、ジェイレン・ウィリアムズ、チェット・ホルムグレン、シェイ・ギルジャス・アレクサンダー)がプラスマイナスでプラスとなっており、チェット・ホルムグレンは本試合の中でも比較的高い+10をマークしている。(対照的にデンバーは、先発メンバーのうちマイケル・ポーターJr.だけがプラスマイナスでプラスを記録している。)
また、CONTESTED SHOTS(CTST)を確認すると、チェット・ホルムグレンが突出して高く、サンダーのチーム全体のCONTESTED SHOTSの60回のうち、25回はチェット・ホルムグレンが記録したものである。(なお、デンバーのCONTESTED SHOTSはチーム全体で53回であり、そのうち最多回数はニコラ・ヨキッチの11回である。)
さらに、ブロック数(BLK)に注目すると、デンバーの本試合におけるブロック数は0であるのに対して、サンダーのブロック数は10本であった。
サンダーのブロック数10本のうち9本はチェット・ホルムグレンが叩き出したスタッツであることからも、本試合のディフェンス面におけるチェット・ホルムグレンの存在感の大きさがうかがえる。
※参考<統計ソフトRに入力するコマンド>
両チームの8スタッツに関するレーダーチャート
> library(BasketballAnalyzeR) #パッケージBasketballAnalyzeRの読み込み
> Bscore1217 <- read.csv(file="20231217_OKCDEN.csv") #該当試合のデータを集計したデータの読み込み
> attach(Bscore1217) #attach()でBscore1217を指定
> X <- data.frame(PTS,P3M, FTM, REB, AST, STL, BLK, TO) #各スタッツの数値をdata.frame()でまとめてXに格納
> detach(Bscore1217) #detach()でBscore1217を指定から外す
> radialprofile(data=X, title=Bscore1217$Player, std=TRUE) #レーダーチャートを出力するコマンドでありstd=TRUEで標準化
> listplots <- radialprofile(data=X, title=Bscore1217$Player, std=TRUE) #上記のコマンドをlistplotsに格納
> library(gridExtra) #パッケージgridExtraの読み込み
> grid.arrange(grobs=listplots[1:11], ncol=5) # grid.arrange()で一方のチームのプレイヤーを出力
> grid.arrange(grobs=listplots[12:21], ncol=5) # grid.arrange()でもう一方のチームのプレイヤーを出力
プラスマイナス、CONTESTED SHOTS、出場時間、ブロック数のバブルチャート
> attach(Bscore1217) #attach()でBscore1217を指定
> Y <- data.frame(T=Team, Player, CTSH, BLK, MIN, PM) #各スタッツの数値をdata.frame()でまとめてYに格納
> detach(Bscore1217) #detach()でBscore1217を指定から外す
> labs1 <- c("PM", "CTSH", "BLK", "MIN") #バブルチャートで表示させる変数のラベルをlabs1へ格納
> bubbleplot(Y, id="Player", x="PM", y="CTSH", col="BLK", size="MIN", text.col="T", labels=labs1, title="OKC vs DEN - 20231217", text.size=3.0) # bubbleplot関数を使ってバブルチャートを出力
※データ分析を実践する際に参考にしている書籍『Basketball Data Science: With Applications in R』の紹介記事はこちらからご確認ください。