我附带了简单的数据系列。我清楚地看到一个异常值(Qty = 6),该异常值经过tsclean处理后应该得到纠正。有人可以帮忙吗? 数据是
c(6, 187, 323, 256, 289, 387, 335, 320, 362, 359, 426, 481,
356, 408, 497, 263, 330, 521, 406, 350, 478, 320, 339)
代码是
library(forecast)
data1 <- read_csv("sample.csv", col_names = FALSE)
count_qty <-ts(data1, frequency = 12)
data1$clean_qty = tsclean(count_qty)
数据返回
X1 clean_qty[,"X1"]
<dbl> <dbl>
1 6 6
2 187 187
3 323 323
4 256 256
5 289 289
6 387 387
7 335 335
8 320 320
9 362 362
10 359 359
# ... with 13 more rows
第一个项目应该更改! 请帮助
答案 0 :(得分:1)
您可以使用boxplot
删除异常值:
vec1[! vec1 %in% boxplot(vec1, plot = F)$out]
# [1] 323 256 289 387 335 320 362 359 426 481 356 408 497 263 330 521 406 350 478 320 339
请注意,187
也是一个异常值。如您所说,6
是显而易见的;