gpt4 book ai didi

java - 在确定 F 检验的临界 F 值时确定 Beta 函数

转载 作者:行者123 更新时间:2023-12-04 04:43:42 25 4
gpt4 key购买 nike

我正在使用概述的方法 here确定 F 检验的临界 F 值。我的问题是 the beta function is an integral .我的 x 和 y 分别是 0.5 和 248。我尝试使用以下(Java)代码通过求和来进行集成。

static double BetaFunction(double x, double y){
double betaFunction=0.0;
double inc=0.00001, t=0;
double xM1=x-1, yM1=y-1;

do{
t+=inc;
betaFunction+=Math.pow(t, xM1)*Math.pow(1.0-t, yM1)*inc;
} while (t<1.0);

return betaFunction;
}

不幸的是,返回值在很大程度上取决于我为 inc 选择的值。随着该值的减小,运行时间呈线性上升,准确度呈对数提高。

有没有更好的方法来做到这一点?

最佳答案

在没有封闭形式积分解的情况下,您可能能够做的最好的事情是使用斯特林近似 (http://en.wikipedia.org/wiki/Stirling%27s_approximation)

它是一个封闭形式的解决方案,接近“大”n 的实际值。
sqrt(2Pi)*x^(x-.5)*y^(y-.5)/(x+y)^(x+y-.5)
计算它至少可以在线性时间内完成 xy .您必须自己决定在什么范围内使用它以及您可以接受哪些错误。

关于java - 在确定 F 检验的临界 F 值时确定 Beta 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18520044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com