在预测之前将 zoo 转换为 ts [英] Converting zoo to ts before forecasting
问题描述
我正在努力将 zoo
对象转换为 ts
对象.
I am struggling to convert a zoo
objects to a ts
object.
我有一个包含季度小时数据的巨大 data.frame测试",如下所示:
I have a huge data.frame "test" with quarterly hour data, which looks like this:
date <- c("2010-07-04 09:45:00", "2010-07-04 10:00:00", "2010-07-04 10:15:00", "2010-07-04 10:30:00", "2010-07-04 10:45:00", "2010-07-04 11:00:00")
nrv <- c("-147.241", "-609.778", "-432.289", "-340.418", "-73.96" , "-533.108")
tt <- c("3510.7", "3608.5", "3835.7", "4003.7", "4018.8", "4411.9")
test <- data.frame(date,nrv,tt)
test
我想做一些预测(主要是 ARIMA
),并认为 forecast
包会是一个好主意.首先,我将数据格式化为远离字符.
I want to make some predictions (mostly ARIMA
) and thought the forecast
package would be a good idea for that.
First of I formated the data away from characters.
test$date <- strptime(test$date,format="%Y-%m-%d %H:%M")
test$nrv <- as.numeric(as.character(test$nrv))
test$tt <- as.numeric(as.character(test$tt))
str(test) #date is POSIXlt object
由于我需要进行插值和构建滞后,我还使用了 zoo
包,使用日期变量作为索引,效果很好.`zoo
包是在处理时间序列数据时推荐给我的.
Since I needed to do an interpolation and construct lags, I also used the zoo
package using the date variable as index, which worked great. The `zoo
package was recommended to me while dealing with time series data.
library(zoo)
test.zoo <- zoo(test[,2:3],test[,1])
test.zoo #date is now the Index and and the zoo objects works nicely
但后来我意识到预测似乎只适用于 ts
对象.(这是真的吗?)
But then I realized that forecasting only seems to work with ts
objects. (Is that true?)
当我尝试将 zoo
对象转换为 ts
对象时,我的时间索引消失了.我认为这可能是由于没有使用适当的频率.但是,对于这个数据集和一般 ts
对象的工作频率,我有些迷茫.
When I tried to convert the zoo
object to a ts
object, my time index disappeared. I think this might be due to not using a proper frequency. However I am somewhat lost as to what would be a working frequency for this dataset and with ts
objects in general.
test.ts <- as.ts(test.zoo)
test.ts
如何将此 zoo
对象转换回可用于预测的 ts
对象?谢谢!
How do I convert this zoo
object back to a ts
object I can use for forecasting?
Thanks!
推荐答案
预测包只适用于您怀疑的 ts
对象.
The forecast package only works with ts
objects as you suspected.
您可以将 test.ts
与预测包一起使用.例如
You can use test.ts
with the forecast package. For example
plot(forecast(test.ts[,1]))
这篇关于在预测之前将 zoo 转换为 ts的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!