スポーツ賭博における AI 予測の論理アーキテクチャ

随着时代不断演进,我们迎来了被誉为人工智能的元年——2023年。AI技术正在以前所未有的速度改变着我们的生活。Mysports.AI积极运用先进技术,包括人工智能、机器学习和专业的运动数据整合,将预测分析领域推向了新的高峰。

伝統的なスポーツベッティング予測は、過去の統計データと人工分析に頼ることが多いです。 この方法には独自の価値がある一方、その制約も新たな考え方を生み出しました。 より優れた方法はあるのでしょうか? AI技術の台頭は、この状況を徹底的に変えており、試合結果の予測だけでなく、データ洞察の深化をもたらし、賭け手がより賢明な決定を下すのを支援しています。

AIと従来の方法には顕著な違いがあり、その利点は卓越したデータ処理能力と自己学習能力に表れています。 AIはデータの各要素を識別し、重要な情報を抽出し、それらの情報に基づいて将来の試合結果を予測する能力を持っています。 この自動化された分析プロセスは、人間の能力を超え、多くの分野で大きな成功を収めています。

試合データが定期的に更新されるにつれて、Mysports.AIはNBA、MLB、プレミアリーグ、リーグ・アン、ラ・リーガ、ブンデスリーガ、MLS、UEFAチャンピオンズリーグ、UEFAヨーロッパリーグ、NHL、NFLなど、多くの有名リーグの予測データを提供しています。 将来的には、より多くの小規模リーグをカバーする予測サービスを拡充していく予定です。

nba
mlb
mls
epl
ligue1
laliga
serie_a
bundesliga
uefa_champions_league
uefa_europa_league
nhl

機器学習は国際市場のさまざまな分野で広く活用されていますが、特に注目すべきは人工知能ツールの持続的なアップグレードとパフォーマンスの向上です。 これは専門のアナリストや賭けプレイヤーにとって非常に注目すべきトレンドです。 当社の実証結果は、人間の専門分析に依存するのと比較して、AI機械学習を使用した予測が精度の面で著しい改善をもたらし、平均的には予測の精度を15%向上させることができることを示しています。

したがって、専門のアナリストまたは賭けプレイヤーとして、今ではより自信を持って賭けに参加できます。

AI機械学習を使用した収益の公式には、次の3つの要素が必要です:深層学習の勝率予測、リアルタイムのオッズプラットフォーム、およびバックテスト後のベット戦略。 AIによる予測の勝率とリアルタイムのオッズを使用して、ベットの期待値を計算でき、正の値は長期的なベットが対応するリターンを得る可能性を示し、負の値は長期的なベットが損失をもたらす可能性を示します。 この方法はバスケットボール、野球、サッカー、アイスホッケー、テニス、クリケットなど、さまざまなスポーツの予測に適用できます。

NBAを例にすると、勝率を予測するために機械学習を使用するには、次の前提条件に従う必要があります:

1.

データ収集:NBA関連の試合データを収集します。

2.

データクリーニングおよび処理:データをクリーンアップして、エラーや不整合な情報を削除し、データを特徴量単一化します。

3.

特徴エンジニアリング:意味のある特徴を抽出し、これらの特徴が試合結果を予測するのに役立つようにします。

4.

データ分析:機械学習モデルを使用してデータを分析し、特徴を調整してより精確なバックテスト結果を得ます。

NBAシーズンデータの収集

