data <- read.csv(file = "C:/Users/LENOVO/Downloads/DATA METRAMAL.csv")
data.ts <- ts(data, start =c (2006,1), frequency = 12)
data.ts
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2006 2976 3176 2895 3259 2794 2699 3076 2998 3110 3032 3009 2791
## 2007 3993 4143 3668 3033 3384 3116 2884 2925 2717 2837 3046 2990
## 2008 3290 3238 3644 3176 3130 2793 3080 3353 3487 3448 3361 3243
## 2009 2927 3334 3793 3846 3447 3488 3151 3350 3571 2798 3160 3135
plot(data.ts)

# Simple Exponential Smoothing
ses <- HoltWinters(data.ts, beta = FALSE, gamma = FALSE)
ses
## Holt-Winters exponential smoothing without trend and without seasonal component.
##
## Call:
## HoltWinters(x = data.ts, beta = FALSE, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.5491025
## beta : FALSE
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 3133.814
plot(ses)

# Error SES
ses$fitted
## xhat level
## Feb 2006 2976.000 2976.000
## Mar 2006 3085.821 3085.821
## Apr 2006 2981.040 2981.040
## May 2006 3133.669 3133.669
## Jun 2006 2947.156 2947.156
## Jul 2006 2810.893 2810.893
## Aug 2006 2956.464 2956.464
## Sep 2006 2979.271 2979.271
## Oct 2006 3051.055 3051.055
## Nov 2006 3040.592 3040.592
## Dec 2006 3023.245 3023.245
## Jan 2007 2895.719 2895.719
## Feb 2007 3498.239 3498.239
## Mar 2007 3852.279 3852.279
## Apr 2007 3751.091 3751.091
## May 2007 3356.785 3356.785
## Jun 2007 3371.729 3371.729
## Jul 2007 3231.308 3231.308
## Aug 2007 3040.600 3040.600
## Sep 2007 2977.124 2977.124
## Oct 2007 2834.289 2834.289
## Nov 2007 2835.778 2835.778
## Dec 2007 2951.211 2951.211
## Jan 2008 2972.510 2972.510
## Feb 2008 3146.845 3146.845
## Mar 2008 3196.898 3196.898
## Apr 2008 3442.403 3442.403
## May 2008 3296.120 3296.120
## Jun 2008 3204.903 3204.903
## Jul 2008 2978.726 2978.726
## Aug 2008 3034.336 3034.336
## Sep 2008 3209.315 3209.315
## Oct 2008 3361.793 3361.793
## Nov 2008 3409.129 3409.129
## Dec 2008 3382.701 3382.701
## Jan 2009 3305.991 3305.991
## Feb 2009 3097.886 3097.886
## Mar 2009 3227.537 3227.537
## Apr 2009 3538.034 3538.034
## May 2009 3707.139 3707.139
## Jun 2009 3564.296 3564.296
## Jul 2009 3522.402 3522.402
## Aug 2009 3318.464 3318.464
## Sep 2009 3335.781 3335.781
## Oct 2009 3464.940 3464.940
## Nov 2009 3098.722 3098.722
## Dec 2009 3132.370 3132.370
fitted_ses = ses$fitted[,1]
error_ses = data.ts - fitted_ses
error_ses
## Jan Feb Mar Apr May Jun
## 2006 200.000000 -190.820500 277.959514 -339.668751 -248.155790
## 2007 1097.281468 644.761468 -184.278667 -718.090790 27.214660 -255.728978
## 2008 317.489733 91.155326 447.101708 -266.402958 -166.120427 -411.903285
## 2009 -378.991002 236.113905 565.463169 307.965928 -260.138934 -76.295994
## Jul Aug Sep Oct Nov Dec
## 2006 265.107175 41.536162 130.728551 -19.054823 -31.591772 -232.244651
## 2007 -347.307556 -115.600108 -260.123799 2.710830 210.222306 38.788712
## 2008 101.273840 318.664121 277.684855 86.207406 -48.129296 -139.701379
## 2009 -371.401673 31.535915 235.219465 -666.940132 61.278364 2.630261
# Akurasi SES
SSE_SES = ses$SSE
MSE_SES = mean(error_ses^2)
MAPE_SES = mean(abs((error_ses/data.ts)*100))
akurasises <- matrix(c(SSE_SES,MSE_SES,MAPE_SES))
row.names(akurasises) <- c("SSE","MSE","MAPE")
format(akurasises,scientific = FALSE)
## [,1]
## SSE "5083594.850935"
## MSE " 108161.592573"
## MAPE " 7.694056"
# Double Exponential Smoothing
des <- HoltWinters(data.ts, gamma = FALSE)
des
## Holt-Winters exponential smoothing with trend and without seasonal component.
##
## Call:
## HoltWinters(x = data.ts, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.7870412
## beta : 0.07949347
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 3127.670612
## b -8.556929
plot(des)

