Я использую функцию lmrob
в R, используя библиотеку robustbase
для надежной регрессии. Я бы использовал это как rob_reg<-lmrob(y~0+.,dat,method="MM",control=a1)
. Когда я хочу вернуть сводку, я использую summary(rob_reg)
, и одна вещь, которую выполняет надежная регрессия, - это выявление выбросов в данных. Определенная часть итоговых результатов дает мне следующее:
6508 observations c(49,55,58,77,104,105,106,107,128,134,147,153,...)
are outliers with |weight| <= 1.4e-06 ( < 1.6e-06);
в котором перечислены все выбросы, в данном случае 6508 (я удалил большинство и заменил их на ...). Мне нужно как-то получить эти выбросы и удалить их из моих данных. Раньше я использовал summary(rob_reg)$rweights
, чтобы получить все веса для наблюдений и удалить те наблюдения с весом меньше, чем, скажем, определенное значение в примере выше, значение будет 1.6e-06
. Я хотел бы знать, есть ли способ получить список только выбросов без предварительного получения весов всех наблюдений?
summary()
, на самом деле находится вsummarizeRobWeights()
и делает то же самое, что и вы. Он извлекает весовые коэффициенты и возвращает те, гдеabs(weight) < eps
. он только кажется возвращает сводную таблицу, а не сами значения. - person MrFlick   schedule 28.06.2014lm
. С выбросами термины ошибки обычно не распределяются, и мне нужно показать без выбросов, что термины ошибки обычно распределяются. 6508 - это лишь небольшая часть моих наблюдений, так как всего у меня около 350 00 наблюдений. - person Jason Samuels   schedule 28.06.2014