私たちは Basketball-Reference  Stats.nba.com からの広範で詳細なNBAデータリソースを持っており、1946年から2023年までのすべての試合にわたり、チームおよび選手の深いデータを提供しています。 これらのデータリソースのウェブサイトは、カスタム日付範囲の統計データをサポートしており、特定の要求に基づいて必要な情報を入手できます。 このデータベースには、300万以上のデータポイントが含まれており、勝利数、敗北数、総得点、リバウンド、アシスト、ターンオーバー、スティール、スリーポイント成功率、フリースローなど、さまざまな重要なデータが含まれています。 これはスポーツデータの分析者や愛好家にとっての夢のようなリソースで、試合と選手のパフォーマンスを詳細に研究できます。 

    'PName': 'Player_Name',

    'POS': 'Position',

    'Team': 'Team_Abbreviation',

    'Age': 'Age',

    'GP': 'Games_Played',

    'W': 'Wins',

    'L': 'Losses',

    'Min': 'Minutes_Played',

    'PTS': 'Total_Points',

    'FGM': 'Field_Goals_Made',

    'FGA': 'Field_Goals_Attempted',

    'FG%': 'Field_Goal_Percentage',

    '3PM': 'Three_Point_FG_Made',

    '3PA': 'Three_Point_FG_Attempted',

    '3P%': 'Three_Point_FG_Percentage',

    'FTM': 'Free_Throws_Made',

    'FTA': 'Free_Throws_Attempted',

    'FT%': 'Free_Throw_Percentage',

    'OREB': 'Offensive_Rebounds',

    'DREB': 'Defensive_Rebounds',

    'REB': 'Total_Rebounds',

    'AST': 'Assists',

    'TOV': 'Turnovers',

    'STL': 'Steals',

    'BLK': 'Blocks',

    'PF': 'Personal_Fouls',

    'FP': 'NBA_Fantasy_Points',

    'DD2': 'Double_Doubles',

    'TD3': 'Triple_Doubles',

Basketball-Reference 当たり前ですが、私たちは豊富なNBAデータを提供する静的なウェブサイトです(つまり、データコンテンツはフロントエンドに直接埋め込まれています)。 私たちのプラットフォームは、この貴重なデータを簡単かつ効果的に取得および分析できる方法を提供しています。 私たちはPythonのrequestsライブラリを使用してHTMLファイルを簡単にプラットフォームに読み込み、それからPandasを使用して必要なデータを解析および抽出します。 つまり、ウェブページ上の情報をどのように処理するかを気にする必要はありません。 この手間のかかるタスクはすでに私たちが処理しています。 BeautifulSoup pd.read_html (...)

データクリーニング

機械学習の領域では、データのクリーニングは非常に重要なステップであり、モデルの性能や予測の正確性に直接影響を与えます。 データクリーニングは、元のデータを処理および変換して、データの品質、信頼性、一貫性を確保する作業です。 元のデータにはさまざまな品質の問題が含まれる可能性があり、これらの問題はデータ入力エラー、欠損データ、重複データ、外れ値など、さまざまな要因に起因するかもしれません。 これらの問題は機械学習モデルのパフォーマンスに悪影響を及ぼす可能性があるため、解決する必要があります。

私たちは各NBAシーズンの選手統計データとチーム統計データを厳格にクリーニングし、データの品質と信頼性を確保しています。 勝敗結果を漏洩する可能性のあるデータを削除し、特定の特徴量の過度の影響を防ぎます。 さらに、重複したデータ特徴を削除し、特徴量間の高い相関を回避します。 これには、例えばシューティングの成功率、2ポイントシュートの成功率、3ポイントシュートの成功率などが含まれます。 このデータクリーニングプロセスは時間と労力がかかりますが、機械学習の成功にとって非常に重要です。

データクリーニングのステップ:

Step 1 :  欠損データの処理 :  欠損データに対して、欠損値の削除、欠損値の埋め合わせ、または機械学習モデルを使用して予測するなど、さまざまな方法があります。

Step 2 :  重複データの処理 :  重複データエントリを検出し、各エントリが一意であることを確保するために削除します。

Step 3 :  外れ値の処理 :  外れ値を識別し、統計的方法や機械学習アルゴリズムを使用してそれらを検出することができます。

Step 4 :  データの整合性の処理 :  データ内の不整合を処理し、例えば選手の名前のスペルを統一化したり、異なるデータソースのフォーマットを統一のフォーマットに変換したりします。

特徴エンジニアリング

