计算t-inverse

我试图用commons-math来计算2尾学生分布的倒数。 我正在使用Excel来比较值,并validation我的结果是否正确。

所以用excel来计算5个自由度和95.45%的TINV

=TINV(0.0455,5) 

并得到结果:2.64865

使用普通的math就像这样:

 TDistribution t = new TDistribution(5); double value = t.inverseCumulativeProbability(0.9545); 

我得到结果:2.08913

我可能显然做错了什么。 我并不是那个精通math的人,但是我需要将一个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