robjhyndman / forecast

Forecasting Functions for Time Series and Linear Models
http://pkg.robjhyndman.com/forecast
1.1k stars 340 forks source link

DAILY FORECASTING IN R #647

Closed 9492139014 closed 6 years ago

9492139014 commented 6 years ago

Hi Users, I would like to ask on forecasting for daily basis.

1) My data has two years of data, it means 2016-01-01 to 2017-12-31 , I need to forecast for the year 2018 for day wise forecasting, 2) In my data , i had 18 regions , each region containing 3 items, each item has two years of data .

Regions Item Dates Data Tiruchengode TRACTOR TT35-4WD 01-01-16 2 Tiruchengode TRACTOR TT35-4WD 02-01-16 7 Tiruchengode TRACTOR TT35-4WD 03-01-16 6 Tiruchengode TRACTOR TT35-4WD 04-01-16 0 Tiruchengode TRACTOR TT35-4WD 05-01-16 6 Tiruchengode TRACTOR TT35-4WD 06-01-16 6 Tiruchengode TRACTOR TT35-4WD 07-01-16 1 Tiruchengode TRACTOR TT35-4WD 08-01-16 6 Tiruchengode TRACTOR TT35-4WD 09-01-16 0 Tiruchengode TRACTOR TT35-4WD 10-01-16 4 Tiruchengode TRACTOR TT35-4WD 11-01-16 4

The following data is follows

I used the below code

rm(list =ls()) library(forecast) library(lubridate)

library(xts)

setwd("D:\sample datasets") dli<-read.csv("Actuals.csv",header = TRUE,sep = ",",stringsAsFactors = FALSE) dli head(dli) dim(dli) names(dli) class(dli) str(dli) table(dli$Regions,dli$Dates,dli$Item) dates<-as.Date(dli$Dates) class(dates) data<-as.numeric(dli$Data) str(data) dli1<-cbind(dli[,c(1,2)],data,dates) head(dli1) str(dli1)

------------------------------------------------------------------------------

Date<-as.Date(dli$Dates)

head(Date)

class(Date)

dli1<-cbind,dli[,c(1,2,4)])

head(dli1)

str(dli1)

---------------------------------------------------------------------------------

dli2<-dli1[order(dli1$Regions,dli2$Item),]

head(dli2)

tail(dli2)

str(dli2)

summary(dli2)

unique_Models<-unique(as.factor(dli1$Regions)) class(unique_Models) unique_Item<-unique(as.factor(dli1$Item)) class(unique_Item) length(unique_Item) unique_Models[1]

i<-1 j<-1

for (i in 1: length(unique_Models)){ for (j in 1:length(unique_Item)) { print(i,j) dli2<-dli1[c(dli1$Regions==unique_Models[i],dli1$Item==unique_Item[j]),] sufore<-ts(dli1$data,frequency = 365,start = c(2016,1,1),end = c(2017,12,31)) sufore forecast1<-HoltWinters(sufore,beta = F,gamma = F) forecast1 forecstholt<-forecast(forecast1,h=365) forecstholt df<-forecstholt df1<-as.data.frame(forecstholt) df1$Region1<-unique_Models[i] df1$Item1<-unique_Item[j] if (c(i==1,j==1)){df2<-df1} else{ print(df2) df2<-rbind.data.frame(df2,df1) } } }

But i am getting the following output data as

Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Region1 Item1 Datesss 3.476846494 0.424752319 6.528940669 -1.190928741 8.144621729 Tiruchengode TRACTOR TT45-4WD 2017-Jan-13 00:12:14 3.476846494 0.42328444 6.530408548 -1.193173668 8.146866656 Tiruchengode TRACTOR TT45-4WD 2017-Jan-13 23:51:21 3.476846494 0.421817266 6.531875722 -1.195417517 8.149110505 Tiruchengode TRACTOR TT45-4WD 2017-Jan-15 00:23:02 3.476846494 0.420350797 6.533342191 -1.197660289 8.151353277 Tiruchengode TRACTOR TT45-4WD 2017-Jan-16 00:02:09 3.476846494 0.41888503 6.534807957 -1.199901985 8.153594973 Tiruchengode TRACTOR TT45-4WD 2017-Jan-16 23:41:16 3.476846494 0.417419966 6.536273021 -1.202142607 8.155835595 Tiruchengode TRACTOR TT45-4WD 2017-Jan-18 00:12:57 3.476846494 0.415955604 6.537737384 -1.204382157 8.158075144 Tiruchengode TRACTOR TT45-4WD 2017-Jan-18 23:52:04 3.476846494 0.414491941 6.539201047 -1.206620635 8.160313623 Tiruchengode TRACTOR TT45-4WD 2017-Jan-20 00:23:45 3.476846494 0.413028978 6.54066401 -1.208858045 8.162551033 Tiruchengode TRACTOR TT45-4WD 2017-Jan-21 00:02:52 3.476846494 0.411566712 6.542126275 -1.211094386 8.164787374 Tiruchengode TRACTOR TT45-4WD 2017-Jan-21 23:41:59 3.476846494 0.410105145 6.543587843 -1.213329661 8.167022649 Tiruchengode TRACTOR TT45-4WD 2017-Jan-23 00:13:40 3.476846494 0.408644273 6.545048715 -1.215563872 8.16925686 Tiruchengode TRACTOR TT45-4WD 2017-Jan-23 23:52:48 3.476846494 0.407184096 6.546508891 -1.217797019 8.171490007 Tiruchengode TRACTOR TT45-4WD 2017-Jan-25 00:24:28 3.476846494 0.405724614 6.547968374 -1.220029104 8.173722092 Tiruchengode TRACTOR TT45-4WD 2017-Jan-26 00:03:36 3.476846494 0.404265825 6.549427163 -1.22226013 8.175953118 Tiruchengode TRACTOR TT45-4WD 2017-Jan-26 23:42:43 3.476846494 0.402807729 6.550885259 -1.224490096 8.178183084 Tiruchengode TRACTOR TT45-4WD 2017-Jan-28 00:14:24

What else wrong in my code , can you please suggest me

robjhyndman commented 6 years ago

This is not a help service. Ask on stackoverflow.com