这次我不会像以前在我的一个问题中那样直接询问如何检测异常值。我确实阅读了一些与该主题相关的帖子,但没有得到我需要的东西。我有一组值,如下所示:
y<-c(0.59, 0.61, 0.59, 1.55, 1.33, 3.50, 1.00, 1.22, 2.50, 3.00, 3.79, 3.98, 4.33, 4.45, 4.59, 4.72, 4.82, 4.90, 4.96, 7.92, 5.01, 5.01, 4.94, 5.05, 5.04, 5.03, 5.06, 5.10, 5.04, 5.06, 7.77, 5.07, 5.08, 5.08, 5.12, 5.12, 5.08, 5.17, 5.18)
现在,正如大多数研究人员所说,异常值检测过程不仅取决于数据,还取决于上下文。我使用了 R 中的几个包,例如异常值(grubbs 测试)、极值、mvoutlier(pcout 方法),但找不到使用它们的最佳方法。在这种情况下(取决于我的要求),7.77(obs no 31)、7.92(obs on 20)和 3.50(obs no 6)是异常值。使用异常值包的 grubbs 测试,我可以将 7.77 和 7.92 检测为异常值,但不能检测到 3.50。我不知道我是否可以在此处发布我的数据图,但在查看图上数据的趋势或分布后,观察号 6 将是明显的异常值。
我正在尝试为这些数据拟合一个非线性模型,但是由于这些异常值,我找不到最佳拟合(最佳拟合不是唯一的要求),无论如何我需要检测这些异常值,因为我将拟合一个单独的对这些异常值进行建模。
我的问题很简单。是否有可能我可以使用一些标准包检测这 3 个异常值,或者如何使用我的非线性生成模型来帮助检测这些异常值?
最好的祝福
沙赫扎德