gpt4 book ai didi

r - 使用ts()对象对每周数据进行R时间序列建模

转载 作者:行者123 更新时间:2023-12-03 10:04:05 25 4
gpt4 key购买 nike

我正在尝试基于R的时间序列建模和预测,如下所示:

biz week     Amount        Count
2006-12-27 973710.7 816570
2007-01-03 4503493.2 3223259
2007-01-10 2593355.9 1659136
2007-01-17 2897670.9 2127792
2007-01-24 3590427.5 2919482
2007-01-31 3761025.7 2981363
2007-02-07 3550213.1 2773988
2007-02-14 3978005.1 3219907
2007-02-21 4020536.0 3027837
2007-02-28 4038007.9 3191570
2007-03-07 3504142.2 2816720
2007-03-14 3427323.1 2703761
...
2014-02-26 99999999.9 1234567

关于我的数据:如上所示,每个星期都用一周的第一天来标记(我的星期在星期三开始,在星期二结束)。
当我构造 ts对象时,我尝试了
ts <- ts(df, frequency=52, start=c(2007,1))

我的问题是:

1)某年可能有53周,因此 frequency=52在这些年内将不起作用;

2)我的开始星期/日期是2006-12-27,如何设置开始参数?自2006年12月27日当周以来的 start=c(2006,52)start=c(2007,1)确实跨越了年份界限吗?另外,对于建模,是否拥有完整的年度数据更好(例如,如果我只有部分年度数据,那么将2007年作为起始年份),是否不使用2007年而是从2008年开始更好?那么2014年呢:由于还不是完整的一年,我是否应该使用已有的模型进行建模?无论哪种方式,我仍然对是否要在年份边界(例如2006-12-27)中包括那些星期都存在疑问。我应该在2007年还是2006年的最后一周将其作为 wk 1包含在内?

3)当我使用 ts <- ts(df, frequency=52, start=c(2007,1))并打印它时,我得到的结果如下所示,所以不是2007.01、2007.02、2007.52 ...,而是2007.000、2007.019,...,它是从 1/52=0.019获得的。从数学上讲这是正确的,但实际上并不容易解释。有没有办法像数据框或至少 2007 wk1, 2007 wk2...一样将其标记为日期本身

=========
Time Series:
Start = c(2007, 1)
End = c(2014, 11)
Frequency = 52
Amount Count
2007.000 645575.4 493717
2007.019 2185193.2 1659577
2007.038 1016711.8 860777
2007.058 1894056.4 1450101
2007.077 2317517.6 1757219
2007.096 2522955.8 1794512
2007.115 2266107.3 1723002

4)我的目标是为每周数据建模,然后尝试对其进行分解以查看季节性成分。似乎我必须使用 ts()函数转换为可以使用 ts函数的 decompose()对象sp。我尝试了 xts(),但出现了一个错误消息,指出 " time series has no or less than 2 periods"。我猜这是因为 xts()不允许我指定频率,对吧?
xts <- xts(df,order.by=businessWeekDate)

5)我也在这个论坛和其他地方寻找答案;大多数示例都是每月一次,尽管每周都有一些时间序列问题,但没有一个答案很简单。希望有人可以在这里回答我的问题。

最佳答案

使用非整数频率效果很好,并且与大多数模型(auto.arima,ets等)兼容。对于开始日期,我只在lubridate中使用便利功能。在处理可能具有不同开始日期和结束日期的多个时间序列时,此处的重要性是一致的。

library(lubridate)
ts(df$Amount,
freq=365.25/7,
start=decimal_date(ymd("2006-12-27")))

关于r - 使用ts()对象对每周数据进行R时间序列建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22188660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com