gpt4 book ai didi

javascript - 该学生的 t 分布 CDF 计算中有任何明显的缺陷吗?

转载 作者:行者123 更新时间:2023-11-28 07:38:40 25 4
gpt4 key购买 nike

我一直在寻找一个有效的函数来计算学生 t 分布的 CDF(累积分布函数)。

这是我在查看 another stackoverflow question 后得出的结论,JStat 库,the_subtprob function on Line 317 here .

查看上一篇引用文献中的注释让我找到了一本绝版书,这没有帮助

If you are interested in more precise algorithms you could look at: StatLib: http://lib.stat.cmu.edu/apstat/ ;
Applied Statistics Algorithms by Griffiths, P. and Hill, I.D.
Ellis Horwood: Chichester (1985)

cmu 站点有一个 FORTRAN 函数,我将其翻译如下。

查看其他来源,我发现高阶函数,例如不完整的 beta、log gamma,并且实现似乎更复杂,并且在一种情况下是迭代的。

我想知道这个实现是否存在任何已知的陷阱。它似乎产生与其他结果相同的结果。关于如何评估这一点的任何想法也会有所帮助。

function tcdf (t, v) {
//
// ALGORITHM AS 3 APPL. STATIST. (1968) VOL.17, P.189
// STUDENT T PROBABILITY (LOWER TAIL)
//
var b = v / (v + t * t),
c = 1,
s = 1,
ioe = v % 2,
k = 2 + ioe;

if (v < 1) {
return 0;
}
if (v >= 4) {
while (k <= v - 2) {
c *= b - b / k;
s += c;
k += 2;
}
}
c = t / Math.sqrt(v);

if (1 !== ioe) {
return 0.5 + 0.5 * Math.sqrt(b) * c * s;
}
return 0.5 + ((1 === v ? 0 : b * c * s) + Math.atan(c)) / Math.PI;
}

最佳答案

此算法可能存在两个问题。

  1. 处理较大的v值。当v变大时,我们应该恢复标准正态分布。但是,您在 v 上有一个 while 循环。所以v=1000000说,变得很慢

  2. 尾部准确度。该算法如何应对极端尾部情况?通常,我们需要使用 log 来避免舍入错误。

关于javascript - 该学生的 t 分布 CDF 计算中有任何明显的缺陷吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28304687/

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