特徴エンジニアリングはスポーツ分析領域での重要な要素です。特徴エンジニアリングは、チームのさまざまな能力を比較し、勝敗の重要な要因とウェイト比率を見つけ出すプロセスです。この方法は、モンスター対戦に例えることができ、モンスターの種類に関係なく、攻撃力、防御力、敏捷性、魔法、スキルなどの特徴を分析の基準とします。将来、特定のモンスターのアイデンティティがわからない場合、特徴の数値を比較して、どちらのモンスターが勝つ可能性が高いかを予測できます。この方法は個別の評判に影響されず、純粋なデータの絶対値予測に焦点を当てています。NBAの場合、ディープラーニングを行う際に、試合結果の予測に非常に重要ないくつかの主要な特徴を見つけました。

1.

Elo Rating

Elo Rating(エロ・レーティング)は、チームの実力を評価するための最適な方法の一つです。その概念は非常にシンプルで、各試合の最終スコア、試合の場所、および時間が唯一の入力として使用されます。チームのElo Ratingは試合結果に応じて調整されます。チームが試合に勝つと、Eloポイントを獲得し、アウトサイダーであるか、または大差で勝つ場合、より多くのEloポイントを獲得します。ただし、Elo Ratingはゼロサムゲームであるため、1つのチームがEloポイントを獲得すると、他のチームは同じ数のEloポイントを失います。すべてのチームの初期Eloスコアは通常、中央値のスコア(たとえば1500ポイント)に設定されます。各試合の評価変動は、試合の最終スコア、アウトサイダーの状況、および試合の場所に対する重みの影響を受けます。要するに、Elo Ratingは試合結果をより包括的に捉えようとする複雑な勝敗の記録です。

Elo Ratingの公式は以下の通りです:

Riはチームの現在のElo Ratingを表し、次の試合後のElo Ratingは以下のように定義されます:

Elo_new = Elo_old + K * (Result - WinProbability)

Elo_new:次の試合後のElo Rating。

Elo_old:現在のElo Rating。

K:K値は調整パラメータで、Eloスコアの変化速度に影響を与えます。通常、大きなK値はEloスコアの変化を速め、小さなK値は変化を遅くします。

Result:試合の実際の結果で、通常は1は勝利を、0は敗北を表します。

WinProbability:チームのElo Ratingに基づいて計算された勝利確率。

この公式を使用することで、実際の結果に基づいて各試合後にチームのElo Ratingを調整でき、実力をより正確に反映することができます。この方法は、品質の高い勝利と敗北を測定するために使用でき、異なるチームの実力が不均等な場合でも公平な評価システムを提供します。

同様に重要なのは、Elo Ratingはシーズンごとに変動すること(すべてのチームが平等ではなく、優れたチームは通常、良好な状態を維持するか、少なくとも徐々に低下することがあります。ほとんどのチームは地図から外れたり地図に入ったりすることはめったにありません)。もしRが1シーズンの終わりにおけるチームのEloを表す場合、次のシーズンの初めのElo Ratingはおおよそ次のようになります:

(R x 0.75) + (0.25 x 1505)

実際には、このインデックスを時間とともに追跡し、ランダムに選んだ3つのチームを調査することで、シーズン全体のチームの実力に関する重要な洞察を得ることができます。

elo_rating w-100

ここでは、Elo Ratingと特定のシーズンでのチームのパフォーマンスには明確な関係があることが実際に示されています。例えば、NBAのチャンピオンシップで対戦したゴールデンステート・ウォリアーズとクリーブランド・キャバリアーズは、彼らのElo Ratingのピークが明らかになります。また、当時の多くのバスケットボールアナリストが広く認めたことも示されています:ウェスタン・カンファレンスはイースタン・カンファレンスよりも競争が激しいと、ウォリアーズ対キャバリアーズの品質の勝利がEloに与える影響から明らかです。さらに、これらのチームがチャンピオンシップシーズン後に急速に低下し、選手の離脱や怪我に苦しむ様子も確認できます。

2.

最近のチームのパフォーマンスは、最近の10試合の平均統計によって評価できます。

最新の10試合の平均統計を計算するには、試合データを取得する必要があります。得点、リバウンド、アシスト、ターンオーバー、ブロック、スティールなど、さまざまな統計データが含まれます。これらのデータは試合記録またはデータベースから取得できます。その後、各特徴の平均値を計算し、これらの値を新しいデータフレームに保存します。この新しいデータフレームには、各チームの平均統計特徴が含まれます。

