【问题标题】:Read daily data in R在 R 中读取每日数据
【发布时间】:2016-03-27 12:16:36
【问题描述】:

我正在尝试根据 2010 年 1 月 1 日至 2011 年 12 月 31 日每天的历史数据来预测每天的用电量,即我总共有 365*2 = 730 个过去的数据点。我正在使用ts 读取数据。我将其定义如下:

ts(consumption, start=1, frequency=365)

这是正确的吗?我主要怀疑“频率”:应该是365吗?或者我应该使用

ts(consumption, start=1,frequency=1)

对于另一种方法,如果我想每周合并数据(通过总结每 7 次观察)然后想运行预测模型,我应该如何使用 ts 读取数据? frequency 的值应该是多少?

【问题讨论】:

  • 你能展示你的样本数据吗?
  • The data looks like: 1.763 0.463 1.113 0.475 0.688 1.238 1.263 0.375 0.65 1.538 0.263 0.525 0.85 1.838 1.225 0.663 1.075 0.963 0.375 0.538 0.913 0.55 1.325 1.138 1.1 0.575 1.575 0.388 1.025 0.55 0.238 0.575 0.525 0.338 0.413 0.463 0.263 1.113 0.7 0.575 ......等等。

标签: r time-series


【解决方案1】:

对于具有年度季节性模式的每日数据,请使用frequency=365。但是如果你想模拟每周模式,你需要frequency=7。如果您将每 7 个观察值相加以形成每周数据,那么您需要 frequency=52

当然,真正的季节性周期不是整数,但大多数使用ts 对象的函数都假定频率是整数。您可以使用forecast 包中的msts 函数更一般地处理这些数据。然后,您可以使用

为每日数据指定每周和每年的季节性
daily <- msts(consumption, seasonal.periods=c(7,365.25))

每周数据的年度季节性使用

weekly <- msts(wconsumption, seasonal=365.25/7)

其中wconsumption 包含来自每个块的 7 个连续观测值的总和。

可以使用tbats函数获得预测:

fit <- tbats(daily)
fc <- forecast(tbats)

【讨论】:

  • 非常感谢您的澄清。现在事情对我来说更清楚了,我明天肯定会尝试运行代码。只有一件事:为什么将季节性周期设为 365.25?
  • 老实说,我无法理解 7 和 365.25 的含义是seasonal.periods=c(7,365.25)。 “seasonal.periods”的 R msts 定义是 msts 的季节性周期的向量。答案没有解释清楚。
  • 一周有7天。一年平均有 365.25 天。
猜你喜欢
  • 2020-06-13
  • 1970-01-01
  • 2021-06-19
  • 2012-01-16
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多