【问题标题】:How do I eliminate outliers in pricing data?如何消除定价数据中的异常值?
【发布时间】:2017-08-28 14:41:57
【问题描述】:

我目前正在开发一款集换式卡牌游戏 (TCG) 定价应用程序。它的工作是收集来自不同供应商的数据,并使用这些数据来确定任何给定卡的市场价格。为了举例,让我们考虑一张理论牌 X。

X 具有多种值,具体取决于销售它的供应商。以下是其值的数组:

[1.00, 1.10, 1.05, 0.95, 2.00, 0.10]

这些值是指其美元 ($) 值。

根据我作为该市场客户的经验,我假设定价数据是正态分布。定价数据倾向于一个价格,许多不同的供应商将他们的卡定价接近所述价格(以保持竞争力),偶尔会出现异常值。

在这些假设下,我将如何消除上述数据集中的异常值?乍一看,2.00 美元和 0.10 美元似乎是异常值。但价格在市场上波动。卡牌价值飙升和反坦克的情况并不少见。

我研究了一些方法,例如使用平均值的标准偏差阈值(例如,如果价格与平均值的标准偏差 >2,则认为它是异常值)或使用中值绝对偏差,但我不确定哪种算法在我正在研究的上下文中是否有意义。

【问题讨论】:

    标签: algorithm statistics outliers


    【解决方案1】:

    您不想根据样本均值和标准差来寻找异常值,因为它们都对异常值非常敏感。最好使用基于百分位的方法。第 p 个百分位数是一个值,使得数据的 p% 和 (100-p)% 分别为 ≤ 和 ≥ 该值。第 25th 和 75th 百分位数,通常分别表示为 Q1 和 Q3,也称为第一和第三四分位数。它们 Q3-Q1 的差异称为四分位间距 (IQR)。

    一个普遍接受的异常值统计定义是它们是超出范围 [Q1 - 1.5*IQR, Q3 + 1.5*IQR] 的观察值。请参阅statisticshowto.comWikipedia quartile article 了解更多信息。

    一个复杂的问题是对于如何确定 Q1 和 Q3 存在不同的意见。一些人认为这应该是实际观察结果之一,而另一些人则进行插值。如果您使用Statistics How To's IQR calculator,您的数据的两个极端都是异常值。在使用插值的JMP 中,两个极端都不是异常值。这主要是稀疏数据的问题。随着数据的增多,两种方法之间的差异就会消失。

    基于百分比的解决方案的一个真正好处是它不依赖于分布假设。无论您对正态性的假设是否正确,这种方法都非常有效。

    【讨论】:

      【解决方案2】:

      如果您要使用偏差方法,请务必使用中值/中值绝对偏差而不是均值/标准偏差,因为该方法对异常值的准确程度要低得多。您应该在特定应用程序的上下文中试验乘数(例如,离群值比 MAD 大三倍)。

      【讨论】:

        【解决方案3】:

        鉴于您对“价格波动”的评论,您选择的算法应包括一些密度估计。因此,整体中位数和分位数的任何度量都不应该是异常值条目的最后一句话。应该将它们与邻居进行比较。

        这是Kernel Density 估算器的一些信息

        https://www.r-bloggers.com/a-kernel-density-approach-to-outlier-detection/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-07-02
          • 2020-12-10
          • 1970-01-01
          • 2017-10-26
          • 2011-06-14
          • 1970-01-01
          • 2016-01-11
          相关资源
          最近更新 更多