代码之家  ›  专栏  ›  技术社区  ›  Skullgreymon

计算异常值时出错

  •  0
  • Skullgreymon  · 技术社区  · 7 年前

    我试图用R中的马氏距离计算多元异常值,但当我试图绘制结果时,我得到了一条警告信息。

    如图所示,

    # install.packages(c("mlbench"), dependencies = TRUE)
    library(mlbench)
    data(Glass)
    
    mydata.numeric.scaled<-scale(Glass[,-10],center=T)
    # install.packages(c("mvoutlier"), dependencies = TRUE)
    library(mvoutlier)
    alpha.value = 0.05
    alpha.value.penalizado = 1 - ( 1 - alpha.value) ^ (1/nrow(mydata.numeric.scaled)) 
    uni.plot(mydata.numeric.scaled,symb=FALSE, alpha = alpha.value.penalizado)
    

    但是,我得到的不是绘图,而是以下错误/警告:

    绘图错误。窗口(…):'ylim’需要有限值

    此外:警告消息: 在covMcd(x,alpha=quan)中: 变量8的绝对偏差的112阶统计量为零。 共有176个观测值(在214个OB的整个数据集中)躺在 方程a\u 1*(x\u i1-m\u 1)+的超平面…+a\u p*(x\u ip-m\u p)=0,其中(m\u 1, ..., m\u p)这些观测值的平均值和向量a的系数a\u i <-c(0,0,0,0,0,0,0,0,0,1,0)

    这是什么意思?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Skullgreymon    7 年前

    错误在于用于计算covMcd的数据量。这可以通过将整个数据集设置quan=1来解决。默认情况下,quan=1/2获取数据集的半部分。