整合贝叶斯概率分布

时间:2012-06-01 13:05:29

标签: java math statistics integration

假设我们有一个明确定义的概率分布,它以certan参数为条件:p(x|a)*p(a),就像贝叶斯方法一样。

现在,为了找到x,我可能希望整合a的所有值。是否有使用Java的这种数学问题的一般方法?

2 个答案:

答案 0 :(得分:5)

是的,与FORTRAN,C,Perl等相同的方法:coding up the math

少一点:Java不是人们做数字的典型语言选择,并不是为了满足那些受众而编写的,因此内在的语言支持不是很好,图书馆也不支持。我的建议:明确选择一种语言来解决你的问题 - 例如,R,Octave,Matlab,Mathematica,Maple--或者一个有更多出炉+正在进行的社区支持的语言 - 例如,C / C ++,FORTRAN,Perl。

也就是说,如果你致力于用Java做数字,那么有一些库; NIST有best gathering I've found,但该网站似乎维护不足,所以这只是一个起点。

答案 1 :(得分:0)

那里有很多数值整合方案。谷歌为“java数字集成”或“java正交”。

一个实现选择是JSci

如果您阅读Forman Acton的“有效的数值方法”,第4章“正交”,您会发现根据您的被积函数,它可能不是一个小问题。

您正在进行贝叶斯分析吗?也许Monte Carlo Markov Chain方法会更好。查看WinBUGS并阅读John Krushke's excellent book.

更新:如果您的被积函数是一个解析函数,您应该使用符号积分器来提供x的函数。如果不是,您可以做的最好的是WinBUGS。您将进行蒙特卡罗模拟,以便在经过多次试验后建立发行版的样子。

你找不到问题的简单答案,因为这不是一个简单的问题。