如何获取临界T值?
使用apache stat,我似乎无法获得这些值?
例如
Tdistribution t= new Tdistribution(10);
t.CumulativeProbabilty(0.05);//alpha=0.O5如果你看一下表格,你会发现值是不同的。
发布于 2017-05-09 18:20:46
我的猜测是,您可能错误地解释了t表的值。
以练习proposed here为例
来自具有14个自由度的t分布的t值为2.35时,在t表上的哪两个值之间具有上尾(“大于”)概率?答案: 0.025和0.01使用t表,找到具有14个自由度的行,并查找2.35.但是,这个确切的值不在此行中,因此请查找该行两边的值: 2.14479和2.62449。..。
如果你尝试用apache-commons-math来解决这个问题,你会得到以下结果,
TDistribution t = new TDistribution(14);
System.out.println(1- t.cumulativeProbability(2.35));
0.016981716091246768这对结果是好的,但是更准确。0.016确实在0.025和0.01之间。
如果您想要直接得到t表的值,例如10个自由度的概率,t值为1.812461,答案是
t = new TDistribution(10);
System.out.println(1- t.cumulativeProbability(1.812461));
0.050000010018874885而表中的概率值为0.5
注释后编辑:为了计算分位数,您必须使用inverseCumulativeProbability。这是在抽象类AbstractRealDistribution中。
System.out.println(t.inverseCumulativeProbability(0.95));
1.8124611228157772https://stackoverflow.com/questions/43859288
复制相似问题