这次我不会问如何检测异常值的直接问题,就像我之前在其中一个问题中所做的那样。我确实读过一些与这个主题相关的帖子,但没有得到我所需要的。我有一组值被如下:单变量异常值检测
现在大多数研究人员说,异常检测过程不仅依赖于数据,还上下文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测试),extremevalues,mvoutlier(pcout方法),但无法找到使用它们的最佳方式。在这种情况下(取决于我的要求),7.77(观察31),7.92(观察20)和3.50(观察6)是异常值。使用outliers包的grubbs测试,我可以将7.77和7.92检测为异常值,但不是3.50。我不知道我是否可以在这里张贴我的数据图,但是在查看了图上的数据趋势或分布后,观察No 6将作为异常值显而易见。
我想将非线性模型拟合到这个数据中,但由于这些异常值,我无法找到最佳拟合(最佳拟合不是唯一的要求),而且我需要检测这些异常值,因为我会在这些异常值上拟合单独的模型。
我的问题很简单。是否有可能我可以通过一些标准包检测这3个异常值,或者如何使用非线性生成的模型来帮助检测这些异常值?
问候
沙赫扎德
您是否考虑在MASS包中使用rlm来进行强健的线性回归? – tcash21
@ tcash21是的,我用它和它的线性回归。我也有nlrob(稳健的非线性回归),但是找不到用生成的模型检测异常值的方法。 – Shahzad