【发布时间】:2020-07-05 03:39:12
【问题描述】:
长话短说,我需要进行数亿次 t 检验。我有两个样本列表,ys 和ns,我想比较每个列表中的一个样本,所以ys 中的第一个样本将与ns 中的第一个样本进行比较,依此类推。结果将是一个 p 值列表,每个比较都有一个。最快的方法是什么?目前,我正在使用map 函数
p_values = [result[1] for result in list(map(ttest_ind, ys, ns))]
但它仍然很慢。 numpy.vectorize 看起来可能更快,但我不知道如何将它与以两个列表作为输入的函数一起使用。如果我硬编码 t 检验数学而不是使用 scipy.stats.ttest_ind,会更快吗?
【问题讨论】:
-
numpy.vectorize只是隐藏了循环机制,但并没有真正将非向量化函数转变为真正的向量化函数。你看过pandas吗? -
我将如何使用
pandas?我应该创建一个数据框的ys和ns列并将 t 检验应用于这些列吗? -
我对“几亿” t 检验感到畏缩。这是交叉验证的主题...
-
@Michelle 是的,这很难解释......也许我会尝试交叉验证。
标签: python optimization t-test