東方プロジェクト人気投票の統計解析 記述統計編
創作+機械学習 Advent Calendar 2022 - Adventarの記事です。
概要
東方プロジェクトは上海アリス幻樂団によるシューティングゲームで25年以上に渡る歴史を持っています。 最近ではスマホゲームのタイトルも複数リリースされ、多くの二次創作があること、音楽の人気が高いことでも知られています。
登場するキャラクター、音楽、サブタイトルに関する人気投票がほぼ毎年行われています。その結果、歴史的変遷を可視化し、数理モデリングを試みました。
結果
- 投票総数に大きな増減があり、特に第10回、第11回、第15回の減少が大きい。
- 第17回(2021年)以降でキャラクタ投票結果、第15回(2019年)以降音楽投票結果に多様性の減少が見られる。
- 楽曲とキャラクターの人気は大まかには相関しているものの細かい差異が見られ、サブタイトルごとのまとまりが見られる。
- 獲得投票比率はサブタイトルによる違いが大きく、第17回以降紅魔郷の人気の突出が大きくなりつつある。
- 2つの統計モデルを提案し、それぞれに利点欠点があり、解析途中。
分析コードとデータ*1は
に公開してあります。READMEからColabで(主にpandas)コードを実行できます。
使用データ
ダウンロード、スクレイピング 18回分なのでそう多くはなく手動でダウンロードできるデータですが第17回以降は動的にページを生成しているので自動化にはSeleniumを使うと良いようです。
文字コードの変遷が時代を感じさせます。
回 | 文字コード |
---|---|
1 | CP932 |
2~4 | Shift_JIS |
5~10 | EUC-JP |
11~18 | UTF-8 |
表をCSVにしましたが驚くほど簡単でした(https://github.com/xiangze/toubou_vote_analysis/blob/main/generatecsv.py)。
東方wikiのキャラ、音楽のデータ, 原曲一覧 - 東方同人CDwiki - atwiki(アットウィキ)も使いました。
記述統計、可視化
かなりの変動があり、特に第10回、第11回*2、第15回の減少が大きい。投票総数で正規化したデータも作っておきます。 近年の紅魔郷人気が目立つ
- 多様性(エントロピー)の可視化 Explanatory Data Analysis=探索的データ分析 から
キャラクタ投票結果で第17回(2021年)以降、音楽投票結果で第15回(2019年)以降に多様性の減少が見られる。 2019年以降であり変動が緩やかであることから新型コロナウイルスの流行による行動変容というよりは相次ぐソーシャルゲームのリリース(キャノンボール 2019~2020,ロストワールド 2020~,ダンマクカグラ 2021~2022、アルカディアレコード 2022〜)によるものと考えられます。これがもたらした影響を次の相関で少し詳しく見ることができます。
- 相関 作品ごとのポイントとキャラ、音楽の作品ごとポイント集計値のxyプロットで相関関係を概観する。
東方wikiのキャラ、音楽、原曲一覧 - 東方同人CDwiki - atwiki(アットウィキ)のデータも使いました。
音楽の獲得ポイントとサブタイトルの獲得ポイントは大まかに相関しているが外れ値もある。 作品によって音楽の人気に違いが見られる。
非想天則、花映塚は相対的に音楽が人気(ゲーム性によるのか)、永夜抄は相対的に作品が人気
投票回による違いはあまりない
こちらからインタラクティブにグラフを見て確認できます。 大まかには作品ポイントとキャラポイントは相関している。再登場のみで初出キャラがいない(非整数)作品はキャラ集計ポイントがNa ここでは0に張り付いている。
投票回による傾向の違いは見られずタイトルごとにクラスタ化している。分散を見ると面白いかもしれない。紅魔郷は大きい。
紅魔郷の人気が突出している。主人公(霊夢、魔理沙)は旧作が初登場で人数が少ないので比率は少なく見えているので別途解析が必要
音楽、キャラ相関の可視化は第一回からの結果が使えるもののお互い対応がないものがあり見づらい。
- ステージ数のポイント(票)への影響 これはあまり影響がありませんでした。
統計モデリング
以上のような傾向を統一的に理解したいためここでは
- 魅力モデル
- 作品モデル(トピックモデル)
の2種のモデルを提案します。それぞれにバリエーションが考えられます。 それぞれの利点、欠点があります。*3
魅力モデル | 作品モデル(トピックモデル) | |
利点 | 拡張性の高いモデルをstan,pymcなどで書くことができ、音楽、キャラ投票結果相互の影響を加えることも可能 | gensimなど既存ライブラリを用いることで解析ができる。LDAの拡張で時間的相関を見ることも可能 |
欠点 | モデルの記述にバグが入りやすい。複雑なモデルには収束性の問題がある | トピック数≒投票回数であるところが不自然 |
魅力モデル
正規化された投票数に対して
[tex: normVote{i,t} \sim Dir(\sum{l=1}^{TM} main{j(i,t-l),t-l} \sigma{j,l} \ + \sum{l=1}^{TM} boss{j(i,t-1),t-l}Lv_i b{j(i,t-l),l} +\sum{l=1}^{TM} sub{j(i,t-l)} s{j,l} +eptilon_i) ]
table flags (1 or 0)
- i is main character of subtitle just before tth election
- i is boss character of subtitle just before tth election
- boss level of character i
- i is character of noninteger subtitle just before tth election
- indiviaual term
parameters
- coef of integer title main characters
- b coef of integer title bosses
- s coef of noninteger title members
index
- t index of time(election)
- l index of realtive time
- i index of characters
- j index of mainchar,boss,subtitle table
stanを使って実装しました。
toubou_vote_analysis/charpower0.stan at main · xiangze/toubou_vote_analysis · GitHub
analyse.pyでコンパイル、実行され増す。
作品モデル(トピックモデル)
Latent Dirichlet Allocation(LDA)にそのまま当てはめたモデルです。
K dimension
V dimension
K dimension
V dimension
変数 | 文書分類 | 東方人気投票 |
---|---|---|
V | 単語の種類 | キャラ数 |
K | トピック数 | 作品数 |
N | 文書内の単語数 | 票数 |
M | 文書数 | 投票回数 |
https://github.com/xiangze/toubou_vote_analysis/blob/main/topicmodel.ipynb
pyLDAvisを使って可視化できる(論文コーパスの次元圧縮とLDAによるトピックの関係の可視化 - xiangze's sparse blog, CVPR論文のトピックモデルによる分類と傾向 - xiangze's sparse blog)。
残課題
- 魅力モデル Runtime error
Rejecting initial value: Error evaluating the log probability at the initial value. Exception: dirichlet_lpdf: prior sample sizes[3] is 0, but must be positive!
の解決、音楽に関するモデルの作成、キャラクターへの組み込み
- 作品モデル
辞書の作成、トピック数別perplexityの評価、可視化
今後の展望
- 個別のキャラクター、楽曲の人気、影響力の解析
- 因果推論 音楽、キャラ、作品が相互にどのような影響を与えているか 原作も人気投票も1年に一回の頻度なので知れることは少ないかもしれません。
- 外部データの活用 pixiv,ニコニコ動画のタグ等はよりリアルタイム性が高いです。
- アンケートデータの解析 テキストマイニングの方法があります(下記ためになる本、東方関係も参照)
関連情報
中国の人気投票結果
日本とはかなり結果が異なります。名前の翻訳は興味深い、ドメイン名が強いのにも注目
東方WIki
- http://thwiki.info/?%BD%D0%B1%E9%A5%EA%A5%B9%A5%C8 title & charactors
- http://thwiki.info/?%A5%AD%A5%E3%A5%E9%CA%CC%A5%B9%A5%DA%A5%EB%A5%AB%A1%BC%A5%C9%2F1#v5aac3bf spell cards &charactors 音楽
- https://w.atwiki.jp/toho/pages/842.html#id_713b4b9a title & music & charactors
- https://touhou.arrangement-chronicle.com/statistics music
pixiv ranking illustration - https://docs.google.com/spreadsheets/d/1YKpwyCOLRWiC9jucljunxS41i75zUYojI3qx1JnIpVI/edit?usp=sharing
他コンテンツ
サンリオ
サンリオキャラクター大賞‥歴代人気投票の結果は? 1986年~現在 – エンタメ生活 PRiVATE LIFE
1986年からのデータが存在する。YOSHIKITTYは海外で強い。長いハローキティ全盛時代とその後の戦国時代は長く続いた霊夢首位時代と相同であり、モデリングと解釈のしがいがありそう。コラボ情報
東方Projectサンリオキャラクターズ | 株式会社エイコー ~遊びとロマンの創造~
直近のものしか結果が見つけられませんでしたがタイプ、地方、登場順序などをモデルに入れると面白そうです。
【デレステ】歴代シンデレラガール総選挙の結果一覧 - Boom App Games
決選投票やタイプ、男女の別があり複雑なようです。一人一票ではない。
20年以上の歴史を持ち多くのキャラクター、楽曲があるのは東方と共通します。
- 【テニスの王子様】キャラクター人気投票結果まとめ(テニプリランキング) | 【アニメ、声優】ランキング、データまとめ
- テニプリバレンタイン歴代のチョコ獲得数は?ランキング結果がやばい!|さぶ録.com
単位が個なのはバレンタインのチョコの個数だからで2019年は投票になりました。
お笑い 芸人の大喜利の強さをベイズモデリングしてみた – 戦略コンサルで働くデータサイエンティストのブログ
モデルはシンプルだが興味深い分析結果で Wikipediaデータもすごい。
対戦要素があると強さランキングの推定はずっと複雑になります。
将棋
Stanによる棋士の強さ推定が盛んに行われていて成果がでています。精進します。
- pystanによる将棋プロ棋士の実力値モデリング【先手と後手での実力差可視化】 - Qiita
- 階層ベイズモデルで勝敗データからプロ棋士の強さを推定する - StatModeling Memorandum
Learning to Rank the Bayesian Way | by Dr. Robert Kübler | Towards Data Science
サッカー(FIFAランク&クラブランキング)
最新FIFAランキング情報&推移や決め方の解説|男子サッカー・女子サッカー・日本代表・ワールドカップ出場国を網羅 | 完全ガイド | FIFA ワールドカップ 2022 完全ガイド by ABEMA
Football 50 2022 | Brand Value Ranking League Table | Brandirectory
- Global Club Soccer Rankings | FiveThirtyEight
- World Football / Soccer Clubs Ranking - FootballDatabase
クラブチームのランキングが複数ありそれぞれに結果が違う。TOTOが絡むのでモデリングに気合が入ってるかもしれません。 代表とクラブチームで重複する選手、選手の移籍による入れ替わりまで考え実力を推定すると複雑だけどやりがいがありそう。
競馬、ウマ娘
奥が深いらしいです。
ためになる本
スクレイピング
統計、機械学習
トピックモデル
トピックモデルによる統計的潜在意味解析 (自然言語処理シリーズ) | 佐藤一誠, 奥村学 |本 | 通販 | Amazon
トピックモデル (機械学習プロフェッショナルシリーズ) | 岩田 具治 |本 | 通販 | Amazon
読みたい本 https://www.amazon.co.jp/%E5%9B%A0%E6%9E%9C%E6%8E%A8%E8%AB%96%E3%81%AE%E7%A7%91%E5%AD%A6-%E3%80%8C%E3%81%AA%E3%81%9C%EF%BC%9F%E3%80%8D%E3%81%AE%E5%95%8F%E3%81%84%E3%81%AB%E3%81%A9%E3%81%86%E7%AD%94%E3%81%88%E3%82%8B%E3%81%8B-%E6%96%87%E6%98%A5e-book-%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%87%E3%82%A3%E3%82%A2%E3%83%BB%E3%83%91%E3%83%BC%E3%83%AB-ebook/dp/B0BDDNQLJB/?_encoding=UTF8&pd_rd_w=alyIF&content-id=amzn1.sym.5ce033f0-5b81-46ec-8910-385cc2abff14&pf_rd_p=5ce033f0-5b81-46ec-8910-385cc2abff14&pf_rd_r=QGJ1EDSG5ERGNGYP4TEJ&pd_rd_wg=CCCod&pd_rd_r=380f3247-dc8d-45ea-834a-ad3c7f8ad619&ref_=pd_gw_ci_mcx_mr_hp_dwww.amazon.co.jp
東方関係
- booth.pm
- https://hisayukihonbun.booth.pm/tems/760429
- #東方 例大祭15 新刊 「東方コミュニティ白書を見つめなおす」 - dieのイラスト - pixiv
- 【名華祭11/幻想郷フォーラム2017新刊】東方人気投票コメント統計――計量テキスト分析で見る「愛され方」の研究 - 後藤和智事務所OffLine サークルブログ人気投票アンケートテキストマイニングの結果
- docs.google.com
サービス終了は残念だったがその後のクラファンで復活のくだりがすごかったです。 danmaku.jp
音楽ジャンルとしての東方アレンジ
ニコ動、Youtube、soundcloud、Bandcampなどを探ると無限にでてきます。
*1:本投票において公開されたデータは、統計や考察などの目的であれば、自己の責任に基づき自由に使用しても構いませんとのことですhttps://toho-vote.info/result16ex/
*2:艦これの影響?
*3:あてはめの原理・あてはめを実装する計算法・モデル - StatModeling Memorandum では”逆にベイズ推定ばっかりで痛い目を見ることは、MCMCの計算が収束しないとかそういうことを除けばあんまりないと思います”としていますが複雑なモデルを考えてしまうと結構深刻でこれがモデリングの正則化項のように働くかもしれないです