time series modelling in r-forecasting

8
Prepared by Volkan OBAN Reference: https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series-modeling/ Tavish Srivastava Time Series Modelling in R > data(AirPassengers) >AirPassengers Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1949 112 118 132 129 121 135 148 148 136 119 104 118 1950 115 126 141 135 125 149 170 170 158 133 114 140 1951 145 150 178 163 172 178 199 199 184 162 146 166 1952 171 180 193 181 183 218 230 242 209 191 172 194 1953 196 196 236 235 229 243 264 272 237 211 180 201 1954 204 188 235 227 234 264 302 293 259 229 203 229 1955 242 233 267 269 270 315 364 347 312 274 237 278 1956 284 277 317 313 318 374 413 405 355 306 271 306 1957 315 301 356 348 355 422 465 467 404 347 305 336 1958 340 318 362 348 363 435 491 505 404 359 310 337 1959 360 342 406 396 420 472 548 559 463 407 362 405 1960 417 391 419 461 472 535 622 606 508 461 390 432 > start(AirPassengers) [1] 1949 1 > end(AirPassengers) [1] 1960 12 > frequency(AirPassengers) [1] 12 > summary(AirPassengers) Min. 1st Qu. Median Mean 3rd Qu. Max. 104.0 180.0 265.5 280.3 360.5 622.0 > plot(AirPassengers)

Upload: volkan-oban

Post on 24-Jan-2017

79 views

Category:

Data & Analytics


4 download

TRANSCRIPT

Page 1: Time Series Modelling in R-Forecasting

Prepared by Volkan OBAN

Reference: https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series-modeling/

Tavish Srivastava

Time Series Modelling in R > data(AirPassengers) >AirPassengers Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1949 112 118 132 129 121 135 148 148 136 119 104 118 1950 115 126 141 135 125 149 170 170 158 133 114 140 1951 145 150 178 163 172 178 199 199 184 162 146 166 1952 171 180 193 181 183 218 230 242 209 191 172 194 1953 196 196 236 235 229 243 264 272 237 211 180 201 1954 204 188 235 227 234 264 302 293 259 229 203 229 1955 242 233 267 269 270 315 364 347 312 274 237 278 1956 284 277 317 313 318 374 413 405 355 306 271 306 1957 315 301 356 348 355 422 465 467 404 347 305 336 1958 340 318 362 348 363 435 491 505 404 359 310 337 1959 360 342 406 396 420 472 548 559 463 407 362 405 1960 417 391 419 461 472 535 622 606 508 461 390 432 > start(AirPassengers) [1] 1949 1 > end(AirPassengers) [1] 1960 12 > frequency(AirPassengers) [1] 12 > summary(AirPassengers) Min. 1st Qu. Median Mean 3rd Qu. Max. 104.0 180.0 265.5 280.3 360.5 622.0 > plot(AirPassengers)

Page 2: Time Series Modelling in R-Forecasting

cycle(AirPassengers) Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1949 1 2 3 4 5 6 7 8 9 10 11 12 1950 1 2 3 4 5 6 7 8 9 10 11 12 1951 1 2 3 4 5 6 7 8 9 10 11 12 1952 1 2 3 4 5 6 7 8 9 10 11 12 1953 1 2 3 4 5 6 7 8 9 10 11 12 1954 1 2 3 4 5 6 7 8 9 10 11 12 1955 1 2 3 4 5 6 7 8 9 10 11 12 1956 1 2 3 4 5 6 7 8 9 10 11 12 1957 1 2 3 4 5 6 7 8 9 10 11 12 1958 1 2 3 4 5 6 7 8 9 10 11 12 1959 1 2 3 4 5 6 7 8 9 10 11 12 1960 1 2 3 4 5 6 7 8 9 10 11 12

> plot(aggregate(AirPassengers,FUN=mean)) > boxplot(AirPassengers~cycle(AirPassengers))

Page 3: Time Series Modelling in R-Forecasting

library(forecast) forecast(AirPassengers) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 1961 441.7479 420.9284 462.5675 409.9071 473.5887 Feb 1961 433.0931 407.5924 458.5938 394.0931 472.0931 Mar 1961 496.6067 462.3205 530.8930 444.1705 549.0430 Apr 1961 483.5263 445.6985 521.3541 425.6737 541.3790 May 1961 485.1026 443.0128 527.1925 420.7317 549.4735 Jun 1961 551.1085 498.8558 603.3612 471.1949 631.0221 Jul 1961 613.3810 550.5136 676.2484 517.2336 709.5284 Aug 1961 610.4359 543.3613 677.5105 507.8542 713.0177 Sep 1961 530.9494 468.8133 593.0855 435.9204 625.9783 Oct 1961 462.5032 405.1625 519.8439 374.8081 550.1982 Nov 1961 402.0130 349.4447 454.5813 321.6167 482.4093 Dec 1961 450.8391 388.8923 512.7858 356.0996 545.5785 Jan 1962 458.2429 392.2920 524.1938 357.3798 559.1060 Feb 1962 448.8867 381.4061 516.3673 345.6841 552.0894 Mar 1962 514.2943 433.7353 594.8534 391.0899 637.4988 Apr 1962 500.3479 418.8586 581.8372 375.7208 624.9751 May 1962 501.5883 416.8132 586.3634 371.9359 631.2406 Jun 1962 569.4049 469.7070 669.1029 416.9301 721.8798 Jul 1962 633.2762 518.5862 747.9663 457.8729 808.6795

Page 4: Time Series Modelling in R-Forecasting

Aug 1962 629.7813 511.9731 747.5894 449.6093 809.9533 Sep 1962 547.3908 441.7638 653.0177 385.8483 708.9332 Oct 1962 476.4983 381.7623 571.2344 331.6121 621.3846 Nov 1962 413.9010 329.2070 498.5950 284.3727 543.4293 Dec 1962 463.8685 366.2764 561.4606 314.6143 613.1227 data: diff(log(AirPassengers)) [1] 12 11 10 9 8 7 6 5 4 3 2 1 > acf(diff(log(AirPassengers))) > pacf(diff(log(AirPassengers))) > (fit <- arima(log(AirPassengers), c(0, 1, 1),seasonal = list(order = c(0, 1, 1), period = 12))) #Arima Call: arima(x = log(AirPassengers), order = c(0, 1, 1), seasonal = list(order = c(0, 1, 1), period = 12)) Coefficients: ma1 sma1 -0.4018 -0.5569 s.e. 0.0896 0.0731 sigma^2 estimated as 0.001348: log likelihood = 244.7, aic = -483.4 pred <- predict(fit, n.ahead = 10*12) > ts.plot(AirPassengers,2.718^pred$pred, log = "y", lty = c(1,3))

Page 5: Time Series Modelling in R-Forecasting

> demand <- ts(AirPassengers,start=1949,frequency = 12) > plot(demand) > hw <- HoltWinters(demand) > plot(hw)

Page 6: Time Series Modelling in R-Forecasting
Page 7: Time Series Modelling in R-Forecasting

> forecast <- predict(hw, n.ahead = 12, prediction.interval = T, level = 0.95) > plot(hw, forecast)

Page 8: Time Series Modelling in R-Forecasting