平均統計を計算する際、どの特徴を選択するかを選ぶことが非常に重要です。一部の統計データは、他のデータよりもチームのパフォーマンスをよりよく反映することがあります。特徴選択を行う際、相関分析、主成分分析(PCA)、情報利得など、さまざまな方法を使用できます。これらの方法は、どの特徴が最も情報価値が高いかを特定し、平均統計の計算に使用する特徴を選択するのに役立ちます。平均統計を計算するだけでなく、より高度な時系列モデルを適用してチームのパフォーマンスをさらに分析できます。これらのモデルには、自己回帰統合移動平均モデル(ARIMA)や長短期記憶ネットワーク(LSTM)などが含まれます。これらのモデルは時間の影響を考慮し、トレンドや季節の変化を捉え、より正確な予測を提供します。

最新のチームのパフォーマンスの分析には、機械学習モデルも使用できます。これらのモデルは特徴工学の結果を参照し、異なる変数間の複雑な関係をより包括的に考慮します。サポートベクターマシン(SVM)、決定木、ランダムフォレスト、ディープラーニングモデルなどが適用可能です。これらのモデルは試合結果の予測、チームのパフォーマンスのトレンド分析、戦略提案に使用できます。

3.

最近の選手のパフォーマンス (過去 10 試合の平均統計)

NBA(National Basketball Association)は競争の激しいバスケットボールリーグであり、選手の最近のパフォーマンスを理解することは、チームの成功において鍵となります。選手のパフォーマンス統計データは、そのスキル、傾向、実力について深い洞察を提供し、将来の試合結果を予測するのに役立ちます。この記事では、NBA選手のパフォーマンスを評価するために最新の10試合の平均統計データをどのように使用するかを探讨し、いくつかのNBA選手を例に分析します。

NBA選手の最新の10試合の平均統計データを計算するには、各試合の詳細データを取得する必要があります。

得点、リバウンド、アシストなどのデータは通常  nba.com/stats ウェブサイトやデータプロバイダーから入手できます。これらのデータをデータフレームに整理し、各行が1つの試合を表し、各列が統計特徴(得点、リバウンドなど)を表すようにします。次に、各特徴の平均値を計算するための簡単な関数を使用し、これらの平均値を新しいデータフレームに保存します。この新しいデータフレームには、各選手の平均統計特徴が含まれます。例として、NBA選手であるレブロン・ジェームズとステフィン・カリーの最新の10試合の平均統計データを見てみましょう。これらのデータは彼らのパフォーマンス傾向を理解するのに役立ちます。

レブロン・ジェームズの最新の10試合の平均統計

平均得点:28.5ポイント

平均リバウンド:7.8リバウンド

平均アシスト:7.2アシスト

平均ターンオーバー:2.3ターンオーバー

平均ブロック:1.1ブロック

平均スティール:1.5スティール

ステフィン・カリーの最新の10試合の平均統計

平均得点:31.2ポイント

平均リバウンド:5.6リバウンド

平均アシスト:6.8アシスト

平均ターンオーバー:2.1ターンオーバー

平均ブロック:0.3ブロック

平均スティール:1.7スティール

平均統計データを計算する際、どの特徴を選択するかを慎重に考えることが重要です。異なる特徴は選手の異なるスキルや得意分野を反映することがあります。したがって、特徴の選択において、選手のパフォーマンスをよりよく理解するために代表的な特徴を選ぶことができます。これには相関分析、主成分分析(PCA)、情報ゲインなどの方法が使用できます。

4.

選手のシーズン成績(前シーズンと今シーズン)

選手のシーズン全体でのパフォーマンスをより包括的に理解するためには、平均統計データ、ケガの状態、出場時間など、さまざまな要因を考慮する必要があります。 これらの要因は、選手の実際の価値とチームへの貢献を評価する際に重要な役割を果たします。 この記事では、これらのデータを最も効果的に統合し、分析する方法について探讨します。

平均統計データ

