声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6357|回复: 11

[编程技巧] 如何计算概率?

[复制链接]
发表于 2007-10-10 10:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想了一段时间,但是还是不太明白,如何计算概率,如p(AB),哪位能指点一下?:loveliness:

[ 本帖最后由 花如月 于 2007-10-10 11:15 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-10-10 10:53 | 显示全部楼层
把问题描述的详细些,我概率基础比较差:@L :handshake
 楼主| 发表于 2007-10-10 10:55 | 显示全部楼层

回复 #2 花如月 的帖子

我的想法是 两列数据或者两个信号x,y,计算它们的Pxy(x,y).看了hist这个函数,但是不太明白,不怎么会使用
发表于 2007-10-10 11:03 | 显示全部楼层
hist可以求出样本的概率,但是得到的是确切的数值。版面有一个帖子
Pxy(x,y)是什么意思,概率密度分布函数?如果是x,y是已知的数值要得到分布函数。按我的办法就是先用数值方法求出概率,然后进行曲线拟合。最后得到概率的数学表达式,不知道还有没有其他的方法

[ 本帖最后由 eight 于 2007-10-10 12:45 编辑 ]
 楼主| 发表于 2007-10-10 19:01 | 显示全部楼层

回复 #4 花如月 的帖子

是联合概率分布

刚才听一个师兄的建议把MATLAB的统计工具箱看了看,但是还是没有发现此功能的函数。unidcdf接近,但不是联合的。

[ 本帖最后由 ChaChing 于 2009-11-21 15:47 编辑 ]
发表于 2007-10-10 19:33 | 显示全部楼层
不行就按照概率定义来计算,自己编写程序
 楼主| 发表于 2007-10-10 22:09 | 显示全部楼层

回复 #7 94117239 的帖子

看来只有这样了啊
发表于 2007-10-10 22:16 | 显示全部楼层
发表于 2007-10-11 14:16 | 显示全部楼层
原帖由 zhangnan3509 于 2007-10-10 10:49 发表
想了一段时间,但是还是不太明白,如何计算概率,如p(AB),哪位能指点一下?:loveliness:

看了一些资料,发现不少问题:
(1)对与2个随机事件X和Y,记各自的概率分布函数为F(X)和F(Y)。如果2事件独立则,联合分布函数F
        (X,Y)=F(X)*F(Y)。如果不独立那么实际上X和Y各自的分布称为联合分布F(X,Y)的边缘分布,这种情况下无法求得联合分布。
        (大致意思如此,表述不严密的地方高人多包含)
(2)只有在2个事件是相关的情形下,研究联合分布才有意义。而具体联合分布的求法视具体的事件而定,
       必须具体问题具体分析。特别是离散型的,概率论的书上有不少例题,用来求联合概率分布(一般用表格的
       形式表示)
(3)看了统计工具箱的介绍,没有看到二维联合分布的例子(也可能我没看全),只看到产生一维分布序列的方法。
下面用工具箱函数产生一个一维正态分布,绘制其概率密度曲线并进行拟合。对于特定分布工具箱提供计算函数pdf
  1. clear,clc;
  2. x=-2:.1:2;
  3. y=[2 3.4 5.6 8 11 12.3 13.8 16 18.8 19.9]';
  4. subplot(211),plot(y,'+');lsline
  5. x=-5:.1:5;
  6. y=pdf('Normal',x,5,10);
  7. subplot(212),plot(x,y,'+');lsline
  8. %对于分布事先未知的情形,可以用hist统计并近似绘制概率密度曲线
  9. a=round(1000*rand(1,1e5));
  10. [N,X]=hist(a);
  11. figure
  12. stem(X,N/length(a),'fill','--','color','r'),hold on
  13. plot(X,N/length(a),'b*'),lsline
  14. %这里由于取得序列是用rand产生的,他服从均匀分布。样本去取大后,可以看出来它基本是条直线
复制代码
lsline是统计工具箱带的一个最小二乘拟合的函数,内部调用polyfit。不过个人觉得拟合效果很差,在上边的例子中如果改一下正态分布的参数就可以看出来。对于二维的事件分布,如果已知分布求数据并绘制概率密度曲线是比较容易的(就是一个函数的绘图问题)
  1. h=fspecial('gaussian',100,50)
  2. figure,mesh(h)
复制代码
如果知道概率求分布估计会比较麻烦,我觉得可能需要进行曲面拟合,你可以查阅相关的资料。

  个人认为,概率应该通过对事件性质进行分析推导或者对实验样本进行数据分析所得。欢迎高人批评指正!

[ 本帖最后由 花如月 于 2007-10-11 14:21 编辑 ]

评分

1

查看全部评分

发表于 2007-10-11 16:38 | 显示全部楼层
统计书好好看看,一见到概率分布头就大
发表于 2007-10-11 22:13 | 显示全部楼层
原帖由 花如月 于 2007-10-11 14:16 发表

看了一些资料,发现不少问题:
(1)对与2个随机事件X和Y,记各自的概率分布函数为F(X)和F(Y)。如果2事件独立则,联合分布函数F
        (X,Y)=F(X)*F(Y)。如果不独立那么实际上X和Y各自的分布称为联合分布 ...


同意这个观点,一般,概率论与数理统计是研究统计规律性的,这种统计规律性是通过分布(密度)函数及各阶矩来表现。而具体概率的计算,如果有公式当然可以编程计算,但对于概率计算的公式,大都不统一,特别是古典概型中概率的计算。

评分

1

查看全部评分

发表于 2009-3-8 10:25 | 显示全部楼层
还是慢慢来看
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 23:35 , Processed in 0.071888 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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