beta分布 java代码

Posted 江枫1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beta分布 java代码相关的知识,希望对你有一定的参考价值。

public class BetaDistributionActivity {
/**
* @param alpha: eg. click * @param beta : eg. pv - click
*/

public static double BetaDist(double alpha, double beta) {
double a = alpha + beta;
double b = Math.sqrt((a - 2) / (2 * alpha * beta - a));
if (Math.min(alpha, beta) <= 1) {
b = Math.max(1 / alpha, 1 / beta);
}
double c = alpha + 1 / b;
double W = 0;
boolean reject = true;
while (reject) {
double U1 = Math.random();
double U2 = Math.random();
double V = b * Math.log(U1 / (1 - U1));
W = alpha * Math.exp(V);
reject = (a * Math.log(a / (beta + W)) + c * V - Math.log(4)) < Math.log(U1 * U1 * U2);
}
return (W / (beta + W));
}

}
























以上是关于beta分布 java代码的主要内容,如果未能解决你的问题,请参考以下文章

4. 抽样分布—卡方分布F分布t分布Beta分布Gamma分布——python实战

Gamma函数计算beta分布并画图

Beta冲刺代码规范

Beta冲刺-代码规范

IDEA 2022.2.1 Beta 2发布:新增支持Java 18增强JUnit 5的支持

IDEA 2022.2.1 Beta 2发布:新增支持Java 18增强JUnit 5的支持