選手の平均統計データは、そのパフォーマンスを評価するための重要な指標です。 これらのデータには通常、得点、アシスト、リバウンド、スティール、ブロック、ターンオーバーなどの統計情報が含まれています。 これらの数字は、試合での選手の総合的なパフォーマンスに関する情報を提供しますが、選手の出場時間とポジションの影響を受ける可能性があるため、慎重に解釈する必要があります。 得点ガードは通常、得点の平均が高く、センターはリバウンドとブロックで優れた成績を収めるかもしれません。 さらに、平均統計データは、チームの戦術や調整にも影響を受ける可能性があります。 たとえば、あるチームがチームワークとパスを重視する場合、選手のアシスト平均値は高くなるかもしれません。 そのため、選手の平均統計データを分析する際には、これらの要因を考慮する必要があります。

ケガの状態

ケガは、シーズン中のあらゆる選手が直面する可能性のある問題です。 選手のケガの状態は、彼らのパフォーマンスに重要な影響を及ぼすため、この要因を考慮する必要があります。 特定の場合では、選手はケガのために複数の試合を欠場し、平均統計データが低下する可能性があります。 他の場合では、ケガから復帰したものの以前のようにはプレイしないかもしれません。 したがって、選手のケガの状態を理解することは、実際の価値を正確に評価するために極めて重要です。 チームは通常、選手のケガの状態を報告し、ケガの特定の部位と見積もられる回復時間を含めることがあります。 これらの情報は、ファンや分析家にとって貴重であり、選手が試合に出場できるか、回復後に最適な状態に戻れるかどうかについての洞察を提供します。 選手のパフォーマンスを分析する際に、ケガの状態を考慮することで、パフォーマンスの変動や変化をよりよく理解できます。

出場時間

選手のシーズン中の出場時間も重要な要因です。 異なる選手は異なる出場時間を受けることがあり、これは平均統計データに影響を与える可能性があります。 先発選手は通常、より多くの出場時間を受けるため、得点、アシスト、リバウンドなどの統計データが高くなるかもしれません。 一方、控え選手は通常、限られた時間しか出場しないため、その統計データは通常低くなります。 出場時間はまた試合の状況に影響されることがあります。 たとえば、あるチームが試合でリードしている場合、先発選手に休息を与え、控え選手により多くの出場時間を与えるかもしれません。 この場合、出場時間の増加によって選手のパフォーマンスが向上する可能性があります。 選手の出場時間を分析することで、彼らのパフォーマンスをよりよく理解できます。 時には、限られた出場時間で優れたパフォーマンスをする選手がおり、それは彼らが高効率であることを示唆しています。 一方、選手は長い出場時間で一貫したパフォーマンスを示すことがあるが、これについてはさらなる分析が必要かもしれません。

ポジションと試合スタイル

選手のポジションと彼らが所属するチームの試合スタイルも、彼らのパフォーマンスに影響を与えることがあります。 異なるポジションには異なるスキルと責任があります。 たとえば、得点ガードは通常、攻撃での得点とアシストが求められますが、センターはリバウンドとディフェンスで優れたパフォーマンスが求められることがあります。 そのため、選手のポジションを評価することが重要です。 さらに、異なるチームは異なる試合戦術とスタイルを採用しています。 あるチームはチームプレーとパスに重点を置くかもしれませんが、別のチームは個人的な攻撃に重点を置くかもしれません。 これらの違いも選手のパフォーマンスに影響を与えます。 あるチームで優れたパフォーマンスを示す選手が別のチームでは平凡なパフォーマンスしか示さないかもしれません。 彼らのスキルとスタイルがあるチームに適している可能性があるためです。 我々はまた、シーズン全体の平均選手統計データを含めることを試みています。 チームとは異なり、選手自身がケガを負ったり、ローテーションから入れ替わったりすることがあり、選手の単一試合のパフォーマンスがどのように彼らの平均水準に合致するかを理解することがより重要かもしれません。 後で、このデータをモデルで使用し、チームレベルで正確な予測ができるかどうかを確認する予定です。

勝敗試合

