-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
553 additions
and
60 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,6 +11,5 @@ | |
:caption: 目录 | ||
|
||
foundations | ||
feedback_item_problem | ||
|
||
|
||
statistical_modeling_methods | ||
feedback_item_problem |
72 changes: 72 additions & 0 deletions
72
_sources/introduction_to_gacha/statistical_modeling_methods.rst.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
简单保底抽卡模型的统计建模方法 | ||
================================ | ||
|
||
我们讨论简单保底抽卡模型应该怎样进行统计,因为这类模型是在当前流行的抽卡游戏中应用最广的模式(原神、崩坏:星穹铁道、明日方舟等)。 | ||
如果出现一个具体抽卡机制不明确的新游戏,不妨先认为其采用简单保底抽卡模型,如果后续发现不能很好建模再进行其他尝试。 | ||
|
||
进行玩家数据统计的困难 | ||
-------------------------- | ||
|
||
对于简单保底抽卡模型,第一步肯定希望检验其综合概率是否准确。 | ||
综合概率的数学意义是当同一个玩家进行了无穷次抽卡尝试后道具出现的频数。 | ||
如果想要对道具的综合概率进行统计检验,显然抽无穷次是不可能的。 | ||
要达到有效的统计量,只能通过使用多个抽数有限的玩家的记录进行统计。 | ||
而这样面临的问题有三: | ||
|
||
1. **无法收集到足够多的玩家数据** 如果你想统计的的是一个小众游戏,那么你将面临无数据可用的情况。 | ||
没有人建设抽卡数据统计网站,没有玩家联系你提供抽卡数据,甚至连在视频网站上寻找主播抽卡视频都是一种奢望。 | ||
对于小众游戏,基本不能通过统计方法得到准确的抽卡模型。 | ||
|
||
2. **采样到的玩家数据有系统性偏差** 会提供抽卡数据的玩家,大概率是还在玩游戏的玩家。 | ||
而如果玩家抽卡时运气太差则会倾向于不继续玩游戏,能被采样的玩家更多的是运气好的“幸存者”,会使得统计综合概率偏高。 | ||
同时,提供数据的玩家出于炫耀或是诉苦的心理,其获得道具的表现也更极端:运气好的玩家和运气差的玩家占比相比实际更高。 | ||
不过如果只采用投入总抽数高的玩家的数据,可以大大缓解这些现象。 | ||
|
||
3. **使用的统计量需要保证无偏** 行千里,先定方向。如果在统计中不使用无偏统计量,获得的数据越多反而会让人向错误的方向走更远。 | ||
无偏统计量的选择会在 :ref:`下一节 <unbiased_statistic_for_simple_pity_model>` 中解释。 | ||
|
||
而如果能够解决以上三个问题,通过统计破解简单保底抽卡模型是相当容易的。 | ||
|
||
.. admonition:: 常见问题 | ||
:class: note | ||
|
||
对于原神这类有“大小保底”设定的游戏,有的朋友认为玩家会一直抽卡直到抽到UP角色,而这会引入系统偏差使得统计到的UP角色占比偏高。 | ||
而实际上这并不会,这个问题等价于:一直生孩子直到生出男孩会不会影响性别比例。一个经典的停时问题,实际上并不会对概率有影响。 | ||
|
||
.. _unbiased_statistic_for_simple_pity_model: | ||
|
||
简单保底抽卡模型综合概率的无偏统计量 | ||
---------------------------------------- | ||
|
||
通过使用多个抽数有限的玩家的记录对综合概率进行统计时,如何选取统计量是有讲究的。 | ||
最朴素的方法是直接统计所有玩家记录中出现的道具总数,然后除以所有玩家的总抽数作为综合概率的估计量。 | ||
但这对于简单保底抽卡模型来说是有偏的:道具有概率上升段,存在玩家末尾位置抽数还没有到达概率开始上升阶段,但这一段的抽数依旧被纳入统计,估计出的综合概率一定是偏小的。 | ||
|
||
一个改进的方法是,不计玩家记录中获得最后一个道具后剩余的抽数。 | ||
统计所有记录中获得每个道具对应所用的抽数,将其加和作为统计抽数,然后将记录中的总道具数除以统计抽数用于估计综合概率。 | ||
|
||
拿原神的抽卡系统举例,原神中获取五星道具至多需要抽90抽。 | ||
如一个玩家总计抽卡200抽获得了5个五星,第1个五星耗费70抽,第2个五星耗费10抽,第3个五星耗费80抽,第4个五星耗费20抽,第5个五星耗费10抽,获得第5个五星后还剩10抽没有再获得五星。 | ||
此时获得总共5个五星,统计抽数190抽,估计综合概率为 :math:`\hat P_{avg}(X)=4/180 \approx 2.63%`。 | ||
|
||
这样似乎得到了一个相当合理的统计量,但实际上这个方法也是有偏的,会使得统计得到的综合概率偏大。 | ||
|
||
.. image:: images/biased_estimator_for_simple_pity_model.svg | ||
:alt: 简单保底抽卡模型在到达保底前截断会导致有偏 | ||
:width: 800px | ||
:align: center | ||
|
||
为了直观说明这个问题,继续拿原神的抽卡系统举例: | ||
|
||
假设统计样本中的所有玩家都只抽30抽,那么所有观察到的五星所用抽数都必定小于30。 | ||
在这种情况下如果只记录获得每个道具对应所用的抽数,那么获得五星道具所需抽数超过30的可能性被忽略了。 | ||
此时统计得到的综合概率必定大于3.33%,和实际的1.605%差异很大。 | ||
|
||
消除这样的偏误的方法很简单:对于一个硬保底位置为 :math:`n` 的简单保底抽卡系统,道具只要满足其自身花费抽数加上道具获取位置到抽卡记录结束位置的抽数大于等于硬保底抽数,即可被认为可无偏采样。 | ||
统计所有记录中可无偏采样道具对应所用的抽数,将其加和作为统计抽数,然后将记录中的总可无偏采样道具数除以统计抽数用于估计综合概率。 | ||
|
||
继续刚才的例子,玩家总计抽卡200抽获得了5个五星,第1个五星耗费70抽,第2个五星耗费10抽,第3个五星耗费80抽,第4个五星耗费20抽,第5个五星耗费10抽,获得第5个五星后还剩10抽没有再获得五星。 | ||
其中第1/2/3个五星均为可无偏采样五星。而第4个五星耗费抽数和剩余抽数之和为40,第5个五星耗费抽数和剩余抽数之和为20,均不满足大于等于保底数90抽的条件,被剔除。 | ||
此时统计总共3个可无偏采样五星,统计抽数160抽,估计综合概率为 :math:`\hat P_{avg}(X)=3/160=1.875%`。 | ||
|
||
这样得到的简单保底抽卡系统的综合概率统计量是无偏的。且相比统计时的采样偏误,很多时候将有偏统计量切换为无偏统计量对误差的减小更为明细。 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.