library(dplyr)
## Warning: package 'dplyr' was built under R version 3.5.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(fpp)
## Warning: package 'fpp' was built under R version 3.5.3
## Loading required package: forecast
## Warning: package 'forecast' was built under R version 3.5.2
## Loading required package: fma
## Warning: package 'fma' was built under R version 3.5.2
## Loading required package: expsmooth
## Warning: package 'expsmooth' was built under R version 3.5.2
## Loading required package: lmtest
## Warning: package 'lmtest' was built under R version 3.5.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 3.5.2
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: tseries
## Warning: package 'tseries' was built under R version 3.5.2
library(forecast)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.5.2
library(seasonal)
## Warning: package 'seasonal' was built under R version 3.5.3
library(readr)
## Warning: package 'readr' was built under R version 3.5.2
library(xts)
## Warning: package 'xts' was built under R version 3.5.2
## 
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
## 
##     first, last
ks <- read.csv("~/Forcasting Princple/ks-projects-201801.csv")
length(ks$category[ks$category=="Art"])
## [1] 8253
length(ks$category[ks$category=="Ceramics"])
## [1] 305
length(ks$category[ks$category=="Conceptual Art"])
## [1] 1030
length(ks$category[ks$category=="Mixed Media"])
## [1] 2757
length(ks$category[ks$category=="Illustration"])
## [1] 3175
length(ks$category[ks$category=="Digital Art"])
## [1] 1346
ksi<-subset(ks, main_category=="Art")
ksii<-subset(ksi,state=="successful")
by_d<- ksii %>% group_by(deadline)
by_dd<- by_d %>% summarise(n=n())
by_ddd <- xts(by_dd$n, as.Date(by_dd$deadline, "%Y-%m-%d"))

# convert daily data into monthly
by_m = apply.monthly(by_ddd, sum)
ts<- ts(by_m,start = c(2009,5),end=c(2018,1), frequency = 12)
autoplot(ts) +
   xlab('date') +
   ylab('count of sucsess')

# moving average
  autoplot(ts,series="success")+
  autolayer(ma(ts,5), series="5-MA")
## Warning: Removed 4 rows containing missing values (geom_path).

#classical decomposition
ts %>% decompose(type = "multiplicative") %>%
  autoplot()+xlab("Year") +ggtitle("Classical multiplicative decomposition")

#X11 Decomposition
ts %>% seas(x11="")->fit
autoplot(fit)+ggtitle("X11 decomposition")

#SEATS Decomposition
ts %>% seas() %>%
  autoplot()+
  ggtitle("SEATS decomposition of Dance")

# seasonal naive method
  naive <- snaive(ts,5)
  autoplot(naive) + autolayer(naive,series = "snaive")

#Simple exponential smoothing
ses<-ses(ts,h=5)
autoplot(ses)+
  autolayer(fitted(ses),series="Fitted")+
  ylab("Sales")+ xlab("Week")

#Holt's linear trend method
holt<-holt(ts,h=5)
autoplot(holt)+
  autolayer(holt,series="Holt's method",PI=FALSE)

#Damped Holt's Trend Method
damp<-holt(ts,damped = TRUE,h=5)
autoplot(damp)+
  autolayer(damp$fitted)

#ETS method
ets<-ets(ts)
autoplot(forecast(ets,h=5))

# only seasonal naive method & ETS method make sence

# ARIMA
df<-diff(diff(log(ts),12),1)
autoplot(df)

fit<-auto.arima(ts,seasonal = FALSE)
fit%>% forecast(h=5) %>% autoplot()+
  ylab("success")+ xlab("year")