我有一个时间序列数据集,其中包含 374 天的数据点(每天 1 个数据点)。 我很难理解 ts 函数中的频率参数,所以我把它留空:

ts_0615391206 <- ts(demand_rev_0615391206$estimated_demand,
                    start=as.Date(min(demand_rev_0615391206$date),format = "d%/m%/Y%"),
                    end=as.Date(max(demand_rev_0615391206$date),format = "d%/m%/Y%"),
                    #frequency = 1
                    ) 

plot.ts(ts_0615391206)在此处输入图片说明 但是,当我尝试使用以下方法分解时:

ts_0615391206_components <- decompose(ts_0615391206)

我收到错误:

Error in decompose(ts_0615391206) : 
  time series has no or less than 2 periods

我如何确定我的数据中有多少个周期,因此参数“频率”值应该是多少?

> dput(head(ts_0615391206))
c(2.71, 2.47, 3.86, 3.61, 5.78, 5.59)
> 
> str(ts_0615391206)
 Time-Series [1:194] from 16125 to 16318: 2.71 2.47 3.86 3.61 5.78 5.59 3.28 3.4 3.34 3.68 ...

#1楼 票数:0 已采纳

根据文档?ts

...当数据每天采样,自然时间段为一周时,频率值可以使用7;当数据每月采样,自然时间段为一年时,频率值可以使用 12。 在(例如)打印方法中假设值 4 和 12 分别表示季度和月度系列。

尝试设置frequency = 7

#2楼 票数:0

stats R 包中的decompose()函数将给定的时间序列分解为趋势、季节性组件和提醒部分。 季节性成分是一个严格的周期性时间序列,周期的长度等于时间序列的frequency 例如,如果您设置frequency = m ,则decompose()函数会构建分解,其中季节性分量将具有周期m 如果m是整数, m > 1,并且时间序列的长度大于或等于 2 m ,则decompose()函数起作用。 帮助页面?decompose指出时间序列应该“涵盖整数个完整周期”,以便函数正常运行。 所以如果系列长度是m 的倍数可能会更好。

您的数据中没有明确的周期性。 可能这个讨论对你有用,因为它包含 Rob Hyndman 的 R 脚本来揭示系列中的周期性。

#3楼 票数:0

如果您每天都有数据,那么频率为一年 365 天的 365 次,因为它包含一年的 365 个条目,如频率定义所述。

当您尝试使用以下方法分解时:

ts_0615391206_components <- decompose(ts_0615391206)

你收到错误:

Error in decompose(ts_0615391206) : 
time series has no or less than 2 periods

因为至少需要两个时间序列,即两年的数据来训练模型,否则会抛出错误

#4楼 票数:0

ts_06153912061 <- ts(ts_0615391206, start = c(1999,1), frequency = 365) for Daily

ts_06153912061 <- ts(ts_0615391206, start = c(1999,1), frequency = 52) for Weekly

ts_06153912061 <- ts(ts_0615391206, start = c(1999,1), frequency = 12) for Monthly

ts_06153912061 <- ts(ts_0615391206, start = c(1999,1), frequency = 4) for Quarterly

ts_06153912061 <- ts(ts_0615391206, start = c(1999,1), frequency = 1) for Yearly 或 Annually

  ask by Nirke translate from so

未解决问题?本站智能推荐:

1回复

ts()频率为30分钟频率观测的年度数据系列

我想从数据框中创建一个ts()对象来预测物理现象。 我的数据在1年(1-1-2018到12-31-2018)期间有30分钟的频率,我也观察到我的数据的季节性为1天。 > head(pleiadesGH.v2[,c("time", "humExt.R", "tempExt", "ra
1回复

NA时间序列的频率(R软件)

我想在 R 中使用时间序列,但我一开始就卡住了,因为我的频率有问题。 我有 30 年的月度数据(开始日期 = 1988,结束日期 = 2018),但有时会有漏洞:我有几个月或几年没有数据。 我不想为了填补漏洞而进行插值或调解,而只是使用 na.omit 省略空的月份/年份。 问题是我将有一些年份有
1回复

更改R中的频率时间序列

作为输入,我在每天的时间点都有一个已知的时间序列。 我们可以将此时间序列称为_x_ 。 对象_x_是一个时间序列,即由日期和测量值组成。 我想研究使每个月的时间序列保持不变的效果。 换句话说,我想有一个新的时间序列_y_ ,它仍然具有每日的频率,但是月份中的观测值保持恒定,等于月份中
1回复

了解时间序列对象R中的频率(频谱分析)

我试图找出我的数据中是否有六个月的季节性。 我想通过频谱分析来做到这一点,在这里我将研究特定频率下的频谱Ftest。 如果我基于频率为12的时间序列对象进行计算,我正在寻求帮助以了解光谱分析中的x轴含义(即频率的含义)。 这里生成一些数据。 我的数据在10年中每月都会收集一次:
2回复

差异化以降低频率

我有几个每月时间序列存储在一个文件中,我想使用 R 将它们与滞后 = 2 进行区分,以按季度获取它们,即 3 个月等于一个季度,我想区分第三个月和第一个月。 这将使我每季度观察一次而不是三次。 然而我写的 apply 函数并没有做我想要的。 我的数据: 我的功能: 我想得到什么: 数据
1回复

ggplot2创建时间频率

我很难根据数据创建ggplot2。 我需要创建一个图,如下所示: 如果您可以提供一些建议,那将对我的研究非常有帮助。 谢谢您的时间和精力。 数据集(df)的样本非常小,如下所示: 我使用了此脚本,但没有弄清楚创建频率部分: 我知道y轴的值不正确,但是找不到适合的
1回复

干燥和潮湿月份的发生频率rasterbrick R

我有一个光栅砖,它a由1950-2014年的每月时间序列组成的(请参阅下文)。 我要在a上完成的任务是在每个网格点进行计算: negative/positive number of dry/wet months per total months of dry/wet events*100
1回复

根据多年数据生成年度频率图

我有以下格式的每小时风速数据 从2002年到2012年的每三个小时记录一次数据点到三个小时内记录一次数据点开始,如下所示: 我正在尝试使用R创建年度频率图,以显示SPEED与小时数。我尝试使用直方图,但是点数不相等,并且当然不能完全代表小时数。 如何解决呢? 注意:不使用