我正在做一些工作来处理给定月份的家庭批准的一些统计数据。我希望能够显示趋势 - 也就是说,自上个月以来哪些区域出现了较大的相对增加或减少。
我的第一个天真的方法是只计算两个月之间的百分比变化,但是当数据非常低时就会出现问题 - 任何变化都会被放大:
// diff = (new - old) / old
Area | June | July | Diff |
--------------|--------|--------|--------|
South Sydney | 427 | 530 | +24% |
North Sydney | 167 | 143 | -14% |
Dubbo | 1 | 3 | +200% |
我不想忽略任何区域或值作为异常值,但我不希望 Dubbo 每月 2 的增长超过南悉尼 103 的增长。是否有更好的方程式可以用来显示更有用的趋势信息?
此数据最终绘制在 Google map 上。在第一次尝试中,我只是将差异转换为“热图颜色”(蓝色 - 减少,绿色 - 无变化,红色 - 增加)。也许使用其他一些指标来改变每个区域的 View 可能是一个解决方案,例如,根据批准总数或类似的东西改变 alpha channel ,在这种情况下,Dubbo 会是鲜红色,但相当透明,而南悉尼更接近黄色,但相当不透明。
关于显示此数据的最佳方式有什么想法吗?
最佳答案
研究统计显着性的措施。它可以像假设计数统计一样简单。
在一个非常简单的版本中,你绘制的东西是
(A_2 - A_1)/sqrt(A_2 + A_1)
即在简单计数统计中改变超过 1 sigma。
这使得上面的图表看起来像:
Area Reduced difference
--------------------------
S.S. +3.3
N.S. -1.3
D. +1.0
这被解释为南悉尼经历了显着的(即重要的,并且可能与真正的根本原因有关)增长,而北悉尼和达博则感受到了相对较小的变化,这可能表明也可能不表明趋势。经验法则
- 1 西格玛变化只是噪音
- 3 sigma 的变化可能指向一个根本原因(因此是对趋势的预期)
- 5 sigma 的变化几乎肯定指向一个趋势
费率非常低的区域(如Dubbo)仍然会波动,但不会淹没显示。
关于algorithm - 在计算趋势时,您如何考虑低样本量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470074/