我想自动离群值在时间序列检测和我使用的罗布海德门提出的解决方案的修改在这里。
假设我衡量来自各个国家/地区的网站的每日访问量。对于某些日访问量只有几百或几千的国家,我的方法似乎工作合理。
但是,在一个国家每天只进行1或2次访问的情况下,该算法的范围非常狭窄(例如1±0.001),因此这2次访问被认为是异常值。我如何自动检测此类情况,以及如何处理它们以识别异常值?我不想设置一个手动的阈值,例如每天100次访问。
谢谢!
我想自动离群值在时间序列检测和我使用的罗布海德门提出的解决方案的修改在这里。
假设我衡量来自各个国家/地区的网站的每日访问量。对于某些日访问量只有几百或几千的国家,我的方法似乎工作合理。
但是,在一个国家每天只进行1或2次访问的情况下,该算法的范围非常狭窄(例如1±0.001),因此这2次访问被认为是异常值。我如何自动检测此类情况,以及如何处理它们以识别异常值?我不想设置一个手动的阈值,例如每天100次访问。
谢谢!
Answers:
对于少量离散的计数,不要期望太大。从1到2造访是100%的增长,从0到1造访是无限的增长。在低级别,您可能正在处理零膨胀模型,并且那里的噪声也很大。
以我的经验,对这样的数据进行大小计数混合会导致两个小问题:1)它们过于粗糙而无法处理大量数据; 2)它们是由不同的过程生成的。(想想农村的小型邮局与大城市的邮局)。因此,您至少需要将建模分为两部分:针对较大的数量执行成功的工作,并针对较小的数量执行不同的操作(更粗略,更近似)。但是不要指望太多。
好消息是,根据定义,大笔交易会包括您的更多交易,因此,即使您的模型无法涵盖您的大多数网站,您的更好模型也可以涵盖更多数据。
(我说“建模”是通用的,但是当然,离群值检测是在假设一个特定的模型,并且发现该模型的假设极不可能出现的点。)
以特定的置信度检测离群值是一回事,而放置第二个规范会进一步限制离群值的接受是另一回事。曾经有人问我以下问题:“ AUTOBOX能否以预先设定的置信度检测到xx个单位的平均移位”。本质上要求的是双重测试。AUTOBOX是我帮助开发的一款软件,您可能会发现它具有成本效益,因为没有免费软件实现了此双重测试。
谢谢尼克:我将级别转换用作“异常值”的一个特定示例,或者一般来说是根据经验确定的确定性影响。其他形式的“异常值”是脉冲,季节性脉冲和本地时间趋势,以及特定的组合,例如瞬时变化到新的水平。要点是,可能有两个假设在起作用,它们反映了统计意义和现实意义。最初引起我注意此问题的客户对这两者都感兴趣。