[R] Help required in Batch Forecasting

Manish Mukherjee m@ni@hmukherjee @ending from hotm@il@com
Sun May 27 15:10:34 CEST 2018


Hi I am trying to forecast for multiple server for CPU Utilization , But currently i am getting it for for one week , when ever i am trying to get more than one week it gives me error. Secondly in the one week forecast values i am getting the weekend date as the last week end  in the original data set , where as it should be one week after that . Below is my code

Let me know if anything else is required



Code


input_data <- read.csv("input.csv", header= TRUE)
head(input_data)
str(input_data)
library("forecast")
library("DBI")
library("RPostgreSQL")
library("lubridate")
Products = unique(input_data["Server.Name"][,])
output = matrix(0,nrow=(length(Products)*(5)),ncol=7)
colnames(output) =

  c(
    "Product",
    "DATE",
    "Forecast",
    "Lo_80",
    "Hi_80 ",
    "Lo_95",
    "Hi_95"
  )

for (i in Products) {

 train = head(input_data["PERCENT_USED"][input_data["Server.Name"]==i] , 90)

  train     = ts(train[1:(length(train))])

  fc1 = auto.arima(train)
  pred1 = forecast( fc1)
  fit1_acry   = accuracy(pred1)
  fc2 = ets(train)
  pred2 = forecast( fc2 )
  fit2_acry = accuracy(pred2 )

  MAPE = data.frame ( fit1_MAPE = fit1_acry[,'MAPE'],
                       fit2_MAPE = fit2_acry[,'MAPE']
  )

  best =  which.min(MAPE)

  BestModel = get(paste('fc',best,sep=""))

  forecastoutput = rbind(data.frame(forecast(BestModel, h=1)) )
  forecast_date = rbind(tail(input_data["DATE"][input_data["Server.Name"]==i],(1)))
  row_index = which(Products==i)

  output[row_index,1]   = i
  output[row_index,2]   = forecast_date
  output[row_index,3]   = (round(forecastoutput$Point.Forecast,2))
  output[row_index,4]   = as.numeric(round(forecastoutput$Lo.80,2))
  output[row_index,5]   = as.numeric(round(forecastoutput$Hi.80,2))
  output[row_index,6]   = as.numeric(round(forecastoutput$Lo.95,2))
  output[row_index,7] = as.numeric(round(forecastoutput$Hi.95,2))
  output_onestep = data.frame(output)

}
output_onestep


	[[alternative HTML version deleted]]



More information about the R-help mailing list