【分析の練習】出場時間で得点をガンマ回帰してみた

こんにちは、らんそうるい(@rnsr0371)です。ついに久保先生の『データ解析のための統計モデリング入門』(通称:緑本)を購入して、2週目を読み終わりました。そこで、勉強のアウトプットを紹介したいと思います。

緑本では、従属変数が正規分布していないデータに対して、統計モデルを当てはめる方法が紹介されています。バスケのデータ分析で扱われるスタッツの多くは、正規分布していません。たとえば、今回題材にした得点は下限が0点で、上限は一応無限(実際には30点程度?)なので、正規分布していないデータになっています。そこで、得点のばらつきがガンマ分布に従う、線形予測子が切片+b*出場時間、リンク関数が対数リンク関数の統計モデルを立てて、出場時間で得点をガンマ回帰してみました。

最小二乗法による線形回帰(単回帰分析)とガンマ回帰の違いは、従属変数が得点ではなく「得点の対数」であること(logをとっていること)と、従属変数のばらつきが正規分布ではなくガンマ分布していると仮定した点です。

この記事では、まず得点の分布がガンマ分布に近いことを確かめて、その後、出場時間で得点をガンマ回帰したいと思います。それでは行ってみましょう!

得点の実際の分布とガンマ分布から発生させた乱数の分布はよく似ている?

B1 2021-22シーズン(~2021/12/15)のデータを使って、各選手の一試合平均得点のヒストグラムを描写したのが次の図です。

0点~2.5点くらいに度数が集中していて、それ以降は階段のように度数が減っていくという分布をしています。正規分布ならきれいな釣鐘型の分布になるので、得点の分布が正規分布に従っているとは言い難いと感じました。

正規分布の代わりにガンマ分布を使うとどうなるでしょうか? 実際の得点の平均(6.814点)と分散(30.790)でパラメータを決めて、ガンマ分布から乱数を283個発生させ、ヒストグラムを描写したのが次の図です。

実際の得点のヒストグラムに比べて、0~2.5点、2.5~5点の間に乱数が集中していますが、近似としては上出来ではないでしょうか?

以上の検討から、得点を出場時間で説明するときには、単純な回帰分析よりも、ガンマ回帰を使ったほうが適切であろうと考えました。

出場時間で得点をガンマ回帰してみた

モデルの当てはめの前に、各選手の平均得点に0.01を加えました。この操作は、平均得点の対数を取るときに、平均得点が0点の選手がいるとエラーメッセージが出てしまうためです。0.01でなくても、非常に小さい値を加算すればよいと思います。

出場時間で得点をガンマ回帰した結果のサマリーが次のテーブルです。

サマリーを見てもよく分からないので、予測値(青線)と実際の値(赤点)を重ねて描写したのが次の図です。めっちゃ良い感じに見えませんか???

終わりに

この記事では緑本の内容に従って、得点の分布を確かめた上で、よく似た確率分布としてガンマ分布を選択し、出場時間で得点をガンマ回帰してみました。

この結果の解釈ですが、どんな選手でも出場時間が延びれば平均得点が上がるというよりは、平均得点の高い選手が長い出場時間を得ているという逆の可能性もあります。

いや〜〜、きれいな図が描けて楽しかったです。ではでは。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA