You are on page 1of 15

TS_assignment_1.

R
bg5567

Sun Dec 11 17:10:22 2016


#Importing libraries
library(e1071)

## Warning: package 'e1071' was built under R version 3.2.5

library(rpart)
library(TTR)

## Warning: package 'TTR' was built under R version 3.2.5

library(forecast)

## Warning: package 'forecast' was built under R version 3.2.5

## Loading required package: zoo

## Warning: package 'zoo' was built under R version 3.2.5

##
## Attaching package: 'zoo'

## The following objects are masked from 'package:base':


##
## as.Date, as.Date.numeric

## Loading required package: timeDate

## Warning: package 'timeDate' was built under R version 3.2.5

##
## Attaching package: 'timeDate'

## The following objects are masked from 'package:e1071':


##
## kurtosis, skewness

## This is forecast 7.3

#reading csv file


remove("aby_data")

## Warning in remove("aby_data"): object 'aby_data' not found

#reading csv file


aby_data<-read.csv(file.choose(),header=T)
#checking the data
head(aby_data)

## Annual_barley_yields_per_acre
## 1 15.2
## 2 16.9
## 3 15.3
## 4 14.9
## 5 15.7
## 6 15.1

str(aby_data)

## 'data.frame': 56 obs. of 1 variable:


## $ Annual_barley_yields_per_acre: num 15.2 16.9 15.3 14.9 15.7 15.1 16.7
16.3 16.5 13.3 ...

summary(aby_data)

## Annual_barley_yields_per_acre
## Min. :13.30
## 1st Qu.:14.88
## Median :15.55
## Mean :15.66
## 3rd Qu.:16.52
## Max. :18.10

#plotting the data


plot(aby_data)
#putting data in time series
abyts <-ts(aby_data)
abyts

## Time Series:
## Start = 1
## End = 56
## Frequency = 1
## Annual_barley_yields_per_acre
## [1,] 15.2
## [2,] 16.9
## [3,] 15.3
## [4,] 14.9
## [5,] 15.7
## [6,] 15.1
## [7,] 16.7
## [8,] 16.3
## [9,] 16.5
## [10,] 13.3
## [11,] 16.5
## [12,] 15.0
## [13,] 15.9
## [14,] 15.5
## [15,] 16.9
## [16,] 16.4
## [17,] 14.9
## [18,] 14.5
## [19,] 16.6
## [20,] 15.1
## [21,] 14.6
## [22,] 16.0
## [23,] 16.8
## [24,] 16.8
## [25,] 15.5
## [26,] 17.3
## [27,] 15.5
## [28,] 15.5
## [29,] 14.2
## [30,] 15.8
## [31,] 15.7
## [32,] 14.1
## [33,] 14.8
## [34,] 14.4
## [35,] 15.6
## [36,] 13.9
## [37,] 14.7
## [38,] 14.3
## [39,] 14.0
## [40,] 14.5
## [41,] 15.4
## [42,] 15.3
## [43,] 16.0
## [44,] 16.4
## [45,] 17.2
## [46,] 17.8
## [47,] 14.4
## [48,] 15.0
## [49,] 16.0
## [50,] 16.8
## [51,] 16.9
## [52,] 16.6
## [53,] 16.2
## [54,] 14.0
## [55,] 18.1
## [56,] 17.5

#plotting the time series data


plot.ts(abyts)
aby_ts <- ts(abyts, frequency=1, start=c(1884,1))
aby_ts

## Time Series:
## Start = 1884
## End = 1939
## Frequency = 1
## Annual_barley_yields_per_acre
## [1,] 15.2
## [2,] 16.9
## [3,] 15.3
## [4,] 14.9
## [5,] 15.7
## [6,] 15.1
## [7,] 16.7
## [8,] 16.3
## [9,] 16.5
## [10,] 13.3
## [11,] 16.5
## [12,] 15.0
## [13,] 15.9
## [14,] 15.5
## [15,] 16.9
## [16,] 16.4
## [17,] 14.9
## [18,] 14.5
## [19,] 16.6
## [20,] 15.1
## [21,] 14.6
## [22,] 16.0
## [23,] 16.8
## [24,] 16.8
## [25,] 15.5
## [26,] 17.3
## [27,] 15.5
## [28,] 15.5
## [29,] 14.2
## [30,] 15.8
## [31,] 15.7
## [32,] 14.1
## [33,] 14.8
## [34,] 14.4
## [35,] 15.6
## [36,] 13.9
## [37,] 14.7
## [38,] 14.3
## [39,] 14.0
## [40,] 14.5
## [41,] 15.4
## [42,] 15.3
## [43,] 16.0
## [44,] 16.4
## [45,] 17.2
## [46,] 17.8
## [47,] 14.4
## [48,] 15.0
## [49,] 16.0
## [50,] 16.8
## [51,] 16.9
## [52,] 16.6
## [53,] 16.2
## [54,] 14.0
## [55,] 18.1
## [56,] 17.5

#
plot.ts(aby_ts)
# checkign log of the data for smoothening
log_abyts <- log(aby_ts)
plot.ts(log_abyts)
# smoothening the data with moving average 3
abysma3 <- SMA(aby_ts, n=3)
plot(abysma3)

#smoothening the data with moving average 10


abysma10 <- SMA(aby_ts, n=10)
plot(abysma10)
#############################
###For forecasting:
aby_ts1<-ts(aby_ts, start=c(1884))
plot.ts(aby_ts1)
#forecast using HoltWinters
abY_forecast <- HoltWinters(aby_ts1, beta=FALSE, gamma=FALSE)
abY_forecast

## Holt-Winters exponential smoothing without trend and without seasonal


component.
##
## Call:
## HoltWinters(x = aby_ts1, beta = FALSE, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.188541
## beta : FALSE
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 16.45609

# fitted values check for forecast


abY_forecast$fitted

## Time Series:
## Start = 1885
## End = 1939
## Frequency = 1
## xhat level
## 1885 15.20000 15.20000
## 1886 15.52052 15.52052
## 1887 15.47894 15.47894
## 1888 15.36979 15.36979
## 1889 15.43205 15.43205
## 1890 15.36944 15.36944
## 1891 15.62031 15.62031
## 1892 15.74846 15.74846
## 1893 15.89015 15.89015
## 1894 15.40180 15.40180
## 1895 15.60886 15.60886
## 1896 15.49406 15.49406
## 1897 15.57060 15.57060
## 1898 15.55729 15.55729
## 1899 15.81044 15.81044
## 1900 15.92160 15.92160
## 1901 15.72899 15.72899
## 1902 15.49727 15.49727
## 1903 15.70518 15.70518
## 1904 15.59108 15.59108
## 1905 15.40422 15.40422
## 1906 15.51655 15.51655
## 1907 15.75853 15.75853
## 1908 15.95489 15.95489
## 1909 15.86913 15.86913
## 1910 16.13890 16.13890
## 1911 16.01844 16.01844
## 1912 15.92070 15.92070
## 1913 15.59627 15.59627
## 1914 15.63469 15.63469
## 1915 15.64700 15.64700
## 1916 15.35533 15.35533
## 1917 15.25062 15.25062
## 1918 15.09025 15.09025
## 1919 15.18636 15.18636
## 1920 14.94383 14.94383
## 1921 14.89785 14.89785
## 1922 14.78513 14.78513
## 1923 14.63710 14.63710
## 1924 14.61125 14.61125
## 1925 14.75997 14.75997
## 1926 14.86178 14.86178
## 1927 15.07638 15.07638
## 1928 15.32594 15.32594
## 1929 15.67928 15.67928
## 1930 16.07912 16.07912
## 1931 15.76254 15.76254
## 1932 15.61877 15.61877
## 1933 15.69065 15.69065
## 1934 15.89980 15.89980
## 1935 16.08838 16.08838
## 1936 16.18484 16.18484
## 1937 16.18770 16.18770
## 1938 15.77523 15.77523
## 1939 16.21354 16.21354

#Plotting forecast values


plot(abY_forecast)

# Checkign for error in forecast


abY_forecast$SSE

## [1] 67.28694

#
HoltWinters(aby_ts1, beta=FALSE, gamma=FALSE, l.start=15.2)

## Holt-Winters exponential smoothing without trend and without seasonal


component.
##
## Call:
## HoltWinters(x = aby_ts1, beta = FALSE, gamma = FALSE, l.start = 15.2)
##
## Smoothing parameters:
## alpha: 0.188541
## beta : FALSE
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 16.45609

#Forecast for next 5 years


aby_forecast2 <- forecast.HoltWinters(abY_forecast , h=5)
aby_forecast2

## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 1940 16.45609 15.03414 17.87804 14.28141 18.63078
## 1941 16.45609 15.00909 17.90310 14.24309 18.66909
## 1942 16.45609 14.98446 17.92772 14.20543 18.70676
## 1943 16.45609 14.96024 17.95194 14.16839 18.74380
## 1944 16.45609 14.93641 17.97578 14.13193 18.78025

#plot of forecast
plot.forecast(aby_forecast2)

#
aby_forecast2$residuals

## Time Series:
## Start = 1884
## End = 1939
## Frequency = 1
## x
## [1,] NA
## [2,] 1.70000000
## [3,] -0.22051977
## [4,] -0.57894274
## [5,] 0.33021172
## [6,] -0.33204674
## [7,] 1.33055770
## [8,] 0.67969296
## [9,] 0.75154294
## [10,] -2.59015375
## [11,] 1.09819654
## [12,] -0.60885858
## [13,] 0.40593625
## [14,] -0.07059939
## [15,] 1.34271149
## [16,] 0.58955527
## [17,] -1.02160010
## [18,] -1.22898655
## [19,] 1.10272785
## [20,] -0.60518160
## [21,] -0.99108003
## [22,] 0.59577923
## [23,] 1.28345039
## [24,] 1.04146732
## [25,] -0.45489202
## [26,] 1.43087380
## [27,] -0.63890464
## [28,] -0.51844489
## [29,] -1.72069675
## [30,] 0.20372521
## [31,] 0.06531464
## [32,] -1.54699985
## [33,] -0.55532688
## [34,] -0.85062497
## [35,] 0.50975274
## [36,] -1.28635657
## [37,] -0.24382556
## [38,] -0.59785444
## [39,] -0.78513434
## [40,] -0.13710429
## [41,] 0.78874549
## [42,] 0.54003460
## [43,] 1.13821591
## [44,] 1.32361550
## [45,] 1.87405965
## [46,] 2.12072249
## [47,] -1.67912074
## [48,] -0.76253756
## [49,] 0.38123206
## [50,] 1.10935417
## [51,] 1.00019538
## [52,] 0.51161750
## [53,] 0.01515661
## [54,] -2.18770104
## [55,] 2.32477040
## [56,] 1.28645576

#plot residual errors:


plot(aby_forecast2$residuals)

You might also like