※ 当サイトは、アフィリエイト広告を利用しています。

【K-means法による非階層的クラスター分析を用いてNBAチームのグループ分けをしよう②】NBAプレーオフ2023の進出チーム数と2022-23レギュラーシーズンにおける各チームの得失点数をクラスター別に確認する

記事内に広告が含まれています。
スポンサーリンク

今回は前回記事のクラスター分析の結果を踏まえて、クラスター別にNBAプレーオフ2023の進出チーム数や、2022-23レギュラーシーズンにおける各チームの得失点数などを確認していきたいと思います。(※本記事は前回記事からの続きとなります。まだ前回の記事をご覧になられていない方は、よろしければ下記より前回の記事をご覧ください。)

使用する統計ソフトはR、データは2022-23レギュラーシーズンのTbox、Obox、Tadd(過去記事参照)を使用します。

はじめに、NBAプレーオフ2023の進出チーム数をクラスター別に確認していきたいと思います。

※データ分析を実践する際に参考にしている書籍『Basketball Data Science: With Applications in R』の紹介記事も書きましたので、よろしければご確認ください。

クラスター別で見るプレーオフ進出チーム数<NBAプレーオフ2023>

まずは、クラスターを構成する各チームにつき、プレーオフ2023の進出の有無で区分した棒グラフを下記に示します。

なお、参考のために前回記事で作成した各クラスターのリストもあわせて再掲します。

ClusterList (2022-23 Regular Season)
[1]
"Atlanta Hawks"        "Chicago Bulls"        "Cleveland Cavaliers"
"Denver Nuggets"       "Memphis Grizzlies"    "Miami Heat"         
"New Orleans Pelicans" "New York Knicks"      "Orlando Magic"       
"Philadelphia 76ers"   "Phoenix Suns"         "Sacramento Kings"    
------------------------------------------------------------------------------------------
[2]
"Boston Celtics"        "Golden State Warriors" "Milwaukee Bucks"      
------------------------------------------------------------------------------------------
[3]
"Oklahoma City Thunder" "Toronto Raptors"      
------------------------------------------------------------------------------------------
[4]
"Charlotte Hornets" "Detroit Pistons"   "Houston Rockets"
"San Antonio Spurs"
------------------------------------------------------------------------------------------ 
[5]
"Brooklyn Nets"          "Dallas Mavericks"       "Indiana Pacers"
"LA Clippers"            "Los Angeles Lakers"     "Minnesota Timberwolves"
"Portland Trail Blazers" "Utah Jazz"              "Washington Wizards"
クラスター別で見るNBAプレーオフ2023の進出チーム数

上記のグラフでは、クラスター1からクラスター5の順番で左から棒グラフが並べられ、プレーオフ進出「有」のチームは青色、プレーオフ進出「無」のチームは水色で表示がされています。

また、左の縦軸の数値では各クラスター内のチーム数を、グラフ内に示されている折れ線グラフと右の縦軸の数値では、各クラスターの平均勝数をそれぞれ確認することができます。

プレーオフ進出チームをクラスター別に確認すると、下記のとおりとなります。

  • クラスター1:所属する12チーム中9チーム(ホークス、キャバリアーズ、ナゲッツ、グリズリーズ、ヒート、ニックス、76ers、サンズ、キングス)がプレーオフに進出
  • クラスター2:所属する全3チーム(セルティックス、ウォリアーズ、バックス)がプレーオフに進出
  • クラスター3:所属する全2チームともにプレーオフ進出なし(CHIが50%を超えるため前回記事に引き続き今回も参考値扱い。※前回記事参照)
  • クラスター4:所属する全4チームともにプレーオフ進出なし
  • クラスター5:所属する9チーム中4チーム(ネッツ、クリッパーズ、レイカーズ、ティンバーウルブズ)がプレーオフに進出

クラスター1に属するプレーオフ進出チームに注目すると、ウェスタン・カンファレンスの中でも比較的上位の順位でプレーオフ進出を決めたチーム(レギュラーシーズンにおいてナゲッツは1位、グリズリーズは2位、サンズは4位、キングスは3位)が多く分類されていることが分かります。

一方、クラスター5に属するプレーオフ進出チームのほうは、ウェスタン・カンファレンスの中でも比較的下位の順位でプレーオフ進出を決めたチーム(レギュラーシーズンにおいてクリッパーズは5位、レイカーズは7位、ティンバーウルブズは8位)が多く分類されています。

なお、イースタン・カンファレンスのプレーオフ進出チームに関しては、レギュラーシーズン1位のバックスと2位のセルティックスはクラスター2に所属し、それ以外のネッツを除く5チーム(ホークス、キャバリアーズ、ヒート、ニックス、76ers)はクラスター1に属していることがわかります。

次に、折れ線グラフで示されているクラスターごとの平均勝数を確認すると、下記のとおりクラスター2の53.0勝が最も多いことがわかります。

> kclu2.W
       1        2        3        4        5 
45.83333 53.00000 40.50000 22.00000 39.11111

次いで、クラスター1の45.8勝が続き、クラスター3とクラスター5に関してはほぼ同水準で、それぞれ40.5勝と39.1勝となっています。

最も平均勝数が少ないのはクラスター4で、その数値は22.0勝となっています。

なお、上記のグラフを出力するコマンドは、下記のとおりです。(前回記事で扱ったコマンドをすべて入力していることが前提となっています。)

