问题标签 [stl-decomposition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 用于异常检测的具有缺失值的时间序列的 STL 分解
我正在尝试检测气候数据时间序列中的异常值,其中一些缺失的观测值。在网上搜索我发现了许多可用的方法。其中,stl 分解似乎很有吸引力,因为它去除了趋势和季节性成分并研究了其余部分。阅读STL: A Seasonal-Trend Decomposition Procedure Based on Loess, stl 在确定分配可变性的设置方面似乎很灵活,不受异常值的影响,尽管有缺失值也可以应用。但是,尝试在 R 中应用它,经过四年的观察并根据http://stat.ethz.ch/R-manual/R-patched/library/stats/html/stl.html定义所有参数,我遇到错误:
时间序列包含内部 NA
当na.action = na.omit
, 和
系列不是周期性的或少于两个周期
当na.action = na.exclude
.
我已经仔细检查了频率是否正确定义。我在博客中看到了相关问题,但没有找到任何可以解决此问题的建议。是否可以在缺少值的系列中应用 stl?我非常不愿意插入它们,因为我不想引入(并因此检测......)伪影。出于同样的原因,我不知道改用 ARIMA 方法有多可取(如果缺失值仍然是一个问题)。
如果您知道在缺失值的系列中应用 stl 的方法,或者您认为我的选择在方法上不合理,或者您有更好的建议,请分享。我是该领域的新手,并且被大量(看似......)相关信息所淹没。
r - 使用 R 的时间序列分解
我正在使用R
withforecast package
来构建一些时间序列模型。现在,我正在使用该tbats
函数处理多季节性数据。
当绘制拟合模型时,我得到一个带有时间序列分量的图。我的问题是,该组件到底是什么slope
意思?(我在文档中找不到它)。
代码:
谢谢!
python - 对非均匀间隔时间序列进行季节性分解,R 或 Python 中是否有任何完善的算法?
R 中的 stats 包具有 stl(),但它需要由 ts() 创建的均匀间隔的时间序列。它不能处理动物园对象。
奇怪的是,它也不能处理缺失值,尽管 STL 方法声称能够用 LOESS 填充缺失值。(见简历上的这个问题。)
因此,例如,如果您有工作日数据,则不能通过将 NA 放在周末并调用 stl() 来使其成为日历日。
我还看到 Python statsmodel 的作者试图迁移 stl() 以使用 Pandas TimeSeries,但它似乎还没有。
谢谢
编辑:补充一点,我知道我可以做一个非常简单的模型,比如拟合谐波,但我想要一个完善的模型,至少可以提供基准。我有分月数据,所以 X12 不适用。
r - 在 R 中使用 dshw() 的非嵌套双季节性
我正在尝试使用 dshw() 来处理双重季节性——在我的情况下,每日数据具有一周(7 天)和一年(365 天)的季节性。但是,当我运行代码时出现以下错误:
您认为解决此问题的最佳做法是什么?我应该在我的数据上使用两次 stl 吗(对于 7 天和 365 天的频率)?或者以某种方式修改数据?
谢谢!
r - R中的多元分解?
我希望分解具有严重季节性成分的每日销售数据(使 365 天的季节性对于 ARIMA 过程来说太长了)。但是,时间序列的某些部分由其他因素解释,包括影响数据的常规营销事件。我想以stl
类似于在 ARIMA 中包含外生变量的方式使用 R 的函数,但我没有看到任何地方可以将外生变量放入其中。相反,我在单独的回归中将外生变量应用于“剩余”部分,但担心stl
由于上述常规营销事件,所获取的季节性会出现错误。
有关如何解决此问题的任何建议?
r - 如何修复我的 VAR 模型预测?
我正在使用具有外生变量的向量自回归模型对具有季节性的每日订单进行建模。我使用了具有适合模型的功能的“vars”包。我在没有使用外生变量的情况下得到了预测,但我必须包括它们。当我将它们包括在内时,我的预测是 NAs。我不明白为什么会这样。我的外生变量矩阵包括营销信息和大量的零和一。它是一个 1218 x 123 大小的矩阵。我的内生变量是一个 1218 x 4 大小的矩阵。R代码如下。我真的需要关于如何用我的预测来解决这个问题的帮助。
(x2 是相同外生变量的 254 x 123 缩小尺寸矩阵。n.ahead 必须等于 x2 中的观察数)
r - ts 对象中的双季节循环
我想从 ts 中去掉季节性。这个特定的 ts 是每天的,并且有每年和每周的季节性周期(频率 365 和 7)。
为了消除两者,我尝试在频率设置为 365 的 ts 上执行 stl(),然后提取趋势和余数,并将新 ts 的频率设置为 7,然后重复。
这似乎效果不太好,我想知道这是我的方法,还是 ts 固有的东西导致了我的问题。任何人都可以批评我的方法,并可能推荐一种替代方法吗?
r - R中的时间序列对象有很多问题
我在处理一些预算数据的任何时间序列对象时遇到了非常困难的时间。
原始数据是约 1800 份合约的 14,460 行付款,其中每一行都有 DD/MM/YYYY 和 Amount 特征。从 2000 年 1 月 1 日到 2014 年 12 月 31 日共有 5296 天,但其中只有 3133 天实际付款。因此,这些日子的间隔不规则,在某些日子出现不止一份合同付款,而在其他日子出现零付款。
我遇到的主要问题是这些时间序列对象在接收不定期发生的每日数据时表现出的残酷固执。我什至将付款合并到一个连续的日期向量中,但仍然遇到同样的问题,即频率、周期或 order.by。
我熟悉的大多数预测包(以及迄今为止我发现的关于 SO 提出的任何问题),如 fpp、预测、timeSeries、tseries、xts 等,都需要更有序的日期功能order.by
或一些其他类似的担忧。
我担心的是 R 包的适当性,而不是统计方法。例如,我尝试了几种不同的方法来构建预测包所需的时间序列对象,包括 XTS、TS,它们都存在频率、周期性或要求排序的问题。 .
更新:
我用
没有问题,并且可以plot.xts()
编辑该对象,但是当我尝试时
是说
r - R中用于趋势和季节性分量的STL黄土窗口
在 R 中使用该stl
函数时,我知道使用 loess 是为了“平滑”季节性子系列以找到季节性成分。用于执行此操作的窗口由s.window
命令给出。
我相信 loess 使用对称窗口,即如果我指定s.window=24
它代表一天的每小时数据的位置,它会使用相关点之前和之后的点来拆分它。据我所知,代码的黄土部分取自 Fortran,我不知道如何修改它,以便它只使用我们感兴趣的点之前的点。即它使用过去的数据而不是未来。
但是,我对此特别感兴趣,特别是计算趋势和余数。函数中的默认值stl
是t.window=NULL
使用函数nextodd(ceiling((1.5*period) / (1-(1.5/s.window))))
来确定窗口。我假设这也使用了一个对称窗口,并想知道是否有人可以建议如何改变它,以便它只使用过去的数据来确定趋势、季节性和剩余曲线。