找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1007|回复: 3

[【学术茶座】] 关于抛硬币的问题 疑惑?

[复制链接]
发表于 2012-2-18 16:36:23 | 显示全部楼层 |阅读模式
下面这个话题,不知道发在那里合适,因此发在 茶社,若不合适,麻烦版主转移.

最近在学习概率论,在下面网址看到 关于这方面的话题,
http://bbs.cenet.org.cn/dispbbs.asp?BoardID=57&id=8768

该帖的4楼,被中国经济学教育科研网 定为\"精华贴子\", 非注册会员是无法看到的.我费了很大劲,在该论坛还是无法成功注册,也许是我的操作系统出了问题.

后来我通过下面的网址看到,该帖4楼的内容.
http://www.cenet.org.cn/article.asp?articleid=17033
http://bbs.cenet.org.cn/html/board57/topic8768.htm (可以下载附件)

该贴4楼部分内容如下用蓝色表示)

既然系里的权威都没有说出个所以然,我就放心大胆地说了,反正错了也有个垫背的。
Jasoniou,你试过抛硬币吗?
一、
考虑一个4次的抛币实验,有16种可能的路径,每种路径的出现是等概率的,你会发现其中只有6种情况是正反面次数相等,也就是说,概率为37.5%,小于次数不相等的概率。
二、
抛硬币太累,用Excel来模拟这个过程。用 INT( ( RAND()-0.5)*2-1)产生仅由数值1、-1组成的随机数列。假定1代表正面,-1代表方面。对这个数列的前n(n=1,2,……)个求和,这个数值代表了前n次抛币正面比反面多的次数,负数代表反面比正面多的次数,如果正面、反面次数相等,那么数值应该是0。
请参看附带文件,那是我模拟3000次抛币的结果图。真正正反面相等的次数是非常少的。
确实,曲线在围绕正反面次数相等这个轴,但有超出一般想象的高高的山峰和深深的低谷,而且这种围绕不是均匀弹簧状的,在大多数阶段中,总是有一面领先。
3000次还不算足够?那么你可以再多试,只要你的电脑运算能力足够,但最终的结果还是大致如此。在大多数时候,某一面总是在一个阶段中连续领先。
据说(我没有证明过),在10000万次的抛币中,其中一侧在9930次中领先、而另一侧在70次中领先的概率大约是10%。
这能不能算是逼近?
逼近要多近?
..............................................

附带文件所说的图片如下:


我有2个疑惑的是:
第一个疑惑:
INT( ( RAND()-0.5)*2-1) 这个公式在EXCEL中产生的值是 -1或者 -2, 我用的是excel 2003测试的.

第二个疑惑:
该贴中的曲线是如何绘制的, 曲线的横坐标是次数,纵坐标的值是什么?

虽然,有这些疑惑. 但是不可否认,该贴的内容值得一看, 楼主的提问也很有水平.

原贴楼主提问内容如下用蓝色表示)

看了很多张五常的文章以后,思考一些经济学或者统计学的问题,都试着从最简单处入手。
一次,在听一位英国帝国理工大学的教授来我们学校讲学,讲的主要是经济计量学的建模,以及一些具体应用实例,没想到听报告过程中,一直在思考一道最简单的概率问题。关于“抛硬币”试验的概率问题。
问题是这样的:
1、多次抛硬币首先是一个贝努利试验,独立同分布的
2、每次抛硬币出现正、反面的概率都是1/2
3、当然硬币是均匀同分布的,而且每次试验都是公正的
4、在上述假设下,假如我连续抛了很多次,例如100次,出现的都是正面,当然,稍懂概率的人都知道,这是一个小概率事件,但是小概率事件是可能发生的。我要问你,下次也就是我抛第101次,出现正、反的概率是不是相等。我认为是不相等的,出现反面的概率要大于正面。我的理由是,诸如“抛硬币”等独立同分布试验都有无数人试验过,而且次数足够多时,正、反面出现的概率应该是逼近1/2的。也就是说,这个过程,即使是独立同分布的试验它也是有概率的。
5、提出这个问题之后,我请教了很多同学和老师,大部分同学一开始都是乍一听这个问题,马上对我的观点提出批判,给我列条件概率的公式,举出种种理由,不过都被我推翻了
很巧的是,没几天,我在图书馆过期期刊阅览室找到一篇关于独立同分布的newman定理
推广到markov链过程的文章,见97年《应用统计研究》,我看不大懂,复印了下来,去请教
我们系数理统计方面比较权威的老师,他的答复我基本满意。他将数理统计可以分为两大类:频率统计学派和贝叶斯统计学派。目前,国内的数理统计主要是频率统计。又给我分析了什么是 先验概率,先验概率和条件概率有什么区别,他认为:在“抛硬币”试验当中,硬币的均匀分布和抛的公正是先验条件或先验概率,但是抛100次正面却是条件概率,接着他又解释了概率的记忆功能,他讲当贝努利试验次数不够大的时候,它不具有记忆功能,次数足够大的时候,也就是服从二项分布时,具有记忆功能。这时,连续抛很多次正面就可以算作是先验概率。
但这样,我又不懂了。我认为,即使只刚抛过1次,如果考虑这个过程的话,对第二次的结果也应该是有影响的,你们认为呢?这个问题,这位老师也没能解释好。
研究这个问题的启示或者意义:
1、推翻了一些东西,可能很大,也可能是我牛角尖钻的太深了
2、一个试验,我在一间屋子里做“抛硬币”的试验,我“一不小心”连续抛出了100次正面,这里请你不要怀疑硬币质地的均匀和我抛法的不公正,这时,你推门进了实验室,我和你打赌,下次抛硬币会出现反面,给你很高的赌注。因为我知道我已经抛了100次正面,在这个过程中正反面出现的概率是要往1:1均衡的。但是我不会告诉你,我已经连续抛了100次正面。你当然认为正反面出现的概率是1:1,而且你的理论依据也是正确的。但是,你的正确的理论可能会使你输钱的。
3、研究这个问题,我是想提出两个问题:其一,正确的理论可能得不出正确的结果,其二,信息的不对称问题。

