python - 为什么 SciPy 返回 `nan` 用于样本方差为 0 的 t 检验?

标签 python scipy nan hypothesis-test

我正在使用 SciPy在 Python 中,无论出于何种原因,以下内容都会返回一个 nan 值:

>>>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 检验没有意义?

最佳答案

除以零将引发 NaN(= 不是数字)异常,或返回按照惯例与 NaN 匹配的浮点表示形式。要特别注意除以 N 与除以 N 减一标准差公式。

关于python - 为什么 SciPy 返回 `nan` 用于样本方差为 0 的 t 检验?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38356250/

相关文章:

javascript - JSON.parse 需要转义哪些字符

python - 通俗地说,Python 字符串格式 "g"实际上是什么意思?

python - 使用细化和命中或遗失实现的骨架化永不停止

python - matplotlib 颜色 rgb_to_hsv 不能正常工作。也许需要报告?

python - 获取 SciPy 的 gaussian_kde 函数使用的带宽

python - 1**math.nan 和 0j**math.nan 的惊喜

python - 计算其中包含 np.nan 的 pandas 数据框值的平均值的最佳方法是什么?

python - 如何使用 odbc 查询 Sybase IQ 服务器?

python - 应用傅立叶变换后 scipy.io 波形文件处理的问题

matrix - 基于简单cuda的矩阵乘法中的nan错误