首页 > 解决方案 > 在不使用 stl 或分解的情况下提取季节性效应

问题描述

我有一个名为“bicoal”的数据,其中包含 1920 年至 1968 年美国每年的烟煤产量。

`Time Series:
Start = 1920 

End = 1968 

Frequency = 1 
 
[1] 569 416 422 565 484 520 573 518 501 505 468 382 310 334 359 372 439 446 349 395
[21] 461 511 583 590 620 578 534 631 600 438 516 534 467 457 392 467 500 493 410 412
[41] 416 403 422 459 467 512 534 552 545`

我做了一个时间序列,保存在 name 下time_series,想用代码plot(decompose(time_series))and提取季节性效果plot(stl(time_series)),但收到错误消息

Error in stl(time_series) : 
  series is not periodic or has less than two periods
Error in decompose(time_series) : 
  time series has no or less than 2 periods

如果 stl 和 decompose 都不起作用,有没有办法提取季节性影响?

标签: rstl

解决方案


在没有看到您的时间序列是如何构建的情况下,我认为这可能是您的问题。

data <- rep(seq(1,5),5)
ts.1 <- ts(data)
stl(ts.1)

在此处输入图像描述

现在要解决此问题,该ts函数具有定义数据周期的频率参数。

ts.2 <- ts(data, frequency = 5)

stl(ts.2, s.window = "periodic")

在此处输入图像描述


推荐阅读