2014-02-12 2 views
1

저는 commons-math를 사용하여 2 꼬리 학생 분포의 역함수를 계산하려고합니다. Excel을 사용하여 값을 비교하고 결과가 올바른지 확인합니다. 2.64865t- 역행렬을 계산하십시오.

과 같이 평민 수학을 사용 :

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

그래서 자유의 5 개도 및 95.45 % 나

=TINV(0.0455,5) 

를 사용하고 결과를 얻을 수와 TINV을 계산하기 위해 Excel을 사용

내가 얻을 결과 : 2.08913

나는 분명히 뭔가 잘못하고있을거야. 나는 정말로 수학에 능숙하지는 않지만 Excel 시트 수식을 Java 프로젝트로 포팅해야하며이 문제에 매달려 있습니다.

TINV 값과 정확히 같은 결과를 얻으려면 무엇을 사용해야합니까? 나는 무엇이 없는가.

답변

0

MS 설명서 [1]은 TINV가 양측 값을 반환한다고 말합니다. 저는 Commons Math가 한쪽 꼬리 값을 돌려 준다고 확신합니다. 위해서는 가공 수학 즉

t.inverseCumulativeProbability (1 - tail_mass/2); 

[1] http://office.microsoft.com/en-us/excel-help/tinv-function-HP010335663.aspx

+0

'TDistribution의 t = 새로운 TDistribution 전화, 엑셀 동의 반 테일 질량 잘라 얻을 내지 (5); double value = t.inverseCumulativeProbability ((1-0.9545)/2);'올바른 결과를 생성하지만 음수입니다. 나는 이것이 음의 값을 산출 할 때마다 긍정적으로 바꾸어 놓을 수 있다고 상상한다. 옳은? – SysHex

+0

't.inverseCumulativeProbability (1 - 0.9545/2)'를 원한다고 생각합니다. –

+0

't.inverseCumulativeProbability (1 - 0.9545/2)'는 0.059973을 반환하는데 이것은 TINV의 출력이 같지 않습니다. – SysHex