我进行了单向方差分析,有些组的F值使用“ inf”,p值使用“ 0.000000e + 00”。这是否意味着差异很大?
我使用groupby分离了数据帧,并循环了示例代码:
from scipy import stats
c_jobs_anova = []
for name_group in c_jobs.groupby(['Name']):
samples = [condition[1] for condition in name_group[1].groupby('Condition')['Value']]
f_value, p_value = stats.f_oneway(*samples)
print('Group: {}, F value: {:.3f}, p value: {:.3f}'.format(name_group[0], f_value, p_value))
c_jobs_anova.append((name_group[0], f_value, p_value))
结果:
答案 0 :(得分:0)
是的,F统计量的非常大的值表示很高的显着性,如p表示为0所证明的那样。在数学上,如果没有组内可变性(例如,
>>> stats.f_oneway([2, 2, 2], [1, 1, 1])
F_onewayResult(statistic=inf, pvalue=0.0)
如果组内变异性与组间变异性相比非常小,则导致数值溢出,因此也可以得到此结果。
>>> stats.f_oneway([2, 2, 2], [1, 1, 1.00000001])
F_onewayResult(statistic=inf, pvalue=0.0)