尝试使用R编程中的UCI存储库数据集预测接下来的24小时温度

时间:2017-06-19 16:43:53

标签: r time-series forecasting

您好我从UCI存储库http://archive.ics.uci.edu/ml/datasets/Air+Quality

访问了数据集

我正在尝试预测未来24小时的温度。下面是我编写的代码

按NA

填充缺失值
library(plyr)
AirQualityUCI[AirQualityUCI==-200.0]<-NA

通过每列

替换NA
for(i in 1:ncol(AirQualityUCI)){
 AirQualityUCI[is.na(AirQualityUCI[,i]),i] <- mean(AirQualityUCI[,i], na.rm = TRUE)
}

绘制时间序列

plot(AirQualityUCI$T, type = "l")

如何设置以小时为单位的频率并预测接下来24小时的温度?

Tempts <- ts(AirQualityUCI)
Temprforecasts <- HoltWinters(Tempts, beta=FALSE, gamma=FALSE)
library(forecast)
accuracy(Temprforecasts,24)

获得以下错误

Error in attr(x, "tsp") <- value : 
  invalid time series parameters specified

1 个答案:

答案 0 :(得分:1)

library(readxl)
AirQualityUCI <- read_excel("AirQualityUCI.xlsx") 

library(plyr)
AirQualityUCI[AirQualityUCI==-200.0]<-NA

#First, limit to the one column you are interested in (make sure data is sorted by time variable before doing this)
library(data.table)
temp <- setDT(AirQualityUCI)[,c("T")]

#Replace NA with mean
temp$T <- ifelse(is.na(temp$T), mean(temp$T, na.rm=TRUE), temp$T)

#Create time series object...in this case freq = 365 * 24 (hours in year)
Tempts <- ts(temp, frequency = 365*24)

#Model
Temprforecasts <- HoltWinters(Tempts, beta = FALSE, gamma = FALSE)

#Generate next 24 hours forecast
library(forecast)
output.forecast <- forecast.HoltWinters(Temprforecasts, h = 24)