MATLAB でスポーツ統計・予測: スクレイピング モデル構築 可視化/Sports statistics with MATLAB -scraping, modeling, and visualization
by
konakalab
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
MATLAB でスポーツ統計・予測: スクレイピング→モデル構築→ 可視化 小中英嗣(こなか・えいじ 名城大学理工学部情報工学科) MATLAB EXPO 2021
Slide 2
Slide 2 text
自己紹介&今日の内容 小中英嗣(こなか・えいじ) 名城大学理工学部情報工学科 准教授 専門:システム制御工学,スポーツ統計 Twitter @konakalab 最近の研究:スポーツ統計・予測モデル作成 ランキング,選手・チームの評価指標の開発と性能検証 今日の内容:MATLABで行っている作業 (まだまだ勉強中です.良いやり方があれば教えてください!) MATLAB EXPO 2021
Slide 3
Slide 3 text
スポーツ統計・予測の手順 データ取得(ス クレイピング) • Webから • 自動/半自動 予測モデル 構築 • (一般化)線形モデル • 各種数値処理 可視化 出力 • グラフ描画 • Web公開(SNS投稿) MATLAB EXPO 2021
Slide 4
Slide 4 text
Webからのデータ取得(スクレイピング) MATLAB EXPO 2021 Web HTML/xlsx csv/xlsx
Slide 5
Slide 5 text
Webからのデータ取得(スクレイピング) MATLAB EXPO 2021 Web HTML/xlsx csv/xlsx ⚫ webread (MATLAB) ⚫ Excelに手でコピペ ⚫ Selenium + python ⚫ HTMLを読んで頑張ってタグを外す(MATLAB) ⚫ (beautiful soup(python)はスマートですが融通が 利きづらい)
Slide 6
Slide 6 text
事例:J League Data Site 検索オプションがアドレスに入れら れる 例:https://data.j- league.or.jp/SFMS01/search?comp etition_years=2021&competition_ frame_ids=1&competition_ids=492 &tv_relay_station_name= 2021年J1リーグの試合結果 webreadで文字列として読み込む strsplit, strfindを駆使して目当ての 情報を抽出する MATLAB EXPO 2021
Slide 7
Slide 7 text
予測モデル構築/各種数値処理 定番なモデルの場合 glmfit:一般化線形回帰モデルを使 う場合 glmvalで予測値が簡単に得られる よく使うデータ型・処理 table 行列演算(最小二乗法など) 確率密度関数・分布関数 畳み込み 例: given:これまでの試合結果(得失点) 最小二乗法:各チームの得点能力を 推定 一般化線形回帰:得点能力差と勝率 をつなげる.これからの試合結果を 予測する 畳み込み:各試合の予測確率から シーズン全体の予測確率を計算する MATLAB EXPO 2021
Slide 8
Slide 8 text
可視化・出力 MATLABの豊富な描画関数群 スクリプトで記述:安定・高速・大 量の出力 Twitter (@konakalab)で不定期に公 開 (MATLABで画像入りツイートする方 法を調査中…) (文字列のみのツイートはできてま す) 以下,作図例 MATLAB EXPO 2021
Slide 9
Slide 9 text
作図例: MATLAB EXPO 2021
Slide 10
Slide 10 text
作図例: MATLAB EXPO 2021
Slide 11
Slide 11 text
まとめ:スポーツ統計・予測の手順 データ取得(ス クレイピング) • Webから • 自動/半自動 予測モデル 構築 • (一般化)線形モデル • 各種数値処理 可視化 出力 • グラフ描画 • Web公開(SNS投稿) MATLAB EXPO 2021 ⚫ Web読込:webread ⚫ 文字列処理:strsplit, strfind, … ⚫ glmfit, glmval ⚫ 各種数学の関数(線形代 数,確率統計) ⚫ 豊富なグラフ描画関数