【问题标题】:T test between two numbers(0.85,0.18) getting p value as Nan两个数字(0.85,0.18)之间的 T 检验将 p 值设为 Nan
【发布时间】:2021-01-05 12:23:58
【问题描述】:

两个数字 (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: Degrees of Freedom

【问题讨论】:

  • 有关概念的讨论,另请参见 stats.stackexchange.com。

标签: python statistics t-test


【解决方案1】:

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

分布意味着您有一个向量,其中包含您测量的值。要进行有意义的 t 检验,通常应该至少有 30 个值。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-11
      • 1970-01-01
      • 2017-07-11
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 2021-09-07
      • 2022-01-02
      • 2020-08-30
      相关资源
      最近更新 更多