> Tadd2223 <- read.csv(file="Tadd_2223.csv") # Tadd2223の読み込み
> kclu2.PO <- table(kclu2$Subjects$Cluster, Tadd2223$Playoff) #table()を使って各クラスターとプレーオフ進出の有無のクロス集計表を作成し、kclu2.POへ格納
> kclu2.W <- tapply(Tbox2223$W, kclu2$Subjects$Cluster, mean) #tapply()を使って各クラスターの勝数の平均値を算出し、kclu2.Wへ格納
> Xbar <- data.frame(cluster=c(1:5), N=kclu2.PO[,1],   Y=kclu2.PO[,2], W=kclu2.W) #クラスター1~5のプレーオフ進出チーム数と平均勝数を集計し、Xbarへ格納
> barline(data=Xbar, id="cluster", bars=c("N","Y"), labels.bars=c("Playoff: NO","Playoff: YES"), line="W", label.line="average wins", decreasing=FALSE)
#barline()を使って棒グラフと折れ線グラフを出力

続いて、各チームが所属するクラスターの情報、各チームの得失点数とOD.Rtg※1を用いて、バブルチャートを作成していきます。

※1 OD.Rtg = ORtg / DRtg ディフェンスレーティングに対するオフェンスレーティングの比率(前回記事参照)

クラスター別で見る得失点数とOD.Rtgのバブルチャート<ホーネッツ、ピストンズ、ロケッツ、スパーズの類似性が顕著>

各チームが所属するクラスターの情報、各チームの得失点数とOD.Rtgを用いて作成したバブルチャートは、下記のとおりです。

2022-23レギュラーシーズン

上記のバブルチャートに関して、横軸は各チームの獲得点数、縦軸は各チームの失点数、バブルの色は各チームが所属するクラスターを表しています。

また、バブルの大きさはOD.Rtgの水準を表しており、各チームのOD.Rtgの最小値を0、最大値を100としてそれぞれ置き換えられた形式で表示されています。

上記のバブルチャートを確認すると、全体的に獲得点数が多ければ失点数も多くなる傾向が読み取れますが、例外的にクラスター4に属する4チーム(ホーネッツ、ピストンズ、ロケッツ、スパーズ)については獲得点数が少ない上に、失点数も多くなっていることがわかります。

また、OD.Rtgの水準に着目すると、クラスター1とクラスター2にOD.Rtgの水準が高いチームが比較的多く所属していることが読み取れ、その一方で、クラスター4に属するチームのOD.Rtgの水準の低さが目立ちます。

続いて、クラスターごとに確認していくと、クラスター2に所属しているセルティックスとバックスについては獲得点数が多く、失点数が比較的少ないチームであり、ウォリアーズについては獲得点数が高水準のチームであることがわかります。

クラスター4に関しては、前述のとおり獲得点数が少なく、かつ、失点数が多いチームが所属しています。

さらに、クラスター1とクラスター5に属するチームは広範囲に分布しており、両クラスターに関して獲得点数が同水準であるチームに着目し、これらの位置関係を比較すると、クラスター1に属するチームのほうがクラスター5に属するチームよりも失点数が少なくなる傾向が読み取れます。(例えば、グリズリーズとジャズの位置関係、サンズとクリッパーズの位置関係から、獲得点数が同水準であるのに対して、クラスター1に属するグリズリーズとサンズの失点数が比較的少ないことがわかります。)

※クラスター3に関しては、CHIが50%を超えるため前回記事に引き続き今回も参考値扱いとし、記述を省略しています。(※前回記事参照)

なお、上記のバブルチャートを出力するコマンドは、下記のとおりです。(前回記事で扱ったコマンドをすべて入力していることが前提となっています。)

> cluster <- as.factor(kclu2$Subjects$Cluster) #as.factor()を使って各チームに割り振られたクラスターの番号を抽出し、clusterへ格納
> Xbubble <- data.frame(Team=Tbox2223$Team, PTS=Tbox2223$PTS,  PTS.Opp=Obox2223$PTS, cluster,  OD.Rtg=data2223$OD.Rtg)
#data.frame()を使って必要なデータをまとめてXbubbleへ格納
> labs <- c("PTS", "PTS.Opp", "cluster", "OD.Rtg") #使用するラベルを作成
> bubbleplot(Xbubble, id="Team", x="PTS", y="PTS.Opp",   col="cluster", size="OD.Rtg", labels=labs)
#bubbleplot()を使ってバブルチャートを作成

おわりに

今回は、前回記事のクラスター分析の結果を踏まえて、クラスター別にNBAプレーオフ2023の進出チーム数や、2022-23レギュラーシーズンにおける各チームの得失点数などを確認していきました。

前回記事で扱った7変数によって把握できたクラスター別の特徴に加えて、プレーオフ進出の有無や各クラスターの平均勝数、各チームの得失点数の観点からもクラスター別に特徴を捉えることが可能になりました。

今回はチーム単位でクラスター分析を行いましたが、プレイヤー単位でのクラスター分析の記事も今後は作成を予定していますので、プレイヤーに関するクラスター分析はまたの機会に行いたいと思います。

なお、本記事は、記事の最後に紹介している書籍を参考にして作成しています。

それでは、今回のトラッシュトークは以上です。

【参考書籍】

Paola Zuccolotto and Marica Manisera (2020), Basketball Data Science – with Applications in R. Chapman and Hall/CRC. ISBN 9781138600799.
※本書籍の紹介記事を書いていますので、よろしければご参考ください。

タイトルとURLをコピーしました