彩票经济学如何选号?

郭芷瑶郭芷瑶最佳答案最佳答案

这个问题其实很好玩 先给出答案,通过大数据的方法来筛选号码,中大奖的概率比随机挑几个数要大大大提升! 比如我上次买的3D,选了20个号码,结果开奖只有1个(我的),全对! 是不是超级神奇~~~ 所以接下来就是重点了,如何用科学的方法找到这些“幸运号码”呢? 我用了最近很火的Python来做这事,因为我自己本身也是学计算机的嘛。

在数据量大的吓人的情况下,用手工的方法一个个分析是不可能的了,必须借助算法,而Python恰好能做这件事。 具体怎么做呢?首先我们要知道彩票中大奖的基本原理是什么。

假定有n个人买彩票,每人购买m种号码,则共有C(n,m)种组合,假设每个号码出现概率为p,则所有号码都出现的概率 P= \prod_{i=1}^{n}{p^{\alpha_i}} (1\leqslant \alpha_i \leqslant m) 其中\sum_{i=1}^{n}{\alpha_i}= km,k表示这m种号码被所有的人购买的次数之和。

现在我们可以建立模型了,假设我们想了解6+1的体彩排列三的情况,则共有3种数字,555、556和566,分别对应百位、十位、个位的号码。因此 C(3,3) = 6 种情况。 如果我们将每天所有购买排列三的人的所有投注记录拿出来看,那么数据量将是巨大的,以百万计。为了简化问题,我们只考虑一个人一天内只能买一次,即C(3,3) = 6 的情形。同时假设每个人购买时,三个位置上的数字都是不重复的,这样我们就将原本一个可能的选择题,变成了3个简单的单选题,问题的难度就大大降低了。

我们用字典的方式保存每天的购彩信息,key为日期,value为列表,列表的元素是每一注号码,例如 “20180607”:[‘123’,‘234’,‘345’].然后我们对所有的k求和,得到每个数字被购买的总次数。

对于每个数字被购买的次数,我们用概率的公式进行转换,就会得到每一个数字出现的机会。例如,数字5出现了10次,则 p(5)=\frac{10}{60} ,6同样道理,则有 p(6)=\frac{9}{60} 。这样我们就得到了概率分布,按照这个概率我们可以生成新的号码。当然这种新产生的号码是未经筛除的,我们还希望它符合另一个条件——奇偶均衡,否则连续开5个偶数或者连续开5个奇数的可能性也是存在的,那样的话我们的方法就失败了。

为了达到奇偶均衡的目的,我们需要计算每一组号码的奇数和偶数个数,假如某一组号码的奇数个数大于偶数个数,则它在排序过程中会被置于前面;反之则会置于后面。经过这样的处理,新的号码会产生,并重复之前的过程,直到所有的奇数个数=偶数个数为止,这个时候获得的号码就是我们最终想要的结果。

我来回答
请发表正能量的言论,文明评论!