LoginSignup
0
2

More than 3 years have passed since last update.

デレステイベントアタポン形式 2001位ボーダー推定 -Pystanを使った状態空間モデル-

Last updated at Posted at 2020-11-01

概要

  • 本でStanを使った状態空間モデルによる分析方法を勉強したから、実際のデータで練習してみたもの
  • 今回はとりあえず以下のモデルで動かしてみた
    • ローカルレベルモデル
    • 平滑化トレンドモデル
    • ローカル線形トレンドモデル
    • 時変係数モデル(説明変数はイベント期間の長さのみ)
  • 結果としては、まだ全然うまくフィットできてない
    • トレンドとイベントの長さのみでは説明しきれないため
    • 他に特徴量作って時変係数モデルでの分析は、追々やりたい
  • 今回作ったスクリプトたちはココのc1~c4。

Pystan使う前の準備

  • pystanインストール

pip install pystan

  • 少しハマったところ
    • pystan - Unable to find vcvarsall.batというエラーが出てバタバタした
    • 解決方法
      • ココの通り、Visual StadioのC++をインストールした

使うデータ

ココで取得したデータを、形式がアタポンのものだけ抽出したもの

image.png

ローカルレベルモデル

  • 「状態がランダムウォークに従い、その状態にノイズが加わって出力が出てくる」と考えるモデル
  • 数式とかはココ参照

image.png

所感

  • 全然5%-95%の範囲に入っていないが、とりあえず中心あたりは通ってて、全体の傾向は見えている気がする
  • 2018年後半あたりがピークで、少しずつ下がってる?

平滑化トレンドモデル

  • 「状態の変化量がランダムウォークに従い、その状態にノイズが加わって出力が出てくる」と考えるモデル
    • 状態の変化量:1つ前の状態から今の状態への変化量
  • 数式とかはココ

image.png

所感

  • こちらも全然5%-95%の範囲に入っていないが、やはりスムーズにはなってる
  • 2018年末あたりにピークが来ている?

ローカル線形トレンドモデル

  • ローカルレベルモデルに「時間によって変化するドリフト成分」を追加したもの
    • ローカルレベルモデルと、平滑化トレンドモデルのあわせ技のようなもの
    • 水準成分の変化がほぼ0の場合、平滑化トレンドモデルと同じになる
  • 数式とかはココ

image.png

所感

  • こちらも、全然5%-95%の範囲に入っていない。
  • 平滑化トレンドの滑らかさとローカルトレンドのガタガタの中間くらいになっている。

時変係数モデル

  • 目的変数に影響しそうな説明変数を加えたもの。説明変数の係数も時系列で変化することを想定する。
  • 数式とかはココ

ローカルレベル+時系変数モデル

  • 実際のデータと予測値プロット

image.png

  • 係数プロット

image.png

ローカル線形トレンド+時系変数モデル

  • 実際のデータと予測値プロット

image.png

  • 係数プロット

image.png

所感

  • まだ、全然5%-95%の範囲に入っていない。
  • 期間の係数がマイナス寄りになっている
    • 普通に考えて、実際はそんなことはないはず(「期間が短いほどポイントが稼げる」とは思えない)
    • 他の要因による変化に引っ張られていると思われる

ズレの確認

ローカル線形トレンドモデルのときの、実測と予測の差分をとってみる

  • ヒストグラム
    • 平均は+、中央値は-となっており左右非対称
    • うまく説明できていれば、正規分布に近いかたちになるはずなので、やはり説明が足りていない

image.png

  • 時系列

image.png

  • 散布図

image.png

  • 差が大きい順TOP10
    • 絶対値はとっていないので、実測がトレンドより大きいものTOP10
    • ニュージェネレーションズの3人が入ったユニット(PCS、TP、PP)のイベントが入っており、イベントの盛り上がり具合(報酬アイドルやユニットによる)が関係しそう
日付 イベント 期間 2001位 トレンド
2018/9/19 Pretty Liar 198 224697 116547 108150 1.93
2017/11/19 Trinity Field 174 193847 106468 87379 1.82
2020/5/19 不埒なCANVAS 198 188652 104595 84057 1.80
2019/1/21 スパイスパラダイス 174 179632 114280 65352 1.57
2019/11/20 Secret Daybreak 175 169639 108815 60824 1.56
2017/8/21 双翼の独奏歌 150 156206 101001 55205 1.55
2018/8/19 クレイジークレイジー 198 163641 114877 48764 1.42
2016/9/20 ラブレター 150 121303 74138 47165 1.64
2019/7/22 バベル 157 151703 109155 42548 1.39
2018/11/19 Sunshine See May 198 156519 115536 40983 1.35

まとめ

  • まだうまくフィットしていない
    • ボーダーに影響する要素が十分に反映しきれていないため
  • 関係しそうな要素として思い浮かんだもの羅列
    • イベントごとの要素
      • イベントの盛り上がり具合 ≒ ランキング報酬となっているアイドルの人気(コレ目的でみんな2000位以内を目指すので、一番影響が強そう)
    • トレンドに含まれそうな要素(徐々に変化するもの、突然変化するものが混ざってるので、ローカル線形トレンド使うのが良さそう)
      • ゲームの人気の変化に伴う、アクティブユーザ数の変化
      • キャラが増えたことで放置編成組める人の増加
      • グランドライブ実装での時間効率UP
  • 予想する値として2001位を選んだけど、1位のほうが予想するの簡単そうw(やっぱり1位のほうが簡単だった
    • 1位は、時間を目一杯使って人間の限界に挑戦した場合の値になりそう
    • ただ、2001位がイベント最高報酬のボーダーだから、需要としてはコッチのほうがあるはず(イベントちゃんと走ったことないけど、自分も知りたい)
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2