2

を使用して両側学生分布を計算しようとしていcommons-mathます。Excel を使用して値を比較し、結果が正しいかどうかを検証しています。

したがって、Excel を使用して x = 5.968191467、df = 8、テール t = 2 で TDIST(x, df, t) を計算します。

=TDIST(ABS(5.968191467),8,2)

結果を取得します: 0.000335084

commons Math を次のように使用します。

TDistribution tDistribution = new TDistribution(8);
System.out.println(BigDecimal.valueOf(tDistribution.density(5.968191467)));

私は結果を得る:0.00018738010608336254

TDIST 値とまったく同じ結果を得るには、何を使用すればよいですか?

4

2 に答える 2

0

一般的な x の正しい式は次のとおりです。

2*(1.0 - tDistribution.cumulativeProbability(Math.abs(x)))

(龍一郎さんに感謝)。Excel の 2 自由度の TDIST は対称式であるため、絶対値を追加することを忘れないでください。

TDIST(-x,df,2) = TDIST(x,df,2)

ryuchiro のものは、負の x に対しては機能しません。docsまたはthisも確認してください。

于 2015-11-04T17:54:32.787 に答える