English · PDF 419
通过使用一个对异常值影响具有稳健性的模型来缓解这个问题:MASS::rlm()。这大大降低了异常值对我们估计的影响,并给出了一个能很好地消除星期几模式的模型:
mod3 <- MASS::rlm(n ~ wday * term, data = daily)
daily %>% add_residuals(mod3, "resid") %>% ggplot(aes(date, resid)) + geom_hline(yintercept = 0, size = 2, color = "white") + geom_line()

现在更容易看出长期趋势以及正负异常值了。
如果你在尝试许多模型和许多可视化,最好将变量的创建打包成一个函数,这样就不会有机会在不同地方意外地应用不同的变换。例如,我们可以这样写:
compute_vars <- function(data) { data %>% mutate( term = term(date), wday = wday(date, label = TRUE) ) }