チームの勝敗も選手のパフォーマンスに影響を与えます。 勝利したチームでは、選手は通常、より自信を持ち、優れたパフォーマンスを発揮することがあります。 一方、連敗のチームでは、選手はプレッシャーを感じ、パフォーマンスが影響を受けるかもしれません。 勝敗試合も選手の統計データに影響を与えることがあります。 ある試合では、チームがリードしている場合、試合のペースを遅くし、攻撃回数を減らすことで選手の得点やアシストの統計データを低下させるかもしれません。 一方、チームがビハインドの場合、選手の統計データを増やすために攻撃力を強化することがあります。 選手の異なる試合状況でのパフォーマンスを分析することで、さらに深い洞察が得られます。 選手の勝利試合と敗北試合での統計データを調べ、そのパフォーマンスに明らかな違いがあるかどうかを理解することは、選手の心理や対応能力をよりよく理解するのに役立ちます。

以上の要因を総合的に考慮することにより、シーズン全体での選手のパフォーマンスをより包括的に理解することができます。 これらの要因は相互に絡み合い、選手の実際の価値とチームへの貢献に共同で影響を与えます。

5.

プレーヤー効率評価 (PER)

重要なのは、Elo Ratingを使ってチームを評価したように、異なる統計データを組み合わせて選手のパフォーマンスを比較できる指標を持ちたいということです。選手のパフォーマンスを比較し、予測するために、HollingerのPlayer Efficiency Rating(PER)を使用したいと考えています。NBAでは、選手の統計データが出場時間、試合数、チームからの出場時間などによって大幅に変動することがあり、選手がスターターやベンチ選手との対戦時に影響を受けることがあります(例:得点を毎分単位で計算するなど)。我々は選手の能力の偏差だけに依存せず、平均値だけでなくPERを使用したいのです。PERはこの問題を解決するために、一部のゲーム内統計データに分単位の逆数を掛けて重み付けする公式を使用し、出場分数に対して選手のパフォーマンスを定義する指標を作成します。

したがって、各選手に対して、以下の式に基づいてPERを特定のゲームに追加します:

PER = (FGM x 85.910 + Steals x 53.897 + 3PTM x 51.757 + FTM x 46.845 + Blocks x 39.190 + OffensiveRebounds x 39.190 + Assists x 34.677 + DefensiveRebounds x 14.707 + TO x 53.897) x (1/Minutes)

データ分析

私たちのデータ分析は、テスト指標としてElo Ratingを使用することを中心に展開しています。基本的に、Eloが他の統計データとどれほど関連しており、正確に一致しているかについて確信を持てるでしょうか?さらに、試合の結果を予測するために、チームの統計データ(Elo Rating)を使用すべきか、平均選手の統計データ(PERスコア)を使用すべきかについても検討します。

まず、NBAの各シーズン全体のElo Ratingの分布について考察してみましょう。これは、リーグ全体の均等性に関する情報を提供します。Elo Ratingが正規分布に近い場合、リーグのチームが比較的均等であることを示します。そうでなければ、大きな差異と「スーパーチーム」の台頭が見られるでしょう。

elo_desities

図はリーグのElo Rating密度の12シーズンを示しています

私たちはもはやリーグ全体の視点からElo Ratingを理解するのではなく、Elo Ratingが他の統計データの中で個々のチームのパフォーマンスをどのように追跡するかに焦点を当てています。

実際、特定のチームの平均得点とそのElo Ratingの間には一定の相関が存在することがわかります。つまり、試合ウィンドウ内の平均得点が高いほど、Elo Ratingも高くなる傾向があるようです。しかし、Eloは似たような得点数でも大きな差異を示すこともあることがわかります。したがって、Elo Ratingが得点とどのように関連しているかをよりよく理解するために、平均得点とリーグ全体のシーズン平均得点との比較に焦点を当てました。そこから、高得点が他の得点に対してリーグ全体で高いかどうかに関係なく、得点がEloを向上させるかどうかを確認できます。このため、同じシーズン内の同じチームのケースを見て、対戦相手の得点分布との関係を描き出しましょう。

last_ten_avg_point

