我正在尝试使用 commons-math 计算 2 尾学生分布的逆。我正在使用 Excel 来比较值并验证结果是否正确。
所以使用excel计算TINV,自由度为5,我使用95.45%
=TINV(0.0455,5)
并得到结果:2.64865
像这样使用公共(public)数学:
TDistribution t = new TDistribution(5);
double value = t.inverseCumulativeProbability(0.9545);
我得到结果:2.08913
我可能显然做错了什么。我并不是那么精通数学,但我需要将 Excel 工作表公式移植到 Java 中以用于项目,并陷入困境。
我应该使用什么来获得与 TINV 值完全相同的结果?我缺少什么。
最佳答案
MS 文档 [1] 表示 TINV 返回一个双尾值。我很确定 Commons Math 返回一个单尾值。为了使 Commons Math 与 Excel 一致,请将尾部质量减半,即调用
t.inverseCumulativeProbability (1 - tail_mass/2);
[1] http://office.microsoft.com/en-us/excel-help/tinv-function-HP010335663.aspx
关于java - 计算 t 倒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21730285/