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]育成方針の不均衡を減らすための分析で触れた通り、少し調整したあと、データを確認していませんでした。 […]

[Meisyo] 育成方針の微調整 – RのWeb制作 へ返信する コメントをキャンセル

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

関連記事

[Meisyo] 練習の不均衡是正

練習に不均衡が生じているので、アップデートで改善します。 ちなみに練習の方法自体を変更しようと思っています。 すぐには実装しません。(案が固まっていないです) 基本的に平均が150より大幅に高い(また …

オープンβテストを開始する(かも)

オープンβテスト用の機能作成が終わりました。 meisyo3_alpha(ざっくり試合機能)から、丸2か月ですか・・・なかなか掛かりました;つД`) イメージ図を記事の後ろの方に載せているので、興味が …

pythonでシグモイド関数と階段関数の表示

ディープラーニング目指して初心者は今日も行く。 初見じゃ何もわからない初心者です。 シグモイド関数?階段関数??なにこれ。 シグモイド関数! 階段関数! 目で見たらわかりますね! コード シグモイド関 …

[Anaconda]Anacondaが動かない!TypeError: expected str, bytes or os.PathLike object, not NoneType

Anaconda Navigatorが起動できません。 昨日まで動いていたのに・・・。 エラー文はこちら TypeError: expected str, bytes or os.PathLike o …

no image

Cで簡単プログラミング「二次関数の解」

C言語で簡単なプログラミングをしましょう! 今回は「二次関数の解」です。 ↓Cはコンパイル(機械語に翻訳)が必要なので、以下でコンパイラの「MinGW」をインストールしてください。 C言語およびC++ …