This project includes 3 time series dataset and requires to select best forecasting model for all 3 datasets.
The dataset contains cash withdrawals from 4 different ATM machines from May 2009 to Apr 2010. The variable ‘Cash’ is provided in hundreds of dollars and data is in a single file. Before starting our analysis we will first download the excel from github and then read it through read_excel.
<- tempfile(fileext = ".xlsx")
temp.file download.file(url="https://github.com/amit-kapoor/data624/blob/main/Project1/ATM624Data.xlsx?raw=true",
destfile = temp.file,
mode = "wb",
quiet = TRUE)
<- read_excel(temp.file, skip=0, col_types = c("date","text","numeric"))
atm.data
glimpse(atm.data)
## Rows: 1,474
## Columns: 3
## $ DATE <dttm> 2009-05-01, 2009-05-01, 2009-05-02, 2009-05-02, 2009-05-03, 2009…
## $ ATM <chr> "ATM1", "ATM2", "ATM1", "ATM2", "ATM1", "ATM2", "ATM1", "ATM2", "…
## $ Cash <dbl> 96, 107, 82, 89, 85, 90, 90, 55, 99, 79, 88, 19, 8, 2, 104, 103, …
# rows missing values
!complete.cases(atm.data),] atm.data[
## # A tibble: 19 x 3
## DATE ATM Cash
## <dttm> <chr> <dbl>
## 1 2009-06-13 00:00:00 ATM1 NA
## 2 2009-06-16 00:00:00 ATM1 NA
## 3 2009-06-18 00:00:00 ATM2 NA
## 4 2009-06-22 00:00:00 ATM1 NA
## 5 2009-06-24 00:00:00 ATM2 NA
## 6 2010-05-01 00:00:00 <NA> NA
## 7 2010-05-02 00:00:00 <NA> NA
## 8 2010-05-03 00:00:00 <NA> NA
## 9 2010-05-04 00:00:00 <NA> NA
## 10 2010-05-05 00:00:00 <NA> NA
## 11 2010-05-06 00:00:00 <NA> NA
## 12 2010-05-07 00:00:00 <NA> NA
## 13 2010-05-08 00:00:00 <NA> NA
## 14 2010-05-09 00:00:00 <NA> NA
## 15 2010-05-10 00:00:00 <NA> NA
## 16 2010-05-11 00:00:00 <NA> NA
## 17 2010-05-12 00:00:00 <NA> NA
## 18 2010-05-13 00:00:00 <NA> NA
## 19 2010-05-14 00:00:00 <NA> NA
In the next set of plots, we will see the data distribution for all ATMs alongwith individual summaries.
ggplot(atm.data[complete.cases(atm.data),] , aes(x=DATE, y=Cash, col=ATM )) +
geom_line(show.legend = FALSE) +
facet_wrap(~ATM, ncol=1, scales = "free")
ggplot(atm.data[complete.cases(atm.data),] , aes(x=Cash )) +
geom_histogram(bins=20) +
facet_grid(cols=vars(ATM), scales = "free")
# consider complete cases
<- atm.data[complete.cases(atm.data),]
atm.comp # pivot wider with cols from 4 ATMs and their values as Cash
<- atm.comp %>% pivot_wider(names_from = ATM, values_from = Cash)
atm.comp head(atm.comp)
## # A tibble: 6 x 5
## DATE ATM1 ATM2 ATM3 ATM4
## <dttm> <dbl> <dbl> <dbl> <dbl>
## 1 2009-05-01 00:00:00 96 107 0 777.
## 2 2009-05-02 00:00:00 82 89 0 524.
## 3 2009-05-03 00:00:00 85 90 0 793.
## 4 2009-05-04 00:00:00 90 55 0 908.
## 5 2009-05-05 00:00:00 99 79 0 52.8
## 6 2009-05-06 00:00:00 88 19 0 52.2
# summary
%>% select(-DATE) %>% summary() atm.comp
## ATM1 ATM2 ATM3 ATM4
## Min. : 1.00 Min. : 0.00 Min. : 0.0000 Min. : 1.563
## 1st Qu.: 73.00 1st Qu.: 25.50 1st Qu.: 0.0000 1st Qu.: 124.334
## Median : 91.00 Median : 67.00 Median : 0.0000 Median : 403.839
## Mean : 83.89 Mean : 62.58 Mean : 0.7206 Mean : 474.043
## 3rd Qu.:108.00 3rd Qu.: 93.00 3rd Qu.: 0.0000 3rd Qu.: 704.507
## Max. :180.00 Max. :147.00 Max. :96.0000 Max. :10919.762
## NA's :3 NA's :2
Per above exploratory analysis, all ATMs show different patterns. We would perform forecasting for each ATM separately.
For this part we will first apply ts() function to get required time series. Next step is to apply tsclean function that will handle missing data along with outliers. To estimate missing values and outlier replacements, this function uses linear interpolation on the (possibly seasonally adjusted) series. Once we get the clean data we will use pivot_longer to get the dataframe in its original form.
<- ts(atm.comp %>% select(-DATE))
atm.ts head(atm.ts)
## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## ATM1 ATM2 ATM3 ATM4
## 1 96 107 0 776.99342
## 2 82 89 0 524.41796
## 3 85 90 0 792.81136
## 4 90 55 0 908.23846
## 5 99 79 0 52.83210
## 6 88 19 0 52.20845
# apply tsclean
<- sapply(X=atm.ts, tsclean)
atm.ts.cln %>% summary() atm.ts.cln
## ATM1 ATM2 ATM3 ATM4
## Min. : 1.00 Min. : 0.00 Min. : 0.0000 Min. : 1.563
## 1st Qu.: 73.00 1st Qu.: 26.00 1st Qu.: 0.0000 1st Qu.: 124.334
## Median : 91.00 Median : 67.00 Median : 0.0000 Median : 402.770
## Mean : 84.15 Mean : 62.59 Mean : 0.7206 Mean : 444.757
## 3rd Qu.:108.00 3rd Qu.: 93.00 3rd Qu.: 0.0000 3rd Qu.: 704.192
## Max. :180.00 Max. :147.00 Max. :96.0000 Max. :1712.075
If we compare this summary with previous one of original data, ATM1 and ATM2 has nomore NAs and ATM4 outlier value (10919.762) is handled and now the max value is 1712.075.
# convert into data frame, pivot longer , arrange by ATM and bind with dates
<- as.data.frame(atm.ts.cln) %>%
atm.new pivot_longer(everything(), names_to = "ATM", values_to = "Cash") %>%
arrange(ATM)
<- cbind(DATE = seq(as.Date("2009-05-1"), as.Date("2010-04-30"), length.out=365),
atm.new
atm.new)
head(atm.new)
## DATE ATM Cash
## 1 2009-05-01 ATM1 96
## 2 2009-05-02 ATM1 82
## 3 2009-05-03 ATM1 85
## 4 2009-05-04 ATM1 90
## 5 2009-05-05 ATM1 99
## 6 2009-05-06 ATM1 88
ggplot(atm.new , aes(x=DATE, y=Cash, col=ATM )) +
geom_line(show.legend = FALSE) +
facet_wrap(~ATM, ncol=1, scales = "free")
Though above plot doesn’t show much differences for ATM1,2,3 but tsclean handled the ATM4 data very well after replacing the outlier.
Seeing the time series plot, it is clear that there is a seasonality in the data. We can see increasing and decreasing activities over the weeks in below plot. From the ACF plot, we can see a slight decrease in every 7th lag due to trend. PACF plot shows some significant lags at the beginning.
<- atm.new %>% filter(ATM=="ATM1") %>% select(Cash) %>% ts(frequency = 7)
atm1.ts ggtsdisplay(atm1.ts, main="ATM1 Cash Withdrawal", ylab="cash withdrawal", xlab="week")
From the above plots it is evident that the time series is non stationary, showing seasonality and will require differencing to make it stationary.
ggsubseriesplot(atm1.ts, main="ATM1 Cash Withdrawal")
From the subseries plot, it is apparent that Tuesdays having highest mean of ash withdrawl while Saturdays being the lowest.
Next step is to apply BoxCox transformation. With \(\lambda\) being 0.26, the resulting transformation does handle the variablity in time series as shown in below transformed plot.
<- BoxCox.lambda(atm1.ts)
atm1.lambda <- BoxCox(atm1.ts, atm1.lambda )
atm1.ts.bc ggtsdisplay(atm1.ts.bc, main=paste("ATM1 Cash Withdrawal",round(atm1.lambda, 3)), ylab="cash withdrawal", xlab="week")
Next we will see the number of differences required for a stationary series and the number of differences required for a seasonally stationary series.
# Number of differences required for a stationary series
ndiffs(atm1.ts.bc)
## [1] 0
# Number of differences required for a seasonally stationary series
nsdiffs(atm1.ts.bc)
## [1] 1
It shows number of differences required for a seasonality stationary series is 1. Next step is to check kpss summary.
%>% diff(lag=7) %>% ur.kpss() %>% summary() atm1.ts.bc
##
## #######################
## # KPSS Unit Root Test #
## #######################
##
## Test is of type: mu with 5 lags.
##
## Value of test-statistic is: 0.0153
##
## Critical value for a significance level of:
## 10pct 5pct 2.5pct 1pct
## critical values 0.347 0.463 0.574 0.739
We can see the test statistic small and well within the range we would expect for stationary data. So we can conclude that the data are stationary.
%>% diff(lag=7) %>% ggtsdisplay() atm1.ts.bc
The data is non-stationary with seasonality so there will be a seasonal difference of 1. Finally, the differencing of the data has now made it stationary. From the ACF plot, it is apparent now that there is a significant spike at lag 7 but none beyond lag 7.
Lets start with Holt-Winter’s additive model with damped trend since the seasonal variations are roughly constant through out the series.
# Holt Winters with damped True
%>% hw(h=31, seasonal = "additive", lambda = atm1.lambda, damped = TRUE) atm1.ts
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 53.14286 86.726308 48.2873323 144.09156 34.0075240 183.86219
## 53.28571 99.656005 56.7502143 162.78119 40.5780934 206.17461
## 53.42857 74.268913 40.2785592 125.84028 27.8645027 161.94499
## 53.57143 3.946722 0.9101988 11.36403 0.3067520 18.00566
## 53.71429 99.554782 56.6834213 162.63577 40.5259535 206.00148
## 53.85714 78.851329 43.2063605 132.58498 30.1007501 170.06058
## 54.00000 85.114307 47.2424187 141.74438 33.2015587 181.05113
## 54.14286 86.658670 45.6127105 150.10813 30.9111908 195.01621
## 54.28571 99.582554 53.7351794 169.36386 37.0454815 218.30796
## 54.42857 74.210981 37.9429783 131.29091 25.1978202 172.11308
## 54.57143 3.940224 0.7732156 12.30036 0.2189239 20.04980
## 54.71429 99.485702 53.6737241 169.22060 36.9987686 218.13522
## 54.85714 78.794338 40.7477446 138.25412 27.2771480 180.60622
## 55.00000 85.055212 44.6156330 147.70043 30.1637147 192.09415
## 55.14286 86.599982 43.2340302 155.85781 28.2323452 205.80698
## 55.28571 99.518822 51.0490613 175.64880 33.9793617 230.03192
## 55.42857 74.160715 35.8698562 136.50504 22.8992462 181.96358
## 55.57143 3.934588 0.6604831 13.21942 0.1555673 22.09545
## 55.71429 99.425760 50.9921256 175.50745 33.9371713 229.85958
## 55.85714 78.744887 38.5634686 143.67495 24.8394878 190.81691
## 56.00000 85.003935 42.2795812 153.39265 27.5361909 202.77913
## 56.14286 86.549058 41.0923732 161.39633 25.8838357 216.31745
## 56.28571 99.463519 48.6265521 181.69785 31.2829118 241.43875
## 56.42857 74.117099 34.0067798 141.53228 20.8914243 191.57013
## 56.57143 3.929701 0.5664429 14.12646 0.1096150 24.14933
## 56.71429 99.373745 48.5734860 181.55814 31.2445441 241.26666
## 56.85714 78.701976 36.5988213 148.89936 22.7069013 200.76969
## 57.00000 84.959439 40.1763734 158.87600 25.2333014 213.18774
## 57.14286 86.504867 39.1457044 166.76293 23.8038208 226.60572
## 57.28571 99.415528 46.4210490 187.55457 28.8873888 252.59311
## 57.42857 74.079250 32.3163685 146.40758 19.1195026 200.98424
Next is to apply exponential smoothing method on this time series. It shows that the ETS(A, N, A) model best fits for the transformed ATM4, i.e. exponential smoothing with additive error, no trend component and additive seasonality.
%>% ets(lambda = atm1.lambda ) atm1.ts
## ETS(A,N,A)
##
## Call:
## ets(y = ., lambda = atm1.lambda)
##
## Box-Cox transformation: lambda= 0.2616
##
## Smoothing parameters:
## alpha = 1e-04
## gamma = 0.3513
##
## Initial states:
## l = 7.9717
## s = -4.5094 0.5635 1.0854 0.5711 0.9551 0.5582
## 0.7761
##
## sigma: 1.343
##
## AIC AICc BIC
## 2379.653 2380.275 2418.652
Next we will find out the appropriate ARIMA model for this time series. The suggested model seems ARIMA(0,0,2)(0,1,1)[7].
<- atm1.ts %>% auto.arima(lambda = atm1.lambda )
atm1.fit3 atm1.fit3
## Series: .
## ARIMA(0,0,2)(0,1,1)[7]
## Box Cox transformation: lambda= 0.2615708
##
## Coefficients:
## ma1 ma2 sma1
## 0.1126 -0.1094 -0.6418
## s.e. 0.0524 0.0520 0.0432
##
## sigma^2 estimated as 1.764: log likelihood=-609.99
## AIC=1227.98 AICc=1228.09 BIC=1243.5
Next is to see residuals time series plot which shows residuals are being near normal with mean of the residuals being near to zero. Also there is no significant autocorrelation that confirms that forecasts are good.
checkresiduals(atm1.fit3)
##
## Ljung-Box test
##
## data: Residuals from ARIMA(0,0,2)(0,1,1)[7]
## Q* = 9.8626, df = 11, p-value = 0.5428
##
## Model df: 3. Total lags used: 14
Let’s plot the forecast for all the considered models above which will shows a nice visual comparison. it will also show a zoomed in plot to have a clearer view. For this, we will create a generic function which will accept the time series and plot the forecast using all the models.
# function to plot forecast(s)
<- function(timeseries) {
atm.forecast # lambda value
<- BoxCox.lambda(timeseries)
lambda # models for forecast
<- timeseries %>% hw(h=31, seasonal = "additive", lambda = lambda, damped = TRUE)
hw.model <- timeseries %>% ets(lambda = lambda)
ets.model <- timeseries %>% auto.arima(lambda = lambda)
arima.model # forecast
<- forecast(hw.model, h=31)
atm.hw.fcst <- forecast(ets.model, h=31)
atm.ets.fcst <- forecast(arima.model, h=31)
atm.arima.fcst # plot forecasts
<- autoplot(timeseries) +
p1 autolayer(atm.hw.fcst, PI=FALSE, series="Holt-Winters") +
autolayer(atm.ets.fcst, PI=FALSE, series="ETS") +
autolayer(atm.arima.fcst, PI=FALSE, series="ARIMA") +
theme(legend.position = "top") +
ylab("Cash Withdrawl")
# zoom in plot
<- p1 +
p2 labs(title = "Zoom in ") +
xlim(c(51,56))
grid.arrange(p1,p2,ncol=1)
}
<- forecast(atm1.fit3, h=31)
atm1.arima.fcst atm.forecast(atm1.ts)
## Scale for 'x' is already present. Adding another scale for 'x', which will
## replace the existing scale.
Now we will check the accuracy of all the models considered above. Again for this purpose, we have created a function that accepts the timeseries and atm num. In this function we will first divide the data for training and testing, train all models with train set and then find out RMSE using test data.
<- function(timeseries, atm_num) {
model_accuracy # lambda value
<- BoxCox.lambda(timeseries)
lambda
# split the data to train and test
<- window(timeseries, end=c(40, 3))
train <- window(timeseries, start=c(40, 4))
test
# models for forecast
<- train %>% hw(h=length(train), seasonal = "additive", lambda = lambda, damped = TRUE)
hw.model <- train %>% ets(model='ANA', lambda = lambda)
ets.model
# Arima model
if (atm_num == 1) {
# for ATM1
<- train %>% Arima(order=c(0,0,2),
arima.model seasonal = c(0,1,1),
lambda = lambda)
else if(atm_num == 2) {
} # for ATM2
<- train %>% Arima(order=c(3,0,3),
arima.model seasonal = c(0,1,1),
include.drift = TRUE,
lambda = lambda,
biasadj = TRUE)
else {
} # for ATM4
<- train %>% Arima(order=c(0,0,1),
arima.model seasonal = c(2,0,0),
lambda = lambda)
}
# forecast
= forecast(hw.model, h = length(test))$mean
hw.frct = forecast(ets.model, h = length(test))$mean
ets.frct = forecast(arima.model, h = length(test))$mean
arima.frct
# dataframe having rmse
= data.frame(RMSE=cbind(accuracy(hw.frct, test)[,2],
rmse accuracy(ets.frct, test)[,2],
accuracy(arima.frct, test)[,2]))
names(rmse) = c("Holt-Winters", "ETS", "ARIMA")
# display rmse
rmse }
model_accuracy(atm1.ts,1)
## Holt-Winters ETS ARIMA
## 1 49.35115 49.22521 49.18074
From the time series plot, it is apparent that there is a seasonality in the data but dont see a trend over the period. ACF shows teh significant lags at 7,14 and 21 confirming seasonality. From the PACF, there are few significant lags at the beginning but others within critical limit. Overall, it is non stationary, having seasonality and would require differencing for it to become stationary.
<- atm.new %>% filter(ATM=="ATM2") %>% select(Cash) %>% ts(frequency = 7)
atm2.ts ggtsdisplay(atm2.ts, main="ATM2 Cash Withdrawal", ylab="cash withdrawal", xlab="week")
From the subseries plot, it is clear that Sunday is having highest mean for cash withdrawl while Saturday has the lowest.
ggsubseriesplot(atm2.ts, main="ATM2 Cash Withdrawal")
Next step is to apply BoxCox transformation. With \(\lambda\) being 0.72, the resulting transformation does handle the variablity in time series as shown in below transformed plot.
<- BoxCox.lambda(atm2.ts)
atm2.lambda <- BoxCox(atm2.ts, atm2.lambda )
atm2.ts.bc ggtsdisplay(atm2.ts.bc, main=paste("ATM2 Cash Withdrawal",round(atm2.lambda, 3)), ylab="cash withdrawal", xlab="week")
# Number of differences required for a stationary series
ndiffs(atm2.ts.bc)
## [1] 1
# Number of differences required for a seasonally stationary series
nsdiffs(atm2.ts.bc)
## [1] 1
It shows number of differences required is 1 for boxcox transformed data.
%>% diff(lag=7) %>% ur.kpss() %>% summary() atm2.ts.bc
##
## #######################
## # KPSS Unit Root Test #
## #######################
##
## Test is of type: mu with 5 lags.
##
## Value of test-statistic is: 0.0162
##
## Critical value for a significance level of:
## 10pct 5pct 2.5pct 1pct
## critical values 0.347 0.463 0.574 0.739
We can see the test statistic small and well within the range we would expect for stationary data. So we can conclude that the data are stationary
%>% diff(lag=7) %>% ggtsdisplay() atm2.ts.bc
First we will start with Holt-Winters damped method. Damping is possible with both additive and multiplicative Holt-Winters’ methods. This method often provides accurate and robust forecasts for seasonal data is the Holt-Winters method with a damped trend.
# Holt Winters
%>% hw(h=31, seasonal = "additive", lambda = atm2.lambda, damped = TRUE) atm2.ts
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 53.14286 67.727881 35.291267 105.26894 20.74561 126.87010
## 53.28571 74.012766 40.580383 112.34286 25.35441 134.30920
## 53.42857 10.844773 -3.254323 36.70434 -13.45333 53.31462
## 53.57143 1.648706 -13.353074 22.08418 -26.56518 36.83677
## 53.71429 101.948220 64.792300 143.32926 47.14368 166.72907
## 53.85714 92.500300 56.498440 132.92025 39.58380 155.86508
## 54.00000 68.866332 36.243721 106.55382 21.56968 128.22256
## 54.14286 67.775348 33.216555 108.21505 18.01659 131.58961
## 54.28571 74.059485 38.420870 115.33960 22.46113 139.10021
## 54.42857 10.871202 -4.387783 38.91404 -15.98503 57.04338
## 54.57143 1.663821 -14.982817 24.01057 -29.59257 40.21221
## 54.71429 101.993433 62.324951 146.52593 43.68529 171.80421
## 54.85714 92.542577 54.122362 136.04975 36.29148 160.84582
## 55.00000 68.903765 34.144880 109.49813 18.80244 132.94355
## 55.14286 67.811143 31.293904 110.99079 15.54866 136.05209
## 55.28571 74.094716 36.416629 118.16249 19.82956 143.62898
## 55.42857 10.891142 -5.535746 41.01325 -18.47284 60.59806
## 55.57143 1.675242 -16.563883 25.85263 -32.52085 43.44674
## 55.71429 102.027528 60.025873 149.53496 40.49965 176.59647
## 55.85714 92.574457 51.911131 138.99687 33.26820 165.55113
## 56.00000 68.931993 32.200914 112.27407 16.29845 137.40928
## 56.14286 67.838136 29.500528 113.62437 13.30674 140.29932
## 56.28571 74.121282 34.544212 120.84032 17.42301 147.93815
## 56.42857 10.906182 -6.688629 43.01959 -20.91749 64.00567
## 56.57143 1.683868 -18.101954 27.62307 -35.36252 46.56110
## 56.71429 102.053237 57.869192 152.38739 37.54566 181.15191
## 56.85714 92.598496 49.839436 141.79169 30.47392 170.02576
## 57.00000 68.953279 30.388346 114.90931 14.02175 141.66104
## 57.14286 67.858490 27.819168 116.13717 11.26493 144.36295
## 57.28571 74.141315 32.785857 123.39486 15.21412 152.06003
## 57.42857 10.917527 -7.840726 44.94651 -23.32042 67.28683
Next is to apply exponential smoothing method on this time series. It shows that the ETS(A, N, A) model best fits for the transformed ATM4, i.e. exponential smoothing with additive error, no trend component and additive seasonality.
# ETS
%>% ets(lambda = atm2.lambda) atm2.ts
## ETS(A,N,A)
##
## Call:
## ets(y = ., lambda = atm2.lambda)
##
## Box-Cox transformation: lambda= 0.7243
##
## Smoothing parameters:
## alpha = 1e-04
## gamma = 0.3852
##
## Initial states:
## l = 26.7912
## s = -17.8422 -13.3191 10.8227 1.8426 4.2781 5.7994
## 8.4185
##
## sigma: 8.5054
##
## AIC AICc BIC
## 3727.060 3727.682 3766.059
We will now find out the appropriate ARIMA model for this time series. The suggested model seeems ARIMA(3,0,3)(0,1,1)[7] with drift.
<- atm2.ts %>% auto.arima(lambda = atm2.lambda )
atm2.fit3 atm2.fit3
## Series: .
## ARIMA(3,0,3)(0,1,1)[7] with drift
## Box Cox transformation: lambda= 0.7242585
##
## Coefficients:
## ar1 ar2 ar3 ma1 ma2 ma3 sma1 drift
## 0.4902 -0.4948 0.8326 -0.4823 0.3203 -0.7837 -0.7153 -0.0203
## s.e. 0.0863 0.0743 0.0614 0.1060 0.0941 0.0621 0.0453 0.0072
##
## sigma^2 estimated as 67.52: log likelihood=-1260.59
## AIC=2539.18 AICc=2539.69 BIC=2574.1
Next is to see residuals time series plot which shows residuals are being near normal with mean of the residuals being near to zero. Also there is no significant autocorrelation that confirms that forecasts are good.
checkresiduals(atm2.fit3)
##
## Ljung-Box test
##
## data: Residuals from ARIMA(3,0,3)(0,1,1)[7] with drift
## Q* = 8.944, df = 6, p-value = 0.1768
##
## Model df: 8. Total lags used: 14
Next step is to plot the forecast for all the considered models above which will shows a nice visual comparison. it will also show a zoomed in plot to have a clearer view.
<- forecast(atm2.fit3, h=31)
atm2.arima.fcst atm.forecast(atm2.ts)
## Scale for 'x' is already present. Adding another scale for 'x', which will
## replace the existing scale.
model_accuracy(atm2.ts,2)
## Holt-Winters ETS ARIMA
## 1 57.20467 57.58101 56.58658
<- atm.new %>% filter(ATM=="ATM3") %>% select(Cash) %>% ts(frequency = 7)
atm3.ts autoplot(atm3.ts, main="ATM3 Cash Withdrawal", ylab="cash withdrawal", xlab="week")
As described and evident above, we only have 3 observations for ATM3 and only these observations will be used for the forecast. Thus, a Simple mean forecast will be used for ATM3.
# ATM3 forecast
<- meanf(window(atm3.ts, start=c(52,6)), h=31)
atm3.fcst autoplot(atm3.ts) +
autolayer(atm3.fcst, PI=FALSE)
Seeing the time series plot, it is apparent that there is seasonality in this series. ACF shows a decrease in every 7th lag. From the PACF, there are few significant lags at the beginning but others within critical limit. Overall, it is non stationary, having seasonality and might require differencing for it to become stationary.
<- atm.new %>% filter(ATM=="ATM4") %>% select(Cash) %>% ts(frequency = 7)
atm4.ts ggtsdisplay(atm4.ts, main="ATM4 Cash Withdrawal", ylab="cash withdrawal", xlab="week")
From the subseries plot, it is clear that Sunday is having highest mean for cash withdrawl while Saturday has the lowest.
ggsubseriesplot(atm4.ts, main="ATM4 Cash Withdrawal")
Next step is to apply BoxCox transformation. With \(\lambda\) being 0.45, the resulting transformation does handle the variablity in time series as shown in below transformed plot.
<- BoxCox.lambda(atm4.ts)
atm4.lambda <- BoxCox(atm4.ts, atm4.lambda )
atm4.ts.bc ggtsdisplay(atm4.ts.bc, main=paste("ATM4 Cash Withdrawal",round(atm4.lambda, 3)), ylab="cash withdrawal", xlab="week")
# Number of differences required for a stationary series
ndiffs(atm4.ts.bc)
## [1] 0
# Number of differences required for a seasonally stationary series
nsdiffs(atm4.ts.bc)
## [1] 0
It shows number of differences required is 0 for boxcox transformed data.
%>% ur.kpss() %>% summary() atm4.ts.bc
##
## #######################
## # KPSS Unit Root Test #
## #######################
##
## Test is of type: mu with 5 lags.
##
## Value of test-statistic is: 0.0792
##
## Critical value for a significance level of:
## 10pct 5pct 2.5pct 1pct
## critical values 0.347 0.463 0.574 0.739
We can see the test statistic small and well within the range we would expect for stationary data. So we can conclude that the data are stationary.
%>% ggtsdisplay() atm4.ts.bc
First we will start with Holt-Winters damped method. Damping is possible with both additive and multiplicative Holt-Winters’ methods. This method often provides accurate and robust forecasts for seasonal data is the Holt-Winters method with a damped trend.
# Holt Winters
%>% hw(h=31, seasonal = "additive", lambda = atm4.lambda, damped = TRUE) atm4.ts
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 53.14286 326.46664 5.361266e+01 872.7889 4.7560920 1283.0394
## 53.28571 390.55947 7.881312e+01 980.9502 12.8286778 1416.0583
## 53.42857 397.88339 8.186526e+01 993.0862 13.9675943 1430.9036
## 53.57143 88.16707 -1.188133e-04 412.7690 -21.7513686 696.1136
## 53.71429 437.83425 9.906165e+01 1058.5849 20.8852913 1510.7692
## 53.85714 284.50971 3.881453e+01 799.7425 1.5164332 1192.4004
## 54.00000 507.20922 1.308726e+02 1169.8559 35.4549744 1645.5454
## 54.14286 324.77262 5.208909e+01 874.0891 4.2406561 1287.4075
## 54.28571 388.90207 7.701404e+01 982.6924 11.9597845 1421.1069
## 54.42857 396.39921 8.010639e+01 995.1580 13.0852412 1436.3713
## 54.57143 87.59346 -4.150601e-03 414.2213 -22.8793652 700.0263
## 54.71429 436.60517 9.725297e+01 1061.2815 19.8415430 1517.0757
## 54.85714 283.65049 3.777331e+01 802.2506 1.2832703 1198.1842
## 55.00000 506.16225 1.288966e+02 1173.1625 34.1181908 1652.7103
## 55.14286 324.04660 5.092781e+01 877.1018 3.8375566 1293.9333
## 55.28571 388.19148 7.560926e+01 986.0591 11.2521458 1428.1862
## 55.42857 395.76275 7.870397e+01 998.6853 12.3531475 1443.6612
## 55.57143 87.34775 -1.273091e-02 416.4752 -23.8878631 705.0385
## 55.71429 436.07791 9.575384e+01 1065.1735 18.9437425 1524.8790
## 55.85714 283.28192 3.689963e+01 805.6726 1.0925953 1205.1449
## 56.00000 505.71298 1.272021e+02 1177.4724 32.9319224 1661.1294
## 56.14286 323.73508 4.992740e+01 880.8442 3.4901477 1301.3790
## 56.28571 387.88653 7.438035e+01 990.1166 10.6232674 1436.1287
## 56.42857 395.48959 7.746167e+01 1002.8304 11.6956591 1451.7237
## 56.57143 87.24235 -2.513721e-02 419.0707 -24.8511354 710.5204
## 56.71429 435.85159 9.439585e+01 1069.5705 18.1202396 1533.3133
## 56.85714 283.12372 3.610421e+01 809.4805 0.9275239 1212.6021
## 57.00000 505.52010 1.256379e+02 1182.2034 31.8238709 1670.0733
## 57.14286 323.60135 4.900310e+01 884.8928 3.1755185 1309.2095
## 57.28571 387.75561 7.323505e+01 994.4625 10.0390607 1444.4301
## 57.42857 395.37231 7.629643e+01 1007.2323 11.0813715 1460.1059
Next is to apply exponential smoothing method on this time series. It shows that the ETS(A, N, A) model best fits for the transformed ATM4, i.e. exponential smoothing with additive error, no trend component and additive seasonality.
# ETS
%>% ets(lambda = atm4.lambda) atm4.ts
## ETS(A,N,A)
##
## Call:
## ets(y = ., lambda = atm4.lambda)
##
## Box-Cox transformation: lambda= 0.4498
##
## Smoothing parameters:
## alpha = 1e-04
## gamma = 0.1035
##
## Initial states:
## l = 28.6369
## s = -18.6503 -3.3529 1.6831 4.7437 5.4471 4.9022
## 5.2271
##
## sigma: 12.9202
##
## AIC AICc BIC
## 4032.268 4032.890 4071.267
Next we will find out the appropriate ARIMA model for this time series. The suggested model seeems ARIMA(0,0,1)(2,0,0)[7] with non-zero mean.
# Arima
<- atm4.ts %>% auto.arima(lambda = atm4.lambda)
atm4.fit3 atm4.fit3
## Series: .
## ARIMA(0,0,1)(2,0,0)[7] with non-zero mean
## Box Cox transformation: lambda= 0.449771
##
## Coefficients:
## ma1 sar1 sar2 mean
## 0.0790 0.2078 0.2023 28.6364
## s.e. 0.0527 0.0516 0.0525 1.2405
##
## sigma^2 estimated as 176.5: log likelihood=-1460.57
## AIC=2931.14 AICc=2931.3 BIC=2950.64
Next is to see residuals time series plot which shows residuals are being near normal with mean of the residuals being near to zero. Also there is no significant autocorrelation that confirms that forecasts are good.
checkresiduals(atm4.fit3)
##
## Ljung-Box test
##
## data: Residuals from ARIMA(0,0,1)(2,0,0)[7] with non-zero mean
## Q* = 16.645, df = 10, p-value = 0.0826
##
## Model df: 4. Total lags used: 14
Next is to plot the forecast for all the considered models above which will shows a nice visual comparison. it will also show a zoomed in plot to have a clearer view.
<- forecast(atm4.fit3, h=31)
atm4.arima.fcst atm.forecast(atm4.ts)
## Scale for 'x' is already present. Adding another scale for 'x', which will
## replace the existing scale.
model_accuracy(atm4.ts,4)
## Holt-Winters ETS ARIMA
## 1 360.3953 360.7951 315.7226
Finally we will do forecast for May 2010 for all 4 ATMs and save it in an excel. Here are the best fit models for cash withdrawls forecast of all 4 ATMs.
<- seq(as.Date('2010-05-01'), as.Date('2010-05-31'), by="day")
Date <- c(rep('ATM1',31),rep('ATM2',31),rep('ATM3',31),rep('ATM4',31))
ATM =c(atm1.arima.fcst$mean, atm2.arima.fcst$mean, atm3.fcst$mean,atm4.arima.fcst$mean)
Cash
write.xlsx(data.frame(Date, ATM, Cash),
"Kapoor_data624_atm_forecasts.xlsx")
<- read_excel("Kapoor_data624_atm_forecasts.xlsx", skip=0, col_types = c("date","text","numeric"))
pow.fcst.ak %>%
pow.fcst.ak kbl() %>%
kable_paper() %>%
scroll_box(width = "500px", height = "200px")
Date | ATM | Cash |
---|---|---|
2010-05-01 | ATM1 | 86.6586443 |
2010-05-02 | ATM1 | 100.5720071 |
2010-05-03 | ATM1 | 73.7188092 |
2010-05-04 | ATM1 | 4.2285430 |
2010-05-05 | ATM1 | 100.1587348 |
2010-05-06 | ATM1 | 79.3468403 |
2010-05-07 | ATM1 | 85.7338546 |
2010-05-08 | ATM1 | 87.1676511 |
2010-05-09 | ATM1 | 100.3884814 |
2010-05-10 | ATM1 | 73.7188092 |
2010-05-11 | ATM1 | 4.2285430 |
2010-05-12 | ATM1 | 100.1587348 |
2010-05-13 | ATM1 | 79.3468403 |
2010-05-14 | ATM1 | 85.7338546 |
2010-05-15 | ATM1 | 87.1676511 |
2010-05-16 | ATM1 | 100.3884814 |
2010-05-17 | ATM1 | 73.7188092 |
2010-05-18 | ATM1 | 4.2285430 |
2010-05-19 | ATM1 | 100.1587348 |
2010-05-20 | ATM1 | 79.3468403 |
2010-05-21 | ATM1 | 85.7338546 |
2010-05-22 | ATM1 | 87.1676511 |
2010-05-23 | ATM1 | 100.3884814 |
2010-05-24 | ATM1 | 73.7188092 |
2010-05-25 | ATM1 | 4.2285430 |
2010-05-26 | ATM1 | 100.1587348 |
2010-05-27 | ATM1 | 79.3468403 |
2010-05-28 | ATM1 | 85.7338546 |
2010-05-29 | ATM1 | 87.1676511 |
2010-05-30 | ATM1 | 100.3884814 |
2010-05-31 | ATM1 | 73.7188092 |
2010-05-01 | ATM2 | 57.0022951 |
2010-05-02 | ATM2 | 62.2798852 |
2010-05-03 | ATM2 | 7.2063600 |
2010-05-04 | ATM2 | 0.3456494 |
2010-05-05 | ATM2 | 89.8398423 |
2010-05-06 | ATM2 | 81.5691544 |
2010-05-07 | ATM2 | 60.0626996 |
2010-05-08 | ATM2 | 57.4480083 |
2010-05-09 | ATM2 | 62.8071210 |
2010-05-10 | ATM2 | 7.4370968 |
2010-05-11 | ATM2 | 0.4060141 |
2010-05-12 | ATM2 | 90.1467675 |
2010-05-13 | ATM2 | 81.8753121 |
2010-05-14 | ATM2 | 60.1929496 |
2010-05-15 | ATM2 | 57.5248105 |
2010-05-16 | ATM2 | 62.9411138 |
2010-05-17 | ATM2 | 7.4704488 |
2010-05-18 | ATM2 | 0.3941616 |
2010-05-19 | ATM2 | 90.1268184 |
2010-05-20 | ATM2 | 81.8627435 |
2010-05-21 | ATM2 | 60.0812606 |
2010-05-22 | ATM2 | 57.3871088 |
2010-05-23 | ATM2 | 62.8416413 |
2010-05-24 | ATM2 | 7.3874716 |
2010-05-25 | ATM2 | 0.3413394 |
2010-05-26 | ATM2 | 89.9145967 |
2010-05-27 | ATM2 | 81.6613847 |
2010-05-28 | ATM2 | 59.8298098 |
2010-05-29 | ATM2 | 57.1252090 |
2010-05-30 | ATM2 | 62.6036986 |
2010-05-31 | ATM2 | 7.2370006 |
2010-05-01 | ATM3 | 87.6666667 |
2010-05-02 | ATM3 | 87.6666667 |
2010-05-03 | ATM3 | 87.6666667 |
2010-05-04 | ATM3 | 87.6666667 |
2010-05-05 | ATM3 | 87.6666667 |
2010-05-06 | ATM3 | 87.6666667 |
2010-05-07 | ATM3 | 87.6666667 |
2010-05-08 | ATM3 | 87.6666667 |
2010-05-09 | ATM3 | 87.6666667 |
2010-05-10 | ATM3 | 87.6666667 |
2010-05-11 | ATM3 | 87.6666667 |
2010-05-12 | ATM3 | 87.6666667 |
2010-05-13 | ATM3 | 87.6666667 |
2010-05-14 | ATM3 | 87.6666667 |
2010-05-15 | ATM3 | 87.6666667 |
2010-05-16 | ATM3 | 87.6666667 |
2010-05-17 | ATM3 | 87.6666667 |
2010-05-18 | ATM3 | 87.6666667 |
2010-05-19 | ATM3 | 87.6666667 |
2010-05-20 | ATM3 | 87.6666667 |
2010-05-21 | ATM3 | 87.6666667 |
2010-05-22 | ATM3 | 87.6666667 |
2010-05-23 | ATM3 | 87.6666667 |
2010-05-24 | ATM3 | 87.6666667 |
2010-05-25 | ATM3 | 87.6666667 |
2010-05-26 | ATM3 | 87.6666667 |
2010-05-27 | ATM3 | 87.6666667 |
2010-05-28 | ATM3 | 87.6666667 |
2010-05-29 | ATM3 | 87.6666667 |
2010-05-30 | ATM3 | 87.6666667 |
2010-05-31 | ATM3 | 87.6666667 |
2010-05-01 | ATM4 | 239.7979583 |
2010-05-02 | ATM4 | 346.9440740 |
2010-05-03 | ATM4 | 421.5648644 |
2010-05-04 | ATM4 | 159.6944234 |
2010-05-05 | ATM4 | 385.1453661 |
2010-05-06 | ATM4 | 263.9577995 |
2010-05-07 | ATM4 | 328.3982051 |
2010-05-08 | ATM4 | 209.4374649 |
2010-05-09 | ATM4 | 382.4595340 |
2010-05-10 | ATM4 | 373.0129669 |
2010-05-11 | ATM4 | 201.7099184 |
2010-05-12 | ATM4 | 354.7975149 |
2010-05-13 | ATM4 | 243.9843388 |
2010-05-14 | ATM4 | 368.1424296 |
2010-05-15 | ATM4 | 292.8743266 |
2010-05-16 | ATM4 | 354.0063792 |
2010-05-17 | ATM4 | 366.6870237 |
2010-05-18 | ATM4 | 271.2571543 |
2010-05-19 | ATM4 | 355.9792548 |
2010-05-20 | ATM4 | 306.6311697 |
2010-05-21 | ATM4 | 347.3093062 |
2010-05-22 | ATM4 | 304.8318050 |
2010-05-23 | ATM4 | 355.2934571 |
2010-05-24 | ATM4 | 356.0600938 |
2010-05-25 | ATM4 | 298.2412327 |
2010-05-26 | ATM4 | 350.2377260 |
2010-05-27 | ATM4 | 316.0619880 |
2010-05-28 | ATM4 | 351.0947381 |
2010-05-29 | ATM4 | 326.6117087 |
2010-05-30 | ATM4 | 349.9374740 |
2010-05-31 | ATM4 | 352.6257802 |
The dataset contains residential power usage for January 1998 until December 2013. Its monthly data from 1998 and power consumed is in KWH column. This dataset contains a total 192 records.
download.file(
url="https://github.com/amit-kapoor/data624/blob/main/Project1/ResidentialCustomerForecastLoad-624.xlsx?raw=true",
destfile = temp.file,
mode = "wb",
quiet = TRUE)
<- read_excel(temp.file, skip=0, col_types = c("numeric","text","numeric"))
power.data
head(power.data)
## # A tibble: 6 x 3
## CaseSequence `YYYY-MMM` KWH
## <dbl> <chr> <dbl>
## 1 733 1998-Jan 6862583
## 2 734 1998-Feb 5838198
## 3 735 1998-Mar 5420658
## 4 736 1998-Apr 5010364
## 5 737 1998-May 4665377
## 6 738 1998-Jun 6467147
Seeing the plot closely, it is apparent that there is an outlier and a missing entry too. We will use the tsclean function to take care of missing entry and outlier in the data. Other than this data seems to be good shape.
$`YYYY-MMM` <- paste0(power.data$`YYYY-MMM`,"-01")
power.data$Date <- lubridate::ymd(power.data$`YYYY-MMM`)
power.data
ggplot(power.data, aes(x=Date, y=KWH )) +
geom_line(color="darkblue")
We will first create the time series of given data and then perform tsclean function.
<- ts(power.data$KWH, start=c(1998, 1), frequency = 12)
power.ts head(power.ts)
## Jan Feb Mar Apr May Jun
## 1998 6862583 5838198 5420658 5010364 4665377 6467147
%>% summary() power.ts
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 770523 5429912 6283324 6502475 7620524 10655730 1
<- tsclean(power.ts)
power.ts %>% summary() power.ts
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4313019 5443502 6351262 6529701 7608792 10655730
It is apparent that tsclean did take care of NA’s and outlier in the data.
So far we have analyzed the data and perform data cleaning to handle missing and outlier data. In this section we will delve into the time series and see the models that perform best for prediction.
ggtsdisplay(power.ts, main="Residential Power Usage", ylab="Power Used", xlab="Month")
From the above time series plot, it is evident that seasonality exists in the data. We dont see a trend in the data. ACF plot sgows the auto correlation and PACF shows few significant lags in the beginning. Overall, it shows seasonality and non stationary data. It could require differencing to make it stationary which will be confirmed in further steps.
ggsubseriesplot(power.ts, main="Pwer Usage Subseries Plot", ylab="Power Used")
ggseasonplot(power.ts, polar=TRUE, main="Power Usage Seasonal Plot", ylab="Power Used")
The seasonal plots above shows a decline in power usage from Jan to May, increase till Aug and then decline in Nov. Aug is the month of most power consumption.
gglagplot(power.ts )
In the above lagplot, colors show different month. The lines connect points in chronological order. The relationship is strongly positive at lag 12, reflecting the strong seasonality in the data.
Next step is to apply Box-Cox transformation and check the transformed data.
<- BoxCox.lambda(power.ts)
powerts.lambda <- BoxCox(power.ts, powerts.lambda )
power.ts.bc ggtsdisplay(power.ts, main=paste("Residential Power Usage",round(powerts.lambda, 3)), ylab="Power Used", xlab="Month")
The Box-Cox transformation above did handle the variation in the data with \(\lambda\) as 0.144 and appears stable now. Next we see that Number of differences required for a stationary and seasonally stationary series are 1.
# Number of differences required for a stationary series
ndiffs(power.ts.bc)
## [1] 1
# Number of differences required for a seasonally stationary series
nsdiffs(power.ts.bc)
## [1] 1
It shows number of differences required is 1 for boxcox transformed data.
%>% diff(lag=12) %>% ur.kpss() %>% summary() power.ts.bc
##
## #######################
## # KPSS Unit Root Test #
## #######################
##
## Test is of type: mu with 4 lags.
##
## Value of test-statistic is: 0.1049
##
## Critical value for a significance level of:
## 10pct 5pct 2.5pct 1pct
## critical values 0.347 0.463 0.574 0.739
We can see the test statistic small and well within the range we would expect for stationary data. So we can conclude that the data are stationary.
%>%
power.ts.bc diff(lag=12) %>%
ggtsdisplay(main="Residential Power Usage", ylab="Power Used", xlab="Month")
Now we will apply four models in this time series: Holt Winters additive with damped True, Holt Winters multiplicative with damped True, exponential smoothing and arima. First we will start with Holt-Winters damped method. Damping is possible with both additive and multiplicative Holt-Winters’ methods. This method often provides accurate and robust forecasts for seasonal data is the Holt-Winters method with a damped trend.
# Holt Winters additive with damped True
%>% hw(h=31, seasonal = "additive", lambda = powerts.lambda, damped = TRUE) power.ts
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Jan 2014 9107297 8076875 10290936 7585779 10988269
## Feb 2014 7770646 6904466 8763438 6490967 9347335
## Mar 2014 6660179 5928390 7497188 5578499 7988664
## Apr 2014 5969397 5319026 6712381 5007781 7148238
## May 2014 5625182 5013393 6323915 4720557 6733732
## Jun 2014 7275964 6451637 8223053 6058824 8781111
## Jul 2014 8859946 7822939 10057288 7330606 10765524
## Aug 2014 9322020 8216844 10600620 7692933 11358099
## Sep 2014 8668636 7644836 9852384 7159284 10553344
## Oct 2014 6321057 5601315 7148606 5258532 7636511
## Nov 2014 5469798 4855427 6174761 4562382 6589737
## Dec 2014 6775208 5987467 7683813 5613190 8220830
## Jan 2015 9113992 8005052 10402262 7480984 11167935
## Feb 2015 7776112 6844659 8855485 6403639 9495747
## Mar 2015 6664665 5878334 7573701 5505361 8111924
## Apr 2015 5973271 5274971 6779388 4943398 7256143
## May 2015 5628725 4972370 6386125 4660623 6833931
## Jun 2015 7280622 6397096 8306589 5979421 8916161
## Jul 2015 8865659 7755195 10161867 7232276 10935129
## Aug 2015 9327948 8145442 10711046 7589442 11537448
## Sep 2015 8673977 7579322 9953345 7064335 10717313
## Oct 2015 6324700 5555572 7218128 5192069 7749092
## Nov 2015 5472821 4816718 6233216 4506100 6684315
## Dec 2015 6778989 5938447 7758475 5542135 8342027
## Jan 2016 9119188 7936962 10507290 7382692 11339177
## Feb 2016 7780354 6787930 8942347 6321671 9637208
## Mar 2016 6668146 5830831 7645926 5436663 8229419
## Apr 2016 5976278 5233146 6842661 4882887 7359020
## May 2016 5631476 4933411 6444895 4604266 6929491
## Jun 2016 7284237 6345305 8385579 5904772 9045098
## Jul 2016 8870093 7690866 10260839 7139837 11097210
# Holt Winters multiplicative with damped True
%>% hw(h=31, seasonal = "multiplicative", damped = TRUE) power.ts
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Jan 2014 9017833 7957065 10078601 7395529 10640137
## Feb 2014 7828457 6875211 8781704 6370593 9286322
## Mar 2014 6739385 5891755 7587016 5443046 8035725
## Apr 2014 5958146 5185614 6730678 4776661 7139631
## May 2014 5658721 4903631 6413811 4503910 6813531
## Jun 2014 7362538 6353007 8372069 5818594 8906483
## Jul 2014 8756962 7524819 9989104 6872562 10641361
## Aug 2014 9316480 7972982 10659977 7261778 11371181
## Sep 2014 8596291 7327223 9865359 6655419 10537163
## Oct 2014 6299672 5348552 7250791 4845060 7754283
## Nov 2014 5499685 4651304 6348065 4202198 6797171
## Dec 2014 6805669 5733940 7877398 5166601 8444737
## Jan 2015 9020418 7571435 10469400 6804390 11236445
## Feb 2015 7830653 6548528 9112778 5869812 9791493
## Mar 2015 6741234 5616962 7865507 5021809 8460660
## Apr 2015 5959745 4947971 6971519 4412371 7507120
## May 2015 5660207 4682622 6637793 4165119 7155295
## Jun 2015 7364430 6071164 8657697 5386550 9342311
## Jul 2015 8759163 7195971 10322356 6368467 11149860
## Aug 2015 9318772 7629505 11008038 6735261 11902282
## Sep 2015 8598360 7015852 10180868 6178123 11018597
## Oct 2015 6301155 5124217 7478094 4501183 8101127
## Nov 2015 5500952 4458640 6543264 3906873 7095031
## Dec 2015 6807204 5499264 8115143 4806883 8807524
## Jan 2016 9022407 7265105 10779709 6334846 11709969
## Feb 2016 7832343 6286498 9378187 5468177 10196508
## Mar 2016 6742658 5394587 8090729 4680961 8804355
## Apr 2016 5960977 4754078 7167875 4115184 7806769
## May 2016 5661351 4500929 6821774 3886639 7436064
## Jun 2016 7365887 5837827 8893947 5028921 9702853
## Jul 2016 8760859 6921934 10599783 5948466 11573251
Next model to ETS: Exponential Smoothing methods.
# exponential smoothing
%>% ets(lambda = powerts.lambda, biasadj = TRUE) power.ts
## ETS(A,Ad,A)
##
## Call:
## ets(y = ., lambda = powerts.lambda, biasadj = TRUE)
##
## Box-Cox transformation: lambda= -0.1443
##
## Smoothing parameters:
## alpha = 0.118
## beta = 1e-04
## gamma = 1e-04
## phi = 0.979
##
## Initial states:
## l = 6.1998
## b = 1e-04
## s = -0.006 -0.0285 -0.0132 0.019 0.0263 0.0212
## 0.0014 -0.0255 -0.0192 -0.0077 0.0081 0.024
##
## sigma: 0.0094
##
## AIC AICc BIC
## -765.9795 -762.0258 -707.3446
We can see here that the ets model that best describes the data is ETS(A,Ad,A) i.e. exponential smoothing with additive error, additive damped trend and additive seasonality.
Next we will find the best Arima model that fits this time series data.
<- power.ts %>% auto.arima(lambda = powerts.lambda, biasadj = TRUE)
power.fit4 power.fit4
## Series: .
## ARIMA(0,0,1)(2,1,0)[12] with drift
## Box Cox transformation: lambda= -0.1442665
##
## Coefficients:
## ma1 sar1 sar2 drift
## 0.2563 -0.7036 -0.3817 1e-04
## s.e. 0.0809 0.0734 0.0748 1e-04
##
## sigma^2 estimated as 8.869e-05: log likelihood=585.32
## AIC=-1160.65 AICc=-1160.3 BIC=-1144.68
The best Arima model comes out is ARIMA(0,0,1)(2,1,0)[12] with drift.
checkresiduals(power.fit4)
##
## Ljung-Box test
##
## data: Residuals from ARIMA(0,0,1)(2,1,0)[12] with drift
## Q* = 28.193, df = 20, p-value = 0.1049
##
## Model df: 4. Total lags used: 24
Next is to plot the forecasts using all of 4 models described above: HW additive, HW multiplicative, ets and arima. For this, we will create a generic function which will accept the time series and plot the forecast for all these 4 models. There is also a zoomed in plot of the forecast for better clarity.
# function to plot forecast(s)
<- function(timeseries) {
power.forecast # lambda value
<- BoxCox.lambda(timeseries)
lambda
# models for forecast
<- timeseries %>% hw(h=12, seasonal = "additive", lambda = lambda, damped = TRUE)
hwa.model <- timeseries %>% hw(h=12, seasonal = "multiplicative", damped = TRUE)
hwm.model <- timeseries %>% ets(lambda = lambda )
ets.model <- timeseries %>% auto.arima(lambda = lambda, biasadj = TRUE)
arima.model
# forecast
<- forecast(hwa.model, h=12)
pow.hwa.fcst <- forecast(hwm.model, h=12)
pow.hwm.fcst <- forecast(ets.model, h=12)
pow.ets.fcst <- forecast(arima.model, h=12)
pow.arima.fcst
# plot forecasts
<- autoplot(timeseries) +
p1 autolayer(pow.hwa.fcst, PI=FALSE, series="Holt-Winters Additive") +
autolayer(pow.hwm.fcst, PI=FALSE, series="Holt-Winters Multiplicative") +
autolayer(pow.ets.fcst, PI=FALSE, series="ETS") +
autolayer(pow.arima.fcst, PI=FALSE, series="ARIMA") +
theme(legend.position = "top") +
ylab("Power Used")
# zoom in plot
<- p1 +
p2 labs(title = "Zoom in ") +
xlim(c(2012,2015))
grid.arrange(p1,p2,ncol=1)
}
Lets plot the forecast now using the above function for power usage.
<- forecast(power.fit4, h=12)
power.arima.fcst power.forecast(power.ts)
## Scale for 'x' is already present. Adding another scale for 'x', which will
## replace the existing scale.
Now we will check the accuracy of all 4 models. Again for this purpose, we have created a function that accepts the timeseries and divide the data for training and testing. In this function we will first divide the data for training and testing, train all models with train set and then find out RMSE using test data.
<- function(timeseries) {
powm_accuracy # lambda value
<- BoxCox.lambda(timeseries)
lambda
# split the data to train and test
<- window(timeseries, end=c(2009, 12))
train <- window(timeseries, start=2010)
test
# models for forecast
<- train %>% hw(h=length(train), seasonal = "additive", lambda = lambda, damped = TRUE)
hwa.model <- train %>% hw(h=length(train), seasonal = "multiplicative", damped = TRUE)
hwm.model <- train %>% ets(model="AAA", lambda = lambda, biasadj = TRUE)
ets.model <- train %>% Arima(order=c(0,0,1),
arima.model seasonal = c(2,1,0),
include.drift = TRUE,
lambda = lambda,
biasadj = TRUE)
# forecast
= forecast(hwa.model, h = length(test))$mean
hwa.frct = forecast(hwm.model, h = length(test))$mean
hwm.frct = forecast(ets.model, h = length(test))$mean
ets.frct = forecast(arima.model, h = length(test))$mean
arima.frct
# dataframe having rmse
= data.frame(RMSE=cbind(accuracy(hwa.frct, test)[,2],
rmse accuracy(hwm.frct, test)[,2],
accuracy(ets.frct, test)[,2],
accuracy(arima.frct, test)[,2]))
names(rmse) = c("Holt-Winters Additive", "Holt-Winters Multiplicative", "ETS", "ARIMA")
# display rmse
rmse }
powm_accuracy(power.ts)
## Holt-Winters Additive Holt-Winters Multiplicative ETS ARIMA
## 1 1172803 1141901 1151275 950035.4
Thus ARIMA(0,0,1)(2,1,0)[12] with drift has been the best model to describe the gicen time series.
In this last step we will perform the forecast for 2014.
<- seq(as.Date('2014-01-01'), as.Date('2014-12-01'), by="month") %>% format("%Y-%b")
pow.fcst.date
write.xlsx(data.frame('DateTime' = pow.fcst.date, 'Waterflow'= power.arima.fcst$mean),
"Kapoor_data624_pow_forecasts.xlsx")
<- read_excel("Kapoor_data624_pow_forecasts.xlsx", skip=0, col_types = c("text","numeric"))
pow.fcst.ak %>%
pow.fcst.ak kbl() %>%
kable_paper() %>%
scroll_box(width = "500px", height = "200px")
DateTime | Waterflow |
---|---|
2014-Jan | 9501939 |
2014-Feb | 8519991 |
2014-Mar | 6633101 |
2014-Apr | 5970555 |
2014-May | 5921709 |
2014-Jun | 8262795 |
2014-Jul | 9524528 |
2014-Aug | 10077395 |
2014-Sep | 8489194 |
2014-Oct | 5838172 |
2014-Nov | 6108522 |
2014-Dec | 7596503 |
In part C we have been provided 2 datasets for waterflow pipes. These are simple 2 columns sets, however they have different time stamps. Each dataset contains 1000 records and has no missing data.
download.file(url="https://github.com/amit-kapoor/data624/blob/main/Project1/Waterflow_Pipe1.xlsx?raw=true",
destfile = temp.file,
mode = "wb",
quiet = TRUE)
<- read_excel(temp.file, skip=0, col_types = c("date","numeric"))
pipe1.data
download.file(url="https://github.com/amit-kapoor/data624/blob/main/Project1/Waterflow_Pipe2.xlsx?raw=true",
destfile = temp.file,
mode = "wb",
quiet = TRUE)
<- read_excel(temp.file, skip=0, col_types = c("date","numeric")) pipe2.data
It is apparent here that the data is recorded on different time intervals for pipe1 and pipe2. For pipe1 it shows records for multiple time intervals within an hour i.e. not evenly distributed while for pipe2 it seems hourly recorded.
%>%
pipe1.data kbl() %>%
kable_paper() %>%
scroll_box(width = "500px", height = "200px")
Date Time | WaterFlow |
---|---|
2015-10-23 00:24:06 | 23.369599 |
2015-10-23 00:40:02 | 28.002881 |
2015-10-23 00:53:51 | 23.065895 |
2015-10-23 00:55:40 | 29.972809 |
2015-10-23 01:19:17 | 5.997953 |
2015-10-23 01:23:58 | 15.935223 |
2015-10-23 01:50:05 | 26.617330 |
2015-10-23 01:55:33 | 33.282900 |
2015-10-23 01:59:15 | 12.426692 |
2015-10-23 02:51:51 | 21.833494 |
2015-10-23 02:59:49 | 8.483647 |
2015-10-23 03:14:40 | 29.336901 |
2015-10-23 03:18:09 | 19.809146 |
2015-10-23 03:22:13 | 31.019744 |
2015-10-23 03:46:57 | 18.339962 |
2015-10-23 03:59:21 | 16.888527 |
2015-10-23 04:11:50 | 13.664312 |
2015-10-23 04:45:43 | 17.300074 |
2015-10-23 05:05:41 | 23.260984 |
2015-10-23 05:13:49 | 8.152496 |
2015-10-23 05:14:38 | 19.875628 |
2015-10-23 05:15:41 | 32.886499 |
2015-10-23 05:16:57 | 22.260364 |
2015-10-23 05:32:35 | 5.778369 |
2015-10-23 05:42:52 | 32.545557 |
2015-10-23 05:44:30 | 30.687744 |
2015-10-23 05:45:52 | 29.080907 |
2015-10-23 06:03:38 | 30.047784 |
2015-10-23 06:17:16 | 5.752456 |
2015-10-23 06:33:18 | 30.414162 |
2015-10-23 06:33:38 | 26.175716 |
2015-10-23 06:38:30 | 27.155307 |
2015-10-23 06:42:23 | 13.605943 |
2015-10-23 06:56:22 | 11.184568 |
2015-10-23 06:59:29 | 20.383057 |
2015-10-23 07:36:34 | 13.405331 |
2015-10-23 07:55:43 | 14.461091 |
2015-10-23 07:56:42 | 27.234671 |
2015-10-23 08:11:22 | 9.089498 |
2015-10-23 08:26:45 | 29.162384 |
2015-10-23 08:58:29 | 24.123214 |
2015-10-23 09:00:59 | 6.207443 |
2015-10-23 09:11:30 | 27.666923 |
2015-10-23 09:35:45 | 29.781898 |
2015-10-23 10:01:02 | 19.035463 |
2015-10-23 10:05:50 | 14.539055 |
2015-10-23 10:35:35 | 16.304829 |
2015-10-23 11:02:31 | 9.089600 |
2015-10-23 11:03:49 | 24.160478 |
2015-10-23 11:38:25 | 33.013436 |
2015-10-23 12:05:33 | 14.924758 |
2015-10-23 12:35:50 | 20.688466 |
2015-10-23 12:51:15 | 25.396306 |
2015-10-23 13:33:23 | 21.661800 |
2015-10-23 13:38:34 | 23.214093 |
2015-10-23 13:43:01 | 3.811189 |
2015-10-23 14:02:58 | 37.300056 |
2015-10-23 14:09:09 | 26.468501 |
2015-10-23 14:10:47 | 30.532230 |
2015-10-23 14:25:31 | 10.910886 |
2015-10-23 14:36:05 | 31.534557 |
2015-10-23 14:47:50 | 13.552525 |
2015-10-23 15:14:25 | 27.485792 |
2015-10-23 15:36:54 | 19.136787 |
2015-10-23 15:39:17 | 26.371215 |
2015-10-23 15:51:58 | 17.623757 |
2015-10-23 16:03:43 | 26.704584 |
2015-10-23 16:14:34 | 36.172465 |
2015-10-23 16:37:56 | 24.153054 |
2015-10-23 16:39:04 | 27.510917 |
2015-10-23 16:42:38 | 34.642728 |
2015-10-23 16:47:07 | 16.144607 |
2015-10-23 17:17:42 | 18.210857 |
2015-10-23 17:29:30 | 7.485977 |
2015-10-23 17:30:54 | 14.821554 |
2015-10-23 18:08:57 | 15.446337 |
2015-10-23 18:16:06 | 21.084892 |
2015-10-23 18:19:09 | 32.985346 |
2015-10-23 18:57:19 | 13.270245 |
2015-10-23 19:32:08 | 15.531714 |
2015-10-23 19:58:32 | 22.678874 |
2015-10-23 19:58:37 | 19.404605 |
2015-10-23 20:14:39 | 23.996745 |
2015-10-23 20:23:36 | 18.409485 |
2015-10-23 20:28:04 | 21.749392 |
2015-10-23 20:28:35 | 25.759675 |
2015-10-23 20:36:14 | 20.225869 |
2015-10-23 20:42:16 | 16.523979 |
2015-10-23 20:46:01 | 9.328124 |
2015-10-23 20:51:55 | 30.186021 |
2015-10-23 21:51:09 | 15.092513 |
2015-10-23 22:13:42 | 16.576799 |
2015-10-23 22:18:18 | 20.801956 |
2015-10-23 23:03:05 | 33.220434 |
2015-10-23 23:11:28 | 3.468986 |
2015-10-23 23:30:00 | 24.980254 |
2015-10-24 00:01:41 | 14.899085 |
2015-10-24 00:11:45 | 18.882710 |
2015-10-24 00:19:33 | 14.917666 |
2015-10-24 00:39:46 | 14.611356 |
2015-10-24 00:50:17 | 8.291781 |
2015-10-24 01:01:09 | 32.224859 |
2015-10-24 01:04:35 | 12.116040 |
2015-10-24 01:08:54 | 3.540229 |
2015-10-24 01:13:28 | 29.955002 |
2015-10-24 01:15:36 | 10.685479 |
2015-10-24 01:23:34 | 4.333859 |
2015-10-24 01:35:40 | 31.906732 |
2015-10-24 01:38:00 | 19.858555 |
2015-10-24 02:14:49 | 27.823642 |
2015-10-24 02:35:30 | 30.243204 |
2015-10-24 02:56:57 | 27.224879 |
2015-10-24 03:16:19 | 17.359630 |
2015-10-24 03:20:17 | 23.114636 |
2015-10-24 03:29:55 | 17.968616 |
2015-10-24 03:40:09 | 18.797541 |
2015-10-24 03:45:18 | 15.543472 |
2015-10-24 04:03:12 | 21.289698 |
2015-10-24 04:05:39 | 14.368194 |
2015-10-24 04:07:10 | 37.529108 |
2015-10-24 04:07:56 | 22.403861 |
2015-10-24 04:08:05 | 29.825719 |
2015-10-24 04:14:01 | 28.857015 |
2015-10-24 04:30:39 | 31.655559 |
2015-10-24 05:34:32 | 20.618727 |
2015-10-24 05:49:02 | 19.895307 |
2015-10-24 06:28:49 | 17.667198 |
2015-10-24 06:43:33 | 19.604548 |
2015-10-24 06:51:14 | 13.292335 |
2015-10-24 07:22:27 | 32.916568 |
2015-10-24 07:43:00 | 30.530947 |
2015-10-24 07:46:31 | 15.630320 |
2015-10-24 07:50:05 | 36.094851 |
2015-10-24 07:55:17 | 14.727994 |
2015-10-24 08:09:17 | 35.615230 |
2015-10-24 08:13:31 | 3.374230 |
2015-10-24 08:22:08 | 28.994393 |
2015-10-24 08:30:07 | 8.709073 |
2015-10-24 08:36:27 | 12.166129 |
2015-10-24 08:55:56 | 25.880772 |
2015-10-24 08:59:09 | 15.914648 |
2015-10-24 09:03:51 | 35.387907 |
2015-10-24 09:14:33 | 32.588662 |
2015-10-24 09:23:09 | 9.715206 |
2015-10-24 09:32:06 | 19.990902 |
2015-10-24 09:43:24 | 35.738928 |
2015-10-24 10:00:30 | 12.302267 |
2015-10-24 10:02:57 | 17.440709 |
2015-10-24 10:13:00 | 8.191574 |
2015-10-24 10:32:48 | 5.744446 |
2015-10-24 10:43:28 | 5.611853 |
2015-10-24 11:48:06 | 13.573641 |
2015-10-24 12:14:01 | 8.347535 |
2015-10-24 12:17:50 | 5.136542 |
2015-10-24 12:24:46 | 20.709564 |
2015-10-24 12:36:41 | 7.565246 |
2015-10-24 12:52:49 | 29.624084 |
2015-10-24 13:00:24 | 29.713121 |
2015-10-24 13:12:11 | 18.456777 |
2015-10-24 13:23:55 | 11.264648 |
2015-10-24 13:50:21 | 12.524692 |
2015-10-24 13:50:23 | 13.847150 |
2015-10-24 14:53:02 | 11.844761 |
2015-10-24 15:42:28 | 13.688625 |
2015-10-24 16:01:53 | 14.014548 |
2015-10-24 16:11:53 | 19.487640 |
2015-10-24 16:29:14 | 13.493671 |
2015-10-24 16:31:07 | 30.573025 |
2015-10-24 16:43:45 | 30.070133 |
2015-10-24 16:45:12 | 23.001359 |
2015-10-24 16:46:37 | 15.640681 |
2015-10-24 16:54:40 | 15.541255 |
2015-10-24 17:16:37 | 13.010382 |
2015-10-24 17:21:35 | 21.034331 |
2015-10-24 17:29:42 | 10.533891 |
2015-10-24 17:32:57 | 16.163425 |
2015-10-24 17:34:02 | 9.205656 |
2015-10-24 17:44:50 | 21.880140 |
2015-10-24 18:02:24 | 21.099017 |
2015-10-24 18:08:29 | 23.838431 |
2015-10-24 18:09:05 | 13.840718 |
2015-10-24 18:43:22 | 13.500420 |
2015-10-24 18:52:47 | 9.027780 |
2015-10-24 19:03:04 | 25.106092 |
2015-10-24 19:17:44 | 26.202501 |
2015-10-24 19:20:29 | 26.414528 |
2015-10-24 19:34:56 | 13.367800 |
2015-10-24 20:05:41 | 19.210336 |
2015-10-24 20:06:31 | 9.513509 |
2015-10-24 20:08:37 | 19.588526 |
2015-10-24 20:13:16 | 25.182741 |
2015-10-24 20:21:30 | 25.706475 |
2015-10-24 20:55:41 | 13.241693 |
2015-10-24 21:01:43 | 15.249657 |
2015-10-24 21:10:59 | 18.650854 |
2015-10-24 21:42:59 | 11.663895 |
2015-10-24 21:49:36 | 15.967304 |
2015-10-24 22:22:46 | 26.243780 |
2015-10-24 22:25:16 | 22.197560 |
2015-10-24 22:44:11 | 11.207257 |
2015-10-24 22:46:59 | 21.145070 |
2015-10-24 22:46:59 | 19.284440 |
2015-10-24 22:57:05 | 14.163063 |
2015-10-24 23:16:27 | 9.450620 |
2015-10-24 23:17:03 | 18.434140 |
2015-10-25 00:01:09 | 24.417248 |
2015-10-25 00:15:27 | 22.328697 |
2015-10-25 00:17:40 | 27.569425 |
2015-10-25 00:24:19 | 18.778384 |
2015-10-25 00:40:01 | 29.695369 |
2015-10-25 00:51:38 | 28.224715 |
2015-10-25 00:56:48 | 20.568090 |
2015-10-25 01:03:01 | 12.528874 |
2015-10-25 01:09:09 | 23.416298 |
2015-10-25 01:24:27 | 35.774203 |
2015-10-25 01:30:19 | 35.017588 |
2015-10-25 01:36:46 | 15.854556 |
2015-10-25 01:53:52 | 24.583600 |
2015-10-25 01:57:41 | 16.582313 |
2015-10-25 02:01:24 | 36.785131 |
2015-10-25 02:09:40 | 11.396241 |
2015-10-25 02:57:22 | 21.786939 |
2015-10-25 03:01:25 | 19.484790 |
2015-10-25 03:49:26 | 17.895142 |
2015-10-25 04:20:46 | 29.726704 |
2015-10-25 04:28:12 | 6.365252 |
2015-10-25 04:51:03 | 23.272001 |
2015-10-25 05:16:15 | 11.154273 |
2015-10-25 05:35:32 | 29.477854 |
2015-10-25 05:51:50 | 19.357380 |
2015-10-25 05:56:36 | 35.990674 |
2015-10-25 06:06:06 | 3.876221 |
2015-10-25 06:07:16 | 23.610348 |
2015-10-25 06:17:17 | 15.837558 |
2015-10-25 06:27:05 | 17.831027 |
2015-10-25 06:32:40 | 23.212585 |
2015-10-25 07:02:36 | 12.492665 |
2015-10-25 07:12:07 | 17.194266 |
2015-10-25 07:54:48 | 11.122795 |
2015-10-25 07:57:13 | 19.542182 |
2015-10-25 08:05:18 | 16.203565 |
2015-10-25 08:12:46 | 22.444751 |
2015-10-25 08:26:23 | 38.912543 |
2015-10-25 09:09:14 | 25.512180 |
2015-10-25 10:05:59 | 9.937115 |
2015-10-25 10:42:54 | 11.085878 |
2015-10-25 10:54:15 | 20.629891 |
2015-10-25 10:57:39 | 21.641392 |
2015-10-25 11:07:39 | 25.927652 |
2015-10-25 11:10:11 | 13.840443 |
2015-10-25 11:25:23 | 20.866951 |
2015-10-25 11:38:06 | 10.924171 |
2015-10-25 12:33:39 | 11.209960 |
2015-10-25 12:55:55 | 14.215079 |
2015-10-25 12:56:45 | 27.214242 |
2015-10-25 12:58:58 | 32.051209 |
2015-10-25 13:05:49 | 38.153452 |
2015-10-25 13:10:19 | 24.800756 |
2015-10-25 13:32:10 | 16.682505 |
2015-10-25 13:33:34 | 12.963376 |
2015-10-25 13:43:59 | 11.772861 |
2015-10-25 14:05:31 | 18.646844 |
2015-10-25 14:06:29 | 22.657938 |
2015-10-25 14:20:17 | 15.825160 |
2015-10-25 14:22:55 | 19.602839 |
2015-10-25 14:30:58 | 23.143213 |
2015-10-25 14:31:39 | 12.989419 |
2015-10-25 14:40:27 | 27.762283 |
2015-10-25 14:51:52 | 29.339674 |
2015-10-25 14:52:47 | 14.262038 |
2015-10-25 15:00:23 | 16.895755 |
2015-10-25 15:03:46 | 22.536438 |
2015-10-25 15:20:49 | 27.873838 |
2015-10-25 15:46:16 | 5.766525 |
2015-10-25 15:53:28 | 27.436980 |
2015-10-25 16:06:36 | 4.951878 |
2015-10-25 16:55:55 | 21.602308 |
2015-10-25 17:08:51 | 29.974356 |
2015-10-25 18:13:09 | 36.040846 |
2015-10-25 18:20:29 | 13.590471 |
2015-10-25 18:24:16 | 24.405622 |
2015-10-25 18:59:07 | 21.543160 |
2015-10-25 19:42:51 | 7.034301 |
2015-10-25 19:43:04 | 16.018952 |
2015-10-25 19:45:54 | 6.464795 |
2015-10-25 19:52:53 | 20.015932 |
2015-10-25 19:59:27 | 23.872172 |
2015-10-25 20:20:36 | 6.801017 |
2015-10-25 20:45:17 | 17.639643 |
2015-10-25 21:07:14 | 14.146407 |
2015-10-25 21:20:14 | 29.207344 |
2015-10-25 21:34:27 | 23.086044 |
2015-10-25 21:34:45 | 18.685165 |
2015-10-25 21:46:02 | 11.519158 |
2015-10-25 21:58:32 | 16.778935 |
2015-10-25 22:05:35 | 22.861365 |
2015-10-25 22:22:46 | 4.477698 |
2015-10-25 22:40:50 | 30.364928 |
2015-10-25 23:42:41 | 18.097103 |
2015-10-25 23:49:44 | 21.407191 |
2015-10-26 00:15:12 | 21.830050 |
2015-10-26 00:20:51 | 35.111999 |
2015-10-26 00:22:26 | 16.474314 |
2015-10-26 00:55:37 | 28.948058 |
2015-10-26 01:02:32 | 17.410201 |
2015-10-26 01:11:05 | 5.650083 |
2015-10-26 01:11:33 | 27.119217 |
2015-10-26 01:20:13 | 34.377131 |
2015-10-26 01:29:48 | 31.513826 |
2015-10-26 01:30:09 | 10.150090 |
2015-10-26 01:34:23 | 23.257435 |
2015-10-26 01:34:40 | 21.373494 |
2015-10-26 01:49:59 | 22.293125 |
2015-10-26 02:00:35 | 17.961744 |
2015-10-26 02:05:59 | 10.535267 |
2015-10-26 02:12:51 | 27.968007 |
2015-10-26 02:25:31 | 7.909216 |
2015-10-26 02:32:34 | 23.589371 |
2015-10-26 02:39:01 | 32.882866 |
2015-10-26 03:02:29 | 16.127026 |
2015-10-26 03:04:45 | 2.424413 |
2015-10-26 03:07:03 | 13.965955 |
2015-10-26 03:08:00 | 11.293508 |
2015-10-26 03:11:22 | 20.318204 |
2015-10-26 03:33:27 | 9.687025 |
2015-10-26 03:43:06 | 12.313706 |
2015-10-26 03:43:18 | 26.627911 |
2015-10-26 03:45:28 | 6.605821 |
2015-10-26 04:06:23 | 22.553012 |
2015-10-26 04:31:35 | 6.362539 |
2015-10-26 04:34:00 | 1.880352 |
2015-10-26 04:37:26 | 7.806599 |
2015-10-26 04:40:19 | 28.388833 |
2015-10-26 04:48:26 | 24.337457 |
2015-10-26 05:30:43 | 20.702873 |
2015-10-26 05:54:41 | 8.760748 |
2015-10-26 06:01:36 | 20.353981 |
2015-10-26 06:10:02 | 7.440057 |
2015-10-26 06:19:51 | 24.305299 |
2015-10-26 06:24:38 | 20.199217 |
2015-10-26 06:27:32 | 26.890775 |
2015-10-26 06:35:03 | 13.720630 |
2015-10-26 06:44:19 | 22.516922 |
2015-10-26 06:46:23 | 26.236660 |
2015-10-26 06:54:12 | 6.164736 |
2015-10-26 07:12:42 | 29.225423 |
2015-10-26 07:18:45 | 2.541620 |
2015-10-26 07:27:51 | 19.748843 |
2015-10-26 07:28:35 | 18.629947 |
2015-10-26 07:30:24 | 21.492807 |
2015-10-26 08:05:40 | 30.676615 |
2015-10-26 08:07:48 | 27.743591 |
2015-10-26 08:25:45 | 11.155979 |
2015-10-26 08:48:24 | 35.673641 |
2015-10-26 09:00:56 | 24.083618 |
2015-10-26 09:22:24 | 29.339891 |
2015-10-26 09:23:04 | 9.010886 |
2015-10-26 09:24:16 | 12.934983 |
2015-10-26 09:49:32 | 17.531019 |
2015-10-26 09:52:21 | 31.822392 |
2015-10-26 10:05:28 | 19.068476 |
2015-10-26 10:06:32 | 6.142128 |
2015-10-26 10:09:12 | 15.914329 |
2015-10-26 10:12:24 | 19.733454 |
2015-10-26 10:26:18 | 7.167233 |
2015-10-26 10:45:25 | 17.041633 |
2015-10-26 10:49:19 | 37.307322 |
2015-10-26 11:35:26 | 9.971110 |
2015-10-26 11:57:37 | 23.996322 |
2015-10-26 12:05:11 | 28.636649 |
2015-10-26 12:57:15 | 14.543358 |
2015-10-26 13:04:21 | 26.006360 |
2015-10-26 13:11:37 | 11.983168 |
2015-10-26 13:16:53 | 11.317868 |
2015-10-26 13:21:57 | 18.358191 |
2015-10-26 13:52:38 | 18.575016 |
2015-10-26 14:02:00 | 13.293359 |
2015-10-26 14:03:47 | 15.597069 |
2015-10-26 14:05:44 | 11.560628 |
2015-10-26 14:15:13 | 21.923801 |
2015-10-26 14:28:56 | 30.104583 |
2015-10-26 15:02:11 | 19.982949 |
2015-10-26 15:12:49 | 5.951358 |
2015-10-26 15:27:48 | 18.428602 |
2015-10-26 15:38:02 | 31.812915 |
2015-10-26 15:42:41 | 24.244282 |
2015-10-26 16:15:58 | 20.472107 |
2015-10-26 16:29:08 | 28.827925 |
2015-10-26 16:46:41 | 19.628814 |
2015-10-26 17:43:41 | 19.779596 |
2015-10-26 18:11:17 | 29.545589 |
2015-10-26 18:16:08 | 10.458315 |
2015-10-26 18:19:22 | 25.871714 |
2015-10-26 18:28:33 | 7.309851 |
2015-10-26 18:30:00 | 22.871136 |
2015-10-26 18:46:23 | 23.016887 |
2015-10-26 18:52:08 | 31.888125 |
2015-10-26 18:52:38 | 15.872456 |
2015-10-26 19:02:34 | 21.736855 |
2015-10-26 19:03:50 | 35.640611 |
2015-10-26 19:15:08 | 20.434095 |
2015-10-26 19:16:02 | 38.364251 |
2015-10-26 19:22:42 | 19.916968 |
2015-10-26 19:27:04 | 19.909526 |
2015-10-26 19:48:03 | 19.737001 |
2015-10-26 19:53:27 | 25.499218 |
2015-10-26 20:54:37 | 12.099414 |
2015-10-26 21:41:12 | 21.347209 |
2015-10-26 21:50:32 | 15.697209 |
2015-10-26 22:03:01 | 22.118142 |
2015-10-26 22:09:51 | 37.681461 |
2015-10-26 22:16:08 | 18.017428 |
2015-10-26 22:29:52 | 20.814277 |
2015-10-26 22:45:12 | 20.334498 |
2015-10-26 23:03:44 | 12.338779 |
2015-10-26 23:13:22 | 30.826175 |
2015-10-26 23:57:35 | 34.624445 |
2015-10-26 23:59:00 | 10.143766 |
2015-10-27 00:12:47 | 20.921089 |
2015-10-27 00:21:37 | 4.161076 |
2015-10-27 00:23:09 | 22.095022 |
2015-10-27 00:41:26 | 28.210173 |
2015-10-27 01:08:35 | 17.573078 |
2015-10-27 01:13:45 | 24.898260 |
2015-10-27 01:54:23 | 29.096392 |
2015-10-27 02:06:33 | 24.664065 |
2015-10-27 02:28:17 | 18.229647 |
2015-10-27 02:50:44 | 27.045116 |
2015-10-27 03:11:57 | 22.711105 |
2015-10-27 03:17:38 | 21.892313 |
2015-10-27 03:28:31 | 1.834943 |
2015-10-27 03:34:33 | 11.672494 |
2015-10-27 03:35:38 | 22.457280 |
2015-10-27 03:42:23 | 15.334399 |
2015-10-27 03:54:29 | 30.453794 |
2015-10-27 03:59:50 | 18.515347 |
2015-10-27 04:03:20 | 27.862217 |
2015-10-27 04:21:58 | 22.075402 |
2015-10-27 04:23:30 | 16.577465 |
2015-10-27 04:46:04 | 33.917748 |
2015-10-27 05:09:25 | 26.771479 |
2015-10-27 05:20:07 | 16.975983 |
2015-10-27 05:31:19 | 5.896884 |
2015-10-27 05:33:42 | 9.704311 |
2015-10-27 05:44:14 | 19.888716 |
2015-10-27 05:45:35 | 12.176629 |
2015-10-27 05:51:40 | 17.789691 |
2015-10-27 06:09:13 | 20.182560 |
2015-10-27 06:20:46 | 7.297558 |
2015-10-27 06:51:20 | 19.073031 |
2015-10-27 06:54:17 | 23.098007 |
2015-10-27 06:54:31 | 18.416993 |
2015-10-27 07:03:26 | 11.417748 |
2015-10-27 07:11:34 | 25.302040 |
2015-10-27 07:13:17 | 10.355350 |
2015-10-27 07:15:27 | 16.875640 |
2015-10-27 07:26:42 | 28.261230 |
2015-10-27 07:28:57 | 26.794716 |
2015-10-27 07:43:32 | 1.840051 |
2015-10-27 07:44:35 | 22.780229 |
2015-10-27 07:45:16 | 22.913370 |
2015-10-27 07:48:14 | 23.502077 |
2015-10-27 08:09:07 | 20.597856 |
2015-10-27 08:24:22 | 15.742843 |
2015-10-27 08:39:14 | 4.300935 |
2015-10-27 08:39:17 | 14.751233 |
2015-10-27 08:58:08 | 13.106007 |
2015-10-27 09:46:45 | 13.329034 |
2015-10-27 10:23:35 | 16.583423 |
2015-10-27 10:33:22 | 16.827504 |
2015-10-27 10:43:46 | 12.249572 |
2015-10-27 11:58:31 | 23.706073 |
2015-10-27 12:40:46 | 25.660001 |
2015-10-27 12:44:24 | 35.462551 |
2015-10-27 12:51:30 | 12.644275 |
2015-10-27 12:54:57 | 14.066707 |
2015-10-27 12:55:51 | 25.789953 |
2015-10-27 13:05:12 | 19.518356 |
2015-10-27 13:06:06 | 12.342679 |
2015-10-27 13:10:45 | 26.810005 |
2015-10-27 13:24:28 | 12.999374 |
2015-10-27 13:38:28 | 21.557762 |
2015-10-27 13:44:08 | 22.698339 |
2015-10-27 14:06:46 | 22.291995 |
2015-10-27 14:27:14 | 20.133424 |
2015-10-27 15:26:55 | 24.908145 |
2015-10-27 15:29:01 | 31.190743 |
2015-10-27 15:34:20 | 22.448257 |
2015-10-27 15:56:23 | 16.165643 |
2015-10-27 16:31:40 | 17.544574 |
2015-10-27 16:38:11 | 24.487887 |
2015-10-27 16:38:29 | 35.758575 |
2015-10-27 18:00:35 | 22.130042 |
2015-10-27 18:21:49 | 3.823961 |
2015-10-27 18:33:49 | 21.366360 |
2015-10-27 18:35:29 | 28.956420 |
2015-10-27 19:34:59 | 30.530129 |
2015-10-27 19:47:47 | 9.887806 |
2015-10-27 20:01:12 | 34.600655 |
2015-10-27 20:01:27 | 20.517520 |
2015-10-27 20:13:33 | 28.409780 |
2015-10-27 20:25:38 | 22.410120 |
2015-10-27 20:31:06 | 18.890813 |
2015-10-27 20:40:28 | 16.661537 |
2015-10-27 20:43:03 | 17.734415 |
2015-10-27 20:44:52 | 32.645647 |
2015-10-27 20:49:10 | 7.219724 |
2015-10-27 20:53:59 | 12.918680 |
2015-10-27 21:14:05 | 25.439756 |
2015-10-27 21:23:46 | 15.551786 |
2015-10-27 21:39:43 | 19.765020 |
2015-10-27 21:55:22 | 16.457690 |
2015-10-27 22:55:54 | 10.293176 |
2015-10-27 23:11:21 | 1.781904 |
2015-10-27 23:37:09 | 19.880796 |
2015-10-27 23:50:44 | 13.011420 |
2015-10-27 23:57:49 | 19.132300 |
2015-10-28 01:11:01 | 15.046151 |
2015-10-28 01:25:03 | 37.352759 |
2015-10-28 01:32:14 | 13.062743 |
2015-10-28 01:32:17 | 34.842589 |
2015-10-28 01:48:50 | 20.422971 |
2015-10-28 02:19:21 | 31.749759 |
2015-10-28 02:22:49 | 33.801223 |
2015-10-28 02:52:58 | 19.938320 |
2015-10-28 02:59:40 | 13.603916 |
2015-10-28 03:15:32 | 11.825927 |
2015-10-28 03:44:31 | 13.562697 |
2015-10-28 03:52:34 | 20.342015 |
2015-10-28 04:05:26 | 28.632022 |
2015-10-28 04:06:15 | 34.699990 |
2015-10-28 04:28:47 | 35.015636 |
2015-10-28 04:40:01 | 25.312763 |
2015-10-28 04:54:10 | 27.380108 |
2015-10-28 04:58:38 | 8.946983 |
2015-10-28 04:59:24 | 23.729636 |
2015-10-28 05:16:59 | 20.390630 |
2015-10-28 05:21:43 | 16.259039 |
2015-10-28 05:28:36 | 13.635565 |
2015-10-28 05:52:20 | 29.241959 |
2015-10-28 05:53:42 | 14.467571 |
2015-10-28 05:57:39 | 14.124179 |
2015-10-28 05:57:41 | 22.979674 |
2015-10-28 06:11:05 | 13.443790 |
2015-10-28 06:18:22 | 27.598373 |
2015-10-28 06:39:49 | 20.445029 |
2015-10-28 06:41:37 | 15.755541 |
2015-10-28 06:43:14 | 9.550570 |
2015-10-28 06:52:00 | 15.505543 |
2015-10-28 07:28:52 | 13.627235 |
2015-10-28 07:39:43 | 9.594463 |
2015-10-28 07:52:18 | 24.911034 |
2015-10-28 07:57:34 | 20.907402 |
2015-10-28 08:05:30 | 13.716141 |
2015-10-28 08:21:56 | 17.905301 |
2015-10-28 08:29:56 | 20.654838 |
2015-10-28 08:43:38 | 7.000298 |
2015-10-28 09:26:46 | 10.060531 |
2015-10-28 09:59:54 | 29.130492 |
2015-10-28 10:05:46 | 18.134867 |
2015-10-28 10:21:26 | 31.447032 |
2015-10-28 10:22:28 | 6.563567 |
2015-10-28 10:35:43 | 26.086201 |
2015-10-28 11:00:29 | 24.154133 |
2015-10-28 11:32:02 | 24.041464 |
2015-10-28 11:52:01 | 21.026494 |
2015-10-28 11:57:58 | 4.561947 |
2015-10-28 12:15:24 | 9.129867 |
2015-10-28 12:16:13 | 18.894904 |
2015-10-28 12:45:27 | 13.386346 |
2015-10-28 12:54:44 | 23.991109 |
2015-10-28 12:58:53 | 10.017909 |
2015-10-28 13:11:50 | 11.151724 |
2015-10-28 13:24:59 | 13.999829 |
2015-10-28 13:37:56 | 16.601620 |
2015-10-28 13:43:07 | 32.986999 |
2015-10-28 13:46:11 | 21.432970 |
2015-10-28 13:56:43 | 31.913805 |
2015-10-28 13:57:47 | 10.665391 |
2015-10-28 14:08:10 | 22.652867 |
2015-10-28 14:21:35 | 13.863613 |
2015-10-28 14:25:10 | 27.361023 |
2015-10-28 14:53:29 | 22.984681 |
2015-10-28 14:58:35 | 10.894598 |
2015-10-28 15:17:12 | 33.211245 |
2015-10-28 15:53:34 | 22.432778 |
2015-10-28 15:58:25 | 24.169848 |
2015-10-28 16:18:35 | 31.478411 |
2015-10-28 16:37:29 | 7.055754 |
2015-10-28 16:47:24 | 22.505285 |
2015-10-28 16:56:51 | 11.695966 |
2015-10-28 17:04:53 | 25.050275 |
2015-10-28 17:26:15 | 16.620632 |
2015-10-28 17:28:30 | 27.097737 |
2015-10-28 18:04:44 | 28.453893 |
2015-10-28 18:05:18 | 24.909666 |
2015-10-28 18:06:57 | 19.052430 |
2015-10-28 18:28:01 | 17.453295 |
2015-10-28 18:39:54 | 10.787874 |
2015-10-28 18:48:50 | 26.564290 |
2015-10-28 18:51:30 | 17.332550 |
2015-10-28 19:12:12 | 6.906457 |
2015-10-28 19:26:57 | 28.445885 |
2015-10-28 19:34:21 | 18.751925 |
2015-10-28 19:40:23 | 25.112732 |
2015-10-28 19:54:32 | 5.455784 |
2015-10-28 20:34:02 | 26.858954 |
2015-10-28 21:20:53 | 20.756232 |
2015-10-28 21:47:32 | 27.514802 |
2015-10-28 21:54:52 | 8.121486 |
2015-10-28 22:08:39 | 32.430137 |
2015-10-28 22:21:14 | 7.281897 |
2015-10-28 22:25:09 | 35.140642 |
2015-10-28 22:37:09 | 9.679448 |
2015-10-28 22:55:09 | 26.069281 |
2015-10-28 23:03:00 | 22.208754 |
2015-10-28 23:35:10 | 14.436499 |
2015-10-28 23:36:23 | 14.407442 |
2015-10-28 23:39:11 | 32.351417 |
2015-10-28 23:43:45 | 25.337102 |
2015-10-28 23:48:49 | 34.405532 |
2015-10-29 00:08:30 | 5.629219 |
2015-10-29 00:11:32 | 8.838351 |
2015-10-29 00:12:49 | 36.416772 |
2015-10-29 00:31:27 | 31.404891 |
2015-10-29 00:56:29 | 10.104051 |
2015-10-29 01:18:55 | 26.652639 |
2015-10-29 01:29:51 | 31.607533 |
2015-10-29 01:36:50 | 14.057883 |
2015-10-29 01:50:58 | 14.669973 |
2015-10-29 02:22:29 | 10.860818 |
2015-10-29 03:05:24 | 19.707401 |
2015-10-29 03:09:27 | 12.767893 |
2015-10-29 03:18:41 | 11.406741 |
2015-10-29 03:53:20 | 6.829391 |
2015-10-29 04:25:35 | 18.626982 |
2015-10-29 04:35:12 | 25.249255 |
2015-10-29 04:38:09 | 20.066181 |
2015-10-29 04:58:33 | 32.633243 |
2015-10-29 05:03:40 | 19.815994 |
2015-10-29 05:35:30 | 7.393302 |
2015-10-29 05:35:51 | 30.079256 |
2015-10-29 05:53:17 | 11.413076 |
2015-10-29 06:30:46 | 11.697902 |
2015-10-29 06:45:54 | 31.190372 |
2015-10-29 07:10:02 | 20.639450 |
2015-10-29 07:42:10 | 18.345175 |
2015-10-29 07:47:37 | 13.468384 |
2015-10-29 07:49:18 | 23.132393 |
2015-10-29 07:56:38 | 25.347282 |
2015-10-29 08:03:29 | 9.159853 |
2015-10-29 08:13:44 | 20.831257 |
2015-10-29 08:50:12 | 20.813047 |
2015-10-29 08:52:14 | 11.684935 |
2015-10-29 08:52:52 | 16.810542 |
2015-10-29 09:00:52 | 20.083183 |
2015-10-29 09:07:07 | 9.500212 |
2015-10-29 09:14:31 | 22.865692 |
2015-10-29 09:22:00 | 11.315027 |
2015-10-29 09:27:18 | 10.933767 |
2015-10-29 09:54:27 | 12.687895 |
2015-10-29 10:03:07 | 12.946125 |
2015-10-29 10:25:16 | 8.493317 |
2015-10-29 10:31:29 | 14.026298 |
2015-10-29 10:36:39 | 17.014097 |
2015-10-29 11:15:07 | 36.140930 |
2015-10-29 11:15:37 | 26.717343 |
2015-10-29 11:40:54 | 13.078063 |
2015-10-29 11:42:26 | 19.879271 |
2015-10-29 11:44:24 | 22.017664 |
2015-10-29 11:46:37 | 15.966344 |
2015-10-29 12:24:48 | 26.322878 |
2015-10-29 12:36:46 | 10.881309 |
2015-10-29 12:54:46 | 36.767167 |
2015-10-29 12:57:21 | 18.178581 |
2015-10-29 12:58:36 | 22.243434 |
2015-10-29 13:28:46 | 27.443501 |
2015-10-29 13:47:29 | 7.416418 |
2015-10-29 14:06:53 | 35.314750 |
2015-10-29 14:11:42 | 26.102493 |
2015-10-29 14:19:51 | 26.995712 |
2015-10-29 14:34:04 | 26.171102 |
2015-10-29 14:56:47 | 26.393210 |
2015-10-29 15:05:29 | 6.113279 |
2015-10-29 15:08:04 | 33.321112 |
2015-10-29 15:25:10 | 3.437277 |
2015-10-29 15:37:15 | 15.568660 |
2015-10-29 16:24:57 | 12.626890 |
2015-10-29 16:26:00 | 23.726236 |
2015-10-29 16:26:21 | 8.220824 |
2015-10-29 16:32:15 | 33.722738 |
2015-10-29 17:26:02 | 17.737118 |
2015-10-29 17:51:57 | 27.586605 |
2015-10-29 17:57:26 | 28.581947 |
2015-10-29 18:07:19 | 33.395729 |
2015-10-29 18:11:29 | 15.354501 |
2015-10-29 18:15:06 | 23.929336 |
2015-10-29 18:20:23 | 5.771780 |
2015-10-29 18:48:46 | 4.210084 |
2015-10-29 19:00:24 | 34.201755 |
2015-10-29 19:01:10 | 18.118718 |
2015-10-29 19:23:40 | 11.838202 |
2015-10-29 19:31:04 | 28.055038 |
2015-10-29 19:33:49 | 38.824234 |
2015-10-29 20:23:21 | 20.183617 |
2015-10-29 20:31:41 | 20.252920 |
2015-10-29 20:56:57 | 24.079136 |
2015-10-29 21:14:14 | 20.675881 |
2015-10-29 21:35:04 | 18.581834 |
2015-10-29 21:36:04 | 3.005562 |
2015-10-29 21:47:32 | 17.446180 |
2015-10-29 21:59:57 | 17.692749 |
2015-10-29 22:10:14 | 20.881251 |
2015-10-29 22:48:26 | 21.112933 |
2015-10-29 23:19:02 | 22.773156 |
2015-10-29 23:50:45 | 10.671286 |
2015-10-29 23:53:08 | 27.385016 |
2015-10-30 00:05:31 | 21.039398 |
2015-10-30 00:13:34 | 29.351822 |
2015-10-30 00:32:37 | 26.714346 |
2015-10-30 00:52:17 | 33.461080 |
2015-10-30 01:20:23 | 15.763921 |
2015-10-30 01:40:04 | 22.893475 |
2015-10-30 02:19:04 | 14.913339 |
2015-10-30 02:19:41 | 16.881445 |
2015-10-30 02:20:44 | 21.306120 |
2015-10-30 02:29:55 | 11.068579 |
2015-10-30 02:43:17 | 23.510960 |
2015-10-30 02:49:59 | 12.426567 |
2015-10-30 02:55:49 | 9.803671 |
2015-10-30 02:56:48 | 13.601980 |
2015-10-30 03:08:29 | 15.308122 |
2015-10-30 03:26:21 | 12.293308 |
2015-10-30 03:31:13 | 25.187776 |
2015-10-30 03:52:19 | 25.200361 |
2015-10-30 04:01:15 | 26.050907 |
2015-10-30 04:10:22 | 16.041492 |
2015-10-30 04:12:10 | 9.716074 |
2015-10-30 04:22:30 | 22.032446 |
2015-10-30 04:30:56 | 32.175466 |
2015-10-30 04:48:54 | 8.824220 |
2015-10-30 05:01:37 | 16.416996 |
2015-10-30 05:30:18 | 26.741802 |
2015-10-30 06:35:10 | 28.653171 |
2015-10-30 07:07:34 | 17.616891 |
2015-10-30 07:09:10 | 32.165879 |
2015-10-30 07:09:43 | 15.814351 |
2015-10-30 07:27:47 | 13.982874 |
2015-10-30 07:31:39 | 13.229002 |
2015-10-30 08:24:03 | 25.821707 |
2015-10-30 08:27:14 | 20.103947 |
2015-10-30 08:31:39 | 19.840905 |
2015-10-30 08:44:19 | 15.154233 |
2015-10-30 08:44:32 | 15.319994 |
2015-10-30 08:52:17 | 12.452035 |
2015-10-30 09:00:49 | 21.674978 |
2015-10-30 09:02:21 | 16.542822 |
2015-10-30 09:18:40 | 15.016618 |
2015-10-30 09:26:15 | 21.003799 |
2015-10-30 09:26:44 | 27.280290 |
2015-10-30 09:36:47 | 15.816813 |
2015-10-30 09:41:26 | 14.185396 |
2015-10-30 09:49:15 | 20.210829 |
2015-10-30 09:55:28 | 18.266201 |
2015-10-30 09:56:58 | 7.572945 |
2015-10-30 10:10:23 | 24.242163 |
2015-10-30 10:14:28 | 30.221902 |
2015-10-30 10:15:20 | 1.067303 |
2015-10-30 10:26:42 | 24.181480 |
2015-10-30 10:33:36 | 12.343618 |
2015-10-30 10:34:29 | 21.241147 |
2015-10-30 10:40:57 | 23.494210 |
2015-10-30 11:08:42 | 17.914192 |
2015-10-30 11:09:24 | 9.712991 |
2015-10-30 11:13:48 | 36.835152 |
2015-10-30 11:15:09 | 5.656043 |
2015-10-30 11:26:01 | 7.624941 |
2015-10-30 11:30:43 | 22.043926 |
2015-10-30 11:32:02 | 34.058479 |
2015-10-30 11:49:53 | 21.477600 |
2015-10-30 11:57:50 | 37.726762 |
2015-10-30 12:18:49 | 25.376942 |
2015-10-30 12:22:47 | 31.833041 |
2015-10-30 12:23:25 | 8.491811 |
2015-10-30 12:26:41 | 27.584047 |
2015-10-30 12:46:42 | 7.759069 |
2015-10-30 13:54:52 | 30.206207 |
2015-10-30 14:04:27 | 29.868823 |
2015-10-30 14:13:12 | 28.068979 |
2015-10-30 14:30:06 | 15.586651 |
2015-10-30 14:43:08 | 19.258297 |
2015-10-30 14:50:41 | 27.053775 |
2015-10-30 14:58:04 | 17.235405 |
2015-10-30 15:08:55 | 31.068870 |
2015-10-30 16:04:33 | 38.387732 |
2015-10-30 16:12:45 | 16.287305 |
2015-10-30 16:19:44 | 33.737380 |
2015-10-30 16:30:41 | 12.794018 |
2015-10-30 17:04:04 | 21.554267 |
2015-10-30 17:04:11 | 31.123454 |
2015-10-30 17:05:06 | 22.472866 |
2015-10-30 17:42:45 | 19.109189 |
2015-10-30 18:03:48 | 8.965514 |
2015-10-30 18:19:27 | 14.538760 |
2015-10-30 18:20:33 | 6.618785 |
2015-10-30 18:38:18 | 19.410505 |
2015-10-30 18:43:49 | 24.581237 |
2015-10-30 19:18:34 | 19.913452 |
2015-10-30 19:23:27 | 14.319365 |
2015-10-30 19:41:45 | 21.950001 |
2015-10-30 19:43:20 | 29.379711 |
2015-10-30 19:48:19 | 9.750124 |
2015-10-30 19:58:57 | 19.004112 |
2015-10-30 20:18:03 | 37.591036 |
2015-10-30 20:43:22 | 28.464328 |
2015-10-30 20:49:11 | 15.015707 |
2015-10-30 20:52:41 | 22.333341 |
2015-10-30 21:09:59 | 27.741250 |
2015-10-30 21:10:43 | 11.640426 |
2015-10-30 21:16:55 | 15.135784 |
2015-10-30 21:21:39 | 22.123494 |
2015-10-30 21:25:57 | 17.915621 |
2015-10-30 21:49:19 | 23.954026 |
2015-10-30 22:19:40 | 4.021746 |
2015-10-30 22:24:11 | 9.613415 |
2015-10-30 22:57:56 | 13.133139 |
2015-10-30 23:07:45 | 4.952637 |
2015-10-30 23:16:48 | 26.474205 |
2015-10-31 00:12:59 | 4.421879 |
2015-10-31 00:13:01 | 18.253691 |
2015-10-31 00:46:15 | 14.486119 |
2015-10-31 00:51:43 | 31.484788 |
2015-10-31 01:17:21 | 12.772337 |
2015-10-31 01:33:56 | 16.364104 |
2015-10-31 01:45:40 | 35.450027 |
2015-10-31 01:48:46 | 38.479671 |
2015-10-31 01:49:02 | 27.325173 |
2015-10-31 01:54:23 | 12.840285 |
2015-10-31 02:02:10 | 20.807145 |
2015-10-31 02:46:46 | 16.369698 |
2015-10-31 02:50:21 | 28.855674 |
2015-10-31 03:22:40 | 27.944654 |
2015-10-31 03:41:37 | 27.446450 |
2015-10-31 04:25:10 | 21.081974 |
2015-10-31 04:31:06 | 24.238055 |
2015-10-31 05:04:15 | 14.049404 |
2015-10-31 05:59:06 | 26.559184 |
2015-10-31 06:00:47 | 25.242968 |
2015-10-31 06:01:39 | 34.891026 |
2015-10-31 06:20:48 | 30.599200 |
2015-10-31 06:23:56 | 17.366746 |
2015-10-31 06:42:25 | 23.821349 |
2015-10-31 06:56:17 | 11.251934 |
2015-10-31 07:12:44 | 25.670211 |
2015-10-31 07:22:51 | 33.436930 |
2015-10-31 07:50:27 | 36.082648 |
2015-10-31 08:30:39 | 10.927193 |
2015-10-31 08:35:56 | 8.277269 |
2015-10-31 08:59:03 | 15.415538 |
2015-10-31 09:21:03 | 32.181583 |
2015-10-31 09:49:51 | 2.719154 |
2015-10-31 09:51:29 | 21.170975 |
2015-10-31 10:00:38 | 19.835044 |
2015-10-31 10:37:46 | 35.782245 |
2015-10-31 10:48:02 | 20.585977 |
2015-10-31 11:03:11 | 18.806353 |
2015-10-31 11:13:26 | 24.836634 |
2015-10-31 11:21:09 | 19.806278 |
2015-10-31 11:46:38 | 30.785157 |
2015-10-31 11:50:43 | 8.282494 |
2015-10-31 12:30:24 | 19.724971 |
2015-10-31 12:57:55 | 20.268650 |
2015-10-31 13:01:39 | 22.278925 |
2015-10-31 13:03:14 | 12.367646 |
2015-10-31 13:14:50 | 24.372004 |
2015-10-31 13:49:53 | 20.621253 |
2015-10-31 13:59:37 | 14.751192 |
2015-10-31 14:00:10 | 10.408624 |
2015-10-31 14:20:42 | 31.945120 |
2015-10-31 15:02:05 | 8.037941 |
2015-10-31 15:07:41 | 26.541515 |
2015-10-31 15:33:37 | 13.908973 |
2015-10-31 15:52:41 | 14.737002 |
2015-10-31 15:55:28 | 28.771564 |
2015-10-31 16:26:01 | 24.554983 |
2015-10-31 16:35:47 | 15.011016 |
2015-10-31 16:53:46 | 24.000616 |
2015-10-31 17:29:31 | 27.589842 |
2015-10-31 17:31:04 | 35.713119 |
2015-10-31 17:37:31 | 19.495046 |
2015-10-31 17:49:13 | 21.303044 |
2015-10-31 17:54:02 | 21.031095 |
2015-10-31 18:38:11 | 12.594886 |
2015-10-31 18:40:00 | 15.807672 |
2015-10-31 18:50:33 | 9.259209 |
2015-10-31 18:52:48 | 16.782744 |
2015-10-31 18:55:47 | 14.815882 |
2015-10-31 18:56:26 | 11.636250 |
2015-10-31 19:15:45 | 24.213435 |
2015-10-31 19:21:53 | 14.486916 |
2015-10-31 19:24:14 | 32.728819 |
2015-10-31 19:26:33 | 15.302234 |
2015-10-31 19:28:34 | 7.959237 |
2015-10-31 19:41:59 | 31.369263 |
2015-10-31 20:11:46 | 7.349745 |
2015-10-31 20:23:26 | 15.010710 |
2015-10-31 20:28:44 | 27.262566 |
2015-10-31 20:30:52 | 20.517552 |
2015-10-31 20:44:36 | 20.452720 |
2015-10-31 21:07:47 | 27.389651 |
2015-10-31 22:04:19 | 11.400498 |
2015-10-31 22:19:07 | 12.396629 |
2015-10-31 22:21:32 | 11.774302 |
2015-10-31 22:59:41 | 27.606285 |
2015-10-31 23:19:26 | 28.467733 |
2015-10-31 23:25:03 | 31.244255 |
2015-10-31 23:45:47 | 14.237196 |
2015-10-31 23:46:49 | 11.719533 |
2015-10-31 23:59:37 | 15.847017 |
2015-11-01 00:06:29 | 7.076831 |
2015-11-01 00:29:14 | 23.650243 |
2015-11-01 00:46:37 | 30.891522 |
2015-11-01 00:48:37 | 23.070343 |
2015-11-01 01:13:09 | 16.925815 |
2015-11-01 01:25:30 | 26.975276 |
2015-11-01 01:31:00 | 10.376045 |
2015-11-01 01:39:30 | 25.214665 |
2015-11-01 02:03:03 | 14.022721 |
2015-11-01 02:39:09 | 29.029274 |
2015-11-01 03:23:11 | 12.817853 |
2015-11-01 03:41:15 | 27.137068 |
2015-11-01 03:55:51 | 13.715517 |
2015-11-01 04:03:40 | 11.133035 |
2015-11-01 04:57:18 | 22.610985 |
2015-11-01 06:00:05 | 24.388115 |
2015-11-01 06:13:59 | 21.684017 |
2015-11-01 06:16:45 | 4.294392 |
2015-11-01 07:12:00 | 29.918730 |
2015-11-01 07:46:10 | 19.281998 |
2015-11-01 07:48:31 | 19.495424 |
2015-11-01 08:05:59 | 1.335991 |
2015-11-01 08:08:45 | 10.920037 |
2015-11-01 08:11:10 | 19.664501 |
2015-11-01 08:56:25 | 28.550303 |
2015-11-01 10:16:47 | 18.399540 |
2015-11-01 10:48:31 | 12.924725 |
2015-11-01 11:05:40 | 17.521240 |
2015-11-01 11:06:53 | 26.317390 |
2015-11-01 11:25:18 | 26.056817 |
2015-11-01 11:31:12 | 29.616021 |
2015-11-01 12:44:52 | 17.746786 |
2015-11-01 12:47:27 | 7.546854 |
2015-11-01 12:48:18 | 26.363689 |
2015-11-01 12:55:42 | 14.737645 |
2015-11-01 13:00:42 | 29.287755 |
2015-11-01 13:02:02 | 31.996311 |
2015-11-01 13:04:04 | 26.981273 |
2015-11-01 13:05:08 | 16.575896 |
2015-11-01 13:26:19 | 16.491862 |
2015-11-01 13:46:03 | 15.705421 |
2015-11-01 14:16:50 | 17.704946 |
2015-11-01 14:18:19 | 26.155266 |
2015-11-01 14:22:06 | 29.694279 |
2015-11-01 14:28:35 | 24.455547 |
2015-11-01 14:45:51 | 22.425873 |
2015-11-01 15:00:26 | 33.004309 |
2015-11-01 15:02:36 | 4.385275 |
2015-11-01 15:13:10 | 16.915401 |
2015-11-01 15:24:10 | 17.247719 |
2015-11-01 15:53:02 | 25.548663 |
2015-11-01 16:04:47 | 19.692654 |
2015-11-01 16:27:12 | 22.548459 |
2015-11-01 16:31:40 | 18.674775 |
2015-11-01 16:37:45 | 16.977700 |
2015-11-01 16:44:45 | 18.870444 |
2015-11-01 16:59:18 | 24.984427 |
2015-11-01 17:04:24 | 26.191839 |
2015-11-01 18:17:36 | 10.336158 |
2015-11-01 18:23:22 | 28.240343 |
2015-11-01 18:39:09 | 21.630708 |
2015-11-01 19:16:50 | 13.690378 |
2015-11-01 19:24:21 | 21.142271 |
2015-11-01 19:36:49 | 20.366756 |
2015-11-01 19:47:14 | 20.311729 |
2015-11-01 20:01:22 | 19.103980 |
2015-11-01 20:04:01 | 5.537197 |
2015-11-01 20:09:36 | 15.865447 |
2015-11-01 20:13:01 | 10.568377 |
2015-11-01 20:48:20 | 21.558668 |
2015-11-01 20:48:32 | 18.989392 |
2015-11-01 21:06:18 | 10.241452 |
2015-11-01 21:48:29 | 28.110783 |
2015-11-01 22:04:08 | 13.848839 |
2015-11-01 22:05:31 | 21.507690 |
2015-11-01 22:09:14 | 15.281430 |
2015-11-01 22:09:18 | 26.336684 |
2015-11-01 22:25:31 | 29.064266 |
2015-11-01 23:08:20 | 22.844104 |
2015-11-01 23:34:10 | 16.218705 |
2015-11-01 23:35:43 | 21.211707 |
%>%
pipe2.data kbl() %>%
kable_paper() %>%
scroll_box(width = "500px", height = "200px")
Date Time | WaterFlow |
---|---|
2015-10-23 01:00:00 | 18.810791 |
2015-10-23 02:00:00 | 43.087025 |
2015-10-23 03:00:00 | 37.987705 |
2015-10-23 04:00:00 | 36.120379 |
2015-10-23 05:00:00 | 31.851259 |
2015-10-23 06:00:00 | 28.238090 |
2015-10-23 07:00:00 | 9.863582 |
2015-10-23 08:00:00 | 26.679610 |
2015-10-23 09:00:00 | 55.773785 |
2015-10-23 10:00:00 | 54.156889 |
2015-10-23 11:00:00 | 68.374904 |
2015-10-23 12:00:00 | 55.710359 |
2015-10-23 13:00:00 | 56.968260 |
2015-10-23 14:00:00 | 17.206276 |
2015-10-23 15:00:00 | 35.093275 |
2015-10-23 16:00:00 | 44.424928 |
2015-10-23 17:00:00 | 57.322408 |
2015-10-23 18:00:00 | 37.344924 |
2015-10-23 19:00:00 | 11.483011 |
2015-10-23 20:00:00 | 32.117940 |
2015-10-23 21:00:00 | 49.081861 |
2015-10-23 22:00:00 | 49.133546 |
2015-10-23 23:00:00 | 42.064648 |
2015-10-24 00:00:00 | 58.380027 |
2015-10-24 01:00:00 | 53.408031 |
2015-10-24 02:00:00 | 42.332775 |
2015-10-24 03:00:00 | 45.922190 |
2015-10-24 04:00:00 | 32.741215 |
2015-10-24 05:00:00 | 47.879252 |
2015-10-24 06:00:00 | 47.460516 |
2015-10-24 07:00:00 | 52.264966 |
2015-10-24 08:00:00 | 35.389582 |
2015-10-24 09:00:00 | 14.435578 |
2015-10-24 10:00:00 | 45.038179 |
2015-10-24 11:00:00 | 38.896592 |
2015-10-24 12:00:00 | 39.991833 |
2015-10-24 13:00:00 | 56.883595 |
2015-10-24 14:00:00 | 62.728660 |
2015-10-24 15:00:00 | 67.382484 |
2015-10-24 16:00:00 | 29.645108 |
2015-10-24 17:00:00 | 51.586668 |
2015-10-24 18:00:00 | 61.987103 |
2015-10-24 19:00:00 | 46.394571 |
2015-10-24 20:00:00 | 32.838673 |
2015-10-24 21:00:00 | 53.416554 |
2015-10-24 22:00:00 | 70.723677 |
2015-10-24 23:00:00 | 21.570847 |
2015-10-25 00:00:00 | 66.762107 |
2015-10-25 01:00:00 | 36.322123 |
2015-10-25 02:00:00 | 45.114342 |
2015-10-25 03:00:00 | 53.473562 |
2015-10-25 04:00:00 | 27.209341 |
2015-10-25 05:00:00 | 44.193703 |
2015-10-25 06:00:00 | 59.296910 |
2015-10-25 07:00:00 | 42.253496 |
2015-10-25 08:00:00 | 44.747970 |
2015-10-25 09:00:00 | 50.182502 |
2015-10-25 10:00:00 | 32.303380 |
2015-10-25 11:00:00 | 44.413697 |
2015-10-25 12:00:00 | 42.844556 |
2015-10-25 13:00:00 | 56.282628 |
2015-10-25 14:00:00 | 54.936958 |
2015-10-25 15:00:00 | 20.406510 |
2015-10-25 16:00:00 | 60.954459 |
2015-10-25 17:00:00 | 55.811767 |
2015-10-25 18:00:00 | 68.008012 |
2015-10-25 19:00:00 | 20.964754 |
2015-10-25 20:00:00 | 50.112292 |
2015-10-25 21:00:00 | 24.172808 |
2015-10-25 22:00:00 | 17.131600 |
2015-10-25 23:00:00 | 41.938311 |
2015-10-26 00:00:00 | 70.376636 |
2015-10-26 01:00:00 | 34.387617 |
2015-10-26 02:00:00 | 30.377663 |
2015-10-26 03:00:00 | 41.567192 |
2015-10-26 04:00:00 | 72.172881 |
2015-10-26 05:00:00 | 45.745729 |
2015-10-26 06:00:00 | 42.294146 |
2015-10-26 07:00:00 | 28.883164 |
2015-10-26 08:00:00 | 55.506566 |
2015-10-26 09:00:00 | 19.228599 |
2015-10-26 10:00:00 | 39.454913 |
2015-10-26 11:00:00 | 28.521848 |
2015-10-26 12:00:00 | 22.614615 |
2015-10-26 13:00:00 | 8.513215 |
2015-10-26 14:00:00 | 38.228365 |
2015-10-26 15:00:00 | 23.388172 |
2015-10-26 16:00:00 | 59.546335 |
2015-10-26 17:00:00 | 20.342739 |
2015-10-26 18:00:00 | 40.198573 |
2015-10-26 19:00:00 | 42.636429 |
2015-10-26 20:00:00 | 40.250584 |
2015-10-26 21:00:00 | 33.603564 |
2015-10-26 22:00:00 | 33.921165 |
2015-10-26 23:00:00 | 6.574838 |
2015-10-27 00:00:00 | 68.451384 |
2015-10-27 01:00:00 | 14.722223 |
2015-10-27 02:00:00 | 40.885201 |
2015-10-27 03:00:00 | 37.432232 |
2015-10-27 04:00:00 | 22.449903 |
2015-10-27 05:00:00 | 49.813460 |
2015-10-27 06:00:00 | 38.930568 |
2015-10-27 07:00:00 | 22.183581 |
2015-10-27 08:00:00 | 17.156385 |
2015-10-27 09:00:00 | 55.683814 |
2015-10-27 10:00:00 | 4.681630 |
2015-10-27 11:00:00 | 30.998919 |
2015-10-27 12:00:00 | 11.136842 |
2015-10-27 13:00:00 | 30.650987 |
2015-10-27 14:00:00 | 56.688098 |
2015-10-27 15:00:00 | 32.445492 |
2015-10-27 16:00:00 | 41.242405 |
2015-10-27 17:00:00 | 44.380749 |
2015-10-27 18:00:00 | 55.343373 |
2015-10-27 19:00:00 | 14.175375 |
2015-10-27 20:00:00 | 51.636056 |
2015-10-27 21:00:00 | 49.038738 |
2015-10-27 22:00:00 | 33.515478 |
2015-10-27 23:00:00 | 35.479944 |
2015-10-28 00:00:00 | 54.753657 |
2015-10-28 01:00:00 | 42.308140 |
2015-10-28 02:00:00 | 30.650448 |
2015-10-28 03:00:00 | 38.951353 |
2015-10-28 04:00:00 | 23.330517 |
2015-10-28 05:00:00 | 26.130716 |
2015-10-28 06:00:00 | 68.184102 |
2015-10-28 07:00:00 | 17.891049 |
2015-10-28 08:00:00 | 7.689945 |
2015-10-28 09:00:00 | 34.479795 |
2015-10-28 10:00:00 | 5.768535 |
2015-10-28 11:00:00 | 55.996156 |
2015-10-28 12:00:00 | 52.156262 |
2015-10-28 13:00:00 | 48.276526 |
2015-10-28 14:00:00 | 29.068677 |
2015-10-28 15:00:00 | 51.055828 |
2015-10-28 16:00:00 | 50.142903 |
2015-10-28 17:00:00 | 35.699715 |
2015-10-28 18:00:00 | 41.009140 |
2015-10-28 19:00:00 | 70.126446 |
2015-10-28 20:00:00 | 22.225432 |
2015-10-28 21:00:00 | 54.659647 |
2015-10-28 22:00:00 | 50.467770 |
2015-10-28 23:00:00 | 35.307784 |
2015-10-29 00:00:00 | 44.072312 |
2015-10-29 01:00:00 | 36.433573 |
2015-10-29 02:00:00 | 65.174990 |
2015-10-29 03:00:00 | 39.027232 |
2015-10-29 04:00:00 | 21.882484 |
2015-10-29 05:00:00 | 16.475724 |
2015-10-29 06:00:00 | 29.737078 |
2015-10-29 07:00:00 | 44.677987 |
2015-10-29 08:00:00 | 9.726528 |
2015-10-29 09:00:00 | 32.252834 |
2015-10-29 10:00:00 | 36.463706 |
2015-10-29 11:00:00 | 18.570584 |
2015-10-29 12:00:00 | 47.179197 |
2015-10-29 13:00:00 | 16.814399 |
2015-10-29 14:00:00 | 21.411535 |
2015-10-29 15:00:00 | 78.303208 |
2015-10-29 16:00:00 | 37.809087 |
2015-10-29 17:00:00 | 46.143853 |
2015-10-29 18:00:00 | 58.575561 |
2015-10-29 19:00:00 | 10.668517 |
2015-10-29 20:00:00 | 40.423676 |
2015-10-29 21:00:00 | 42.632654 |
2015-10-29 22:00:00 | 17.024037 |
2015-10-29 23:00:00 | 38.288825 |
2015-10-30 00:00:00 | 61.935956 |
2015-10-30 01:00:00 | 16.267685 |
2015-10-30 02:00:00 | 50.454336 |
2015-10-30 03:00:00 | 64.303302 |
2015-10-30 04:00:00 | 36.859830 |
2015-10-30 05:00:00 | 19.045695 |
2015-10-30 06:00:00 | 51.206781 |
2015-10-30 07:00:00 | 43.157475 |
2015-10-30 08:00:00 | 66.533505 |
2015-10-30 09:00:00 | 46.407488 |
2015-10-30 10:00:00 | 31.593622 |
2015-10-30 11:00:00 | 32.880155 |
2015-10-30 12:00:00 | 32.330595 |
2015-10-30 13:00:00 | 44.101568 |
2015-10-30 14:00:00 | 30.998232 |
2015-10-30 15:00:00 | 69.575830 |
2015-10-30 16:00:00 | 28.656834 |
2015-10-30 17:00:00 | 40.347359 |
2015-10-30 18:00:00 | 73.769908 |
2015-10-30 19:00:00 | 30.711824 |
2015-10-30 20:00:00 | 39.900346 |
2015-10-30 21:00:00 | 41.396253 |
2015-10-30 22:00:00 | 14.918891 |
2015-10-30 23:00:00 | 48.476683 |
2015-10-31 00:00:00 | 54.804861 |
2015-10-31 01:00:00 | 74.841654 |
2015-10-31 02:00:00 | 31.581531 |
2015-10-31 03:00:00 | 60.288192 |
2015-10-31 04:00:00 | 22.568788 |
2015-10-31 05:00:00 | 42.800695 |
2015-10-31 06:00:00 | 41.309206 |
2015-10-31 07:00:00 | 14.657249 |
2015-10-31 08:00:00 | 35.299757 |
2015-10-31 09:00:00 | 23.238057 |
2015-10-31 10:00:00 | 36.344364 |
2015-10-31 11:00:00 | 34.088694 |
2015-10-31 12:00:00 | 41.491756 |
2015-10-31 13:00:00 | 42.307821 |
2015-10-31 14:00:00 | 46.513619 |
2015-10-31 15:00:00 | 59.169215 |
2015-10-31 16:00:00 | 49.514779 |
2015-10-31 17:00:00 | 9.835715 |
2015-10-31 18:00:00 | 30.380895 |
2015-10-31 19:00:00 | 40.075967 |
2015-10-31 20:00:00 | 53.075152 |
2015-10-31 21:00:00 | 26.581510 |
2015-10-31 22:00:00 | 37.963427 |
2015-10-31 23:00:00 | 67.098804 |
2015-11-01 00:00:00 | 9.541255 |
2015-11-01 01:00:00 | 50.560327 |
2015-11-01 02:00:00 | 48.675529 |
2015-11-01 03:00:00 | 50.790777 |
2015-11-01 04:00:00 | 39.647840 |
2015-11-01 05:00:00 | 71.594723 |
2015-11-01 06:00:00 | 45.642905 |
2015-11-01 07:00:00 | 22.403748 |
2015-11-01 08:00:00 | 42.583314 |
2015-11-01 09:00:00 | 48.973803 |
2015-11-01 10:00:00 | 36.391814 |
2015-11-01 11:00:00 | 39.451300 |
2015-11-01 12:00:00 | 48.231945 |
2015-11-01 13:00:00 | 23.238733 |
2015-11-01 14:00:00 | 29.103701 |
2015-11-01 15:00:00 | 24.890495 |
2015-11-01 16:00:00 | 39.501753 |
2015-11-01 17:00:00 | 3.553891 |
2015-11-01 18:00:00 | 41.188599 |
2015-11-01 19:00:00 | 41.303353 |
2015-11-01 20:00:00 | 17.858629 |
2015-11-01 21:00:00 | 28.382995 |
2015-11-01 22:00:00 | 51.696846 |
2015-11-01 23:00:00 | 60.225725 |
2015-11-02 00:00:00 | 18.710074 |
2015-11-02 01:00:00 | 69.677403 |
2015-11-02 02:00:00 | 70.643756 |
2015-11-02 03:00:00 | 32.130700 |
2015-11-02 04:00:00 | 43.286488 |
2015-11-02 05:00:00 | 46.519110 |
2015-11-02 06:00:00 | 49.418788 |
2015-11-02 07:00:00 | 22.603133 |
2015-11-02 08:00:00 | 17.204039 |
2015-11-02 09:00:00 | 36.098841 |
2015-11-02 10:00:00 | 37.426039 |
2015-11-02 11:00:00 | 68.958258 |
2015-11-02 12:00:00 | 56.355300 |
2015-11-02 13:00:00 | 27.421826 |
2015-11-02 14:00:00 | 21.977013 |
2015-11-02 15:00:00 | 31.650012 |
2015-11-02 16:00:00 | 19.103725 |
2015-11-02 17:00:00 | 40.573976 |
2015-11-02 18:00:00 | 34.139365 |
2015-11-02 19:00:00 | 31.604146 |
2015-11-02 20:00:00 | 53.455162 |
2015-11-02 21:00:00 | 50.932862 |
2015-11-02 22:00:00 | 21.382117 |
2015-11-02 23:00:00 | 28.707991 |
2015-11-03 00:00:00 | 28.266119 |
2015-11-03 01:00:00 | 56.643025 |
2015-11-03 02:00:00 | 65.491297 |
2015-11-03 03:00:00 | 45.264900 |
2015-11-03 04:00:00 | 32.083226 |
2015-11-03 05:00:00 | 20.034940 |
2015-11-03 06:00:00 | 59.361131 |
2015-11-03 07:00:00 | 63.062853 |
2015-11-03 08:00:00 | 36.311024 |
2015-11-03 09:00:00 | 28.786016 |
2015-11-03 10:00:00 | 41.529467 |
2015-11-03 11:00:00 | 15.911946 |
2015-11-03 12:00:00 | 50.859685 |
2015-11-03 13:00:00 | 43.005399 |
2015-11-03 14:00:00 | 34.650963 |
2015-11-03 15:00:00 | 53.490976 |
2015-11-03 16:00:00 | 30.670295 |
2015-11-03 17:00:00 | 11.915951 |
2015-11-03 18:00:00 | 24.722517 |
2015-11-03 19:00:00 | 38.936218 |
2015-11-03 20:00:00 | 35.450478 |
2015-11-03 21:00:00 | 45.970258 |
2015-11-03 22:00:00 | 56.407256 |
2015-11-03 23:00:00 | 49.554872 |
2015-11-04 00:00:00 | 48.358182 |
2015-11-04 01:00:00 | 16.816164 |
2015-11-04 02:00:00 | 19.084841 |
2015-11-04 03:00:00 | 49.944728 |
2015-11-04 04:00:00 | 21.617885 |
2015-11-04 05:00:00 | 26.981540 |
2015-11-04 06:00:00 | 51.754010 |
2015-11-04 07:00:00 | 35.729160 |
2015-11-04 08:00:00 | 71.273732 |
2015-11-04 09:00:00 | 28.418581 |
2015-11-04 10:00:00 | 16.964691 |
2015-11-04 11:00:00 | 47.892948 |
2015-11-04 12:00:00 | 50.257181 |
2015-11-04 13:00:00 | 48.595430 |
2015-11-04 14:00:00 | 49.996359 |
2015-11-04 15:00:00 | 48.920110 |
2015-11-04 16:00:00 | 68.161543 |
2015-11-04 17:00:00 | 30.529780 |
2015-11-04 18:00:00 | 55.694453 |
2015-11-04 19:00:00 | 47.145238 |
2015-11-04 20:00:00 | 50.778857 |
2015-11-04 21:00:00 | 47.658571 |
2015-11-04 22:00:00 | 26.331098 |
2015-11-04 23:00:00 | 67.761091 |
2015-11-05 00:00:00 | 51.085154 |
2015-11-05 01:00:00 | 41.117956 |
2015-11-05 02:00:00 | 9.068800 |
2015-11-05 03:00:00 | 61.260012 |
2015-11-05 04:00:00 | 20.384767 |
2015-11-05 05:00:00 | 23.371558 |
2015-11-05 06:00:00 | 54.130721 |
2015-11-05 07:00:00 | 47.173422 |
2015-11-05 08:00:00 | 17.330480 |
2015-11-05 09:00:00 | 27.900997 |
2015-11-05 10:00:00 | 60.693928 |
2015-11-05 11:00:00 | 55.750439 |
2015-11-05 12:00:00 | 31.980729 |
2015-11-05 13:00:00 | 46.026815 |
2015-11-05 14:00:00 | 51.486720 |
2015-11-05 15:00:00 | 35.083882 |
2015-11-05 16:00:00 | 29.222731 |
2015-11-05 17:00:00 | 38.054577 |
2015-11-05 18:00:00 | 32.803461 |
2015-11-05 19:00:00 | 34.590651 |
2015-11-05 20:00:00 | 7.041455 |
2015-11-05 21:00:00 | 43.879486 |
2015-11-05 22:00:00 | 54.260075 |
2015-11-05 23:00:00 | 49.607998 |
2015-11-06 00:00:00 | 51.166843 |
2015-11-06 01:00:00 | 60.332261 |
2015-11-06 02:00:00 | 54.000615 |
2015-11-06 03:00:00 | 48.402953 |
2015-11-06 04:00:00 | 71.293996 |
2015-11-06 05:00:00 | 25.864377 |
2015-11-06 06:00:00 | 43.534985 |
2015-11-06 07:00:00 | 10.294754 |
2015-11-06 08:00:00 | 27.211552 |
2015-11-06 09:00:00 | 68.771180 |
2015-11-06 10:00:00 | 40.635575 |
2015-11-06 11:00:00 | 48.547279 |
2015-11-06 12:00:00 | 51.211695 |
2015-11-06 13:00:00 | 62.323132 |
2015-11-06 14:00:00 | 36.042205 |
2015-11-06 15:00:00 | 65.867425 |
2015-11-06 16:00:00 | 43.091257 |
2015-11-06 17:00:00 | 49.999283 |
2015-11-06 18:00:00 | 42.753244 |
2015-11-06 19:00:00 | 43.280302 |
2015-11-06 20:00:00 | 12.215143 |
2015-11-06 21:00:00 | 30.790950 |
2015-11-06 22:00:00 | 43.146264 |
2015-11-06 23:00:00 | 24.862962 |
2015-11-07 00:00:00 | 60.419541 |
2015-11-07 01:00:00 | 2.829191 |
2015-11-07 02:00:00 | 41.358591 |
2015-11-07 03:00:00 | 32.518025 |
2015-11-07 04:00:00 | 32.936246 |
2015-11-07 05:00:00 | 53.903692 |
2015-11-07 06:00:00 | 54.349240 |
2015-11-07 07:00:00 | 48.667338 |
2015-11-07 08:00:00 | 43.697246 |
2015-11-07 09:00:00 | 64.391019 |
2015-11-07 10:00:00 | 54.642566 |
2015-11-07 11:00:00 | 31.579795 |
2015-11-07 12:00:00 | 10.697792 |
2015-11-07 13:00:00 | 69.408304 |
2015-11-07 14:00:00 | 57.739228 |
2015-11-07 15:00:00 | 54.043036 |
2015-11-07 16:00:00 | 21.378107 |
2015-11-07 17:00:00 | 68.557246 |
2015-11-07 18:00:00 | 49.990255 |
2015-11-07 19:00:00 | 60.870852 |
2015-11-07 20:00:00 | 15.231194 |
2015-11-07 21:00:00 | 35.271872 |
2015-11-07 22:00:00 | 47.834724 |
2015-11-07 23:00:00 | 39.042589 |
2015-11-08 00:00:00 | 31.282543 |
2015-11-08 01:00:00 | 34.318646 |
2015-11-08 02:00:00 | 45.695737 |
2015-11-08 03:00:00 | 34.761724 |
2015-11-08 04:00:00 | 41.324282 |
2015-11-08 05:00:00 | 22.815585 |
2015-11-08 06:00:00 | 63.250742 |
2015-11-08 07:00:00 | 13.839852 |
2015-11-08 08:00:00 | 46.006283 |
2015-11-08 09:00:00 | 44.493733 |
2015-11-08 10:00:00 | 63.378401 |
2015-11-08 11:00:00 | 42.817629 |
2015-11-08 12:00:00 | 45.072082 |
2015-11-08 13:00:00 | 46.040137 |
2015-11-08 14:00:00 | 11.573340 |
2015-11-08 15:00:00 | 39.922730 |
2015-11-08 16:00:00 | 40.153338 |
2015-11-08 17:00:00 | 63.037254 |
2015-11-08 18:00:00 | 48.776710 |
2015-11-08 19:00:00 | 53.306946 |
2015-11-08 20:00:00 | 41.484211 |
2015-11-08 21:00:00 | 45.348702 |
2015-11-08 22:00:00 | 54.969466 |
2015-11-08 23:00:00 | 47.595072 |
2015-11-09 00:00:00 | 40.591619 |
2015-11-09 01:00:00 | 43.363619 |
2015-11-09 02:00:00 | 65.789153 |
2015-11-09 03:00:00 | 29.012179 |
2015-11-09 04:00:00 | 38.944844 |
2015-11-09 05:00:00 | 26.349575 |
2015-11-09 06:00:00 | 33.638500 |
2015-11-09 07:00:00 | 8.524681 |
2015-11-09 08:00:00 | 7.047517 |
2015-11-09 09:00:00 | 71.864778 |
2015-11-09 10:00:00 | 33.775195 |
2015-11-09 11:00:00 | 34.524480 |
2015-11-09 12:00:00 | 13.277970 |
2015-11-09 13:00:00 | 20.951475 |
2015-11-09 14:00:00 | 42.715256 |
2015-11-09 15:00:00 | 51.101163 |
2015-11-09 16:00:00 | 8.718182 |
2015-11-09 17:00:00 | 23.884311 |
2015-11-09 18:00:00 | 44.208632 |
2015-11-09 19:00:00 | 47.094925 |
2015-11-09 20:00:00 | 25.140574 |
2015-11-09 21:00:00 | 33.723718 |
2015-11-09 22:00:00 | 23.366525 |
2015-11-09 23:00:00 | 41.851025 |
2015-11-10 00:00:00 | 28.565955 |
2015-11-10 01:00:00 | 49.010418 |
2015-11-10 02:00:00 | 76.953288 |
2015-11-10 03:00:00 | 33.641144 |
2015-11-10 04:00:00 | 61.127699 |
2015-11-10 05:00:00 | 61.822340 |
2015-11-10 06:00:00 | 22.690029 |
2015-11-10 07:00:00 | 52.496753 |
2015-11-10 08:00:00 | 26.962412 |
2015-11-10 09:00:00 | 55.912366 |
2015-11-10 10:00:00 | 38.827366 |
2015-11-10 11:00:00 | 51.170992 |
2015-11-10 12:00:00 | 38.982250 |
2015-11-10 13:00:00 | 36.403632 |
2015-11-10 14:00:00 | 45.511136 |
2015-11-10 15:00:00 | 35.450764 |
2015-11-10 16:00:00 | 12.781466 |
2015-11-10 17:00:00 | 34.596144 |
2015-11-10 18:00:00 | 19.863000 |
2015-11-10 19:00:00 | 61.422724 |
2015-11-10 20:00:00 | 37.871542 |
2015-11-10 21:00:00 | 44.714030 |
2015-11-10 22:00:00 | 52.438546 |
2015-11-10 23:00:00 | 21.870034 |
2015-11-11 00:00:00 | 42.775527 |
2015-11-11 01:00:00 | 37.075660 |
2015-11-11 02:00:00 | 55.922491 |
2015-11-11 03:00:00 | 21.725370 |
2015-11-11 04:00:00 | 27.383226 |
2015-11-11 05:00:00 | 26.474453 |
2015-11-11 06:00:00 | 24.992206 |
2015-11-11 07:00:00 | 29.420236 |
2015-11-11 08:00:00 | 18.593189 |
2015-11-11 09:00:00 | 19.401002 |
2015-11-11 10:00:00 | 30.797664 |
2015-11-11 11:00:00 | 53.005290 |
2015-11-11 12:00:00 | 29.785165 |
2015-11-11 13:00:00 | 48.478284 |
2015-11-11 14:00:00 | 41.000063 |
2015-11-11 15:00:00 | 55.985426 |
2015-11-11 16:00:00 | 23.593107 |
2015-11-11 17:00:00 | 16.929397 |
2015-11-11 18:00:00 | 26.105809 |
2015-11-11 19:00:00 | 27.278099 |
2015-11-11 20:00:00 | 35.966696 |
2015-11-11 21:00:00 | 62.321017 |
2015-11-11 22:00:00 | 22.551005 |
2015-11-11 23:00:00 | 32.326498 |
2015-11-12 00:00:00 | 36.768426 |
2015-11-12 01:00:00 | 16.655779 |
2015-11-12 02:00:00 | 50.903035 |
2015-11-12 03:00:00 | 32.744233 |
2015-11-12 04:00:00 | 43.446611 |
2015-11-12 05:00:00 | 12.872882 |
2015-11-12 06:00:00 | 43.626821 |
2015-11-12 07:00:00 | 17.932564 |
2015-11-12 08:00:00 | 46.430782 |
2015-11-12 09:00:00 | 47.555630 |
2015-11-12 10:00:00 | 23.164628 |
2015-11-12 11:00:00 | 36.320166 |
2015-11-12 12:00:00 | 41.829277 |
2015-11-12 13:00:00 | 65.063811 |
2015-11-12 14:00:00 | 53.996669 |
2015-11-12 15:00:00 | 53.065490 |
2015-11-12 16:00:00 | 36.048012 |
2015-11-12 17:00:00 | 23.164822 |
2015-11-12 18:00:00 | 38.652909 |
2015-11-12 19:00:00 | 48.085267 |
2015-11-12 20:00:00 | 39.547030 |
2015-11-12 21:00:00 | 36.281582 |
2015-11-12 22:00:00 | 22.304580 |
2015-11-12 23:00:00 | 39.054497 |
2015-11-13 00:00:00 | 62.456375 |
2015-11-13 01:00:00 | 21.058794 |
2015-11-13 02:00:00 | 24.986703 |
2015-11-13 03:00:00 | 47.340037 |
2015-11-13 04:00:00 | 42.103710 |
2015-11-13 05:00:00 | 46.277421 |
2015-11-13 06:00:00 | 41.346360 |
2015-11-13 07:00:00 | 8.198421 |
2015-11-13 08:00:00 | 49.820480 |
2015-11-13 09:00:00 | 52.630520 |
2015-11-13 10:00:00 | 14.320846 |
2015-11-13 11:00:00 | 29.429210 |
2015-11-13 12:00:00 | 46.610070 |
2015-11-13 13:00:00 | 27.718158 |
2015-11-13 14:00:00 | 43.646591 |
2015-11-13 15:00:00 | 58.249277 |
2015-11-13 16:00:00 | 37.955810 |
2015-11-13 17:00:00 | 53.167141 |
2015-11-13 18:00:00 | 17.003180 |
2015-11-13 19:00:00 | 36.987767 |
2015-11-13 20:00:00 | 69.421289 |
2015-11-13 21:00:00 | 42.282380 |
2015-11-13 22:00:00 | 60.299183 |
2015-11-13 23:00:00 | 77.388036 |
2015-11-14 00:00:00 | 38.187514 |
2015-11-14 01:00:00 | 73.920364 |
2015-11-14 02:00:00 | 23.427619 |
2015-11-14 03:00:00 | 74.049763 |
2015-11-14 04:00:00 | 71.025842 |
2015-11-14 05:00:00 | 36.310935 |
2015-11-14 06:00:00 | 69.727846 |
2015-11-14 07:00:00 | 47.318911 |
2015-11-14 08:00:00 | 54.552009 |
2015-11-14 09:00:00 | 22.047066 |
2015-11-14 10:00:00 | 33.286940 |
2015-11-14 11:00:00 | 44.805901 |
2015-11-14 12:00:00 | 30.968865 |
2015-11-14 13:00:00 | 32.250332 |
2015-11-14 14:00:00 | 60.449541 |
2015-11-14 15:00:00 | 17.006485 |
2015-11-14 16:00:00 | 42.845801 |
2015-11-14 17:00:00 | 47.528852 |
2015-11-14 18:00:00 | 39.715687 |
2015-11-14 19:00:00 | 23.905351 |
2015-11-14 20:00:00 | 60.468321 |
2015-11-14 21:00:00 | 16.016156 |
2015-11-14 22:00:00 | 24.913911 |
2015-11-14 23:00:00 | 52.127222 |
2015-11-15 00:00:00 | 31.771907 |
2015-11-15 01:00:00 | 33.992850 |
2015-11-15 02:00:00 | 12.282765 |
2015-11-15 03:00:00 | 50.596037 |
2015-11-15 04:00:00 | 31.542007 |
2015-11-15 05:00:00 | 20.514348 |
2015-11-15 06:00:00 | 27.990267 |
2015-11-15 07:00:00 | 70.663541 |
2015-11-15 08:00:00 | 44.674916 |
2015-11-15 09:00:00 | 22.821463 |
2015-11-15 10:00:00 | 28.171757 |
2015-11-15 11:00:00 | 38.060556 |
2015-11-15 12:00:00 | 28.251189 |
2015-11-15 13:00:00 | 20.650803 |
2015-11-15 14:00:00 | 42.038281 |
2015-11-15 15:00:00 | 33.657499 |
2015-11-15 16:00:00 | 24.628537 |
2015-11-15 17:00:00 | 62.740169 |
2015-11-15 18:00:00 | 37.227280 |
2015-11-15 19:00:00 | 66.834372 |
2015-11-15 20:00:00 | 54.885094 |
2015-11-15 21:00:00 | 38.741754 |
2015-11-15 22:00:00 | 52.565861 |
2015-11-15 23:00:00 | 42.011579 |
2015-11-16 00:00:00 | 1.884618 |
2015-11-16 01:00:00 | 33.697009 |
2015-11-16 02:00:00 | 35.136376 |
2015-11-16 03:00:00 | 52.342981 |
2015-11-16 04:00:00 | 56.699116 |
2015-11-16 05:00:00 | 55.563435 |
2015-11-16 06:00:00 | 45.758364 |
2015-11-16 07:00:00 | 50.659673 |
2015-11-16 08:00:00 | 40.169564 |
2015-11-16 09:00:00 | 24.979220 |
2015-11-16 10:00:00 | 47.796589 |
2015-11-16 11:00:00 | 35.726957 |
2015-11-16 12:00:00 | 54.028989 |
2015-11-16 13:00:00 | 45.341975 |
2015-11-16 14:00:00 | 48.476311 |
2015-11-16 15:00:00 | 33.640512 |
2015-11-16 16:00:00 | 30.864809 |
2015-11-16 17:00:00 | 20.844211 |
2015-11-16 18:00:00 | 19.803964 |
2015-11-16 19:00:00 | 36.264543 |
2015-11-16 20:00:00 | 31.291821 |
2015-11-16 21:00:00 | 10.358942 |
2015-11-16 22:00:00 | 31.271942 |
2015-11-16 23:00:00 | 39.143974 |
2015-11-17 00:00:00 | 40.599863 |
2015-11-17 01:00:00 | 4.404232 |
2015-11-17 02:00:00 | 60.532204 |
2015-11-17 03:00:00 | 42.654711 |
2015-11-17 04:00:00 | 11.865801 |
2015-11-17 05:00:00 | 22.798883 |
2015-11-17 06:00:00 | 32.524959 |
2015-11-17 07:00:00 | 65.957563 |
2015-11-17 08:00:00 | 26.382528 |
2015-11-17 09:00:00 | 33.062656 |
2015-11-17 10:00:00 | 18.365385 |
2015-11-17 11:00:00 | 59.433134 |
2015-11-17 12:00:00 | 38.719453 |
2015-11-17 13:00:00 | 70.619444 |
2015-11-17 14:00:00 | 51.069993 |
2015-11-17 15:00:00 | 29.489031 |
2015-11-17 16:00:00 | 15.808655 |
2015-11-17 17:00:00 | 39.223626 |
2015-11-17 18:00:00 | 47.080228 |
2015-11-17 19:00:00 | 41.980568 |
2015-11-17 20:00:00 | 61.214361 |
2015-11-17 21:00:00 | 23.836742 |
2015-11-17 22:00:00 | 35.213413 |
2015-11-17 23:00:00 | 66.174825 |
2015-11-18 00:00:00 | 11.472738 |
2015-11-18 01:00:00 | 40.944768 |
2015-11-18 02:00:00 | 73.297982 |
2015-11-18 03:00:00 | 21.705112 |
2015-11-18 04:00:00 | 13.445279 |
2015-11-18 05:00:00 | 33.855644 |
2015-11-18 06:00:00 | 38.425269 |
2015-11-18 07:00:00 | 7.564169 |
2015-11-18 08:00:00 | 20.792792 |
2015-11-18 09:00:00 | 47.126813 |
2015-11-18 10:00:00 | 38.557200 |
2015-11-18 11:00:00 | 30.619750 |
2015-11-18 12:00:00 | 27.548411 |
2015-11-18 13:00:00 | 34.697505 |
2015-11-18 14:00:00 | 36.676699 |
2015-11-18 15:00:00 | 30.025806 |
2015-11-18 16:00:00 | 44.290001 |
2015-11-18 17:00:00 | 31.476714 |
2015-11-18 18:00:00 | 16.554329 |
2015-11-18 19:00:00 | 28.467637 |
2015-11-18 20:00:00 | 60.756805 |
2015-11-18 21:00:00 | 53.156311 |
2015-11-18 22:00:00 | 43.736182 |
2015-11-18 23:00:00 | 44.678285 |
2015-11-19 00:00:00 | 32.500159 |
2015-11-19 01:00:00 | 53.096718 |
2015-11-19 02:00:00 | 50.450171 |
2015-11-19 03:00:00 | 20.671851 |
2015-11-19 04:00:00 | 48.500930 |
2015-11-19 05:00:00 | 55.872094 |
2015-11-19 06:00:00 | 16.955515 |
2015-11-19 07:00:00 | 47.782032 |
2015-11-19 08:00:00 | 64.182162 |
2015-11-19 09:00:00 | 19.123758 |
2015-11-19 10:00:00 | 26.630040 |
2015-11-19 11:00:00 | 24.693264 |
2015-11-19 12:00:00 | 14.882576 |
2015-11-19 13:00:00 | 54.702633 |
2015-11-19 14:00:00 | 28.045472 |
2015-11-19 15:00:00 | 44.237443 |
2015-11-19 16:00:00 | 53.989477 |
2015-11-19 17:00:00 | 44.208531 |
2015-11-19 18:00:00 | 44.145634 |
2015-11-19 19:00:00 | 40.174149 |
2015-11-19 20:00:00 | 75.699763 |
2015-11-19 21:00:00 | 33.688595 |
2015-11-19 22:00:00 | 60.315099 |
2015-11-19 23:00:00 | 37.811607 |
2015-11-20 00:00:00 | 62.216296 |
2015-11-20 01:00:00 | 21.923579 |
2015-11-20 02:00:00 | 50.856824 |
2015-11-20 03:00:00 | 9.506527 |
2015-11-20 04:00:00 | 39.037833 |
2015-11-20 05:00:00 | 47.392675 |
2015-11-20 06:00:00 | 39.774791 |
2015-11-20 07:00:00 | 48.835634 |
2015-11-20 08:00:00 | 46.283958 |
2015-11-20 09:00:00 | 48.833873 |
2015-11-20 10:00:00 | 41.321219 |
2015-11-20 11:00:00 | 49.126166 |
2015-11-20 12:00:00 | 26.070307 |
2015-11-20 13:00:00 | 37.334013 |
2015-11-20 14:00:00 | 44.013403 |
2015-11-20 15:00:00 | 63.076857 |
2015-11-20 16:00:00 | 44.009289 |
2015-11-20 17:00:00 | 53.765517 |
2015-11-20 18:00:00 | 6.907394 |
2015-11-20 19:00:00 | 51.625765 |
2015-11-20 20:00:00 | 64.845969 |
2015-11-20 21:00:00 | 23.791188 |
2015-11-20 22:00:00 | 41.551253 |
2015-11-20 23:00:00 | 45.032033 |
2015-11-21 00:00:00 | 30.722590 |
2015-11-21 01:00:00 | 37.643845 |
2015-11-21 02:00:00 | 33.978619 |
2015-11-21 03:00:00 | 59.975566 |
2015-11-21 04:00:00 | 24.821922 |
2015-11-21 05:00:00 | 24.426441 |
2015-11-21 06:00:00 | 58.768110 |
2015-11-21 07:00:00 | 47.487387 |
2015-11-21 08:00:00 | 41.046481 |
2015-11-21 09:00:00 | 32.077990 |
2015-11-21 10:00:00 | 61.332384 |
2015-11-21 11:00:00 | 33.779878 |
2015-11-21 12:00:00 | 68.860907 |
2015-11-21 13:00:00 | 28.228687 |
2015-11-21 14:00:00 | 41.392049 |
2015-11-21 15:00:00 | 55.493874 |
2015-11-21 16:00:00 | 41.741668 |
2015-11-21 17:00:00 | 54.743921 |
2015-11-21 18:00:00 | 51.711642 |
2015-11-21 19:00:00 | 21.725879 |
2015-11-21 20:00:00 | 45.572460 |
2015-11-21 21:00:00 | 29.984989 |
2015-11-21 22:00:00 | 31.946214 |
2015-11-21 23:00:00 | 74.120935 |
2015-11-22 00:00:00 | 39.799580 |
2015-11-22 01:00:00 | 28.923704 |
2015-11-22 02:00:00 | 34.125230 |
2015-11-22 03:00:00 | 47.261910 |
2015-11-22 04:00:00 | 31.905987 |
2015-11-22 05:00:00 | 53.219995 |
2015-11-22 06:00:00 | 26.944213 |
2015-11-22 07:00:00 | 54.151730 |
2015-11-22 08:00:00 | 31.557127 |
2015-11-22 09:00:00 | 47.108037 |
2015-11-22 10:00:00 | 16.939418 |
2015-11-22 11:00:00 | 56.867922 |
2015-11-22 12:00:00 | 56.924140 |
2015-11-22 13:00:00 | 7.143941 |
2015-11-22 14:00:00 | 49.925868 |
2015-11-22 15:00:00 | 58.971000 |
2015-11-22 16:00:00 | 34.281085 |
2015-11-22 17:00:00 | 42.682790 |
2015-11-22 18:00:00 | 36.855911 |
2015-11-22 19:00:00 | 22.575510 |
2015-11-22 20:00:00 | 43.106407 |
2015-11-22 21:00:00 | 57.423548 |
2015-11-22 22:00:00 | 60.982311 |
2015-11-22 23:00:00 | 19.184503 |
2015-11-23 00:00:00 | 27.031110 |
2015-11-23 01:00:00 | 24.985017 |
2015-11-23 02:00:00 | 41.859799 |
2015-11-23 03:00:00 | 7.230717 |
2015-11-23 04:00:00 | 24.225717 |
2015-11-23 05:00:00 | 46.453707 |
2015-11-23 06:00:00 | 51.230189 |
2015-11-23 07:00:00 | 44.442608 |
2015-11-23 08:00:00 | 49.115951 |
2015-11-23 09:00:00 | 32.865960 |
2015-11-23 10:00:00 | 23.082460 |
2015-11-23 11:00:00 | 34.718627 |
2015-11-23 12:00:00 | 66.163243 |
2015-11-23 13:00:00 | 68.177732 |
2015-11-23 14:00:00 | 42.731288 |
2015-11-23 15:00:00 | 65.160220 |
2015-11-23 16:00:00 | 18.855938 |
2015-11-23 17:00:00 | 28.938320 |
2015-11-23 18:00:00 | 4.388469 |
2015-11-23 19:00:00 | 44.976017 |
2015-11-23 20:00:00 | 35.722734 |
2015-11-23 21:00:00 | 45.347123 |
2015-11-23 22:00:00 | 22.781328 |
2015-11-23 23:00:00 | 43.114767 |
2015-11-24 00:00:00 | 24.184121 |
2015-11-24 01:00:00 | 43.356235 |
2015-11-24 02:00:00 | 35.089344 |
2015-11-24 03:00:00 | 42.129951 |
2015-11-24 04:00:00 | 65.064061 |
2015-11-24 05:00:00 | 31.054652 |
2015-11-24 06:00:00 | 43.142107 |
2015-11-24 07:00:00 | 33.909621 |
2015-11-24 08:00:00 | 25.199164 |
2015-11-24 09:00:00 | 26.900095 |
2015-11-24 10:00:00 | 54.820399 |
2015-11-24 11:00:00 | 36.714245 |
2015-11-24 12:00:00 | 58.612063 |
2015-11-24 13:00:00 | 48.918951 |
2015-11-24 14:00:00 | 55.173613 |
2015-11-24 15:00:00 | 34.770766 |
2015-11-24 16:00:00 | 4.595560 |
2015-11-24 17:00:00 | 17.717682 |
2015-11-24 18:00:00 | 63.682387 |
2015-11-24 19:00:00 | 16.459204 |
2015-11-24 20:00:00 | 39.174167 |
2015-11-24 21:00:00 | 5.544962 |
2015-11-24 22:00:00 | 51.408889 |
2015-11-24 23:00:00 | 71.206396 |
2015-11-25 00:00:00 | 20.604607 |
2015-11-25 01:00:00 | 45.903558 |
2015-11-25 02:00:00 | 47.996068 |
2015-11-25 03:00:00 | 51.515777 |
2015-11-25 04:00:00 | 27.643937 |
2015-11-25 05:00:00 | 19.950425 |
2015-11-25 06:00:00 | 42.934676 |
2015-11-25 07:00:00 | 33.758964 |
2015-11-25 08:00:00 | 60.198257 |
2015-11-25 09:00:00 | 64.822648 |
2015-11-25 10:00:00 | 26.160919 |
2015-11-25 11:00:00 | 44.729294 |
2015-11-25 12:00:00 | 28.503025 |
2015-11-25 13:00:00 | 75.771776 |
2015-11-25 14:00:00 | 27.112065 |
2015-11-25 15:00:00 | 49.403191 |
2015-11-25 16:00:00 | 38.397854 |
2015-11-25 17:00:00 | 38.091870 |
2015-11-25 18:00:00 | 43.485536 |
2015-11-25 19:00:00 | 13.170863 |
2015-11-25 20:00:00 | 52.137698 |
2015-11-25 21:00:00 | 43.204897 |
2015-11-25 22:00:00 | 37.660492 |
2015-11-25 23:00:00 | 31.197636 |
2015-11-26 00:00:00 | 34.074007 |
2015-11-26 01:00:00 | 64.403364 |
2015-11-26 02:00:00 | 61.575249 |
2015-11-26 03:00:00 | 32.426134 |
2015-11-26 04:00:00 | 30.168290 |
2015-11-26 05:00:00 | 37.227840 |
2015-11-26 06:00:00 | 18.700339 |
2015-11-26 07:00:00 | 27.573602 |
2015-11-26 08:00:00 | 48.217705 |
2015-11-26 09:00:00 | 45.173003 |
2015-11-26 10:00:00 | 18.890009 |
2015-11-26 11:00:00 | 27.141646 |
2015-11-26 12:00:00 | 14.635885 |
2015-11-26 13:00:00 | 30.364299 |
2015-11-26 14:00:00 | 8.753475 |
2015-11-26 15:00:00 | 18.768489 |
2015-11-26 16:00:00 | 39.735482 |
2015-11-26 17:00:00 | 13.730282 |
2015-11-26 18:00:00 | 44.824872 |
2015-11-26 19:00:00 | 39.809994 |
2015-11-26 20:00:00 | 28.565875 |
2015-11-26 21:00:00 | 43.661477 |
2015-11-26 22:00:00 | 55.906271 |
2015-11-26 23:00:00 | 31.129181 |
2015-11-27 00:00:00 | 19.962453 |
2015-11-27 01:00:00 | 42.683700 |
2015-11-27 02:00:00 | 59.089857 |
2015-11-27 03:00:00 | 23.640381 |
2015-11-27 04:00:00 | 26.785668 |
2015-11-27 05:00:00 | 40.640046 |
2015-11-27 06:00:00 | 35.918847 |
2015-11-27 07:00:00 | 48.929382 |
2015-11-27 08:00:00 | 25.118402 |
2015-11-27 09:00:00 | 34.981362 |
2015-11-27 10:00:00 | 8.636697 |
2015-11-27 11:00:00 | 59.959267 |
2015-11-27 12:00:00 | 18.643766 |
2015-11-27 13:00:00 | 17.155756 |
2015-11-27 14:00:00 | 5.500306 |
2015-11-27 15:00:00 | 14.505197 |
2015-11-27 16:00:00 | 24.883430 |
2015-11-27 17:00:00 | 54.744878 |
2015-11-27 18:00:00 | 55.735616 |
2015-11-27 19:00:00 | 32.256413 |
2015-11-27 20:00:00 | 38.956010 |
2015-11-27 21:00:00 | 60.020956 |
2015-11-27 22:00:00 | 69.425402 |
2015-11-27 23:00:00 | 8.688084 |
2015-11-28 00:00:00 | 42.970294 |
2015-11-28 01:00:00 | 27.727545 |
2015-11-28 02:00:00 | 38.962854 |
2015-11-28 03:00:00 | 13.365612 |
2015-11-28 04:00:00 | 31.819558 |
2015-11-28 05:00:00 | 33.103063 |
2015-11-28 06:00:00 | 30.924940 |
2015-11-28 07:00:00 | 26.308201 |
2015-11-28 08:00:00 | 9.565704 |
2015-11-28 09:00:00 | 13.830709 |
2015-11-28 10:00:00 | 48.527078 |
2015-11-28 11:00:00 | 29.341300 |
2015-11-28 12:00:00 | 56.402469 |
2015-11-28 13:00:00 | 24.985439 |
2015-11-28 14:00:00 | 36.644183 |
2015-11-28 15:00:00 | 26.098598 |
2015-11-28 16:00:00 | 24.020212 |
2015-11-28 17:00:00 | 50.831756 |
2015-11-28 18:00:00 | 56.770995 |
2015-11-28 19:00:00 | 47.023474 |
2015-11-28 20:00:00 | 59.280305 |
2015-11-28 21:00:00 | 37.453182 |
2015-11-28 22:00:00 | 72.102666 |
2015-11-28 23:00:00 | 30.348483 |
2015-11-29 00:00:00 | 53.805047 |
2015-11-29 01:00:00 | 22.456437 |
2015-11-29 02:00:00 | 60.534383 |
2015-11-29 03:00:00 | 16.088490 |
2015-11-29 04:00:00 | 36.382437 |
2015-11-29 05:00:00 | 59.246121 |
2015-11-29 06:00:00 | 45.077214 |
2015-11-29 07:00:00 | 45.120941 |
2015-11-29 08:00:00 | 38.232433 |
2015-11-29 09:00:00 | 19.465618 |
2015-11-29 10:00:00 | 38.230367 |
2015-11-29 11:00:00 | 18.690932 |
2015-11-29 12:00:00 | 20.769636 |
2015-11-29 13:00:00 | 61.135055 |
2015-11-29 14:00:00 | 27.915517 |
2015-11-29 15:00:00 | 30.520160 |
2015-11-29 16:00:00 | 28.824846 |
2015-11-29 17:00:00 | 69.571855 |
2015-11-29 18:00:00 | 37.361398 |
2015-11-29 19:00:00 | 38.282275 |
2015-11-29 20:00:00 | 46.356586 |
2015-11-29 21:00:00 | 24.056497 |
2015-11-29 22:00:00 | 53.198139 |
2015-11-29 23:00:00 | 35.252730 |
2015-11-30 00:00:00 | 43.607553 |
2015-11-30 01:00:00 | 60.174882 |
2015-11-30 02:00:00 | 17.935532 |
2015-11-30 03:00:00 | 68.517692 |
2015-11-30 04:00:00 | 29.962754 |
2015-11-30 05:00:00 | 61.862104 |
2015-11-30 06:00:00 | 20.989968 |
2015-11-30 07:00:00 | 60.410201 |
2015-11-30 08:00:00 | 59.574523 |
2015-11-30 09:00:00 | 56.018735 |
2015-11-30 10:00:00 | 24.071468 |
2015-11-30 11:00:00 | 49.377007 |
2015-11-30 12:00:00 | 38.429695 |
2015-11-30 13:00:00 | 26.261928 |
2015-11-30 14:00:00 | 66.245234 |
2015-11-30 15:00:00 | 32.917481 |
2015-11-30 16:00:00 | 25.103363 |
2015-11-30 17:00:00 | 27.791581 |
2015-11-30 18:00:00 | 46.185805 |
2015-11-30 19:00:00 | 33.197581 |
2015-11-30 20:00:00 | 45.298259 |
2015-11-30 21:00:00 | 15.820063 |
2015-11-30 22:00:00 | 19.494634 |
2015-11-30 23:00:00 | 39.350548 |
2015-12-01 00:00:00 | 39.319314 |
2015-12-01 01:00:00 | 2.474597 |
2015-12-01 02:00:00 | 41.595853 |
2015-12-01 03:00:00 | 15.030481 |
2015-12-01 04:00:00 | 71.055191 |
2015-12-01 05:00:00 | 52.047501 |
2015-12-01 06:00:00 | 72.879618 |
2015-12-01 07:00:00 | 37.068471 |
2015-12-01 08:00:00 | 34.298235 |
2015-12-01 09:00:00 | 41.579046 |
2015-12-01 10:00:00 | 40.660273 |
2015-12-01 11:00:00 | 61.635744 |
2015-12-01 12:00:00 | 43.405853 |
2015-12-01 13:00:00 | 18.588931 |
2015-12-01 14:00:00 | 47.898820 |
2015-12-01 15:00:00 | 33.526542 |
2015-12-01 16:00:00 | 53.297195 |
2015-12-01 17:00:00 | 29.570191 |
2015-12-01 18:00:00 | 18.813022 |
2015-12-01 19:00:00 | 32.032767 |
2015-12-01 20:00:00 | 43.580802 |
2015-12-01 21:00:00 | 29.927978 |
2015-12-01 22:00:00 | 65.725895 |
2015-12-01 23:00:00 | 14.997650 |
2015-12-02 00:00:00 | 21.467634 |
2015-12-02 01:00:00 | 35.542969 |
2015-12-02 02:00:00 | 67.452311 |
2015-12-02 03:00:00 | 57.589935 |
2015-12-02 04:00:00 | 35.194673 |
2015-12-02 05:00:00 | 46.114270 |
2015-12-02 06:00:00 | 35.049139 |
2015-12-02 07:00:00 | 34.855851 |
2015-12-02 08:00:00 | 31.369865 |
2015-12-02 09:00:00 | 43.440536 |
2015-12-02 10:00:00 | 5.292336 |
2015-12-02 11:00:00 | 15.588859 |
2015-12-02 12:00:00 | 45.724622 |
2015-12-02 13:00:00 | 46.292510 |
2015-12-02 14:00:00 | 38.483379 |
2015-12-02 15:00:00 | 51.287088 |
2015-12-02 16:00:00 | 35.419347 |
2015-12-02 17:00:00 | 38.717686 |
2015-12-02 18:00:00 | 53.184185 |
2015-12-02 19:00:00 | 66.245006 |
2015-12-02 20:00:00 | 40.550695 |
2015-12-02 21:00:00 | 57.073648 |
2015-12-02 22:00:00 | 49.285885 |
2015-12-02 23:00:00 | 22.874043 |
2015-12-03 00:00:00 | 46.236585 |
2015-12-03 01:00:00 | 77.101826 |
2015-12-03 02:00:00 | 49.775351 |
2015-12-03 03:00:00 | 71.134530 |
2015-12-03 04:00:00 | 58.448860 |
2015-12-03 05:00:00 | 58.534300 |
2015-12-03 06:00:00 | 28.555859 |
2015-12-03 07:00:00 | 39.062662 |
2015-12-03 08:00:00 | 16.662519 |
2015-12-03 09:00:00 | 27.000278 |
2015-12-03 10:00:00 | 44.246493 |
2015-12-03 11:00:00 | 72.966772 |
2015-12-03 12:00:00 | 31.483105 |
2015-12-03 13:00:00 | 66.816731 |
2015-12-03 14:00:00 | 42.936656 |
2015-12-03 15:00:00 | 33.401326 |
2015-12-03 16:00:00 | 66.681471 |
In this first step for analysis, We will check the daily frequency count for both datasets. It is apparent here that number of records daily for pipe1 is not evenly distributed and there are more recording per hour for pipe1.
<- pipe1.data
p1 $Date <- ymd_hms(p1$`Date Time`)
p1$Date <- as.Date(p1$Date)
p1
<- p1 %>% group_by(Date) %>% summarise("Pipe1 Records count"=n())
p1
<- pipe2.data
p2 $Date <- ymd_hms(p2$`Date Time`)
p2$Date <- as.Date(p2$Date)
p2
<- p2 %>% group_by(Date) %>% summarise("Pipe2 Records count"=n())
p2
merge(p1,p2,by="Date")
## Date Pipe1 Records count Pipe2 Records count
## 1 2015-10-23 96 23
## 2 2015-10-24 109 24
## 3 2015-10-25 95 24
## 4 2015-10-26 118 24
## 5 2015-10-27 99 24
## 6 2015-10-28 104 24
## 7 2015-10-29 96 24
## 8 2015-10-30 111 24
## 9 2015-10-31 91 24
## 10 2015-11-01 81 24
It is evident here that pipe1 dataset has an uneven count distribution for given date while pipe2 has even count daily.
In this step we will make pipe1 data evenly distributed (per hour) for every day. As mentioned in the problem for multiple recordings within an hour, take the mean, we will take mean of records per hour and then recreate the Date Time
column. Next we will do the same count comparison that was done earlier and check number of records per day.
<- pipe1.data %>%
pipe1.data mutate(Date=date(`Date Time`), Hour=hour(`Date Time`)) %>%
group_by(Date, Hour) %>%
summarise(WaterFlow=mean(WaterFlow)) %>%
ungroup() %>%
mutate(`Date Time`=ymd_h(paste(Date, Hour))) %>%
select(`Date Time`, WaterFlow)
## `summarise()` has grouped output by 'Date'. You can override using the `.groups` argument.
# check the number of records per hour daily
<- pipe1.data
p1 $Date <- ymd_hms(p1$`Date Time`)
p1$Date <- as.Date(p1$Date)
p1
<- p1 %>% group_by(Date) %>% summarise("Pipe1 Records count"=n())
p1
<- pipe2.data
p2 $Date <- ymd_hms(p2$`Date Time`)
p2$Date <- as.Date(p2$Date)
p2
<- p2 %>% group_by(Date) %>% summarise("Pipe2 Records count"=n())
p2
merge(p1,p2,by="Date")
## Date Pipe1 Records count Pipe2 Records count
## 1 2015-10-23 24 23
## 2 2015-10-24 24 24
## 3 2015-10-25 24 24
## 4 2015-10-26 24 24
## 5 2015-10-27 23 24
## 6 2015-10-28 23 24
## 7 2015-10-29 24 24
## 8 2015-10-30 24 24
## 9 2015-10-31 24 24
## 10 2015-11-01 22 24
In this section we will create the timeseries out of both datasets and check out the best model that will eventually provide a week forward forecast.
We will start with pipe1 dataset by creating its time series, plot the waterflow data and check the trend and seasonality, if exist.
<- ts(pipe1.data$WaterFlow)
pipe1.ts %>% summary() pipe1.ts
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8.923 17.033 19.784 19.893 22.789 31.730
ggtsdisplay(pipe1.ts, main="Pipe1 Waterflow", ylab="Water")
By seeing the time series, it is apparent there is no seasonality or trend in the data. The ACF and PACF plots shows white noise. It depicts that the time series is stationary and doesnt require diffencing.
<- BoxCox.lambda(pipe1.ts)
pipe1.lambda <- BoxCox(pipe1.ts, pipe1.lambda )
pipe1.ts.bc ggtsdisplay(pipe1.ts.bc, main=paste("Pipe1 Waterflow",round(pipe1.lambda, 3)), ylab="Water")
# Number of differences required for a stationary series
ndiffs(pipe1.ts.bc)
## [1] 0
%>% ur.kpss() %>% summary() pipe1.ts.bc
##
## #######################
## # KPSS Unit Root Test #
## #######################
##
## Test is of type: mu with 4 lags.
##
## Value of test-statistic is: 0.2346
##
## Critical value for a significance level of:
## 10pct 5pct 2.5pct 1pct
## critical values 0.347 0.463 0.574 0.739
We can see the test statistic small and well within the range we would expect for stationary data. So we can conclude that the data are stationary.
# ets
<- pipe1.ts %>% ets(lambda = pipe1.lambda)
pipe1.ets.model pipe1.ets.model
## ETS(A,N,N)
##
## Call:
## ets(y = ., lambda = pipe1.lambda)
##
## Box-Cox transformation: lambda= 0.272
##
## Smoothing parameters:
## alpha = 1e-04
##
## Initial states:
## l = 4.5771
##
## sigma: 0.4936
##
## AIC AICc BIC
## 960.1697 960.2731 970.5612
We can see here that the ets model that best describes the data is ETS(A,N,N) i.e. exponential smoothing with additive error, no trend and no seasonality.
Next we will find the best Arima model that fits this time series data.
# arima
<- pipe1.ts %>% auto.arima(lambda = pipe1.lambda)
pipe1.arima.model pipe1.arima.model
## Series: .
## ARIMA(0,0,0) with non-zero mean
## Box Cox transformation: lambda= 0.271971
##
## Coefficients:
## mean
## 4.5771
## s.e. 0.0320
##
## sigma^2 estimated as 0.2425: log likelihood=-167.21
## AIC=338.42 AICc=338.47 BIC=345.35
The best Arima model comes out is ARIMA(0,0,0) with non-zero mean.
Next is to plot the forecasts using both the models described above: ets and arima. For this, we will create a generic function which will accept the time series and pipe number and plot the forecast using both the models.
# function to plot forecast(s)
<- function(timeseries, pipe_num) {
pipe.forecast # lambda value
<- BoxCox.lambda(timeseries)
lambda
# models for forecast
<- timeseries %>% ets(lambda = lambda)
ets.model <- timeseries %>% auto.arima(lambda = lambda)
arima.model
# forecast h=24*7=168
<- forecast(ets.model, h=168)
pipe.ets.fcst #print(pipe.ets.fcst$mean)
<- forecast(arima.model, h=168)
pipe.arima.fcst #print(pipe.arima.fcst$mean)
# plot forecasts
<- autoplot(timeseries) +
p1 autolayer(pipe.ets.fcst, PI=FALSE, series="ETS") +
autolayer(pipe.arima.fcst, PI=FALSE, series="ARIMA") +
theme(legend.position = "top") +
ylab("Water")
# zoom in plot
if (pipe_num == 1) {
<- p1 +
p2 labs(title = "Zoom in ") +
xlim(c(225,325))
else {
} <- p1 +
p2 labs(title = "Zoom in ") +
xlim(c(990,1150))
}
grid.arrange(p1,p2,ncol=1)
}
Lets plot the forecast for pipe1. The forecast is for every hour in a day for a week.
<- forecast(pipe1.ets.model, h=168)
pipe1.ets.fcst <- forecast(pipe1.arima.model, h=168)
pipe1.arima.fcst pipe.forecast(pipe1.ts, 1)
## Scale for 'x' is already present. Adding another scale for 'x', which will
## replace the existing scale.
We can see that forecasts for both ETS and ARIMA models are almost on top of each other and for pipe1, the waterflow is forecasted to be 19.5548.
Now we will check the accuracy of both the models ETS and ARIMA. Again for this purpose, we have created a function that accepts the timeseries and a timebreak (for train and test data). In this function we will first divide the data for training and testing, train both models with train set and then find out RMSE using test data.
<- function(timeseries, time_break) {
pipe_accuracy # lambda value
<- BoxCox.lambda(timeseries)
lambda
# split the data to train and test
<- window(timeseries, end=time_break)
train <- window(timeseries, start=time_break+1)
test
# models for forecast
<- train %>% ets(model="ANN", lambda = lambda, biasadj = TRUE)
ets.model <- train %>% Arima(order=c(0,0,0),
arima.model lambda = lambda,
biasadj = TRUE)
# forecast
= forecast(ets.model, h = length(test))$mean
ets.frct = forecast(arima.model, h = length(test))$mean
arima.frct
# dataframe having rmse
= data.frame(RMSE=cbind(accuracy(ets.frct, test)[,2],
rmse accuracy(arima.frct, test)[,2]))
names(rmse) = c("ETS", "ARIMA")
# display rmse
rmse }
By passing multiple time breaks for training and test data, we see below RMSEs.
pipe_accuracy(pipe1.ts, 190)
## ETS ARIMA
## 1 3.950938 3.951593
pipe_accuracy(pipe1.ts, 178)
## ETS ARIMA
## 1 4.585535 4.585881
pipe_accuracy(pipe1.ts, 200)
## ETS ARIMA
## 1 3.275964 3.276062
It is evident here that the model best describes the pipe1 time series is ETS(A,N,N) with Box-Cox transformation of 0.272.
checkresiduals(pipe1.ets.model)
##
## Ljung-Box test
##
## data: Residuals from ETS(A,N,N)
## Q* = 5.684, df = 8, p-value = 0.6826
##
## Model df: 2. Total lags used: 10
Similar to pipe1, we will create time series for pipe2, plot the waterflow data and check the trend and seasonality, if exist.
<- ts(pipe2.data$WaterFlow)
pipe2.ts %>% summary() pipe2.ts
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.885 28.140 39.682 39.556 50.782 78.303
ggtsdisplay(pipe2.ts, main="Pipe2 Waterflow", ylab="Water")
By seeing the time series, it is apparent there is no seasonality or trend in the data. The ACF and PACF plots shows few significant auto correlations.
<- BoxCox.lambda(pipe2.ts)
pipe2.lambda <- BoxCox(pipe2.ts, pipe2.lambda )
pipe2.ts.bc ggtsdisplay(pipe2.ts.bc, main=paste("Pipe2 Waterflow",round(pipe2.lambda, 3)), ylab="Water")
# Number of differences required for a stationary series
ndiffs(pipe2.ts.bc)
## [1] 0
%>% ur.kpss() %>% summary() pipe2.ts.bc
##
## #######################
## # KPSS Unit Root Test #
## #######################
##
## Test is of type: mu with 7 lags.
##
## Value of test-statistic is: 0.1067
##
## Critical value for a significance level of:
## 10pct 5pct 2.5pct 1pct
## critical values 0.347 0.463 0.574 0.739
We can see the test statistic small and well within the range we would expect for stationary data. So we can conclude that the data are stationary.
# ets
<- pipe2.ts %>% ets(lambda = pipe2.lambda)
pipe2.ets.model pipe2.ets.model
## ETS(A,N,N)
##
## Call:
## ets(y = ., lambda = pipe2.lambda)
##
## Box-Cox transformation: lambda= 0.8493
##
## Smoothing parameters:
## alpha = 1e-04
##
## Initial states:
## l = 25.2727
##
## sigma: 9.3622
##
## AIC AICc BIC
## 11385.12 11385.14 11399.84
We can see here that the ets model that best describes the data is ETS(A,N,N) i.e. exponential smoothing with additive error, no trend and no seasonality.
Next we will find the best Arima model that fits this time series data.
# arima
<- pipe2.ts %>% auto.arima(lambda = pipe2.lambda)
pipe2.arima.model pipe2.arima.model
## Series: .
## ARIMA(0,0,0) with non-zero mean
## Box Cox transformation: lambda= 0.8493285
##
## Coefficients:
## mean
## 25.2700
## s.e. 0.2957
##
## sigma^2 estimated as 87.55: log likelihood=-3654.57
## AIC=7313.14 AICc=7313.15 BIC=7322.96
The best Arima model for pipe1 comes out is ARIMA(0,0,0) with non-zero mean, similar to pipe1.
Next we will see the forecast plots using both these models for pipe1.
<- forecast(pipe2.ets.model, h=168)
pipe2.ets.fcst <- forecast(pipe2.arima.model, h=168)
pipe2.arima.fcst pipe.forecast(pipe2.ts, 2)
## Scale for 'x' is already present. Adding another scale for 'x', which will
## replace the existing scale.
Similar to pipe1, ee can see that forecasts in this case for both ETS and ARIMA models are almost on top of each other and for pipe2, the waterflow is forecasted to be 39.012.
By passing multiple time breaks for training and test data, we see below RMSEs.
pipe_accuracy(pipe2.ts, 969)
## ETS ARIMA
## 1 18.36835 18.35826
pipe_accuracy(pipe2.ts, 850)
## ETS ARIMA
## 1 17.00739 17.00745
pipe_accuracy(pipe2.ts, 877)
## ETS ARIMA
## 1 16.60519 16.60477
It is evident here that the model best describes the pipe2 time series is ARIMA(0,0,0) with Box-Cox transformation of 0.849.
checkresiduals(pipe2.arima.model)
##
## Ljung-Box test
##
## data: Residuals from ARIMA(0,0,0) with non-zero mean
## Q* = 6.564, df = 9, p-value = 0.6824
##
## Model df: 1. Total lags used: 10
Finally lets do the forecast for both pipes (pipe1 and pipe2) using the above selected best models and save the corresponding xlsx.
<- seq(ymd_hm('2015-11-01 24:00'), ymd_hm('2015-11-08 23:00'), by="hour")
pipe1.fcst.date <- seq(ymd_hm('2015-12-03 17:00'), ymd_hm('2015-12-10 16:00'), by="hour")
pipe2.fcst.date
write.xlsx(data.frame('DateTime' = pipe1.fcst.date, 'Waterflow'= pipe1.ets.fcst$mean),
"Kapoor_data624_pipe1_forecasts.xlsx")
write.xlsx(data.frame('DateTime' = pipe2.fcst.date, 'Waterflow'= pipe2.arima.fcst$mean),
"Kapoor_data624_pipe2_forecasts.xlsx")
<- read_excel("Kapoor_data624_pipe1_forecasts.xlsx", skip=0, col_types = c("date","numeric"))
pipe1.fcst.ak %>%
pipe1.fcst.ak kbl() %>%
kable_paper() %>%
scroll_box(width = "500px", height = "200px")
DateTime | Waterflow |
---|---|
2015-11-02 00:00:00 | 19.55481 |
2015-11-02 01:00:00 | 19.55481 |
2015-11-02 02:00:00 | 19.55481 |
2015-11-02 03:00:00 | 19.55481 |
2015-11-02 04:00:00 | 19.55481 |
2015-11-02 05:00:00 | 19.55481 |
2015-11-02 06:00:00 | 19.55481 |
2015-11-02 07:00:00 | 19.55481 |
2015-11-02 08:00:00 | 19.55481 |
2015-11-02 09:00:00 | 19.55481 |
2015-11-02 10:00:00 | 19.55481 |
2015-11-02 11:00:00 | 19.55481 |
2015-11-02 12:00:00 | 19.55481 |
2015-11-02 13:00:00 | 19.55481 |
2015-11-02 14:00:00 | 19.55481 |
2015-11-02 15:00:00 | 19.55481 |
2015-11-02 16:00:00 | 19.55481 |
2015-11-02 17:00:00 | 19.55481 |
2015-11-02 18:00:00 | 19.55481 |
2015-11-02 19:00:00 | 19.55481 |
2015-11-02 20:00:00 | 19.55481 |
2015-11-02 21:00:00 | 19.55481 |
2015-11-02 22:00:00 | 19.55481 |
2015-11-02 23:00:00 | 19.55481 |
2015-11-03 00:00:00 | 19.55481 |
2015-11-03 01:00:00 | 19.55481 |
2015-11-03 02:00:00 | 19.55481 |
2015-11-03 03:00:00 | 19.55481 |
2015-11-03 04:00:00 | 19.55481 |
2015-11-03 05:00:00 | 19.55481 |
2015-11-03 06:00:00 | 19.55481 |
2015-11-03 07:00:00 | 19.55481 |
2015-11-03 08:00:00 | 19.55481 |
2015-11-03 09:00:00 | 19.55481 |
2015-11-03 10:00:00 | 19.55481 |
2015-11-03 11:00:00 | 19.55481 |
2015-11-03 12:00:00 | 19.55481 |
2015-11-03 13:00:00 | 19.55481 |
2015-11-03 14:00:00 | 19.55481 |
2015-11-03 15:00:00 | 19.55481 |
2015-11-03 16:00:00 | 19.55481 |
2015-11-03 17:00:00 | 19.55481 |
2015-11-03 18:00:00 | 19.55481 |
2015-11-03 19:00:00 | 19.55481 |
2015-11-03 20:00:00 | 19.55481 |
2015-11-03 21:00:00 | 19.55481 |
2015-11-03 22:00:00 | 19.55481 |
2015-11-03 23:00:00 | 19.55481 |
2015-11-04 00:00:00 | 19.55481 |
2015-11-04 01:00:00 | 19.55481 |
2015-11-04 02:00:00 | 19.55481 |
2015-11-04 03:00:00 | 19.55481 |
2015-11-04 04:00:00 | 19.55481 |
2015-11-04 05:00:00 | 19.55481 |
2015-11-04 06:00:00 | 19.55481 |
2015-11-04 07:00:00 | 19.55481 |
2015-11-04 08:00:00 | 19.55481 |
2015-11-04 09:00:00 | 19.55481 |
2015-11-04 10:00:00 | 19.55481 |
2015-11-04 11:00:00 | 19.55481 |
2015-11-04 12:00:00 | 19.55481 |
2015-11-04 13:00:00 | 19.55481 |
2015-11-04 14:00:00 | 19.55481 |
2015-11-04 15:00:00 | 19.55481 |
2015-11-04 16:00:00 | 19.55481 |
2015-11-04 17:00:00 | 19.55481 |
2015-11-04 18:00:00 | 19.55481 |
2015-11-04 19:00:00 | 19.55481 |
2015-11-04 20:00:00 | 19.55481 |
2015-11-04 21:00:00 | 19.55481 |
2015-11-04 22:00:00 | 19.55481 |
2015-11-04 23:00:00 | 19.55481 |
2015-11-05 00:00:00 | 19.55481 |
2015-11-05 01:00:00 | 19.55481 |
2015-11-05 02:00:00 | 19.55481 |
2015-11-05 03:00:00 | 19.55481 |
2015-11-05 04:00:00 | 19.55481 |
2015-11-05 05:00:00 | 19.55481 |
2015-11-05 06:00:00 | 19.55481 |
2015-11-05 07:00:00 | 19.55481 |
2015-11-05 08:00:00 | 19.55481 |
2015-11-05 09:00:00 | 19.55481 |
2015-11-05 10:00:00 | 19.55481 |
2015-11-05 11:00:00 | 19.55481 |
2015-11-05 12:00:00 | 19.55481 |
2015-11-05 13:00:00 | 19.55481 |
2015-11-05 14:00:00 | 19.55481 |
2015-11-05 15:00:00 | 19.55481 |
2015-11-05 16:00:00 | 19.55481 |
2015-11-05 17:00:00 | 19.55481 |
2015-11-05 18:00:00 | 19.55481 |
2015-11-05 19:00:00 | 19.55481 |
2015-11-05 20:00:00 | 19.55481 |
2015-11-05 21:00:00 | 19.55481 |
2015-11-05 22:00:00 | 19.55481 |
2015-11-05 23:00:00 | 19.55481 |
2015-11-06 00:00:00 | 19.55481 |
2015-11-06 01:00:00 | 19.55481 |
2015-11-06 02:00:00 | 19.55481 |
2015-11-06 03:00:00 | 19.55481 |
2015-11-06 04:00:00 | 19.55481 |
2015-11-06 05:00:00 | 19.55481 |
2015-11-06 06:00:00 | 19.55481 |
2015-11-06 07:00:00 | 19.55481 |
2015-11-06 08:00:00 | 19.55481 |
2015-11-06 09:00:00 | 19.55481 |
2015-11-06 10:00:00 | 19.55481 |
2015-11-06 11:00:00 | 19.55481 |
2015-11-06 12:00:00 | 19.55481 |
2015-11-06 13:00:00 | 19.55481 |
2015-11-06 14:00:00 | 19.55481 |
2015-11-06 15:00:00 | 19.55481 |
2015-11-06 16:00:00 | 19.55481 |
2015-11-06 17:00:00 | 19.55481 |
2015-11-06 18:00:00 | 19.55481 |
2015-11-06 19:00:00 | 19.55481 |
2015-11-06 20:00:00 | 19.55481 |
2015-11-06 21:00:00 | 19.55481 |
2015-11-06 22:00:00 | 19.55481 |
2015-11-06 23:00:00 | 19.55481 |
2015-11-07 00:00:00 | 19.55481 |
2015-11-07 01:00:00 | 19.55481 |
2015-11-07 02:00:00 | 19.55481 |
2015-11-07 03:00:00 | 19.55481 |
2015-11-07 04:00:00 | 19.55481 |
2015-11-07 05:00:00 | 19.55481 |
2015-11-07 06:00:00 | 19.55481 |
2015-11-07 07:00:00 | 19.55481 |
2015-11-07 08:00:00 | 19.55481 |
2015-11-07 09:00:00 | 19.55481 |
2015-11-07 10:00:00 | 19.55481 |
2015-11-07 11:00:00 | 19.55481 |
2015-11-07 12:00:00 | 19.55481 |
2015-11-07 13:00:00 | 19.55481 |
2015-11-07 14:00:00 | 19.55481 |
2015-11-07 15:00:00 | 19.55481 |
2015-11-07 16:00:00 | 19.55481 |
2015-11-07 17:00:00 | 19.55481 |
2015-11-07 18:00:00 | 19.55481 |
2015-11-07 19:00:00 | 19.55481 |
2015-11-07 20:00:00 | 19.55481 |
2015-11-07 21:00:00 | 19.55481 |
2015-11-07 22:00:00 | 19.55481 |
2015-11-07 23:00:00 | 19.55481 |
2015-11-08 00:00:00 | 19.55481 |
2015-11-08 01:00:00 | 19.55481 |
2015-11-08 02:00:00 | 19.55481 |
2015-11-08 03:00:00 | 19.55481 |
2015-11-08 04:00:00 | 19.55481 |
2015-11-08 05:00:00 | 19.55481 |
2015-11-08 06:00:00 | 19.55481 |
2015-11-08 07:00:00 | 19.55481 |
2015-11-08 08:00:00 | 19.55481 |
2015-11-08 09:00:00 | 19.55481 |
2015-11-08 10:00:00 | 19.55481 |
2015-11-08 11:00:00 | 19.55481 |
2015-11-08 12:00:00 | 19.55481 |
2015-11-08 13:00:00 | 19.55481 |
2015-11-08 14:00:00 | 19.55481 |
2015-11-08 15:00:00 | 19.55481 |
2015-11-08 16:00:00 | 19.55481 |
2015-11-08 17:00:00 | 19.55481 |
2015-11-08 18:00:00 | 19.55481 |
2015-11-08 19:00:00 | 19.55481 |
2015-11-08 20:00:00 | 19.55481 |
2015-11-08 21:00:00 | 19.55481 |
2015-11-08 22:00:00 | 19.55481 |
2015-11-08 23:00:00 | 19.55481 |
<- read_excel("Kapoor_data624_pipe2_forecasts.xlsx", skip=0, col_types = c("date","numeric"))
pipe2.fcst.ak %>%
pipe2.fcst.ak kbl() %>%
kable_paper() %>%
scroll_box(width = "500px", height = "200px")
DateTime | Waterflow |
---|---|
2015-12-03 17:00:00 | 39.01295 |
2015-12-03 18:00:00 | 39.01295 |
2015-12-03 19:00:00 | 39.01295 |
2015-12-03 20:00:00 | 39.01295 |
2015-12-03 21:00:00 | 39.01295 |
2015-12-03 22:00:00 | 39.01295 |
2015-12-03 23:00:00 | 39.01295 |
2015-12-04 00:00:00 | 39.01295 |
2015-12-04 01:00:00 | 39.01295 |
2015-12-04 02:00:00 | 39.01295 |
2015-12-04 03:00:00 | 39.01295 |
2015-12-04 04:00:00 | 39.01295 |
2015-12-04 05:00:00 | 39.01295 |
2015-12-04 06:00:00 | 39.01295 |
2015-12-04 07:00:00 | 39.01295 |
2015-12-04 08:00:00 | 39.01295 |
2015-12-04 09:00:00 | 39.01295 |
2015-12-04 10:00:00 | 39.01295 |
2015-12-04 11:00:00 | 39.01295 |
2015-12-04 12:00:00 | 39.01295 |
2015-12-04 13:00:00 | 39.01295 |
2015-12-04 14:00:00 | 39.01295 |
2015-12-04 15:00:00 | 39.01295 |
2015-12-04 16:00:00 | 39.01295 |
2015-12-04 17:00:00 | 39.01295 |
2015-12-04 18:00:00 | 39.01295 |
2015-12-04 19:00:00 | 39.01295 |
2015-12-04 20:00:00 | 39.01295 |
2015-12-04 21:00:00 | 39.01295 |
2015-12-04 22:00:00 | 39.01295 |
2015-12-04 23:00:00 | 39.01295 |
2015-12-05 00:00:00 | 39.01295 |
2015-12-05 01:00:00 | 39.01295 |
2015-12-05 02:00:00 | 39.01295 |
2015-12-05 03:00:00 | 39.01295 |
2015-12-05 04:00:00 | 39.01295 |
2015-12-05 05:00:00 | 39.01295 |
2015-12-05 06:00:00 | 39.01295 |
2015-12-05 07:00:00 | 39.01295 |
2015-12-05 08:00:00 | 39.01295 |
2015-12-05 09:00:00 | 39.01295 |
2015-12-05 10:00:00 | 39.01295 |
2015-12-05 11:00:00 | 39.01295 |
2015-12-05 12:00:00 | 39.01295 |
2015-12-05 13:00:00 | 39.01295 |
2015-12-05 14:00:00 | 39.01295 |
2015-12-05 15:00:00 | 39.01295 |
2015-12-05 16:00:00 | 39.01295 |
2015-12-05 17:00:00 | 39.01295 |
2015-12-05 18:00:00 | 39.01295 |
2015-12-05 19:00:00 | 39.01295 |
2015-12-05 20:00:00 | 39.01295 |
2015-12-05 21:00:00 | 39.01295 |
2015-12-05 22:00:00 | 39.01295 |
2015-12-05 23:00:00 | 39.01295 |
2015-12-06 00:00:00 | 39.01295 |
2015-12-06 01:00:00 | 39.01295 |
2015-12-06 02:00:00 | 39.01295 |
2015-12-06 03:00:00 | 39.01295 |
2015-12-06 04:00:00 | 39.01295 |
2015-12-06 05:00:00 | 39.01295 |
2015-12-06 06:00:00 | 39.01295 |
2015-12-06 07:00:00 | 39.01295 |
2015-12-06 08:00:00 | 39.01295 |
2015-12-06 09:00:00 | 39.01295 |
2015-12-06 10:00:00 | 39.01295 |
2015-12-06 11:00:00 | 39.01295 |
2015-12-06 12:00:00 | 39.01295 |
2015-12-06 13:00:00 | 39.01295 |
2015-12-06 14:00:00 | 39.01295 |
2015-12-06 15:00:00 | 39.01295 |
2015-12-06 16:00:00 | 39.01295 |
2015-12-06 17:00:00 | 39.01295 |
2015-12-06 18:00:00 | 39.01295 |
2015-12-06 19:00:00 | 39.01295 |
2015-12-06 20:00:00 | 39.01295 |
2015-12-06 21:00:00 | 39.01295 |
2015-12-06 22:00:00 | 39.01295 |
2015-12-06 23:00:00 | 39.01295 |
2015-12-07 00:00:00 | 39.01295 |
2015-12-07 01:00:00 | 39.01295 |
2015-12-07 02:00:00 | 39.01295 |
2015-12-07 03:00:00 | 39.01295 |
2015-12-07 04:00:00 | 39.01295 |
2015-12-07 05:00:00 | 39.01295 |
2015-12-07 06:00:00 | 39.01295 |
2015-12-07 07:00:00 | 39.01295 |
2015-12-07 08:00:00 | 39.01295 |
2015-12-07 09:00:00 | 39.01295 |
2015-12-07 10:00:00 | 39.01295 |
2015-12-07 11:00:00 | 39.01295 |
2015-12-07 12:00:00 | 39.01295 |
2015-12-07 13:00:00 | 39.01295 |
2015-12-07 14:00:00 | 39.01295 |
2015-12-07 15:00:00 | 39.01295 |
2015-12-07 16:00:00 | 39.01295 |
2015-12-07 17:00:00 | 39.01295 |
2015-12-07 18:00:00 | 39.01295 |
2015-12-07 19:00:00 | 39.01295 |
2015-12-07 20:00:00 | 39.01295 |
2015-12-07 21:00:00 | 39.01295 |
2015-12-07 22:00:00 | 39.01295 |
2015-12-07 23:00:00 | 39.01295 |
2015-12-08 00:00:00 | 39.01295 |
2015-12-08 01:00:00 | 39.01295 |
2015-12-08 02:00:00 | 39.01295 |
2015-12-08 03:00:00 | 39.01295 |
2015-12-08 04:00:00 | 39.01295 |
2015-12-08 05:00:00 | 39.01295 |
2015-12-08 06:00:00 | 39.01295 |
2015-12-08 07:00:00 | 39.01295 |
2015-12-08 08:00:00 | 39.01295 |
2015-12-08 09:00:00 | 39.01295 |
2015-12-08 10:00:00 | 39.01295 |
2015-12-08 11:00:00 | 39.01295 |
2015-12-08 12:00:00 | 39.01295 |
2015-12-08 13:00:00 | 39.01295 |
2015-12-08 14:00:00 | 39.01295 |
2015-12-08 15:00:00 | 39.01295 |
2015-12-08 16:00:00 | 39.01295 |
2015-12-08 17:00:00 | 39.01295 |
2015-12-08 18:00:00 | 39.01295 |
2015-12-08 19:00:00 | 39.01295 |
2015-12-08 20:00:00 | 39.01295 |
2015-12-08 21:00:00 | 39.01295 |
2015-12-08 22:00:00 | 39.01295 |
2015-12-08 23:00:00 | 39.01295 |
2015-12-09 00:00:00 | 39.01295 |
2015-12-09 01:00:00 | 39.01295 |
2015-12-09 02:00:00 | 39.01295 |
2015-12-09 03:00:00 | 39.01295 |
2015-12-09 04:00:00 | 39.01295 |
2015-12-09 05:00:00 | 39.01295 |
2015-12-09 06:00:00 | 39.01295 |
2015-12-09 07:00:00 | 39.01295 |
2015-12-09 08:00:00 | 39.01295 |
2015-12-09 09:00:00 | 39.01295 |
2015-12-09 10:00:00 | 39.01295 |
2015-12-09 11:00:00 | 39.01295 |
2015-12-09 12:00:00 | 39.01295 |
2015-12-09 13:00:00 | 39.01295 |
2015-12-09 14:00:00 | 39.01295 |
2015-12-09 15:00:00 | 39.01295 |
2015-12-09 16:00:00 | 39.01295 |
2015-12-09 17:00:00 | 39.01295 |
2015-12-09 18:00:00 | 39.01295 |
2015-12-09 19:00:00 | 39.01295 |
2015-12-09 20:00:00 | 39.01295 |
2015-12-09 21:00:00 | 39.01295 |
2015-12-09 22:00:00 | 39.01295 |
2015-12-09 23:00:00 | 39.01295 |
2015-12-10 00:00:00 | 39.01295 |
2015-12-10 01:00:00 | 39.01295 |
2015-12-10 02:00:00 | 39.01295 |
2015-12-10 03:00:00 | 39.01295 |
2015-12-10 04:00:00 | 39.01295 |
2015-12-10 05:00:00 | 39.01295 |
2015-12-10 06:00:00 | 39.01295 |
2015-12-10 07:00:00 | 39.01295 |
2015-12-10 08:00:00 | 39.01295 |
2015-12-10 09:00:00 | 39.01295 |
2015-12-10 10:00:00 | 39.01295 |
2015-12-10 11:00:00 | 39.01295 |
2015-12-10 12:00:00 | 39.01295 |
2015-12-10 13:00:00 | 39.01295 |
2015-12-10 14:00:00 | 39.01295 |
2015-12-10 15:00:00 | 39.01295 |
2015-12-10 16:00:00 | 39.01295 |