在两个数字(0.85,0.18)之间进行T检验,得到p值为Nan

时间:2020-09-18 14:40:03

标签: python statistics t-test

在两个数字(0.85,0.18)之间进行t检验,得到p值为Nan,并伴随以下错误:

也收到此错误 _,p_value = stats.ttest_ind(a = Max,b = Max_1,equal_var = False) C:\ Users \ NehaBhakat \ Anaconda31 \ lib \ site-packages \ numpy \ core \ fromnumeric.py:3584:RuntimeWarning:切片的自由度<= 0 ** kwargs) C:\ Users \ NehaBhakat \ Anaconda31 \ lib \ site-packages \ scipy \ stats_distn_infrastructure.py:903:RuntimeWarning:在更高版本中遇到无效值 返回(a

2 个答案:

答案 0 :(得分:2)

t检验用于确定实际上是否有两个分布来自同一人群。您不能测试两个单个值。因此,获得NaN是正确的。

分布表示您拥有一个带有所测量值的向量。要进行有意义的t检验,通常应至少包含30个值。

答案 1 :(得分:0)

scipy.stats.ttest_ind()对两个样本进行t检验,检验2个独立样本具有相同的平均(预期)值的原假设。它希望您将两个样本(a组,b组)作为所有观测值的数组传递,以便可以计算合并的标准偏差。请参阅下面使用的公式(来自Wikipedia

two sample t test formula

要计算标准差,我们需要每个点与均值之差,这就是为什么它要求您提供整个数据数组的原因。 Scipy documentation解释了该函数的期望值:

a,b array_like 数组必须具有相同的形状,除了与轴对应的尺寸(默认为第一个)。

相关问题