Pemulusan Data Harga Rata-Rata Lelang Plat Nomor Mobil di Shanghai tahun 2002-2019
Library / Packages
Package yang digunakan: forecast,
graphics, TTR, TSA. Jika belum
ada, install terlebih dahulu.
#install.packages("forecast")
#install.packages("graphics")
#install.packages("TTR")
#install.packages("TSA")Jika sudah ada, panggil library package tersebut.
## Warning: package 'forecast' was built under R version 4.2.3
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Warning: package 'TSA' was built under R version 4.2.3
## Registered S3 methods overwritten by 'TSA':
## method from
## fitted.Arima forecast
## plot.Arima forecast
##
## Attaching package: 'TSA'
## The following objects are masked from 'package:stats':
##
## acf, arima
## The following object is masked from 'package:utils':
##
## tar
Data Preparation
Impor Data
Eksplorasi Data
## 'data.frame': 204 obs. of 2 variables:
## $ Date : IDate, format: "2002-01-01" "2002-02-01" ...
## $ Average price: int 14735 14057 14662 16334 18357 20178 20904 21601 24040 27040 ...
## [1] 204 2
Mengubah data agar terbaca sebagai data deret waktu
## Time-Series [1:204] from 1 to 204: 14735 14057 14662 16334 18357 20178 20904 21601 24040 27040 ...
Menampilkan ringkasan data
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 14057 34932 46037 54358 78142 93540
Membuat plot
ts.plot(datashanghai.ts, xlab="Time Period", ylab="Average Price",
main = "Harga Rata-Rata Lelang Plat Nomor Mobil di Shanghai")
#membuat titik2 di plot data
points(datashanghai.ts) Pada plot data deret waktu tersebut, dapat terlihat bahwa data berpola trend karena terjadi kenaikan sekuler jangka panjang (perubahan sistematis selama periode waktu yang panjang) dalam data. Oleh karena itu, metode pemulusan yang cocok adalah Double Moving Average (DMA) dan Double Exponential Smoothing (DES).
Pemulusan (Smoothing)
1. Double Moving Average (DMA)
Pembagian Data
Eksplorasi Data
Eksplorasi data dilakukan pada keseluruhan data, data latih serta data uji menggunakan plot data deret waktu.
#eksplorasi keseluruhan data
plot(datashanghai.ts, col="green",main="Plot semua data")
points(datashanghai.ts)Eksplorasi data juga dapat dilakukan menggunakan package
ggplot2 .
## Warning: package 'ggplot2' was built under R version 4.2.3
ggplot() +
geom_line(data = training_ma, aes(x = Date, y = `Average price`, col = "Data Latih")) +
geom_line(data = testing_ma, aes(x = Date, y = `Average price`, col = "Data Uji")) +
labs(x = "Periode Waktu", y = "Harga Rata-rata", color = "Legend") +
scale_colour_manual(name="Keterangan:", breaks = c("Data Latih", "Data Uji"),
values = c("orange", "blue")) +
theme_bw() + theme(legend.position = "bottom",
plot.caption = element_text(hjust=0.5, size=12))Metode DMA
Metode pemulusan Double Moving Average (DMA) pada dasarnya mirip dengan Single Moving Average (SMA). Namun demikian, metode ini lebih cocok digunakan untuk pola data trend. Proses pemulusan dengan rata rata dalam metode ini dilakukan sebanyak 2 kali.
data.sma <- SMA(train_ma.ts, n=4)
dma <- SMA(data.sma, n = 4)
At <- 2*data.sma - dma
Bt <- 2/(4-1)*(data.sma - dma)
data.dma<- At+Bt
data.ramal2<- c(NA, data.dma)
t = 1:41
f = c()
for (i in t) {
f[i] = At[length(At)] + Bt[length(Bt)]*(i)
}
data.gab2 <- cbind(aktual = c(train_ma.ts,rep(NA,41)), pemulusan1 = c(data.sma,rep(NA,41)),pemulusan2 = c(data.dma, rep(NA,41)),At = c(At, rep(NA,41)), Bt = c(Bt,rep(NA,41)),ramalan = c(data.ramal2, f[-1]))
data.gab2## aktual pemulusan1 pemulusan2 At Bt ramalan
## [1,] 14735 NA NA NA NA NA
## [2,] 14057 NA NA NA NA NA
## [3,] 14662 NA NA NA NA NA
## [4,] 16334 14947.00 NA NA NA NA
## [5,] 18357 15852.50 NA NA NA NA
## [6,] 20178 17382.75 NA NA NA NA
## [7,] 20904 18943.25 22546.38 21105.12 1441.250000 NA
## [8,] 21601 20260.00 23843.96 22410.38 1433.583333 22546.38
## [9,] 24040 21680.75 25204.19 23794.81 1409.375000 23843.96
## [10,] 27040 23396.25 27273.23 25722.44 1550.791667 25204.19
## [11,] 31721 26100.50 31502.38 29341.62 2160.750000 27273.23
## [12,] 27848 27662.25 32582.77 30614.56 1968.208333 31502.38
## [13,] 24267 27719.00 30218.17 29218.50 999.666667 32582.77
## [14,] 25254 27272.50 27412.40 27356.44 55.958333 30218.17
## [15,] 29551 26730.00 25703.44 26114.06 -410.625000 27412.40
## [16,] 34845 28479.25 30027.69 29408.31 619.375000 25703.44
## [17,] 36903 31638.25 36818.67 34746.50 2072.166667 30027.69
## [18,] 37667 34741.50 41981.92 39085.75 2896.166667 36818.67
## [19,] 38269 36921.00 43547.67 40897.00 2650.666667 41981.92
## [20,] 39369 38052.00 42575.02 40765.81 1809.208333 43547.67
## [21,] 38728 38508.25 40929.19 39960.81 968.375000 42575.02
## [22,] 34842 37802.00 37770.65 37783.19 -12.541667 40929.19
## [23,] 34284 36805.75 35162.00 35819.50 -657.500000 37770.65
## [24,] 38054 36477.00 34941.58 35555.75 -614.166667 35162.00
## [25,] 39516 36674.00 36231.19 36408.31 -177.125000 34941.58
## [26,] 40053 37976.75 39632.38 38970.12 662.250000 36231.19
## [27,] 43333 40239.00 44234.52 42636.31 1598.208333 39632.38
## [28,] 45492 42098.50 46850.90 44949.94 1900.958333 44234.52
## [29,] 34226 40776.00 41615.06 41279.44 335.625000 46850.90
## [30,] 21001 36013.00 29731.96 32244.38 -2512.416667 41615.06
## [31,] 23544 31065.75 20361.48 24643.19 -4281.708333 29731.96
## [32,] 25991 26190.50 13989.15 18869.69 -4880.541667 20361.48
## [33,] 30033 25142.25 17707.88 20681.62 -2973.750000 13989.15
## [34,] 29768 27334.00 27168.79 27234.88 -66.083333 17707.88
## [35,] 27620 28353.00 31016.44 29951.06 1065.375000 27168.79
## [36,] 30282 29425.75 32529.08 31287.75 1241.333333 31016.44
## [37,] 32520 30047.50 32143.23 31304.94 838.291667 32529.08
## [38,] 32425 30711.75 32507.17 31789.00 718.166667 32143.23
## [39,] 34684 32477.75 35497.85 34289.81 1208.041667 32507.17
## [40,] 37355 34246.00 38204.75 36621.25 1583.500000 35497.85
## [41,] 35661 35031.25 38222.19 36945.81 1276.375000 38204.75
## [42,] 37479 36294.75 39265.27 38077.06 1188.208333 38222.19
## [43,] 38378 37218.25 39752.73 38738.94 1013.791667 39265.27
## [44,] 35905 36855.75 37698.67 37361.50 337.166667 39752.73
## [45,] 28927 35172.25 33150.58 33959.25 -808.666667 37698.67
## [46,] 26385 32398.75 27377.92 29386.25 -2008.333333 33150.58
## [47,] 30320 30384.25 24853.42 27065.75 -2212.333333 27377.92
## [48,] 36749 30595.25 28024.62 29052.88 -1028.250000 24853.42
## [49,] 31220 31168.50 31221.52 31200.31 21.208333 28024.62
## [50,] 34887 33294.00 36516.50 35227.50 1289.000000 31221.52
## [51,] 38932 35447.00 40148.35 38267.81 1880.541667 36516.50
## [52,] 38326 35841.25 39013.85 37744.81 1269.041667 40148.35
## [53,] 38139 37571.00 40958.81 39603.69 1355.125000 39013.85
## [54,] 39752 38787.25 41913.29 40662.88 1250.416667 40958.81
## [55,] 39966 39045.75 41103.15 40280.19 822.958333 41913.29
## [56,] 40459 39579.00 40967.75 40412.25 555.500000 41103.15
## [57,] 41601 40444.50 42078.46 41424.88 653.583333 40967.75
## [58,] 37899 39981.25 40345.62 40199.88 145.750000 42078.46
## [59,] 38460 39604.75 39108.71 39307.12 -198.416667 40345.62
## [60,] 40518 39619.50 39131.17 39326.50 -195.333333 39108.71
## [61,] 40974 39462.75 39122.23 39258.44 -136.208333 39131.17
## [62,] 40473 40106.25 40786.15 40514.19 271.958333 39122.23
## [63,] 41573 40884.50 42328.25 41750.75 577.500000 40786.15
## [64,] 43623 41660.75 43547.73 42792.94 754.791667 42328.25
## [65,] 44853 42630.50 44813.83 43940.50 873.333333 43547.73
## [66,] 47711 44440.00 47833.44 46476.06 1357.375000 44813.83
## [67,] 46581 45692.00 49168.98 47778.19 1390.791667 47833.44
## [68,] 46897 46510.50 49330.92 48202.75 1128.166667 49168.98
## [69,] 49631 47705.00 50401.88 49323.12 1078.750000 49330.92
## [70,] 51000 48527.25 50891.52 49945.81 945.708333 50401.88
## [71,] 54317 50461.25 54061.67 52621.50 1440.166667 50891.52
## [72,] 56042 52747.50 57559.58 55634.75 1924.833333 54061.67
## [73,] 23370 46182.25 40686.73 42884.94 -2198.208333 57559.58
## [74,] 32169 41474.50 31071.38 35232.62 -4161.250000 40686.73
## [75,] 37659 37310.00 25445.73 30191.44 -4745.708333 31071.38
## [76,] 36047 32311.25 20630.83 25303.00 -4672.166667 25445.73
## [77,] 34947 35205.50 32922.48 33835.69 -913.208333 20630.83
## [78,] 34491 35786.00 36840.69 36418.81 421.875000 32922.48
## [79,] 36460 35486.25 36801.25 36275.25 526.000000 36840.69
## [80,] 31788 34421.50 33082.65 33618.19 -535.541667 36801.25
## [81,] 33224 33990.75 32440.12 33060.38 -620.250000 33082.65
## [82,] 24351 31455.75 27484.40 29072.94 -1588.541667 32440.12
## [83,] 31665 30257.00 26466.58 27982.75 -1516.166667 27484.40
## [84,] 29399 29659.75 26857.98 27978.69 -1120.708333 26466.58
## [85,] 33394 29702.25 28758.19 29135.81 -377.625000 26857.98
## [86,] 27552 30502.50 31289.38 30974.62 314.750000 28758.19
## [87,] 28724 29767.25 29532.77 29626.56 -93.791667 31289.38
## [88,] 29100 29692.50 29319.79 29468.88 -149.083333 29532.77
## [89,] 30363 28934.75 27618.92 28145.25 -526.333333 29319.79
## [90,] 32522 30177.25 31067.77 30711.56 356.208333 27618.92
## [91,] 36231 32054.00 35119.62 33893.38 1226.250000 31067.77
## [92,] 29500 32154.00 34360.67 33478.00 882.666667 35119.62
## [93,] 34402 33163.75 35291.25 34440.25 851.000000 34360.67
## [94,] 35317 33862.50 35619.06 34916.44 702.625000 35291.25
## [95,] 37593 34203.00 35631.65 35060.19 571.458333 35619.06
## [96,] 38311 36405.75 39734.08 38402.75 1331.333333 35631.65
## [97,] 38620 37460.25 40755.88 39437.62 1318.250000 39734.08
## [98,] 39882 38601.50 41824.62 40535.38 1289.250000 40755.88
## [99,] 41637 39612.50 42266.67 41205.00 1061.666667 41824.62
## [100,] 42262 40600.25 43152.96 42131.88 1021.083333 42266.67
## [101,] 40380 41040.25 42834.62 42116.88 717.750000 43152.96
## [102,] 39362 40910.25 41525.98 41279.69 246.291667 42834.62
## [103,] 40169 40543.25 40159.50 40313.00 -153.500000 41525.98
## [104,] 42180 40522.75 40137.12 40291.38 -154.250000 40159.50
## [105,] 43271 41245.50 41978.94 41685.56 293.375000 40137.12
## [106,] 45291 42727.75 45174.31 44195.69 978.625000 41978.94
## [107,] 15970 36678.00 30652.17 33062.50 -2410.333333 45174.31
## [108,] 38771 35825.75 30336.58 32532.25 -2195.666667 30652.17
## [109,] 44627 36164.75 33357.56 34480.44 -1122.875000 30336.58
## [110,] 46657 36506.25 36860.52 36718.81 141.708333 33357.56
## [111,] 47399 44363.50 54610.90 50511.94 4098.958333 36860.52
## [112,] 47700 46595.75 56076.06 52283.94 3792.125000 54610.90
## [113,] 48855 47652.75 54108.06 51525.94 2582.125000 56076.06
## [114,] 51174 48782.00 52004.50 50715.50 1289.000000 54108.06
## [115,] 52228 49989.25 52879.77 51723.56 1156.208333 52004.50
## [116,] 52622 51219.75 54234.44 53028.56 1205.875000 52879.77
## [117,] 54008 52508.00 55646.75 54391.25 1255.500000 54234.44
## [118,] 47635 51623.25 52103.56 51911.44 192.125000 55646.75
## [119,] 51437 51425.50 50977.79 51156.88 -179.083333 52103.56
## [120,] 53195 51568.75 51214.38 51356.12 -141.750000 50977.79
## [121,] 55632 51974.75 52519.23 52301.44 217.791667 51214.38
## [122,] 58625 54722.25 58554.65 57021.69 1532.958333 52519.23
## [123,] 61626 57269.50 62912.31 60655.19 2257.125000 58554.65
## [124,] 64367 60062.50 66821.25 64117.75 2703.500000 62912.31
## [125,] 58227 60711.25 64911.04 63231.12 1679.916667 66821.25
## [126,] 58271 60622.75 62216.50 61579.00 637.500000 64911.04
## [127,] 62559 60856.00 61344.12 61148.88 195.250000 62216.50
## [128,] 66425 61370.50 62171.12 61850.88 320.250000 61344.12
## [129,] 66708 63490.75 66667.00 65396.50 1270.500000 62171.12
## [130,] 66946 65659.50 70351.69 68474.81 1876.875000 66667.00
## [131,] 69346 67356.25 72167.92 70243.25 1924.666667 70351.69
## [132,] 75332 69583.00 74684.04 72643.62 2040.416667 72167.92
## [133,] 83571 73798.75 81631.04 78498.12 3132.916667 74684.04
## [134,] 91898 80036.75 92275.19 87379.81 4895.375000 81631.04
## [135,] 84101 83725.50 95291.33 90665.00 4626.333333 92275.19
## [136,] 80803 85093.25 92476.06 89522.94 2953.125000 95291.33
## [137,] 77823 83656.25 84536.77 84184.56 352.208333 92476.06
## [138,] 76465 79798.00 74347.58 76527.75 -2180.166667 84536.77
## [139,] 74939 77507.50 70830.42 73501.25 -2670.833333 74347.58
## [140,] 73492 75679.75 69878.71 72199.12 -2320.416667 70830.42
## [141,] 83723 77154.75 76521.00 76774.50 -253.500000 69878.71
## [142,] 75717 76967.75 77201.60 77108.06 93.541667 76521.00
## [143,] 76093 77256.25 78075.62 77747.88 327.750000 77201.60
## [144,] 73501 77258.50 77423.81 77357.69 66.125000 78075.62
## [145,] 73357 74667.00 71549.71 72796.62 -1246.916667 77423.81
## [146,] 73872 74205.75 71470.54 72564.62 -1094.083333 71549.71
## [147,] 74113 73710.75 71627.83 72461.00 -833.166667 71470.54
## [148,] 74503 73961.25 73669.69 73786.31 -116.625000 71627.83
## [149,] 73896 74096.00 74266.94 74198.56 68.375000 73669.69
## [150,] 74680 74298.00 74767.17 74579.50 187.666667 74266.94
## [151,] 73785 74216.00 74337.98 74289.19 48.791667 74767.17
## [152,] 73875 74059.00 73878.58 73950.75 -72.166667 74337.98
## [153,] 74075 74103.75 73994.69 74038.31 -43.625000 73878.58
## [154,] 73633 73842.00 73486.69 73628.81 -142.125000 73994.69
## [155,] 73687 73817.50 73587.40 73679.44 -92.041667 73486.69
## [156,] 74216 73902.75 73879.83 73889.00 -9.166667 73587.40
## [157,] 76618 74538.50 75394.02 75051.81 342.208333 73879.83
## [158,] 74830 74837.75 75777.12 75401.38 375.750000 75394.02
## [159,] 80759 76605.75 79330.02 78240.31 1089.708333 75777.12
## [160,] 79099 77826.50 80950.46 79700.88 1249.583333 79330.02
## [161,] 80020 78677.00 81494.08 80367.25 1126.833333 80950.46
## [162,] 83171 80762.25 84586.21 83056.62 1529.583333 81494.08
## [163,] 82642 81233.00 83913.52 82841.31 1072.208333 84586.21
## [164,] NA NA NA NA NA 83913.52
## [165,] NA NA NA NA NA 84985.73
## [166,] NA NA NA NA NA 86057.94
## [167,] NA NA NA NA NA 87130.15
## [168,] NA NA NA NA NA 88202.35
## [169,] NA NA NA NA NA 89274.56
## [170,] NA NA NA NA NA 90346.77
## [171,] NA NA NA NA NA 91418.98
## [172,] NA NA NA NA NA 92491.19
## [173,] NA NA NA NA NA 93563.40
## [174,] NA NA NA NA NA 94635.60
## [175,] NA NA NA NA NA 95707.81
## [176,] NA NA NA NA NA 96780.02
## [177,] NA NA NA NA NA 97852.23
## [178,] NA NA NA NA NA 98924.44
## [179,] NA NA NA NA NA 99996.65
## [180,] NA NA NA NA NA 101068.85
## [181,] NA NA NA NA NA 102141.06
## [182,] NA NA NA NA NA 103213.27
## [183,] NA NA NA NA NA 104285.48
## [184,] NA NA NA NA NA 105357.69
## [185,] NA NA NA NA NA 106429.90
## [186,] NA NA NA NA NA 107502.10
## [187,] NA NA NA NA NA 108574.31
## [188,] NA NA NA NA NA 109646.52
## [189,] NA NA NA NA NA 110718.73
## [190,] NA NA NA NA NA 111790.94
## [191,] NA NA NA NA NA 112863.15
## [192,] NA NA NA NA NA 113935.35
## [193,] NA NA NA NA NA 115007.56
## [194,] NA NA NA NA NA 116079.77
## [195,] NA NA NA NA NA 117151.98
## [196,] NA NA NA NA NA 118224.19
## [197,] NA NA NA NA NA 119296.40
## [198,] NA NA NA NA NA 120368.60
## [199,] NA NA NA NA NA 121440.81
## [200,] NA NA NA NA NA 122513.02
## [201,] NA NA NA NA NA 123585.23
## [202,] NA NA NA NA NA 124657.44
## [203,] NA NA NA NA NA 125729.65
## [204,] NA NA NA NA NA 126801.85
Visualisasi hasil pemulusan metode DMA
ts.plot(datashanghai.ts, xlab="Time Period ", ylab="Average Price", main= "DMA N=4 Data Shanghai Car License Plate Auction Average Price")
points(datashanghai.ts)
lines(data.gab2[,3],col="green",lwd=2)
lines(data.gab2[,6],col="red",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.8)Selanjutnya perhitungan akurasi dilakukan baik pada data latih maupun data uji. Perhitungan akurasi dilakukan dengan ukuran Sum Squares Error (SSE), Mean Square Error (MSE) dan Mean Absolute Percentage Error (MAPE).
Akurasi Data Latih
#Menghitung nilai keakuratan data latih
error_train.dma = train_ma.ts-data.ramal2[1:length(train_ma.ts)]
SSE_train.dma = sum(error_train.dma[8:length(train_ma.ts)]^2)
MSE_train.dma = mean(error_train.dma[8:length(train_ma.ts)]^2)
MAPE_train.dma = mean(abs((error_train.dma[8:length(train_ma.ts)]/train_ma.ts[8:length(train_ma.ts)])*100))
akurasi_train.dma <- matrix(c(SSE_train.dma, MSE_train.dma, MAPE_train.dma))
row.names(akurasi_train.dma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_train.dma) <- c("Akurasi m = 4")
akurasi_train.dma## Akurasi m = 4
## SSE 6.677238e+09
## MSE 4.280281e+07
## MAPE 1.159579e+01
Semakin kecil SSE, MSE, dan MAPE maka semakin akurat sebuah model dalam melakukan peramalan. Perhitungan akurasi pada data latih menggunakan nilai MAPE menghasilkan nilai MAPE diantara 10-20 sehingga nilai akurasi ini dapat dikategorikan baik. Selanjutnya, perhitungan nilai akurasi dilakukan pada data uji.
Akurasi Data Uji
#Menghitung nilai keakuratan data uji
error_test.dma = test_ma.ts-data.gab2[164:204,6]
SSE_test.dma = sum(error_test.dma^2)
MSE_test.dma = mean(error_test.dma^2)
MAPE_test.dma = mean(abs((error_test.dma/test_ma.ts*100)))
akurasi_test.dma <- matrix(c(SSE_test.dma, MSE_test.dma, MAPE_test.dma))
row.names(akurasi_test.dma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_test.dma) <- c("Akurasi m = 4")
akurasi_test.dma## Akurasi m = 4
## SSE 1.789688e+10
## MSE 4.365094e+08
## MAPE 1.989137e+01
Perhitungan akurasi pada data uji menghasilkan nilai MAPE di antara 10-20 sehingga nilai akurasi ini dapat dikategorikan sebagai baik.
2. Double Exponential Smoothing (DES)
Metode Exponential Smoothing adalah metode pemulusan dengan melakukan pembobotan menurun secara eksponensial. Nilai yang lebih baru diberi bobot yang lebih besar dari nilai terdahulu. Terdapat satu atau lebih parameter pemulusan yang ditentukan secara eksplisit dan hasil pemilihan parameter tersebut akan menentukan bobot yang akan diberikan pada nilai pengamatan.
Ada dua macam model, yaitu model tunggal dan ganda. Model tunggal
atau Single Exponential Smoothing (SES) merupakan metode pemulusan yang
tepat untuk data dengan pola stasioner atau konstan. Sedangkan model
ganda atau Double Exponential Smoothing (DES) untuk data berpola tren.
Data harga rata-rata lelang plat nomor mobil di Shanghai
berpola tren sehingga menggunakan metode pemulusan DES.
Pembagian Data
Pembagian data latih dan data uji dilakukan dengan perbandingan 80% data latih dan 20% data uji.
Eksplorasi Data
Eksplorasi dilakukan dengan membuat plot data deret waktu untuk keseluruhan data, data latih, dan data uji.
Eksplorasi data juga dapat dilakukan menggunakan package
ggplot2 .
#Eksplorasi dengan GGPLOT
library(ggplot2)
ggplot() +
geom_line(data = training, aes(x = Date, y = `Average price`, col = "Data Latih")) +
geom_line(data = testing, aes(x = Date, y = `Average price`, col = "Data Uji")) +
labs(x = "Periode Waktu", y = "Harga Rata-rata", color = "Legend") +
scale_colour_manual(name="Keterangan:", breaks = c("Data Latih", "Data Uji"),
values = c("purple", "red")) +
theme_bw() + theme(legend.position = "bottom",
plot.caption = element_text(hjust=0.5, size=12))Metode DES
Metode pemulusan DES digunakan untuk data yang memiliki pola tren. Metode DES adalah metode semacam SES, hanya saja dilakukan dua kali, yaitu pertama untuk tahapan ‘level’ dan kedua untuk tahapan ‘tren’. Pemulusan menggunakan metode ini akan menghasilkan peramalan tidak konstan untuk periode berikutnya.
Pemulusan dengan metode DES ini akan menggunakan fungsi
HoltWinters() . Nilai argumen beta
diinisialisasi bersamaan dengan nilai alpha dan nilai
argumen gamma dibuat FALSE.
#beta=0.2 dan alpha=0.2
des.1<- HoltWinters(train.ts, gamma = FALSE, beta = 0.2, alpha = 0.2)
plot(des.1)## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 164 81008.37 72884.16 89132.58 68583.46 93433.28
## 165 81950.30 73595.39 90305.22 69172.56 94728.04
## 166 82892.24 74233.18 91551.29 69649.35 96135.12
## 167 83834.17 74793.27 92875.07 70007.30 97661.04
## 168 84776.10 75273.90 94278.31 70243.73 99308.47
## 169 85718.04 75675.51 95760.56 70359.32 101076.76
## 170 86659.97 76000.21 97319.73 70357.27 102962.67
## 171 87601.90 76251.24 98952.57 70242.56 104961.24
## 172 88543.84 76432.49 100655.18 70021.13 107066.54
## 173 89485.77 76548.10 102423.44 69699.31 109272.22
## 174 90427.70 76602.21 104253.19 69283.44 111571.97
## 175 91369.63 76598.75 106140.52 68779.52 113959.75
## 176 92311.57 76541.38 108081.75 68193.15 116429.98
## 177 93253.50 76433.44 110073.57 67529.43 118977.57
## 178 94195.43 76277.91 112112.96 66792.94 121597.93
## 179 95137.37 76077.47 114197.26 65987.77 124286.96
## 180 96079.30 75834.52 116324.08 65117.58 127041.03
## 181 97021.23 75551.17 118491.30 64185.60 129856.87
## 182 97963.17 75229.30 120697.03 63194.72 132731.62
## 183 98905.10 74870.61 122939.59 62147.51 135662.69
## 184 99847.03 74476.58 125217.48 61046.28 138647.79
## 185 100788.97 74048.58 127529.36 59893.07 141684.86
## 186 101730.90 73587.80 129874.00 58689.74 144772.06
## 187 102672.83 73095.34 132250.33 57437.96 147907.71
## 188 103614.77 72572.19 134657.34 56139.24 151090.29
## 189 104556.70 72019.25 137094.15 54794.97 154318.44
## 190 105498.63 71437.34 139559.93 53406.38 157590.88
## 191 106440.57 70827.22 142053.92 51974.65 160906.49
## 192 107382.50 70189.57 144575.43 50500.82 164264.18
## 193 108324.43 69525.04 147123.83 48985.88 167662.98
## 194 109266.37 68834.22 149698.51 47430.73 171102.00
## 195 110208.30 68117.66 152298.94 45836.22 174580.38
## 196 111150.23 67375.87 154924.59 44203.13 178097.34
## 197 112092.17 66609.34 157574.99 42532.18 181652.15
## 198 113034.10 65818.51 160249.69 40824.08 185244.12
## 199 113976.03 65003.80 162948.26 39079.47 188872.60
## 200 114917.97 64165.62 165670.31 37298.95 192536.98
## 201 115859.90 63304.34 168415.46 35483.10 196236.69
## 202 116801.83 62420.31 171183.35 33632.47 199971.19
## 203 117743.77 61513.88 173973.65 31747.57 203739.96
## 204 118685.70 60585.36 176786.04 29828.90 207542.50
#beta=0.3 dan aplha=0.6
des.2<- HoltWinters(train.ts, gamma = FALSE, beta = 0.3, alpha = 0.6)
plot(des.2)## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 164 84212.92 77069.817 91356.01 73288.489 95137.34
## 165 85356.20 76297.132 94415.27 71501.549 99210.86
## 166 86499.49 75137.696 97861.28 69123.126 103875.85
## 167 87642.78 73664.188 101621.37 66264.370 109021.18
## 168 88786.06 71924.720 105647.41 62998.864 114573.26
## 169 89929.35 69951.649 109907.05 59376.092 120482.61
## 170 91072.64 67767.740 114377.54 55430.871 126714.40
## 171 92215.93 65389.811 119042.04 51188.924 133242.93
## 172 93359.21 62830.844 123887.58 46670.102 140048.32
## 173 94502.50 60101.231 128903.77 41890.300 147114.70
## 174 95645.79 57209.545 134082.03 36862.628 154428.94
## 175 96789.07 54163.028 139415.12 31598.162 161979.99
## 176 97932.36 50967.916 144896.81 26106.440 169758.28
## 177 99075.65 47629.668 150521.63 20395.811 177755.48
## 178 100218.93 44153.121 156284.75 14473.672 185964.20
## 179 101362.22 40542.610 162181.83 8346.652 194377.79
## 180 102505.51 36802.050 168208.97 2020.740 202990.28
## 181 103648.80 32935.010 174362.58 -4498.608 211796.20
## 182 104792.08 28944.757 180639.41 -11206.392 220790.56
## 183 105935.37 24834.305 187036.44 -18098.005 229968.75
## 184 107078.66 20606.445 193550.87 -25169.179 239326.49
## 185 108221.94 16263.772 200180.12 -32415.944 248859.83
## 186 109365.23 11808.709 206921.75 -39834.595 258565.06
## 187 110508.52 7243.527 213773.51 -47421.658 268438.70
## 188 111651.81 2570.357 220733.25 -55173.873 278477.49
## 189 112795.09 -2208.789 227798.97 -63088.166 288678.35
## 190 113938.38 -7092.014 234968.77 -71161.634 299038.39
## 191 115081.67 -12077.520 242240.85 -79391.527 309554.86
## 192 116224.95 -17163.603 249613.51 -87775.240 320225.15
## 193 117368.24 -22348.642 257085.13 -96310.293 331046.78
## 194 118511.53 -27631.094 264654.15 -104994.326 342017.38
## 195 119654.82 -33009.488 272319.12 -113825.089 353134.72
## 196 120798.10 -38482.417 280078.62 -122800.431 364396.64
## 197 121941.39 -44048.537 287931.32 -131918.297 375801.08
## 198 123084.68 -49706.560 295875.91 -141176.715 387346.07
## 199 124227.96 -55455.249 303911.18 -150573.796 399029.72
## 200 125371.25 -61293.419 312035.92 -160107.726 410850.23
## 201 126514.54 -67219.929 320249.01 -169776.761 422805.84
## 202 127657.83 -73233.682 328549.33 -179579.222 434894.87
## 203 128801.11 -79333.621 336935.85 -189513.493 447115.72
## 204 129944.40 -85518.726 345407.53 -199578.014 459466.81
Nilai y adalah nilai data deret waktu,
gamma adalah parameter pemulusan untuk komponen musiman,
beta adalah parameter pemulusan untuk tren, dan
alpha adalah parameter pemulusan untuk stasioner, serta
h adalah banyaknya periode yang akan diramalkan.
Visualisasi hasil pemulusan metode DES
Selanjutnya jika ingin membandingkan plot data latih dan data uji adalah sebagai berikut.
#Visually evaluate the prediction
plot(datashanghai.ts)
lines(des.1$fitted[,1], lty=2, col="purple")
lines(ramalandes1$mean, col="red")Untuk mendapatkan nilai parameter optimum dari DES, argumen
alpha dan beta dapat dibuat NULL
seperti berikut.
## Holt-Winters exponential smoothing with trend and without seasonal component.
##
## Call:
## HoltWinters(x = train.ts, gamma = FALSE)
##
## Smoothing parameters:
## alpha: 0.722304
## beta : 0.01760668
## gamma: FALSE
##
## Coefficients:
## [,1]
## a 82689.1861
## b 430.9262
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## 164 83120.11 76567.48 89672.74 73098.73 93141.50
## 165 83551.04 75418.76 91683.32 71113.79 95988.28
## 166 83981.96 74487.73 93476.20 69461.78 98502.15
## 167 84412.89 73690.45 95135.33 68014.33 100811.45
## 168 84843.82 72984.71 96702.92 66706.88 102980.75
## 169 85274.74 72345.81 98203.67 65501.65 105047.84
## 170 85705.67 71757.86 99653.48 64374.34 107037.00
## 171 86136.60 71209.95 101063.24 63308.27 108964.92
## 172 86567.52 70694.25 102440.79 62291.44 110843.60
## 173 86998.45 70204.88 103792.01 61314.90 112681.99
## 174 87429.37 69737.35 105121.40 60371.76 114486.99
## 175 87860.30 69288.11 106432.49 59456.59 116264.01
## 176 88291.23 68854.32 107728.13 58565.05 118017.41
## 177 88722.15 68433.66 109010.64 57693.59 119750.72
## 178 89153.08 68024.22 110281.93 56839.28 121466.87
## 179 89584.00 67624.39 111543.62 55999.68 123168.33
## 180 90014.93 67232.82 112797.04 55172.70 124857.16
## 181 90445.86 66848.34 114043.37 54356.57 126535.14
## 182 90876.78 66469.97 115283.60 53549.78 128203.78
## 183 91307.71 66096.83 116518.59 52751.00 129864.42
## 184 91738.64 65728.18 117749.09 51959.08 131518.19
## 185 92169.56 65363.36 118975.76 51173.01 133166.11
## 186 92600.49 65001.78 120199.20 50391.90 134809.07
## 187 93031.41 64642.92 121419.90 49614.96 136447.86
## 188 93462.34 64286.34 122638.34 48841.49 138083.19
## 189 93893.27 63931.60 123854.93 48070.86 139715.67
## 190 94324.19 63578.36 125070.02 47302.50 141345.88
## 191 94755.12 63226.28 126283.96 46535.92 142974.32
## 192 95186.04 62875.05 127497.04 45770.64 144601.45
## 193 95616.97 62524.41 128709.53 45006.27 146227.67
## 194 96047.90 62174.11 129921.68 44242.42 147853.38
## 195 96478.82 61823.93 131133.71 43478.75 149478.90
## 196 96909.75 61473.67 132345.83 42714.94 151104.56
## 197 97340.68 61123.13 133558.22 41950.73 152730.63
## 198 97771.60 60772.16 134771.05 41185.83 154357.37
## 199 98202.53 60420.58 135984.48 40420.02 155985.03
## 200 98633.45 60068.26 137198.65 39653.08 157613.83
## 201 99064.38 59715.07 138413.69 38884.80 159243.96
## 202 99495.31 59360.88 139629.74 38114.99 160875.62
## 203 99926.23 59005.58 140846.89 37343.49 162508.97
## 204 100357.16 58649.07 142065.25 36570.14 164144.18
Selanjutnya akan dilakukan perhitungan akurasi pada data latih maupun data uji dengan ukuran akurasi SSE, MSE dan MAPE.
Akurasi Data Latih
#Akurasi Data Training
ssedes.train1<-des.1$SSE
msedes.train1<-ssedes.train1/length(train.ts)
sisaandes1<-ramalandes1$residuals
head(sisaandes1)## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] NA NA 1283.000 3325.080 5176.741 6249.000
mapedes.train1 <- sum(abs(sisaandes1[3:length(train.ts)]/train.ts[3:length(train.ts)])
*100)/length(train.ts)
akurasides.1 <- matrix(c(ssedes.train1,msedes.train1,mapedes.train1))
row.names(akurasides.1)<- c("SSE", "MSE", "MAPE")
colnames(akurasides.1) <- c("Akurasi lamda=0.2 dan gamma=0.2")
akurasides.1## Akurasi lamda=0.2 dan gamma=0.2
## SSE 6.440180e+09
## MSE 3.951030e+07
## MAPE 1.246787e+01
ssedes.train2<-des.2$SSE
msedes.train2<-ssedes.train2/length(train.ts)
sisaandes2<-ramalandes2$residuals
head(sisaandes2)## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] NA NA 1283.000 2632.260 3049.157 2465.068
mapedes.train2 <- sum(abs(sisaandes2[3:length(train.ts)]/train.ts[3:length(train.ts)])
*100)/length(train.ts)
akurasides.2 <- matrix(c(ssedes.train2,msedes.train2,mapedes.train2))
row.names(akurasides.2)<- c("SSE", "MSE", "MAPE")
colnames(akurasides.2) <- c("Akurasi lamda=0.6 dan gamma=0.3")
akurasides.2## Akurasi lamda=0.6 dan gamma=0.3
## SSE 4.971376e+09
## MSE 3.049924e+07
## MAPE 9.507739e+00
Hasil akurasi dari data latih skenario 2 dengan lamda=0.6 dan gamma=0.3 memiliki hasil yang lebih baik karena memiliki nilai SSE, MSE, dan MAPE yang lebih kecil. Berdasarkan nilai MAPE-nya, skenario 2 dapat dikategorikan peramalan sangat baik, sedangkan skenario 1 dikategorikan peramalan baik.
Akurasi Data Uji
## Time Series:
## Start = 164
## End = 204
## Frequency = 1
## [1] -1163.631 -3473.697 -1810.764 -737.831 2424.102 2474.036 3511.969
## [8] 2474.902 3485.835 5002.768 3192.702 4423.635 5788.568 4894.501
## [15] 5530.435 6725.368 8394.301 8781.234 10047.168 9055.101 9638.034
## [22] 11256.967 9480.901 11043.834 12199.767 11016.700 12368.634 13592.567
## [29] 19446.500 20664.433 21090.367 23119.300 22132.233 24192.166 24654.100
## [36] 25611.033 27507.966 27789.899 29427.832 30235.766 29120.699
SSEtestingdes1<-sum(selisihdes1^2)
MSEtestingdes1<-SSEtestingdes1/length(testing$`Average price`)
MAPEtestingdes1<-sum(abs(selisihdes1/testing$`Average price`)*100)/length(testing$`Average price`)
selisihdes2<-ramalandes2$mean-testing$`Average price`
selisihdes2## Time Series:
## Start = 164
## End = 204
## Frequency = 1
## [1] 2040.91543 -67.79747 1796.48964 3070.77674 6434.06385 6685.35096
## [7] 7924.63806 7088.92517 8301.21227 10019.49938 8410.78648 9843.07359
## [13] 11409.36069 10716.64780 11553.93490 12950.22201 14820.50911 15408.79622
## [19] 16876.08332 16085.37043 16869.65753 18689.94464 17115.23175 18879.51885
## [25] 20236.80596 19255.09306 20808.38017 22233.66727 28288.95438 29708.24148
## [31] 30335.52859 32565.81569 31780.10280 34041.38990 34704.67701 35862.96411
## [37] 37961.25122 38444.53833 40283.82543 41293.11254 40379.39964
SSEtestingdes2<-sum(selisihdes2^2)
MSEtestingdes2<-SSEtestingdes2/length(testing$`Average price`)
MAPEtestingdes2<-sum(abs(selisihdes2/testing$`Average price`)*100)/length(testing$`Average price`)
selisihdesopt<-ramalandesopt$mean-testing$`Average price`
selisihdesopt## Time Series:
## Start = 164
## End = 204
## Frequency = 1
## [1] 948.1123 -1872.9616 -721.0354 -159.1092 2491.8169 2030.7431
## [7] 2557.6692 1009.5954 1509.5215 2515.4477 194.3738 914.3000
## [13] 1768.2262 363.1523 488.0785 1172.0046 2329.9308 2205.8569
## [19] 2960.7831 1457.7092 1529.6354 2637.5616 350.4877 1402.4139
## [25] 2047.3400 353.2662 1194.1923 1907.1185 7250.0446 7956.9708
## [31] 7871.8969 9389.8231 7891.7493 9440.6754 9391.6016 9837.5277
## [37] 11223.4539 10994.3800 12121.3062 12418.2323 10792.1585
SSEtestingdesopt<-sum(selisihdesopt^2)
MSEtestingdesopt<-SSEtestingdesopt/length(testing$`Average price`)
MAPEtestingdesopt<-sum(abs(selisihdesopt/testing$`Average price`)*100)/length(testing$`Average price`)
akurasitestingdes <-
matrix(c(SSEtestingdes1,MSEtestingdes1,MAPEtestingdes1,SSEtestingdes2,MSEtestingdes2,
MAPEtestingdes2,SSEtestingdesopt,MSEtestingdesopt,MAPEtestingdesopt),
nrow=3,ncol=3)
row.names(akurasitestingdes)<- c("SSE", "MSE", "MAPE")
colnames(akurasitestingdes) <- c("des ske1","des ske2","des opt")
akurasitestingdes## des ske1 des ske2 des opt
## SSE 9.898361e+09 2.129104e+10 1.345996e+09
## MSE 2.414234e+08 5.192937e+08 3.282918e+07
## MAPE 1.402999e+01 2.181454e+01 4.657467e+00
Hasil akurasi dari data latih DES Opt memiliki hasil
yang lebih baik karena memiliki nilai SSE, MSE, dan MAPE yang lebih
kecil dibandingkan hasil akurasi pada DES skenario 1 dan 2. Berdasarkan
nilai MAPE-nya,DES Opt dapat dikategorikan peramalan sangat
baik, sedangkan DES skenario 1 dan 2 dikategorikan peramalan baik.
Perbandingan Metode DMA dan DES
perbandingan_metode <-
matrix(c(SSE_test.dma, MSE_test.dma, MAPE_test.dma, SSEtestingdesopt,MSEtestingdesopt,MAPEtestingdesopt),
nrow=3,ncol=2)
row.names(perbandingan_metode)<- c("SSE", "MSE", "MAPE")
colnames(perbandingan_metode) <- c("DMA","DES")
perbandingan_metode## DMA DES
## SSE 1.789688e+10 1.345996e+09
## MSE 4.365094e+08 3.282918e+07
## MAPE 1.989137e+01 4.657467e+00
Metode DMA dan DES dapat dibandingkan hasilnya dengan menggunakan ukuran akurasi yang sama, yaitu SSE, MSE, dan MAPE dari data uji. Didapatkan hasil bahwa metode DES lebih baik dibandingkan metode DMA dilihat dari SSE, MSE, dan MAPE yang lebih kecil nilainya. Berdasarkan nilai MAPE-nya, metode DES memberikan peramalan dengan akurasi yang sangat baik, sedangkan metode DMA hanya memberikan peramalan dengan akurasi yang baik.