如何计算两个浮点列表的p值?

YKY*_*YKY 9 python statistics

所以我有浮动列表.喜欢[1.33,2.555,3.2134,4.123123]等等.这些列表是某些东西的平均频率.我如何证明两个列表不同?我想过计算p值.有没有这样做的功能?我查看了scipy文档,但无法弄清楚要使用什么.

有人可以请教吗?

S A*_*and 22

假设你有一个这样的花车列表:

>>> data = {
...     'a': [0.9, 1.0, 1.1, 1.2],
...     'b': [0.8, 0.9, 1.0, 1.1],
...     'c': [4.9, 5.0, 5.1, 5.2],
... }
Run Code Online (Sandbox Code Playgroud)

显然,a非常相似b,但两者都不同c.

您可能想要进行两种比较.

  1. 成对:a类似于b?是a相似的c?是b相似的c
  2. 联合:是a,bc同组画?(这通常是一个更好的问题)

前者可以使用独立的t检验来实现,如下所示:

>>> from itertools import combinations
>>> from scipy.stats import ttest_ind
>>> for list1, list2 in combinations(data.keys(), 2):
...     t, p = ttest_ind(data[list1], data[list2])
...     print list1, list2, p
...
a c 9.45895002589e-09
a b 0.315333596201
c b 8.15963804843e-09
Run Code Online (Sandbox Code Playgroud)

这提供了相关的p值,并暗示这ac是不同的,b并且c是不同的,但ab可能相似.

后者可以使用单向ANOVA实现如下:

>>> from scipy.stats import f_oneway
>>> t, p =  f_oneway(*data.values())
>>> p
7.959305946160327e-12
Run Code Online (Sandbox Code Playgroud)

p值表明a,bc不太可能来自同一种群.

  • @YKY chi2旨在将预期*频率*与实际*频率*进行比较.频率总是整数,而不是浮点数.这只是一个简单的测试,我们可以用它来检查我们是否正在应用错误的分析.如果我们将chi2应用于浮点数,那么我们应用错误的技术,因为频率不能是浮点数 (2认同)