Federal Reserve releases weekly data on initial jobless claims. See http://www.investopedia.com/university/releases/joblessclaims.asp for more information. Since weekly numbers can be volatile, the series you see here is a monthly average of this data without any adjustment for seasonality. We will work with this dataset to understand strength of our economy in the short term.
library(readr)## Warning: package 'readr' was built under R version 3.3.3
library(lattice)
library(TTR)
library(fpp)## Loading required package: forecast
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: timeDate
## This is forecast 7.3
## Loading required package: fma
## Loading required package: tseries
## Loading required package: expsmooth
## Loading required package: lmtest
ICNSA <- read_csv("D:/BF/MIDTERM/ICNSA.csv")## Parsed with column specification:
## cols(
## `<U+FEFF>DATE` = col_character(),
## Jobless_Claims = col_integer()
## )
jclaim <- ICNSA$Jobless_Claims
jclaim_ts <- ts(jclaim,start=c(2012,3),frequency = 12)plot(jclaim_ts, ylab="Jobless Claims", type="o", pch =20)Please summaries your observations of the times series plot
summary(jclaim_ts)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 203800 254500 307600 307800 341400 480600
hist(jclaim_ts)#the default percentile values
quantile(jclaim_ts)## 0% 25% 50% 75% 100%
## 203778.0 254518.5 307581.5 341450.0 480600.0
cycle(jclaim_ts)## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2012 3 4 5 6 7 8 9 10 11 12
## 2013 1 2 3 4 5 6 7 8 9 10 11 12
## 2014 1 2 3 4 5 6 7 8 9 10 11 12
## 2015 1 2 3 4 5 6 7 8 9 10 11 12
## 2016 1 2 3 4 5 6 7 8 9 10 11 12
## 2017 1 2
This will print the cycle across the years.
plot(aggregate(jclaim_ts,FUN=mean))This will aggregate the cycles and display a year on year trend.
boxplot(jclaim_ts~cycle(jclaim_ts))Box plot across the months will give us a sense on seasonal effect
a = boxplot(jclaim_ts, las =2, col = "royalblue2")
text(a$stats[3],"Median", pos = 4, offset = 8.5)
text(max(a$stats),"Max", pos = 4, offset = 8.5)
text(min(a$stats),"Min", pos = 4, offset = 8.5)
text(a$stats[2], "1st Quartile", pos = 4, offset = 8.5)
text(a$stats[4], "3rd Quartile", pos = 4, offset = 8.5)
text(a$out, "Outlier", pos = 4, offset = 8.5)Can you summarize your observation about the time series from the summary stats and box plot?
Summary of the time series summary stats and boxplots:
jclaim_stl <- stl(jclaim_ts, s.window ="periodic", robust = TRUE)
plot(jclaim_stl)Is the times series seasonal?
Is the decomposition additive or multiplicative?
If seasonal, what are the values of the seasonal monthly indices?
decomp_jclaim <- decompose(jclaim_ts, type = "additive")
decomp_jclaim$seasonal## Jan Feb Mar Apr May Jun
## 2012 -30435.025 -13106.150 -32574.879 -10730.025
## 2013 112678.673 4968.527 -30435.025 -13106.150 -32574.879 -10730.025
## 2014 112678.673 4968.527 -30435.025 -13106.150 -32574.879 -10730.025
## 2015 112678.673 4968.527 -30435.025 -13106.150 -32574.879 -10730.025
## 2016 112678.673 4968.527 -30435.025 -13106.150 -32574.879 -10730.025
## 2017 112678.673 4968.527
## Jul Aug Sep Oct Nov Dec
## 2012 4945.485 -47763.431 -66988.786 -21560.431 15701.964 84864.079
## 2013 4945.485 -47763.431 -66988.786 -21560.431 15701.964 84864.079
## 2014 4945.485 -47763.431 -66988.786 -21560.431 15701.964 84864.079
## 2015 4945.485 -47763.431 -66988.786 -21560.431 15701.964 84864.079
## 2016 4945.485 -47763.431 -66988.786 -21560.431 15701.964 84864.079
## 2017
# the values of the seasonal monthly indices:
decomp_jclaim$figure## [1] -30435.025 -13106.150 -32574.879 -10730.025 4945.485 -47763.431
## [7] -66988.786 -21560.431 15701.964 84864.079 112678.673 4968.527
#the seasonal effects values for all the months. We can see that the seasonal effect values are repeated each year (month-wise) in the $seasonal object from March onwards.
plot(decomp_jclaim$figure, main = "Seasonal Indices")#month for which the value of time series is high:
ICNSA[which.max(jclaim_ts),]## # A tibble: 1 × 2
## `<U+FEFF>DATE` Jobless_Claims
## <chr> <int>
## 1 1/1/13 480600
#month for which the value of time series is low:
ICNSA[which.min(jclaim_ts),]## # A tibble: 1 × 2
## `<U+FEFF>DATE` Jobless_Claims
## <chr> <int>
## 1 9/1/16 203778
Can you think of the reason behind the value being high in those months and low in those months?
Slow economic growth, larger budget deficits - stimulative to the eoconomy.
all-time high job openings, the labor market remained healthy, even though employment growth moderated in August after payroll gains average 273,000 jobs per month in June and July. Source: CNBC
Show the plot for time series adjusted for seasonality. Overlay this with the line for actual time series?
jclaim_ts_sa <- seasadj(jclaim_stl)
plot(jclaim_ts_sa)plot(jclaim_ts)
lines(jclaim_ts_sa, col = "red")snaive_forecast <- snaive(jclaim_ts)
plot(snaive_forecast)naive_forecast <- naive(jclaim_ts)
plot(naive_forecast)
lines(snaive_forecast$mean,col="black")Perform Residual Analysis for this technique.
1 Do a plot of residuals. What does the plot indicate?
res <- residuals(naive_forecast)
fit <- fitted(naive_forecast)
act <- naive_forecast$x
plot(res, main="Residuals from forecasting the Jobless Claims with the Naïve method",
ylab="", xlab="Time")2 Do a Histogram plot of residuals. What does the plot indicate?
hist(res, xlab = "Residuals", main="Histogram of Residuals from forecasting the Jobless Claims with the Naïve method")xyplot(res~fit, pch=16, cex = 1.5, abline=0)xyplot(res~act, pch = 16, cex = 1.5, abline = 0)Acf(res, main="ACF of residuals of Naive Method")accuracy_naive <- accuracy(naive_forecast)
accuracy_snaive <- accuracy(snaive_forecast)
accuracy_naive## ME RMSE MAE MPE MAPE MASE
## Training set -1592.983 48347.84 38382.2 -1.717081 12.62999 1.318645
## ACF1
## Training set 0.1247867
accuracy_snaive## ME RMSE MAE MPE MAPE MASE ACF1
## Training set -28805.27 32996.69 29107.31 -9.922908 10.04438 1 0.2031658
naive_forecast <- naive(jclaim_ts)
naive_forecast## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 239438 177477.7 301398.3 144678 334198
## Apr 2017 239438 177477.7 301398.3 144678 334198
## May 2017 239438 177477.7 301398.3 144678 334198
## Jun 2017 239438 177477.7 301398.3 144678 334198
## Jul 2017 239438 177477.7 301398.3 144678 334198
## Aug 2017 239438 177477.7 301398.3 144678 334198
## Sep 2017 239438 177477.7 301398.3 144678 334198
## Oct 2017 239438 177477.7 301398.3 144678 334198
## Nov 2017 239438 177477.7 301398.3 144678 334198
## Dec 2017 239438 177477.7 301398.3 144678 334198
plot(naive_forecast)snaive_forecast <- snaive(jclaim_ts,12)
snaive_forecast## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 237779 195492 280066 173106.7 302451.3
## Apr 2017 249255 206968 291542 184582.7 313927.3
## May 2017 248658 206371 290945 183985.7 313330.3
## Jun 2017 252960 210673 295247 188287.7 317632.3
## Jul 2017 257056 214769 299343 192383.7 321728.3
## Aug 2017 220940 178653 263227 156267.7 285612.3
## Sep 2017 203778 161491 246065 139105.7 268450.3
## Oct 2017 231152 188865 273439 166479.7 295824.3
## Nov 2017 254985 212698 297272 190312.7 319657.3
## Dec 2017 333223 290936 375510 268550.7 397895.3
## Jan 2018 331347 289060 373634 266674.7 396019.3
## Feb 2018 239438 197151 281725 174765.7 304110.3
plot(snaive_forecast)summary(naive_forecast)##
## Forecast method: Naive method
##
## Model Information:
## $drift
## [1] 0
##
## $drift.se
## [1] 0
##
## $sd
## [1] 48736.38
##
## $call
## naive(y = jclaim_ts)
##
##
## Error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -1592.983 48347.84 38382.2 -1.717081 12.62999 1.318645
## ACF1
## Training set 0.1247867
##
## Forecasts:
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 239438 177477.7 301398.3 144678 334198
## Apr 2017 239438 177477.7 301398.3 144678 334198
## May 2017 239438 177477.7 301398.3 144678 334198
## Jun 2017 239438 177477.7 301398.3 144678 334198
## Jul 2017 239438 177477.7 301398.3 144678 334198
## Aug 2017 239438 177477.7 301398.3 144678 334198
## Sep 2017 239438 177477.7 301398.3 144678 334198
## Oct 2017 239438 177477.7 301398.3 144678 334198
## Nov 2017 239438 177477.7 301398.3 144678 334198
## Dec 2017 239438 177477.7 301398.3 144678 334198
plot(jclaim_ts)ma3_forecast <- ma(jclaim_ts,order=3)
plot(jclaim_ts)
lines(ma3_forecast,col="Red")ma3_forecast <- ma(jclaim_ts,order=3)
plot(jclaim_ts)
lines(ma3_forecast,col="Red")
ma6_forecast <- ma(jclaim_ts,order=6)
lines(ma6_forecast,col="Blue")ma3_forecast <- ma(jclaim_ts,order=3)
plot(jclaim_ts)
lines(ma3_forecast,col="Red")
ma6_forecast <- ma(jclaim_ts,order=6)
lines(ma6_forecast,col="Blue")
ma12_forecast <- ma(jclaim_ts,order=12)
lines(ma12_forecast,col="Green")ma1_forecast <- ma(jclaim_ts,order=1)
plot(jclaim_ts)
lines(ma1_forecast,col="Purple")forecast_ma <- forecast(ma1_forecast,h=12)
plot(forecast_ma)What are your observations of the plot as the moving average order goes up?
ets_forecast<-ets(jclaim_ts)
ets_forecast## ETS(M,A,M)
##
## Call:
## ets(y = jclaim_ts)
##
## Smoothing parameters:
## alpha = 0.1846
## beta = 1e-04
## gamma = 2e-04
##
## Initial states:
## l = 386475.1505
## b = -2445.2238
## s=1.0109 1.36 1.2893 1.0369 0.9357 0.8008
## 0.839 1.0151 0.9673 0.8938 0.9607 0.8904
##
## sigma: 0.0308
##
## AIC AICc BIC
## 1376.087 1390.659 1411.691
forecast_ets <- forecast.ets(ets_forecast, h=12)
forecast_ets## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 212544.2 204152.4 220936.1 199710.0 225378.5
## Apr 2017 226974.4 217858.0 236090.8 213032.1 240916.7
## May 2017 208986.5 200449.3 217523.6 195930.0 222042.9
## Jun 2017 223799.9 214503.3 233096.5 209582.0 238017.8
## Jul 2017 232377.0 222562.9 242191.1 217367.6 247386.4
## Aug 2017 190009.1 181851.6 198166.7 177533.2 202485.0
## Sep 2017 179396.8 171568.5 187225.0 167424.5 191369.0
## Oct 2017 207334.8 198140.3 216529.4 193273.0 221396.7
## Nov 2017 227228.6 216989.1 237468.1 211568.6 242888.6
## Dec 2017 279383.2 266591.4 292174.9 259819.8 298946.5
## Jan 2018 291386.0 277831.8 304940.1 270656.7 312115.2
## Feb 2018 214110.5 203992.9 224228.1 198637.0 229584.1
plot(forecast_ets)1 What is the value of alpha? What does that value signify?
The value of alpha = 0.1846
2 What is the value of initial state?
ets_forecast$initstate## l b s1 s2 s3
## 3.864752e+05 -2.445224e+03 1.010874e+00 1.360013e+00 1.289288e+00
## s4 s5 s6 s7 s8
## 1.036902e+00 9.356991e-01 8.007845e-01 8.389916e-01 1.015108e+00
## s9 s10 s11 s12
## 9.673187e-01 8.938453e-01 9.607378e-01 8.904377e-01
3 What is the value of sigma? What does the sigma signify?
The value of sigma : 0.0308
It signifies the standard deviation of the residuals. Standard deviation is the extent of deviation for a group as a whole.
Perform Residual Analysis for this technique.
1 Do a plot of residuals. What does the plot indicate?
plot(ets_forecast$residuals, main="Residuals from forecasting the Jobless Claims with the Simple Smoothing method",
ylab="", xlab="Time")2 Do a Histogram plot of residuals. What does the plot indicate?
hist(ets_forecast$residuals, xlab = "Residuals", main="Histogram of Residuals from forecasting the Jobless Claims with the Simple Smoothing method")xyplot(ets_forecast$residuals ~ ets_forecast$fitted, pch=16, cex = 1.5, abline=0)xyplot(ets_forecast$residuals ~ ets_forecast$x, pch = 16, cex = 1.5, abline = 0)acf(ets_forecast$residuals, main = "ACF of Residuals of Simple Smoothing")accuracy_ets <- accuracy(ets_forecast)
accuracy_ets## ME RMSE MAE MPE MAPE MASE
## Training set 221.4464 9526.88 7151.973 0.0284336 2.31225 0.2457105
## ACF1
## Training set 0.02417527
forecast_ets## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 212544.2 204152.4 220936.1 199710.0 225378.5
## Apr 2017 226974.4 217858.0 236090.8 213032.1 240916.7
## May 2017 208986.5 200449.3 217523.6 195930.0 222042.9
## Jun 2017 223799.9 214503.3 233096.5 209582.0 238017.8
## Jul 2017 232377.0 222562.9 242191.1 217367.6 247386.4
## Aug 2017 190009.1 181851.6 198166.7 177533.2 202485.0
## Sep 2017 179396.8 171568.5 187225.0 167424.5 191369.0
## Oct 2017 207334.8 198140.3 216529.4 193273.0 221396.7
## Nov 2017 227228.6 216989.1 237468.1 211568.6 242888.6
## Dec 2017 279383.2 266591.4 292174.9 259819.8 298946.5
## Jan 2018 291386.0 277831.8 304940.1 270656.7 312115.2
## Feb 2018 214110.5 203992.9 224228.1 198637.0 229584.1
plot(forecast_ets)summary(forecast_ets)##
## Forecast method: ETS(M,A,M)
##
## Model Information:
## ETS(M,A,M)
##
## Call:
## ets(y = jclaim_ts)
##
## Smoothing parameters:
## alpha = 0.1846
## beta = 1e-04
## gamma = 2e-04
##
## Initial states:
## l = 386475.1505
## b = -2445.2238
## s=1.0109 1.36 1.2893 1.0369 0.9357 0.8008
## 0.839 1.0151 0.9673 0.8938 0.9607 0.8904
##
## sigma: 0.0308
##
## AIC AICc BIC
## 1376.087 1390.659 1411.691
##
## Error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 221.4464 9526.88 7151.973 0.0284336 2.31225 0.2457105
## ACF1
## Training set 0.02417527
##
## Forecasts:
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 212544.2 204152.4 220936.1 199710.0 225378.5
## Apr 2017 226974.4 217858.0 236090.8 213032.1 240916.7
## May 2017 208986.5 200449.3 217523.6 195930.0 222042.9
## Jun 2017 223799.9 214503.3 233096.5 209582.0 238017.8
## Jul 2017 232377.0 222562.9 242191.1 217367.6 247386.4
## Aug 2017 190009.1 181851.6 198166.7 177533.2 202485.0
## Sep 2017 179396.8 171568.5 187225.0 167424.5 191369.0
## Oct 2017 207334.8 198140.3 216529.4 193273.0 221396.7
## Nov 2017 227228.6 216989.1 237468.1 211568.6 242888.6
## Dec 2017 279383.2 266591.4 292174.9 259819.8 298946.5
## Jan 2018 291386.0 277831.8 304940.1 270656.7 312115.2
## Feb 2018 214110.5 203992.9 224228.1 198637.0 229584.1
jclaim_ts_HW <- HoltWinters(jclaim_ts)
jclaim_ts_HW## Holt-Winters exponential smoothing with trend and additive seasonal component.
##
## Call:
## HoltWinters(x = jclaim_ts)
##
## Smoothing parameters:
## alpha: 0.3439747
## beta : 0
## gamma: 0.3566112
##
## Coefficients:
## [,1]
## a 230043.651
## b -2789.609
## s1 -30101.224
## s2 -13850.840
## s3 -33177.455
## s4 -15194.520
## s5 3094.044
## s6 -51749.479
## s7 -64510.005
## s8 -26017.838
## s9 15490.931
## s10 88722.467
## s11 112567.454
## s12 8294.312
plot(jclaim_ts_HW)To make forecasts for future times not included in the original time series, we use the “forecast.HoltWinters()” function in the “forecast” package
jclaims_ts_HW_forecast <- forecast.HoltWinters(jclaim_ts_HW, h= 12)
plot(jclaims_ts_HW_forecast)1 What is the value of alpha? What does that value signify?
The value of alpha = 0.3439747
2 What is the value of beta? What does that value signify?
The value of beta = 0
3 What is the value of gamma? What does that value signify?
The value of gamma = 0.3566112
4 What is the value of initial state for the level, trend and seasonality? What do these values signify?
jclaim_ts_HW$coefficients## a b s1 s2 s3 s4
## 230043.651 -2789.609 -30101.224 -13850.840 -33177.455 -15194.520
## s5 s6 s7 s8 s9 s10
## 3094.044 -51749.479 -64510.005 -26017.838 15490.931 88722.467
## s11 s12
## 112567.454 8294.312
5 What is the value of sigma? What does the sigma signify?
The value of sigma is:
sd(complete.cases(jclaims_ts_HW_forecast$residuals))## [1] 0.4033756
Perform Residual Analysis for this technique.
1 Do a plot of residuals. What does the plot indicate?
resHW <- residuals(jclaims_ts_HW_forecast)
fitHW <- fitted(jclaims_ts_HW_forecast)
actHW <- jclaims_ts_HW_forecast$x
plot(resHW, main="Residuals from forecasting the Jobless Claims with the Holt-Winter method",
ylab="", xlab="Time")2 Do a Histogram plot of residuals. What does the plot indicate?
hist(resHW, xlab = "Residuals", main="Histogram of Residuals from forecasting the Jobless Claims with the Holt-Winter method")xyplot(resHW ~ fitHW, pch=16, cex = 1.5, abline=0)xyplot(resHW ~ actHW, pch = 16, cex=1.5, abline = 0)Acf(resHW, main = "ACF of Residuals of Holt-Winter")accuracy_HW <- accuracy(jclaims_ts_HW_forecast)
accuracy_HW## ME RMSE MAE MPE MAPE MASE
## Training set -572.7954 15381.03 12401.82 -0.03340007 4.34673 0.4260723
## ACF1
## Training set 0.05240718
jclaims_ts_HW_forecast## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 197152.8 177246.5 217059.2 166708.7 227597.0
## Apr 2017 210613.6 189562.5 231664.7 178418.7 242808.5
## May 2017 188497.4 166360.7 210634.1 154642.2 222352.5
## Jun 2017 203690.7 180519.2 226862.2 168252.9 239128.5
## Jul 2017 219189.6 195027.6 243351.7 182237.0 256142.3
## Aug 2017 161556.5 136443.0 186670.1 123148.7 199964.4
## Sep 2017 146006.4 119976.1 172036.7 106196.5 185816.2
## Oct 2017 181708.9 154793.1 208624.7 140544.8 222873.1
## Nov 2017 220428.1 192655.0 248201.2 177952.8 262903.4
## Dec 2017 290870.0 262265.3 319474.8 247122.9 334617.2
## Jan 2018 311925.4 282512.5 341338.3 266942.3 356908.5
## Feb 2018 204862.7 174663.3 235062.0 158676.7 251048.6
plot(jclaims_ts_HW_forecast)summary(jclaims_ts_HW_forecast)##
## Forecast method: HoltWinters
##
## Model Information:
## Holt-Winters exponential smoothing with trend and additive seasonal component.
##
## Call:
## HoltWinters(x = jclaim_ts)
##
## Smoothing parameters:
## alpha: 0.3439747
## beta : 0
## gamma: 0.3566112
##
## Coefficients:
## [,1]
## a 230043.651
## b -2789.609
## s1 -30101.224
## s2 -13850.840
## s3 -33177.455
## s4 -15194.520
## s5 3094.044
## s6 -51749.479
## s7 -64510.005
## s8 -26017.838
## s9 15490.931
## s10 88722.467
## s11 112567.454
## s12 8294.312
##
## Error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set -572.7954 15381.03 12401.82 -0.03340007 4.34673 0.4260723
## ACF1
## Training set 0.05240718
##
## Forecasts:
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 197152.8 177246.5 217059.2 166708.7 227597.0
## Apr 2017 210613.6 189562.5 231664.7 178418.7 242808.5
## May 2017 188497.4 166360.7 210634.1 154642.2 222352.5
## Jun 2017 203690.7 180519.2 226862.2 168252.9 239128.5
## Jul 2017 219189.6 195027.6 243351.7 182237.0 256142.3
## Aug 2017 161556.5 136443.0 186670.1 123148.7 199964.4
## Sep 2017 146006.4 119976.1 172036.7 106196.5 185816.2
## Oct 2017 181708.9 154793.1 208624.7 140544.8 222873.1
## Nov 2017 220428.1 192655.0 248201.2 177952.8 262903.4
## Dec 2017 290870.0 262265.3 319474.8 247122.9 334617.2
## Jan 2018 311925.4 282512.5 341338.3 266942.3 356908.5
## Feb 2018 204862.7 174663.3 235062.0 158676.7 251048.6
final_accuracy <- rbind(accuracy_naive,accuracy_ets,accuracy_HW)
rownames(final_accuracy) <- c("Naive Method", "ETS", "Holt-Winter")
final_accuracy## ME RMSE MAE MPE MAPE MASE
## Naive Method -1592.9831 48347.84 38382.203 -1.71708100 12.62999 1.3186447
## ETS 221.4464 9526.88 7151.973 0.02843360 2.31225 0.2457105
## Holt-Winter -572.7954 15381.03 12401.819 -0.03340007 4.34673 0.4260723
## ACF1
## Naive Method 0.12478674
## ETS 0.02417527
## Holt-Winter 0.05240718
Separately define each forecast method and why it is useful.
1 Naive Forecast:Show the best and worst forecast method for each of the accuracy measures.
Based on all the accuracy measures that we see above, Simple Smoothing done by the ETS Method seems to be the best forecast method for the given dataset.
#Naive Method
snaive_forecast <- snaive(jclaim_ts, 24)
plot(snaive_forecast)naive_forecast <- naive(jclaim_ts, 24)
plot(naive_forecast)
lines(snaive_forecast$mean,col="black")#SimpleSmoothing
ma1_forecast <- ma(jclaim_ts,order=1)
forecast_ma <- forecast(ma1_forecast,h=24)
plot(forecast_ma)#Holt-Winter
jclaim_ts_HW <- HoltWinters(jclaim_ts)
jclaims_ts_HW_forecast <- forecast.HoltWinters(jclaim_ts_HW, h= 24)
plot(jclaims_ts_HW_forecast)forecast_ma## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Mar 2017 212544.2 204152.4 220936.1 199710.0 225378.5
## Apr 2017 226974.4 217858.0 236090.8 213032.1 240916.7
## May 2017 208986.5 200449.3 217523.6 195930.0 222042.9
## Jun 2017 223799.9 214503.3 233096.5 209582.0 238017.8
## Jul 2017 232377.0 222562.9 242191.1 217367.6 247386.4
## Aug 2017 190009.1 181851.6 198166.7 177533.2 202485.0
## Sep 2017 179396.8 171568.5 187225.0 167424.5 191369.0
## Oct 2017 207334.8 198140.3 216529.4 193273.0 221396.7
## Nov 2017 227228.6 216989.1 237468.1 211568.6 242888.6
## Dec 2017 279383.2 266591.4 292174.9 259819.8 298946.5
## Jan 2018 291386.0 277831.8 304940.1 270656.7 312115.2
## Feb 2018 214110.5 203992.9 224228.1 198637.0 229584.1
## Mar 2018 186425.4 177476.6 195374.2 172739.4 200111.4
## Apr 2018 198793.7 189101.1 208486.3 183970.1 213617.3
## May 2018 182767.9 173716.9 191818.9 168925.6 196610.2
## Jun 2018 195426.2 185597.0 205255.5 180393.7 210458.8
## Jul 2018 202601.3 192252.1 212950.6 186773.5 218429.1
## Aug 2018 165399.5 156818.8 173980.1 152276.5 178522.5
## Sep 2018 155908.1 147693.8 164122.4 143345.4 168470.7
## Oct 2018 179888.7 170263.3 189514.2 165167.9 194609.5
## Nov 2018 196813.5 186118.3 207508.7 180456.7 213170.4
## Dec 2018 241565.2 228233.3 254897.2 221175.8 261954.7
## Jan 2019 251493.3 237396.4 265590.2 229934.0 273052.6
## Feb 2019 184459.1 173957.7 194960.6 168398.5 200519.7