Converting zoo to ts before forecasting

梦想与她 提交于 2020-01-01 05:23:08

问题


I am struggling to convert a zoo objects to a ts object.

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

I want to make some predictions (mostly ARIMA) and thought the forecastpackage 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

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

But then I realized that forecasting only seems to work with ts objects. (Is that true?)

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

How do I convert this zoo object back to a ts object I can use for forecasting? Thanks!


回答1:


The forecast package only works with ts objects as you suspected.

You can use test.ts with the forecast package. For example

plot(forecast(test.ts[,1]))



回答2:


I had the same problem and solved it by using zooreg function. step1: use zooreg to transform zoo object to non-zoo but ts alike objet step2: use ts function to transform further to ts object



来源:https://stackoverflow.com/questions/18856822/converting-zoo-to-ts-before-forecasting

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!