これは、私たちの仮説を裏付けており、平均得点分布が対戦相手よりも大きいか、同等またはそれ以上の範囲に集中している場合、そのシーズンのEloは高くなることがわかります。グループがほぼ同じか、より小さい値に近い場合、特定のチームのEloスコアは低くなります。したがって、平均得点は試合結果を予測するための信頼性のある決定要因の1つであるが、相対的に使用するとより効果的です。これは、Eloがスコアよりも優れた試合結果を予測することを示し、それは統計データに対して相対的です。

我々はもはやチームの統計データに焦点を当てず、Eloがチームのパフォーマンスではなく、選手のパフォーマンスを追跡するのに優れているかどうかを理解しようと努力しています。このため、Elo Ratingと同じランダムなチームの平均得点を、今度はPER Ratingを使用して描く同様の手法を採用しました。

elo

描かれたデータから、対戦相手と比較して総合PERとElo Ratingがチームの実力に大きな相関がないことがわかります。それに対して、得点はより関連性が高く、これは理にかなっています。なぜなら、選手の効率性は必ずしも最も得点を重ねることとは関係がないからです。対戦相手の得点を抑えることが試合に勝利するための決定的な要因であり、そのためEloに影響を与えます。

同じ特定のシーズンにおいて、対戦相手に対するオーランド・マジックの平均PERスコアと中央値を描くことにより、チームのPER平均値や中央値とチームの実力とのほとんど相関がないことがさらに明らかになります。

elo_1
個々のプレーヤーの統計とスコアに基づいて試合結果を予測します

モデルを実行する前に、データを少し整理する必要があります。このデータセットの一部の試合において、1つのチームの選手の統計データがあり、もう1つのチームの統計データがない場合があります。通常、これはそのシーズンの他のチームとの最初の試合だけが提供される場合です。したがって、これらのゲームをデータセットから削除します。

プレイヤーの評価について、私たちはロジスティック回帰モデルではなく、線形回帰モデルを使用します。勝利または敗北を単純に予測するのではなく、可能な値(得点)の範囲を予測したいためです。すべての選手のRMSE(平均平方根誤差)は5.56で、それは各選手が平均値周辺で約2-3回シュートを外すか、外す可能性があることを意味します。

テスト結果では、各試合ごとに予測される得点をグループ化し、実際の得点と比較します。予測される得点を基に勝利数を計算し、勝者の比率は1483勝 / 2528試合であり、正確性は58.66%です。明らかに、我々は以前に、チーム対チームのPER分布を見たときに気付いたように、プレイヤーの総合パフォーマンスが結果の決定要因として大きく変動するため、試合の結果を正確に予測できないことを示しています。特に、チームのパフォーマンスはしばしば試合内でより一貫しています。

結論と今後の最適化

もちろん、これはNBAに限らず、さまざまなスポーツに適用できますが、長らくNBAを観戦してきた私たちにとって、NBAの試合結果を予測するモデルを構築することは面白いプロジェクトであり、正確な利益をもたらす可能性があり、ワクワクする課題です。

ランダムフォレスト回帰モデルは、RandomSearchCVを使用してパラメーターを最適化し、最高のテスト精度を67.15%提供しました。これはロジスティック回帰モデルよりもわずかに高く、個人プレイヤーの統計データに基づく線形回帰モデルよりもはるかに高いです。ただし、GridSearchCVおよびRandomizedSearchCVを使用してパラメーターを最適化するのは非常に時間と計算コストがかかり、わずかな変化しかもたらさなかった。もっと時間があれば、パラメーターの最適化に時間をかける代わりに、モデルの選択に時間を費やすかもしれません。

最高のNBA試合予測モデルは、勝者を正確に予測できる確率が約70%にしか達しないため、ロジスティック回帰モデルとランダムフォレスト分類器は、現在の予測の上限に非常に近いです。もっと時間があれば、他のモデルを探索し、どれだけ高いテスト精度を得られるかを確認するかもしれません。いくつかの候補には、SGD分類器、線形判別分析、畳み込みニューラルネットワーク、またはナイーブベイズ分類器などがあります。