【问题标题】:detecting seasonality in R for daily data检测 R 中日常数据的季节性
【发布时间】:2020-05-12 22:46:57
【问题描述】:

我有一个简单的 tibble TIB 包含一个日期和现象的度量(比如说,在那个日期收到的网站流量):

     dmy          traffic
 1 2019-01-29   0.6
 2 2019-01-30   0.7
 3 2019-01-31   0.7
 4 2019-02-01   0.8
 5 2019-02-02   0.8
 6 2019-02-03   0.8
 7 2019-02-04   0.7
 8 2019-02-05   0.7
...

这包括总共 400 多个观察结果(大约 1.5 年的数据)。

我把它转换成时间序列对象:

TSTIB<-ts(as.data.frame(TIB))

我现在想知道这组数据中是否存在周期性/季节性。我如何在 R 中做到这一点?具体来说,我试图弄清楚每 X 次是否会出现流量峰值或下降,以及 X 的值。

我尝试了findfrequency(TSTIB),它给了我 1,但我不确定如何解释它,或者这是否正确。

我也跑了spectrum(TSTIB),由于某种原因它给了我这个消息:

在 xy.coords(x, y, xlabel, ylabel, log = log, recycle = TRUE) : 240 y 值

即使我在数据集中没有任何 0 值。

【问题讨论】:

    标签: r time-series


    【解决方案1】:

    您可以使用分解。当你绘制它时,你可以很好地看到观察到的时间序列、趋势、季节性分量和随机性。您可以使用 $seasonal 访问季节性数据。

    TSTIB.decomp <- decompose(TSTIB)
    plot(TSTIB.decomp)
    TSTIB.decomp$seasonal
    

    【讨论】:

    • 我试过 - 我收到错误消息“分解错误(TSTIB):时间序列没有或少于 2 个周期。
    • 我在 ts() 函数中添加了 frequency=7,这似乎解决了问题 - 至少我正在分解
    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2014-07-03
    • 2020-06-27
    • 2021-11-02
    相关资源
    最近更新 更多