RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 Meisyo データサイエンス

[Meisyo]育成方針の不均衡を減らすための分析

投稿日:

もともと問題視していた育成方針の選択数の不均衡。
なぜそれが起こるのかというと・・・、

使えない(と思いやすい)育成方針があるってことなんですよね。

詳しく見ていきましょう。

各方針の能力上昇(2019.02.23)
◎=上昇大、○=上昇小、無印=上昇微小

略称 E避
速・肩
投球技術
巧打
長打
走・体
守備
バランス

投手では、投球技術が圧倒的に有利に見えます。
以前の分析で制球(と変化量)が、防御率・WHIPを下げるためにはとても良いという結果が出ていました。
それがどっちも◎です。

そうなれば速・肩とか選ばないですよね。
投手に関係あるのが◎1つって・・・。

その不均衡がどのような状態にあるのかを調査し、
それをどう軽減できるのか方法を考えます。

分析方法

対象:すべての選手。ただし、バランス型を無視。
解析方法:SQLでの抽出 → Excel(ピボットテーブル)での分析

全体


巧打と投球技術が多いですね。
この集計には投手、野手が混ざっているので分けて考えます。

投手


やはり投球技術が圧倒しています。

魅力度(比率)では以下の通り。
投球技術(p):70.16908213
速・肩(sp):15.70048309
走・体(st)14.13043478

野手


巧打が圧倒しています。意外と守備が選ばれていますね。

魅力度(比率)では以下の通り。
巧打(mt):50.61728395
守備(df):20.59483726
長打(pw):16.89113356
走・体(st):8.978675645
速・肩(sp):2.918069585

仮説構築

能力値上昇の◎を2、〇を1、無印を0とした場合、
能力値ごとにそれぞれ異なった重み(判断を上昇させる効果)があるのではないか?
ということを考えました。

ちょっと分かり辛いので噛み砕いて、どうぞ・・・。

投手で言うならば、
データから見て、速球上げるより制球上げたほうが良くね?
という考えを拡大解釈したものです。

速・肩は速球1個しか◎ついてないし、制球◎変化量◎がついてる投球技術選ぶよな!
という判断基準を数値に落とし込む考え方ですね。

ゲームやってる以上負けたい人はいないだろうし、あくまで理性的に行動するだろう、ということを前提にしています。
そのため今回は無選択(バランス型)は抜いています。ノイズになりやすいので。

それを踏まえて重回帰分析を行います。

Excelでの重回帰分析

投手成績を重回帰分析を行いました。

・・・いかん。

なぜダメかというと、
X4(変化量)への相関が0のためです。

つまり、投球技術は制球◎変化量増加なしでも、制球◎変化量◎でも選ばれる率は変わらない。

んーだったら、X2とX4の相関は同等とします。

仮定(偏回帰係数):
 X1:7.85
 X2:17.5
 X3:7.05
 X4:17.5


こんな感じで調整して、と。

野手も調整しました。

こうすればかなりまともになるのでは?と思います。

なぜ調整したのか?

Meisyoは、
「どうすれば勝てるのか?」を考えるゲームです。

どうすれば勝てるのか?は育成から始まります。

育成方針の選択肢が少なければ、まったく選択肢はなくなります。

この調整でどの方向でも進めるし、自分が考えた戦略を実現しやすくなった、ということですね。

では!

-Web制作, Meisyo, データサイエンス

執筆者:


  1. […] 使用ユーザー/全ユーザー)が違うという問題が前からありました。 以前[Meisyo]育成方針の不均衡を減らすための分析で触れた通り、少し調整したあと、データを確認していませんでした。 […]

comment

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

関連記事

(VPSでつくる) PythonでMariaDB(MySQL)へ接続できるアプリを触ってみよう

連載第十一回目です。 Python3.6.8+FlaskでMariaDBに接続・データベースを編集するアプリを動作させる設定を行い、動作確認します。 この記事は、VPSで作るPythonでのWebアプ …

ゲームデータで学ぶSQL(初級編)

近年のデータサイエンスブームをきっかけに「SQLを学びたい」と思った方へ。 そう思ったところで、壁になってくるのは実データの入手です。 私は職業としてデータサイエンス関連の業務に従事していますが、キレ …

Python可読性高すぎてすごい

コード ちょっと詰めて書いていますが year = int(input("あなたの生まれ年を西暦4桁年で表記してください:")) eto_list = (‘子’, ‘丑’, ‘寅’ …

[Meisyo]Androidアプリ版 作成案1

「アンドロイドアプリの基本」的な本が届いて3日。だいたいわかった(わかってない)ので一応完成予想図を考えておきましょう。 [トップページ]→[ログイン画面]or[ゲーム画面] ・アプリの利用メリット …

(VPSでつくる) Nginx+PHPでHello World

連載第七回目です。 今回はGUIでデータベースを操作できるphpMyAdminのインストール準備のために、PHPという言語をインストールします。 この記事は、VPSで作るPythonでのWebアプリ運 …