亲品藏
^
微信红包怎么抢到手气最佳?微信随机红包算法分析

  观点三:

  今年过年我花了120元做了一组实验获取了两个样本。两个样本的大小均为60人。经过对样本的分析,我的结论是:我赞同土豆的第一条结论,也就是获取的钱数有可能符合截尾正态分布;但不赞同土豆的第二条结论 -- 我的两个样本结果显示,后抽取的人未必获得更多的钱。很有可能腾讯在一个钱包上传时就已经用算法将红包分成了给定份数,接下来抽取人去抽取钱包的时候只是按照时间顺序把给定份数的钱包给抽取人罢了。补充一点:假设陈鹏先生的算法是正确的(亦即此算法确实是微信红包的算法),那么先抽取者与后抽取者获得红包大小的期望值是相同的,但是标准差不同。根据个人的风险偏好的结构(risk preference structure)不同,风险回避(risk-averse)的抽取者应该尽量先抽,而风险偏爱(risk-seeking)的抽取者应该尽量后抽。

  【陈鹏先生的算法是否可信以及整体到底符合何种分布都有待于更多的样本进行检验。目前我没有找到反例】

  以下为验证部分。

  首先,我来讨论一下为什么要采用截尾正态分布。首先介绍一种更加直接的方法(我有一些朋友也这样猜测):如果我有50元,要发给25人。那么我用连续均匀分布随机产生24个位于0到50之间的数字。这24个数字将整个0-50的区间划分为25份,分别分给这25个人。但事实并不是这样的。学过序列统计的人应该知道,由于这24个点是连续均匀分布产生的,因此他们的序列统计量也是连续均匀分布产生的,因此他们之间的间隔的分布是指数分布的。具体证明从略,可参照John Rice 2007。

  若是没有序列统计的背景,我们也可以跑一个模拟。我有60元钱,按照上述数据产生机理随机分成60份(因此人均1元左右),然后如是操作10000次,对数据采取聚集后的归一化处理。由于中心极限定理(Central Limit Theorem),该分布反应整体分布(Population Distribution)。画出柱形图如下:

微信红包怎么抢到手气最佳?微信随机红包算法分析

可见是符合指数分布的。

  这种产生机理不好的地方在于:大多数人得到的钱非常少,而极少数人得到的钱却非常多,因此可能有一个公平性的问题,而这可能会对抽取人的积极性产生影响。截尾正态分布能够更好地避免这样的问题,因为更多人的红包大小会聚集在平均值附近,而且由于尾部更快的衰减,因此获得特别大的红包的概率也会相应减小,有助于增加公平性与参与的积极性。这一点佐证了土豆的观点,尽管具体截尾的方位可能需要获取更多的数据才有可能有一个准确的预测。

  以下是我的两个样本的柱形图:

微信红包怎么抢到手气最佳?微信随机红包算法分析
柱形图
微信红包怎么抢到手气最佳?微信随机红包算法分析
柱形图

  大家可以比照我的柱形图与上面指数分布柱形图。注意到:

  1.更多的人获得的红包在均值附近;

  2.获取大于2.5元的红包的概率几乎为零(事实上,第一个钱包的最高值是2.06,第二个钱包的最高值是2.10。然而假设是指数分布的(或者说均匀连续分布的数据产生机理),那么在每个60元红包中都会有一定量的抽取者抽到大于3甚至大于4元的红包--这点我通过模拟也确认了。

相关阅读

CopyRight 亲品藏移动版(m.qinpinchang.com)