希望大家能救救我,别让我越陷越深;也希望感兴趣的同学能和我一起探讨这个问题.



原贴楼主的最后一句话,也是我想说的: 希望感兴趣的朋友能和我一起探讨这个问题。
回复

使用道具 举报

发表于 2012-2-18 18:47:24 | 显示全部楼层
连续100次正面的事件本身是太小的概率事件了,但是发生了,则。。。。。
用r有专门一个做随机事件游戏的包,这个是太简单的实验了,国内老师一般只会推公式,在统计实验动手几乎没有训练才会这样初级困惑存在。
所以你第4个条件和前面3个条件其实是矛盾的。
回复

使用道具 举报

发表于 2012-2-18 20:20:00 | 显示全部楼层
这个帖子太乱了,不知道哪些是纯粹的引用,哪些是楼主所关心的问题。

有一点是肯定的,假如你连续抛了100次都是正面,那么第101次试验结果是正面还是反面的概率不变,仍然是0.5。不要什么这定理那定理,都是故意绕你的。



第二个疑惑:
该贴中的曲线是如何绘制的, 曲线的横坐标是次数,纵坐标的值是什么?

-------------------------------
显然,图形是用“图表”功能绘制的。

纵坐标是抛币一定次数,积累的分值(每抛一次正面得1,每抛一次反面得-1,一次次地积累下去)。
回复

使用道具 举报

 楼主| 发表于 2012-2-19 10:04:09 | 显示全部楼层
在EXCEL中用VBA实现模拟,代码如下:

Sub Macro1()
' 生成随机数,并处理
For i = 1 To 3000

  ' 生成随机数,添入到第一列
  Cells(i, 1) = Rnd() - 0.5
  t = Cells(i, 1)
  
  ' 处理随机数为1 -1,添入到第二列
  If (t > 0) Then
    Cells(i, 2) = 1
  Else
    Cells(i, 2) = -1
  End If
Next i


' 第二列求和,填充到第三列
For i = 1 To 3000
  t = 0
  For j = 1 To i
    t = Cells(j, 2) + t
  Next j
  Cells(i, 3) = t   
Next i

' 用第三列数据绘制图形
Columns("C:C").Select
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("C1:C3000"), PlotBy _
  :=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
  .HasTitle = False
  .Axes(xlCategory, xlPrimary).HasTitle = False
  .Axes(xlValue, xlPrimary).HasTitle = False
End With

End Sub

为了提高程序运行效率,修改上面代码如下:
Sub Macro1()
' 生成随机数,并处理
For i = 1 To 3000
' 生成随机数,添入到第一列
  Cells(i, 1) = Rnd() - 0.5
  t = Cells(i, 1)
  
  ' 处理随机数为1 -1,添入到第二列
  If (t > 0) Then
    Cells(i, 2) = 1
  Else
    Cells(i, 2) = -1
  End If

  If (i = 1) Then
    Cells(1, 3) = Cells(1, 2)
  Else
    Cells(i, 3) = Cells(i - 1, 3) + Cells(i, 2)
  End If

Next i

' 用第三列数据绘制图形
Columns("C:C").Select
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("C1:C3000"), PlotBy _
  :=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
  .HasTitle = False
  .Axes(xlCategory, xlPrimary).HasTitle = False
  .Axes(xlValue, xlPrimary).HasTitle = False
End With

End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-16 11:39 , Processed in 0.255452 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表