des$SSE
## [1] 5963472
# Error DES
des$fitted
## xhat level trend
## Mar 2006 3376.000 3176.000 200.000000
## Apr 2006 3167.340 2997.433 169.906412
## May 2006 3415.121 3239.480 175.641111
## Jun 2006 3063.054 2926.273 136.780890
## Jul 2006 2890.533 2776.529 114.003977
## Aug 2006 3162.111 3036.503 125.607681
## Sep 2006 3148.289 3032.949 115.340153
## Oct 2006 3231.099 3118.154 112.944617
## Nov 2006 3174.888 3074.400 100.488086
## Dec 2006 3134.437 3044.327 90.109372
## Jan 2007 2932.760 2864.138 68.622383
## Feb 2007 3902.168 3767.213 134.955893
## Mar 2007 4241.736 4091.713 150.023429
## Apr 2007 3904.310 3790.182 114.127832
## May 2007 3278.168 3218.553 59.614641
## Jun 2007 3427.698 3361.462 66.235993
## Jul 2007 3229.114 3182.379 46.734717
## Aug 2007 2982.638 2957.495 25.142813
## Sep 2007 2958.811 2937.274 21.536725
## Oct 2007 2774.904 2768.496 6.407896
## Nov 2007 2834.069 2823.776 10.292927
## Dec 2007 3024.420 3000.867 23.552313
## Jan 2008 3018.729 2997.330 21.398855
## Feb 2008 3270.601 3232.230 38.370836
## Mar 2008 3281.274 3244.943 36.331151
## Apr 2008 3625.779 3566.754 59.024977
## May 2008 3302.669 3271.784 30.884704
## Jun 2008 3186.853 3166.771 20.081721
## Jul 2008 2872.315 2876.875 -4.559556
## Aug 2008 3044.206 3035.772 8.434183
## Sep 2008 3314.993 3287.240 27.753777
## Oct 2008 3488.885 3450.370 38.515312
## Nov 2008 3492.664 3456.707 35.957358
## Dec 2008 3416.759 3389.039 27.719838
## Jan 2009 3296.852 3280.003 16.848677
## Feb 2009 2999.472 3005.763 -6.290988
## Mar 2009 3277.398 3262.759 14.638615
## Apr 2009 3730.095 3683.198 46.897065
## May 2009 3875.466 3821.317 54.148615
## Jun 2009 3565.587 3538.246 27.341820
## Jul 2009 3527.011 3504.523 22.487595
## Aug 2009 3230.037 3231.075 -1.037364
## Sep 2009 3330.921 3324.453 6.468052
## Oct 2009 3541.362 3519.873 21.488510
## Nov 2009 2931.286 2956.305 -25.019633
## Dec 2009 3100.583 3111.293 -10.710211
fitted_des = des$fitted[,1]
error_des = data.ts - fitted_des
error_des
## Jan Feb Mar Apr May Jun
## 2006 -481.00000 91.66039 -621.12122 -364.05414
## 2007 1060.23975 240.83152 -573.73623 -871.31003 105.83219 -311.69809
## 2008 271.27116 -32.60125 362.72613 -449.77925 -172.66917 -393.85314
## 2009 -369.85217 334.52770 515.60201 115.90494 -428.46564 -77.58736
## Jul Aug Sep Oct Nov Dec
## 2006 185.46748 -164.11074 -38.28898 -199.09859 -165.88789 -343.43666
## 2007 -345.11358 -57.63780 -241.81120 62.09627 211.93102 -34.41973
## 2008 207.68505 308.79418 172.00667 -40.88497 -131.66417 -173.75889
## 2009 -376.01051 119.96261 240.07904 -743.36156 228.71423 34.41693
# Akurasi SES
SSE_DES = des$SSE
MSE_DES = mean(error_des^2)
MAPE_DES = mean(abs((error_des/data.ts)*100))
akurasides <- matrix(c(SSE_DES,MSE_DES,MAPE_DES))
row.names(akurasides) <- c("SSE","MSE","MAPE")
format(akurasides,scientific = FALSE)
## [,1]
## SSE "5963471.515911"
## MSE " 129640.685129"
## MAPE " 8.927607"