“伪随机”数不是“假随机”数

“伪随机”数不是“假随机”数
                          ———— 评奥卡姆剃刀评《天路客评<通过比喻理解“大样本随机双盲对照临床试验”>》

        作者:天路客

       首先回答关于第二个问题,文章发出后,我觉得有的地方说法欠妥,考虑到文章已发出,就没有及时通知更正作进一步的说明,现在也还没有想好怎么论述这个问题。

       至于第一个问题,“随机”的概念严格说来不是统计学的基本概念,但却是更基本的东西。在医学统计学中,对“随机”概念并不作介绍,基本概念中也不介绍,为避免不太了解的朋友产生误会,我略作一下说明。

      首先说明一点:计算机不会产生绝对随机的随机数,这是确定的。

      那怕计算机技术(这里指据冯诺依曼思想发展起来的电子计算机)发展到什么程度,也只是能够产生一串“伪随机”( pseudo-random)数,不会产生绝对“真”的随机数。其实,设定一个程序后,随机数的计算方法在不同的计算机中是不同的,即使在相同的计算机中安装的不同的操作系统中也是不同的、相同的随机种子在不同计算机或系统中生成的随机数也不同。

       计算机的伪随机数是由随机种子根据一定的计算方法算出来的,而随机种子如果没有特殊规定在默认情况下一般来自系统时钟,所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。

       绝对随机的随机数字只是一种理想状态,举个不太恰当的比喻,随机数字序列就像物理学中讲的“质点”,将物体简化后得到的只有质量而不计大小、形状的一个几何点,这是经典力学中常用的理想化模型,是实际物体在一定条件下的科学抽象。

       所以说,所谓“伪随机数”只是一种相对的随机数,就是说,是有规律的随机数,也就是奥卡姆剃刀朋友所说的“过足够长的一段后,可能出现与前面完全相同的序列。”

      但是,这里所说的“伪”不是“假”,应该理解为“有规律”比较确切,也就是说计算机(例如通过统计软件包SAS等)产生的随机数既是随机的又是有规律的,但说到底还算随机数即使是“伪随机数”,也许将来的计算机会产生基于自然规律的不可重复的“真”随机数,但这里的真还是得加上一个引号。

     在生物、医学或工程的常规科研中,伪随机数已经足够用了,只要不搞成假随机。

     至于在实验中到处可见的闭着眼睛抓白鼠之类的“随机”我实在看不出有多少益处。

   “伪随机”数不是“假随机”数

