2016-07-13 11 views
2

어떤 이유 :왜 SciPy는 0 분산을 가진 샘플을 가진 t- 검정에 대해`nan`을 반환합니까? 내가 파이썬에서 <a href="http://en.wikipedia.org/wiki/SciPy" rel="nofollow">SciPy</a>을 사용하고의 <code>nan</code> 값을 반환 다음입니다

>>>stats.ttest_ind([1, 1], [1, 1]) 
Ttest_indResult(statistic=nan, pvalue=nan) 

>>>stats.ttest_ind([1, 1], [1, 1, 1]) 
Ttest_indResult(statistic=nan, pvalue=nan). 

하지만 다른 요약 통계가 샘플을 사용할 때마다, 나는 실제로 적당한 값을 얻을 :

stats.ttest_ind([1, 1], [1, 1, 1, 2]) 
Ttest_indResult(statistic=-0.66666666666666663, pvalue=0.54146973927558495). 

nan의 p- 값을 0으로 해석하는 것이 합리적입니까? 통계에서 같은 요약 통계를 가진 샘플에 대해 2- 표본 t- 검정을 실행하는 것이 타당하지 않은 이유가 있습니까?

+0

나는 ttests가 표준 편차에 의한 나눗셈을 포함한다는 것이 문제라고 생각한다. 대신에 표준 편차가 0인지 아닌지 확인하기 위해 N을 반환하는 다른 사례가있을 수 있습니다. (그들이 무엇이 될지 확실하지 않습니다.) –

답변

3

0으로 나누기는 NaN (= 숫자가 아님) 예외를 발생 시키거나 관례 상 NaN과 일치하는 부동 소수점 표현을 반환합니다. N 나누기와 N 나누기 나누기의 표준 편차 공식을 특히주의하십시오.

+2

N [N] 나누기에주의해야합니다. 대 N 나누기 - ** 빼기 ** - 하나 [...] "? –