我一直在学习python编程edX这是一个非常好的课程,我至今可以完全推荐。刚刚看过一个关于Statistics的TED演讲,我认为这很棒,这是一种锻炼我在真实世界场景中获得的Python技能的简单方法。这个人举了一个例子,说明不断翻转一枚硬币的可能性,并寻找两个反复出现的序列,他解释说,你会认为他有相同的发生概率,他声称事实上没有。简单地说,他声称序列头尾巴头最有可能发生比头尾尾巴在第一个序列的末尾,你已经有三分之一的重复序列再次在第二个序列的结尾你必须抛弃另一头再次开始序列。这非常有意义,所以我着手试图用我在这里显示的小型python程序来证明它。使用python分析掷硬币统计
import random
HTH = 0
HTT = 0
myList = []
i = 0
numberOfTosses = 1000000
while i < numberOfTosses:
myList.append(random.randint(0,1))
i += 1
for i in range (len(myList)):
if i+2 >= len(myList):
break
if myList[i] == 1 and myList[i+1] == 0 and myList[i+2] == 1:
HTH +=1
if myList[i] == 1 and myList[i+1] == 0 and myList[i+2] == 0:
HTT +=1
print 'HTT :' ,numberOfTosses, HTT, numberOfTosses/HTT
print 'HTH :' ,numberOfTosses, HTH, numberOfTosses/HTH
因此,我已多次运行程序,改变最大迭代值高,但似乎无法证明自己的说法,平均的HTH顺序应该发生埃维8次投掷和HTT序列每10个,因为看起来我平均得到平衡的结果。所以我的问题是我在执行这个问题的时候出了什么问题?
我认为那家伙的主张是虚假的,除非他说你更有可能得到HTH少数的折磨。为了从HTH中获得更多的胜利,因为他说,你必须得到比HTTH更多的HTHT。但是如果你应用他的同样的逻辑,HTTH已经在序列的最后开始了,而你必须从HTHT开始重新开始。 –
@MarkkuK。实际上,当你有HTHT的时候,你已经有了下一个HTHT的前两个字母。对于HTTH,你只有第一个字母。 –
@MattParker,的确如此,我正在应用这个人说的太狭隘。不过,HTHT vs HTTH的统计数据也大致相同,至少在这里使用该方法。 –