““伪随机”数不是“假随机”数”有7篇评论

  1. 陈珂 评论道:

    真随机数可以靠量子力学的原理来产生。比如每一个bit可以由测量单光子的线偏振光在45度角偏振方向的光子数(结果0或1)来得到。

  2. 天路客 评论道:

    那只能期待未来的量子计算机来完成了。

  3. 陈珂 评论道:

    不用量子计算机,今天用我前面说的单光子检测技术就可以实现了。

  4. 刘一铁 评论道:

    这篇科普得点评一下。

    【“伪随机”数不是“假随机”数】

    有“随机”和“伪随机”已经足够用了,再引进个“假随机”,你是成心跟奥卡姆剃刀(原理和ID)抬扛。你要用“假随机”也不是不可以,好歹你给个定义。不给定义就说“不是”,想不让“不太了解的朋友产生误会”都难。

    【首先说明一点:计算机不会产生绝对随机的随机数,这是确定的。】

    这么肯定?给你举个反例,这个“说明”就伪了或“假”了(我猜你是被一个“伪”字吓住了)。

    给计算机插上一个话筒,把话筒放在远离特定声源(比如:音响,电视机等)的地方,写个采集计算机声卡信号的程序。运行这个程序就可以产生随机数(“绝对随机的随机数”)序列。

    【其实,设定一个程序后,随机数的计算方法在不同的计算机中是不同的,即使在相同的计算机中安装的不同的操作系统中也是不同的、相同的随机种子在不同计算机或系统中生成的随机数也不同。】

    你自己就“误会”着,“不太了解的朋友”没法不误会。

    【计算机的伪随机数是由随机种子根据一定的计算方法算出来的,而随机种子如果没有特殊规定在默认情况下一般来自系统时钟,所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。】

    基本正确,但你这一句把你上一句给否了。

    【绝对随机的随机数字只是一种理想状态,举个不太恰当的比喻,随机数字序列就像物理学中讲的“质点”,将物体简化后得到的只有质量而不计大小、形状的一个几何点,这是经典力学中常用的理想化模型,是实际物体在一定条件下的科学抽象。】

    这个比喻不仅“不太恰当”、而且会误导“不太了解的朋友”。质点是理想模型、质点并不存在。然而,随机数并不是什么理想状态、也不是模型。随机数是一序列没有规律的数、是可以用多种方法产生。我举了例子,奥卡姆剃刀(ID)在他的文章也举了抛硬币的例子。

    【但是,这里所说的“伪”不是“假”,应该理解为“有规律”比较确切,也就是说计算机(例如通过统计软件包SAS等)产生的随机数既是随机的又是有规律的,但说到底还算随机数即使是“伪随机数”,也许将来的计算机会产生基于自然规律的不可重复的“真”随机数,但这里的真还是得加上一个引号。】

    “既是随机的又是有规律的”,这个太雷人!!“有规律”就不随机了,所以把貌似随机、但实际上是有规律可寻的数叫做“伪随机数”。别怕,“伪”字在这儿不带任何贬意。

    我举的例子不是“也许”、也不是“将来”,现在就可以实现;所产生的是随机数,不用加上一个“真”字、更不用给“真”字打上引号。

    【在生物、医学或工程的常规科研中,伪随机数已经足够用了,只要不搞成假随机。】

    给既不是随机又不是伪随机的“假随机”下个定义吧。

    【至于在实验中到处可见的闭着眼睛抓白鼠之类的“随机”我实在看不出有多少益处。】

    我也看不出来有多少益处,因为我跟做白鼠实验隔着不止一座山。我的建议是,如果实验要求是随机地挑选,最好老实点、把眼睛闭上、不偷看。睁着眼挑顺眼的,连伪随机都不是,在实验报告或论文里又白纸黑字写上随机挑选,最终就落到一个“假”字上了。

  5. 天路客 评论道:

    首先文章的本意不是讨论随机,而是关于有位朋对大样本随机对照试验的讨论。

    我只问你一个问题?你说做实验前,蒙上眼睛抓出来的白鼠是属于伪随机呢还是随机呢还是什么呢?

    如果你“跟做白鼠实验隔着不止一座山”,没有过给老鼠编号的实践也不了解这些事情的情况的话,我和你的讨论就到此为止。

  6. 天路客 评论道:

    临床试验也好动物实验也好,许多地方许多人贯彻的原则是随便而不是随机。

  7. 双色球 评论道:

    经分析证明福彩3.6亿巨奖不容置疑的13个问题
    已知条件:
    第2009118期福彩双色球的投注金额为:215790310元,每注2元,也就是说彩池中共有107895155注,全国共开出一等奖93注,二等奖43注,三等奖622注,四等奖33028注,五等级奖662628注,六等奖为7350659注,根据下面福彩双色球游戏规则(http://www.zhcw.com/lottery/db_info.htm)

    问题一:计算每个等奖的中奖概率?
    解:一等奖中奖概率:(C(6,6)*C(1,1))/(C(33,6)*C(16,1)) = 1/17721088
    二等奖中奖概率:(C(6,6)*C(15,1))/(C(33,6)*C(16,1)) = 15/17721088
    三等奖中奖概率:(C(6,5)*C(27,1)*C(15,1))/(C(33,6)*C(16,1)) = 162/17721088
    四等奖中奖概率:(C(6,5)*C(27,1)*C(15,1)+(C(6,4)*C(27,2)*C(1,1)))/(C(33,6)*C(16,1)) = 7695/17721088
    五等奖中奖概率:(C(6,4)*C(27,2)*C(15,1)+(C(6,3)*C(27,3)*C(1,1)))/(C(33,6)*C(16,1)) = 137475/17721088
    六等奖中奖概率:(C(6,2)*C(27,4)*C(1,1)+C(6,1)*C(27,5)*C(1,1)+C(6,0)*C(27,6)*C(1,1))/((C(33,6)*C(16,1)) = 1043640/17721088

    问题二:计算2009118期每等奖的可信度概率?
    解:
    因为没有开奖前每注奖概率均为p。开奖后每一注中奖的概率是服从0-1分布的,中或者不中,设Xi = 0 or 1(中奖=1,不中=0),令X为中奖的总注数,可知Xi(i=1,2,3…107895155)是服从0-1分布:

    X = sigma(Xi) ~ B(107895155, 5.642994380*10^(-8))
    i=0..107895155

    注:Normal(x)是标准正态分布函数, Ex期望值,Dx方差,sigma(Xi)求和

    对于一等奖有:Ex = np = 107895155 * 5.642994380*10^(-8) = 6.088517533
    Dx = npq = 107895155 * 5.642994380*10^(-8) * (1.0-5.642994380*10^(-8)) = 6.088517190
    有93注及以上中一等奖的可能性为:
    P{X>92} = 1-P{X42} = 1-P{X621} = 1-P{X33027} = 1-P{X662627} = 1-P{X7350658} = 1-P{Xn} = 1-P{X 0.8 于是有:
    一等奖正常中奖注数偏差:|(4-6)/6| = 33.33%
    二等奖正常中奖注数偏差:|(83-91)/91| = 8.79%
    三等奖正常中奖注数偏差:|(959-986)/986| = 2.73%
    四等奖正常中奖注数偏差:|(46669-46851)/46851| = 0.39%
    五等奖正常中奖注数偏差:|(836251-837018)/837018| = 0.092%
    六等奖正常中奖注数偏差:|(6352162-6354220)/6354220| = 0.032%

    问题五:双色球第2009118期中一注一等奖及以上的可能性有多大?
    解:
    有1注及以上中奖的可能性为:P{X>0} = 1-P{Xn} = 1-P{X 0.5 可求得n=6,也就是中一等奖的注数不大于6注有50%以上的可信度!

    问题七:以双色球第2009118期的彩池总107895155注为基础估算福彩双色球十大巨奖每期中一等奖注数的可信度?
    解:
    十大巨奖每期彩池总注应该都在一亿数量级左右,假设其均为107895155注,估算如下:
    2009年10月8日 河南省安阳市彩民3.599亿 第2009118期全国共中出93注一等奖 可信概率:4.50865888*10^(-272)
    2009年7月2日 广东省广州市彩民9668万 第2009076期全国共中出29注一等奖 可信概率:8.06021363*10^(-21)
    2009年3月12日 深圳市福田区彩民5089万 第2009028期全国共中出41注一等奖 可信概率:9.52979084*10^(-46)
    2009年3月12日 广东省珠海市彩民5071万 第2009028期全国共中出41注一等奖 可信概率:9.52979084*10^(-46)
    2009年3月10日 广东省珠海市彩民5332万 第2009027期全国共中出19注一等奖 可信概率:8.35558060*10^(-8)

    2008年5月6日 浙江省温州市彩民5000万 第2008052期全国共中出13注一等奖 可信概率:2.54710715*10^(-3)

    2007年12月18日 江苏省盐城彩民4113万 第2007148期全国共中出59注一等奖 可信概率:2.62981427*10^(-102)
    2007年11月27日 甘肃省嘉峪关市彩民1.138亿 第2007139期全国共中出22注一等奖 可信概率:5.65024629*10^(-11)
    2007年10月11日 黑龙江省哈尔滨市彩民6504万 第2007119期全国共中出23注一等奖 可信概率:3.59787005*10^(-12)

    2006年10月12日 河北省唐山市乐亭县彩民5000万第2006120期全国共中出16注一等奖 可信概率:2.94938196*10^(-5)

    问题八:试着分析抛硬币出现正面赢和买双色球彩票中一等奖的异同?
    解:
    相同点:均是一种博弈,是随机概率事件,买一张彩票下一注相当于抛一次硬币,买一张彩票押44倍就是下44注,与买44张同样号码的彩票是一样。相当于抛硬币44次(下44注)均押出现正面(同样号码)。
    不同点:概率不一样,抛硬币出现正面赢的概率为1/2,而买双色球彩票中一等奖的概率为1/17721088。

    问题九:双色球第2009118期的彩池有107895155注全国共开出一等奖93注及以上次数的情况下分析抛硬币出现正面应大于的次数及与抛硬币正常概率条件下出现次数的偏差?
    解:
    对于抛硬币出现正面赢有:
    Ex = np = 107895155 * 0.5 = 5.39475775*10^7
    Dx = npq = 107895155 * 0.5 * (1.0-0.5) = 2.697378875*10^7
    有n次及以上出现正面可能性为:
    P{X>n} = 1-P{X0} = 1-P{X

发表评论

CAPTCHA Image
*