"inf"对scipy.stats.f_oneway中的F值意味着什么?
What does "inf" mean for F value in scipy.stats.f_oneway?
我 运行 单向方差分析,有些组的 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))
结果:
是的,非常大的 F 统计量值表示高显着性,正如 p 报告为 0 所证明的那样。从数学上讲,如果没有组内变异性,F 会达到无穷大,例如,
>>> 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)
'inf' 描绘了 python 中的无限值,如
x=-float('inf') //for min infinity value
y=float('inf') //for max infinity value
我 运行 单向方差分析,有些组的 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))
结果:
是的,非常大的 F 统计量值表示高显着性,正如 p 报告为 0 所证明的那样。从数学上讲,如果没有组内变异性,F 会达到无穷大,例如,
>>> 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)
'inf' 描绘了 python 中的无限值,如
x=-float('inf') //for min infinity value
y=float('inf') //for max infinity value