【问题标题】:Multivariate robust outlier detection using R使用 R 进行多变量鲁棒异常值检测
【发布时间】:2012-01-12 14:28:14
【问题描述】:

在 R 中以自动方式(即无需手动检查和绘图)执行多元稳健异常值检测的首选方式是什么(在您看来)?

我找到了“dprep”包,但它似乎已停产。但是,由于异常值检测是一项频繁且重要的任务,因此应该可以使用通用的默认方法,例如MCD 估计器(Rousseeuw 和 Van Driesen,1999)。

【问题讨论】:

  • "what's the preferred way" 仍然证明 SO 问题是合理的,但library("sos"); findFn("mcd estimator outlier") 会找到一堆选项,包括@Dieter Menne 提到的covMcd 函数
  • 这似乎更适合 stats.stackexchange 网站,IMO。

标签: r distribution


【解决方案1】:

尝试使用robustbase 包中的covMcd。

【讨论】:

    【解决方案2】:

    使用库克的距离 你可以使用厨师的距离。库克距离是基于线性回归模型计算的。这意味着,您将能够包含多个 X 变量来计算异常值(更准确地说是高影响观察)。这有效地使您可以灵活地添加或删除要确定异常值的变量。为 R 中的每个观察计算它的方法如下所示:

    mod <- lm(Y ~ X1 + X2 + X3, data=inputData)
    cooksd <- cooks.distance(mod)
    

    一般来说,厨师距离 > 4*mean(厨师距离) 的观察值被视为异常值。有关formula and interpretation of cook's distance 的更多信息,请参阅this example

    免责声明:我是作者。

    【讨论】:

      猜你喜欢
      • 2017-05-18
      • 2013-02-24
      • 1970-01-01
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 2021-08-25
      相关资源
      最近更新 更多