【问题标题】:Outliers identification using tso function: run-time & error使用 tso 函数识别异常值:运行时和错误
【发布时间】:2020-02-20 20:07:41
【问题描述】:

我使用大约 2500 个观察值来预测每日(对数转换)销售额。我测试的是静止的。我使用tso 函数进行异常值识别,其中包含回归变量,例如 DayOfWeekMonthYearDayOfMonthWeekOfMonth WeekOfYear公共假期。但是,对于某些数据集,我收到以下消息:

Error in arima(y, order = fit$arma[c(1, 6, 2)], seasonal = list(order = fit$arma[c(3, : non-stationary seasonal AR part from CSS

或:

Error in arima(x = c(3.29950729870049, 3.63367040605144, 59.6705024612701, : non-stationary seasonal AR part from CSS

我在ars.methodtsmethod 中尝试了几个选项,但没有任何效果。我还希望将条件平方和 (CSS) 更改为最大似然 (method="ML"),但我找不到 tso 函数的此类选项。非常感谢您对如何解决问题的反馈。


我通过在tsmethod 中添加先前arima 中的 (p,d,q)(P,D,Q) 参数来修复它,如下所示:

fit <- tso(df.ts,types=c("AO","LS","TC","IO",'SLS'), 
              xreg=cbind(r1.matrix,r2.matrix,r3.matrix,r4.matrix),
            discard.method="bottom-up", tsmethod="arima", 
            args.tsmethod=list(order=c(0,1,1),seasonal=list(order=c(0,0,2), period=7)))

然而,对于某些数据集,只需使用 tsmethod="auto.arima"。我很欣赏有关此事的一些反馈。此外,我非常感谢一些反馈,说明为什么使用 tso 函数(在最佳情况下)运行代码需要大约一小时,或者只是它永远不会结束运行。我在具有以下特性的虚拟工作站中运行代码:Intel(R)Xeon CPU @ 2.3 GHz,32.0 GB RAM 和 SSD 500 GB。

【问题讨论】:

  • 我不知道在这种情况下“TSO”指的是什么。它似乎不太适合标签的用途 - 分时选项。

标签: r outliers


【解决方案1】:

我在错误消息和运行时遇到了同样的问题。

异常值

我的解决方案不是同时运行所有类型的异常值。例如: outliers_ao_ls

outliers_tc

我希望它有所帮助。通过单独运行测试,它运行良好。这不是你的问题的理由,但我也没有找到任何关于如何将估计方法更改为“ML”的解释。

【讨论】:

    猜你喜欢
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2017-05-27
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多