Rob*_*ove 1 algorithm statistics outliers
我目前正在开发交易卡游戏 (TCG) 定价应用程序。它的工作是从不同供应商那里收集数据,并使用这些数据来确定任何给定卡的市场价格。为了举例,让我们考虑一张理论牌 X。
X 具有多种值,具体取决于销售它的供应商。这是其值的数组:
[1.00, 1.10, 1.05, 0.95, 2.00, 0.10]
这些值是指其美元 ($) 值。
根据我作为该市场客户的经验,我假设定价数据是正态分布的。定价数据往往倾向于一个价格,许多不同的供应商将他们的卡定价接近所述价格(以保持竞争力),偶尔会有异常值。
在这些假设下,我将如何消除上述数据集中的异常值?乍一看,2.00 美元和 0.10 美元似乎是异常值。但是市场上的价格是波动的。一张卡的价值飙升并反过来坦克的情况并不少见。
我研究了一些方法,例如使用与平均值的标准偏差阈值(例如,如果价格与平均值的标准偏差 >2,则将其视为异常值)或使用中值绝对偏差,但我不确定是什么算法甚至在我正在做的事情的背景下也是有道理的。
您不想根据样本均值和标准差寻找异常值,因为它们都对异常值非常敏感。最好使用基于百分位数的方法。第 p 个百分位数是一个值,使得数据的 p% 和 (100-p)% 分别≤ 和 ≥ 该值。第 25个和第75个百分位数,通常分别表示为 Q1 和 Q3,也称为第一和第三四分位数。它们的差异 Q3-Q1 称为四分位距 (IQR)。
异常值的一个普遍接受的统计定义是它们是超出范围 [Q1 - 1.5*IQR, Q3 + 1.5*IQR] 的观察值。有关更多信息,请参阅statisticsshowto.com或维基百科四分位数文章。
一个复杂因素是关于如何确定 Q1 和 Q3 存在不同意见。有些人认为这应该是实际观察结果之一,而另一些人则进行插值。如果您使用Statistics How To 的 IQR 计算器,您的数据的两个极端都是异常值。在使用插值的JMP 中,两个极端都不是异常值。这主要是稀疏数据的问题。有了更多的数据,两种方法之间的差异就会消失。
基于百分位数的解决方案的一个真正好处是它不依赖于分布假设。无论您对正态性的假设是否正确,这种方法都能有效地发挥作用。