很容易在PHP(例如stats_standard_deviation()
)或MySQL(STDDEV()
)中获得标准偏差。由于标准偏差是两个方向(较低和较高)有效的平均值,因此无法比较两个方向之间的偏差。
所以我想知道是否有本机PHP或MySQL函数来获取这些值?
答案 0 :(得分:2)
我建议手动进行计算:
select avg(case when col > t.avg then col - t.avgcol end),
avg(case when col < t.avg then t.avgcol - col end)
from table t cross join
(select avg(col) as avgcol) as tavg;
这给出了平均值。如果你想要&#34;方差&#34;,只需将差异平方,将它们相加并取平方根:
select sum(case when col > t.avg then (col - t.avgcol) * (col - t.avgcol) end) / sum(col > t.avg),
sum(case when col < t.avg then (col - t.avgcol) * (col - t.avgcol) end) / sum(col > t.avg)
from table t cross join
(select avg(col) as avgcol) as tavg;
我怀疑您正在学习将这些概念应用于实际数据。您可能有兴趣了解统计偏差,它提供了另一种衡量中心&#34;平均值是。一个好的开始是Wikipedia。