tsclean 不适用于单个矢量数据

tsclean not working on single vector data

我附上了一个简单的数据集。我看到一个明显的异常值,(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)

和数据returns

 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

应删除第一项。

您可以使用 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 是显而易见的;