Library

library("forecast")
## Warning: package 'forecast' was built under R version 4.2.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library("graphics")
library("TTR")
## Warning: package 'TTR' was built under R version 4.2.3
library("TSA")
## Warning: package 'TSA' was built under R version 4.3.1
## 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

Importing Data

library(rio)
## Warning: package 'rio' was built under R version 4.3.1
data_air <- import("https://raw.githubusercontent.com/lutfi-reza/mpdw-lutfi-reza/main/data/data_air.csv")

The dataset used on this occasion pertains to the sea surface elevation data in DKI Jakarta, specifically in P.A. Marina Ancol. The sea level data was measured in 2020 at 5 a.m. This daily dataset contains a one full year data, starting from January untill December.

Data set yang digunakan berkaitan dengan tinggi permukaan air laut di DKI Jakarta, P.A. Marina Ancol. Data ini diambil pada tahun 2020 pukul 5 pagi. Data set harian ini berisikan data satu tahun penuh, mulai bulan Januari hingga Desember.

Eksplorasi Data/ Exploratory Data Analysis

View(data_air)
str(data_air)
## 'data.frame':    334 obs. of  2 variables:
##  $ periode   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ tinggi_air: int  1900 1870 1750 1390 1850 1760 2010 1880 1680 1560 ...
dim(data_air)
## [1] 334   2

These function: View, str, dim are used to show the dataset, type, and the dimension of the dataset, sequentially.

Fungsi-fungsi ini bertujuan untuk menampilkan data, menunjukkan jenis dan ukuran data.

Mengubah data agar terbaca sebagai data deret waktu dengan fungsi ts() .

data_air.ts <- ts(data_air$tinggi_air)

The ts function is used to read the dataset as time series data

Menampilkan ringkasan data

summary(data_air.ts)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1210    1640    1760    1754    1878    2310

Membuat plot deret waktu data

par(mar = c(1, 1, 1, 1))
ts.plot(data_air.ts, xlab="Time Period ", ylab="Reading", 
        main = "Time Series Plot")
points(data_air.ts)

The plot above indicates that the time series data exhibits a constant pattern.

Plot di atas menunjukkan bahwa data time series memiliki pola konstan.

Membagi data per bulan/ Monthly data

januari <- data_air[1:29,]
februari <- data_air[30:53,]
maret <- data_air[54:84,]
april <- data_air[85:101,]
mei <- data_air[102:128,]
juni <- data_air[129:158,]
juli <- data_air[159:189,]
agustus <- data_air[190:220,]
september <- data_air[221:250,]
oktober <- data_air[251:280,]
november <- data_air[281:304,]
desember <- data_air[305:334,]

To read the dataset as time series data Membuat data menjadi time series

januari.ts <- ts((data_air[1:29,])$tinggi_air)
februari.ts <- ts((data_air[30:53,])$tinggi_air)
maret.ts  <- ts((data_air[54:84,])$tinggi_air)
april.ts  <-ts(( data_air[85:101,])$tinggi_air)
mei.ts  <- ts((data_air[102:128,])$tinggi_air)
juni.ts  <- ts((data_air[129:158,])$tinggi_air)
juli.ts  <- ts((data_air[159:189,])$tinggi_air)
agustus.ts  <- ts((data_air[190:220,])$tinggi_air)
september.ts  <- ts((data_air[221:250,])$tinggi_air)
oktober.ts  <- ts((data_air[251:280,])$tinggi_air)
november.ts  <- ts((data_air[281:304,])$tinggi_air)
desember.ts  <- ts((data_air[305:334,])$tinggi_air)

Eksplorasi data per bulan/ Monthly expploratory data analysis

#Eksplorasi dengan GGPLOT per bulan
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
ggplot() + 
  geom_line(data = januari, aes(x = periode, y = tinggi_air, col = "Data Januari")) +
  geom_line(data = februari, aes(x = periode, y = tinggi_air, col = "Data Februari")) +
  geom_line(data = maret, aes(x = periode, y = tinggi_air, col = "Data Maret")) +
  geom_line(data = april, aes(x = periode, y = tinggi_air, col = "Data April")) +
  geom_line(data = mei, aes(x = periode, y = tinggi_air, col = "Data Mei")) +
  geom_line(data = juni, aes(x = periode, y = tinggi_air, col = "Data Juni")) +
  geom_line(data = juli, aes(x = periode, y = tinggi_air, col = "Data Juli")) +
  geom_line(data = agustus, aes(x = periode, y = tinggi_air, col = "Data Agustus")) +
  geom_line(data = september, aes(x = periode, y = tinggi_air, col = "Data September")) +
  geom_line(data = oktober, aes(x = periode, y = tinggi_air, col = "Data Oktober")) +
  geom_line(data = november, aes(x = periode, y = tinggi_air, col = "Data November")) +
  geom_line(data = desember, aes(x = periode, y = tinggi_air, col = "Data Desember")) +
  labs(x = "Periode Waktu", y = "Tinggi Air", color = "Legend") +
  scale_colour_manual(name="Keterangan:", breaks = c("Data Januari", "Data Februari","Data Maret","Data April", "Data Mei", "Data Juni", "Data Juli", "Data Agustus", "Data September","Data Oktober", "Data November", "Data Desember"),
                      values = rainbow(12)) + 
  theme_bw() + theme(legend.position = "bottom",
                     plot.caption = element_text(hjust=0.5, size=12))

The plot above doesn’t indicate any trend.

Plot data di atas menunjukkan bahwa data per bulan menyebar secara konstan, tidak terlihat adanya tren atau musim pada data.

Single Moving Average

Pembagian Data

Dividing the dataset into a 80 percent of training data and 20 percent of testing data.

Pembagian data latih dan data uji dilakukan dengan perbandingan 80% data latih dan 20% data uji.

#Membagi data training dan testing
data_training <- data_air[1:267,]
data_testing <- data_air[268:334,]

#Membuat plot deret waktu data dari data training dan testing
training.ts <- ts(data_training$tinggi_air)
testing.ts <- ts(data_testing$tinggi_air)

Eksplorasi data training dan testing

Exploratory analysis on the dataset thoroughly, training data, and testing data.

Eksplorasi dilakukan pada seluruh data, data training, dan data testing.

#Eksplorasi keseluruhan data
plot(data_air.ts, col="red",main="Plot Semua Data")
points(data_air.ts)

#Eksplorasi data latih (training)
plot(training.ts, col="blue",main="Plot Data Training")
points(training.ts)

#Eksplorasi data uji (test)
plot(testing.ts, col="blue",main="Plot Data Testing")
points(testing.ts)

#Eksplorasi dengan GGPLOT
library(ggplot2)
ggplot() + 
  geom_line(data = data_training, aes(x = periode, y = tinggi_air, col = "Data Training")) +
  geom_line(data = data_testing, aes(x = periode, y = tinggi_air, col = "Data Testing")) +
  labs(x = "Periode Waktu", y = "Tinggi Air", color = "Legend") +
  scale_colour_manual(name="Keterangan:", breaks = c("Data Training", "Data Testing"),
                      values = c("blue", "red")) + 
  theme_bw() + theme(legend.position = "bottom",
                     plot.caption = element_text(hjust=0.5, size=12))

Single Moving Average (SMA)

The SMA methods is suitable for constant pattern of time series data.

Metode SMA cocok digunakan untuk data konstan.

data.sma <- SMA(training.ts)
data.sma
## Time Series:
## Start = 1 
## End = 267 
## Frequency = 1 
##   [1]   NA   NA   NA   NA   NA   NA   NA   NA   NA 1765 1740 1711 1702 1737 1733
##  [16] 1753 1754 1773 1805 1852 1886 1926 1944 1950 1958 1941 1921 1894 1871 1864
##  [31] 1862 1863 1881 1905 1918 1938 1950 1949 1949 1902 1871 1808 1806 1791 1772
##  [46] 1765 1764 1767 1786 1800 1804 1846 1822 1813 1819 1829 1835 1846 1839 1867
##  [61] 1879 1876 1860 1856 1804 1737 1676 1618 1564 1513 1475 1456 1462 1462 1511
##  [76] 1561 1599 1645 1687 1717 1751 1771 1792 1805 1817 1830 1858 1875 1892 1905
##  [91] 1895 1885 1841 1830 1808 1792 1786 1790 1801 1814 1839 1857 1882 1865 1860
## [106] 1882 1856 1882 1879 1894 1910 1937 1966 2002 2018 1992 1999 1936 1900 1848
## [121] 1811 1773 1728 1722 1750 1776 1812 1866 1899 1927 1937 1950 1974 1987 1958
## [136] 1946 1936 1948 1947 1955 1963 1956 1961 1939 1932 1915 1898 1839 1828 1826
## [151] 1828 1840 1854 1868 1887 1905 1894 1901 1874 1854 1818 1801 1791 1791 1774
## [166] 1781 1802 1814 1841 1849 1875 1900 1888 1856 1841 1807 1766 1767 1744 1739
## [181] 1737 1722 1741 1760 1777 1779 1776 1727 1684 1633 1582 1547 1513 1495 1474
## [196] 1486 1502 1533 1577 1621 1644 1657 1640 1627 1603 1564 1544 1520 1517 1523
## [211] 1554 1576 1608 1631 1659 1669 1658 1646 1632 1611 1589 1564 1558 1552 1562
## [226] 1583 1619 1655 1698 1713 1711 1703 1683 1656 1624 1598 1571 1561 1534 1538
## [241] 1562 1567 1560 1553 1541 1532 1518 1502 1486 1473 1458 1477 1515 1550 1604
## [256] 1636 1687 1709 1718 1724 1716 1698 1679 1680 1658 1649 1637
data.ramal <- c(NA,data.sma)
data.ramal #forecast 1 periode ke depan
##   [1]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA 1765 1740 1711 1702 1737
##  [16] 1733 1753 1754 1773 1805 1852 1886 1926 1944 1950 1958 1941 1921 1894 1871
##  [31] 1864 1862 1863 1881 1905 1918 1938 1950 1949 1949 1902 1871 1808 1806 1791
##  [46] 1772 1765 1764 1767 1786 1800 1804 1846 1822 1813 1819 1829 1835 1846 1839
##  [61] 1867 1879 1876 1860 1856 1804 1737 1676 1618 1564 1513 1475 1456 1462 1462
##  [76] 1511 1561 1599 1645 1687 1717 1751 1771 1792 1805 1817 1830 1858 1875 1892
##  [91] 1905 1895 1885 1841 1830 1808 1792 1786 1790 1801 1814 1839 1857 1882 1865
## [106] 1860 1882 1856 1882 1879 1894 1910 1937 1966 2002 2018 1992 1999 1936 1900
## [121] 1848 1811 1773 1728 1722 1750 1776 1812 1866 1899 1927 1937 1950 1974 1987
## [136] 1958 1946 1936 1948 1947 1955 1963 1956 1961 1939 1932 1915 1898 1839 1828
## [151] 1826 1828 1840 1854 1868 1887 1905 1894 1901 1874 1854 1818 1801 1791 1791
## [166] 1774 1781 1802 1814 1841 1849 1875 1900 1888 1856 1841 1807 1766 1767 1744
## [181] 1739 1737 1722 1741 1760 1777 1779 1776 1727 1684 1633 1582 1547 1513 1495
## [196] 1474 1486 1502 1533 1577 1621 1644 1657 1640 1627 1603 1564 1544 1520 1517
## [211] 1523 1554 1576 1608 1631 1659 1669 1658 1646 1632 1611 1589 1564 1558 1552
## [226] 1562 1583 1619 1655 1698 1713 1711 1703 1683 1656 1624 1598 1571 1561 1534
## [241] 1538 1562 1567 1560 1553 1541 1532 1518 1502 1486 1473 1458 1477 1515 1550
## [256] 1604 1636 1687 1709 1718 1724 1716 1698 1679 1680 1658 1649 1637

Peramalan ke 67 periode ke depan (sejumlah data testing)

data.gab<-cbind(aktual=c(training.ts,rep(NA,67)),pemulusan=c(data.sma,rep(NA,67)),ramalan=c(data.ramal,rep(data.ramal[length(data.ramal)],66)))
data.gab #forecast 67 periode ke depan
##        aktual pemulusan ramalan
##   [1,]   1900        NA      NA
##   [2,]   1870        NA      NA
##   [3,]   1750        NA      NA
##   [4,]   1390        NA      NA
##   [5,]   1850        NA      NA
##   [6,]   1760        NA      NA
##   [7,]   2010        NA      NA
##   [8,]   1880        NA      NA
##   [9,]   1680        NA      NA
##  [10,]   1560      1765      NA
##  [11,]   1650      1740    1765
##  [12,]   1580      1711    1740
##  [13,]   1660      1702    1711
##  [14,]   1740      1737    1702
##  [15,]   1810      1733    1737
##  [16,]   1960      1753    1733
##  [17,]   2020      1754    1753
##  [18,]   2070      1773    1754
##  [19,]   2000      1805    1773
##  [20,]   2030      1852    1805
##  [21,]   1990      1886    1852
##  [22,]   1980      1926    1886
##  [23,]   1840      1944    1926
##  [24,]   1800      1950    1944
##  [25,]   1890      1958    1950
##  [26,]   1790      1941    1958
##  [27,]   1820      1921    1941
##  [28,]   1800      1894    1921
##  [29,]   1770      1871    1894
##  [30,]   1960      1864    1871
##  [31,]   1970      1862    1864
##  [32,]   1990      1863    1862
##  [33,]   2020      1881    1863
##  [34,]   2040      1905    1881
##  [35,]   2020      1918    1905
##  [36,]   1990      1938    1918
##  [37,]   1940      1950    1938
##  [38,]   1790      1949    1950
##  [39,]   1770      1949    1949
##  [40,]   1490      1902    1949
##  [41,]   1660      1871    1902
##  [42,]   1360      1808    1871
##  [43,]   2000      1806    1808
##  [44,]   1890      1791    1806
##  [45,]   1830      1772    1791
##  [46,]   1920      1765    1772
##  [47,]   1930      1764    1765
##  [48,]   1820      1767    1764
##  [49,]   1960      1786    1767
##  [50,]   1630      1800    1786
##  [51,]   1700      1804    1800
##  [52,]   1780      1846    1804
##  [53,]   1760      1822    1846
##  [54,]   1800      1813    1822
##  [55,]   1890      1819    1813
##  [56,]   2020      1829    1819
##  [57,]   1990      1835    1829
##  [58,]   1930      1846    1835
##  [59,]   1890      1839    1846
##  [60,]   1910      1867    1839
##  [61,]   1820      1879    1867
##  [62,]   1750      1876    1879
##  [63,]   1600      1860    1876
##  [64,]   1760      1856    1860
##  [65,]   1370      1804    1856
##  [66,]   1350      1737    1804
##  [67,]   1380      1676    1737
##  [68,]   1350      1618    1676
##  [69,]   1350      1564    1618
##  [70,]   1400      1513    1564
##  [71,]   1440      1475    1513
##  [72,]   1560      1456    1475
##  [73,]   1660      1462    1456
##  [74,]   1760      1462    1462
##  [75,]   1860      1511    1462
##  [76,]   1850      1561    1511
##  [77,]   1760      1599    1561
##  [78,]   1810      1645    1599
##  [79,]   1770      1687    1645
##  [80,]   1700      1717    1687
##  [81,]   1780      1751    1717
##  [82,]   1760      1771    1751
##  [83,]   1870      1792    1771
##  [84,]   1890      1805    1792
##  [85,]   1980      1817    1805
##  [86,]   1980      1830    1817
##  [87,]   2040      1858    1830
##  [88,]   1980      1875    1858
##  [89,]   1940      1892    1875
##  [90,]   1830      1905    1892
##  [91,]   1680      1895    1905
##  [92,]   1660      1885    1895
##  [93,]   1430      1841    1885
##  [94,]   1780      1830    1841
##  [95,]   1760      1808    1830
##  [96,]   1820      1792    1808
##  [97,]   1980      1786    1792
##  [98,]   2020      1790    1786
##  [99,]   2050      1801    1790
## [100,]   1960      1814    1801
## [101,]   1930      1839    1814
## [102,]   1840      1857    1839
## [103,]   1680      1882    1857
## [104,]   1610      1865    1882
## [105,]   1710      1860    1865
## [106,]   2040      1882    1860
## [107,]   1720      1856    1882
## [108,]   2280      1882    1856
## [109,]   2020      1879    1882
## [110,]   2110      1894    1879
## [111,]   2090      1910    1894
## [112,]   2110      1937    1910
## [113,]   1970      1966    1937
## [114,]   1970      2002    1966
## [115,]   1870      2018    2002
## [116,]   1780      1992    2018
## [117,]   1790      1999    1992
## [118,]   1650      1936    1999
## [119,]   1660      1900    1936
## [120,]   1590      1848    1900
## [121,]   1720      1811    1848
## [122,]   1730      1773    1811
## [123,]   1520      1728    1773
## [124,]   1910      1722    1728
## [125,]   2150      1750    1722
## [126,]   2040      1776    1750
## [127,]   2150      1812    1776
## [128,]   2190      1866    1812
## [129,]   1990      1899    1866
## [130,]   1870      1927    1899
## [131,]   1820      1937    1927
## [132,]   1860      1950    1937
## [133,]   1760      1974    1950
## [134,]   2040      1987    1974
## [135,]   1860      1958    1987
## [136,]   1920      1946    1958
## [137,]   2050      1936    1946
## [138,]   2310      1948    1936
## [139,]   1980      1947    1948
## [140,]   1950      1955    1947
## [141,]   1900      1963    1955
## [142,]   1790      1956    1963
## [143,]   1810      1961    1956
## [144,]   1820      1939    1961
## [145,]   1790      1932    1939
## [146,]   1750      1915    1932
## [147,]   1880      1898    1915
## [148,]   1720      1839    1898
## [149,]   1870      1828    1839
## [150,]   1930      1826    1828
## [151,]   1920      1828    1826
## [152,]   1910      1840    1828
## [153,]   1950      1854    1840
## [154,]   1960      1868    1854
## [155,]   1980      1887    1868
## [156,]   1930      1905    1887
## [157,]   1770      1894    1905
## [158,]   1790      1901    1894
## [159,]   1600      1874    1901
## [160,]   1730      1854    1874
## [161,]   1560      1818    1854
## [162,]   1740      1801    1818
## [163,]   1850      1791    1801
## [164,]   1960      1791    1791
## [165,]   1810      1774    1791
## [166,]   2000      1781    1774
## [167,]   1980      1802    1781
## [168,]   1910      1814    1802
## [169,]   1870      1841    1814
## [170,]   1810      1849    1841
## [171,]   1820      1875    1849
## [172,]   1990      1900    1875
## [173,]   1730      1888    1900
## [174,]   1640      1856    1888
## [175,]   1660      1841    1856
## [176,]   1660      1807    1841
## [177,]   1570      1766    1807
## [178,]   1920      1767    1766
## [179,]   1640      1744    1767
## [180,]   1760      1739    1744
## [181,]   1800      1737    1739
## [182,]   1840      1722    1737
## [183,]   1920      1741    1722
## [184,]   1830      1760    1741
## [185,]   1830      1777    1760
## [186,]   1680      1779    1777
## [187,]   1540      1776    1779
## [188,]   1430      1727    1776
## [189,]   1210      1684    1727
## [190,]   1250      1633    1684
## [191,]   1290      1582    1633
## [192,]   1490      1547    1582
## [193,]   1580      1513    1547
## [194,]   1650      1495    1513
## [195,]   1620      1474    1495
## [196,]   1800      1486    1474
## [197,]   1700      1502    1486
## [198,]   1740      1533    1502
## [199,]   1650      1577    1533
## [200,]   1690      1621    1577
## [201,]   1520      1644    1621
## [202,]   1620      1657    1644
## [203,]   1410      1640    1657
## [204,]   1520      1627    1640
## [205,]   1380      1603    1627
## [206,]   1410      1564    1603
## [207,]   1500      1544    1564
## [208,]   1500      1520    1544
## [209,]   1620      1517    1520
## [210,]   1750      1523    1517
## [211,]   1830      1554    1523
## [212,]   1840      1576    1554
## [213,]   1730      1608    1576
## [214,]   1750      1631    1608
## [215,]   1660      1659    1631
## [216,]   1510      1669    1659
## [217,]   1390      1658    1669
## [218,]   1380      1646    1658
## [219,]   1480      1632    1646
## [220,]   1540      1611    1632
## [221,]   1610      1589    1611
## [222,]   1590      1564    1589
## [223,]   1670      1558    1564
## [224,]   1690      1552    1558
## [225,]   1760      1562    1552
## [226,]   1720      1583    1562
## [227,]   1750      1619    1583
## [228,]   1740      1655    1619
## [229,]   1910      1698    1655
## [230,]   1690      1713    1698
## [231,]   1590      1711    1713
## [232,]   1510      1703    1711
## [233,]   1470      1683    1703
## [234,]   1420      1656    1683
## [235,]   1440      1624    1656
## [236,]   1460      1598    1624
## [237,]   1480      1571    1598
## [238,]   1640      1561    1571
## [239,]   1640      1534    1561
## [240,]   1730      1538    1534
## [241,]   1830      1562    1538
## [242,]   1560      1567    1562
## [243,]   1400      1560    1567
## [244,]   1350      1553    1560
## [245,]   1320      1541    1553
## [246,]   1370      1532    1541
## [247,]   1340      1518    1532
## [248,]   1480      1502    1518
## [249,]   1480      1486    1502
## [250,]   1600      1473    1486
## [251,]   1680      1458    1473
## [252,]   1750      1477    1458
## [253,]   1780      1515    1477
## [254,]   1700      1550    1515
## [255,]   1860      1604    1550
## [256,]   1690      1636    1604
## [257,]   1850      1687    1636
## [258,]   1700      1709    1687
## [259,]   1570      1718    1709
## [260,]   1660      1724    1718
## [261,]   1600      1716    1724
## [262,]   1570      1698    1716
## [263,]   1590      1679    1698
## [264,]   1710      1680    1679
## [265,]   1640      1658    1680
## [266,]   1600      1649    1658
## [267,]   1730      1637    1649
## [268,]     NA        NA    1637
## [269,]     NA        NA    1637
## [270,]     NA        NA    1637
## [271,]     NA        NA    1637
## [272,]     NA        NA    1637
## [273,]     NA        NA    1637
## [274,]     NA        NA    1637
## [275,]     NA        NA    1637
## [276,]     NA        NA    1637
## [277,]     NA        NA    1637
## [278,]     NA        NA    1637
## [279,]     NA        NA    1637
## [280,]     NA        NA    1637
## [281,]     NA        NA    1637
## [282,]     NA        NA    1637
## [283,]     NA        NA    1637
## [284,]     NA        NA    1637
## [285,]     NA        NA    1637
## [286,]     NA        NA    1637
## [287,]     NA        NA    1637
## [288,]     NA        NA    1637
## [289,]     NA        NA    1637
## [290,]     NA        NA    1637
## [291,]     NA        NA    1637
## [292,]     NA        NA    1637
## [293,]     NA        NA    1637
## [294,]     NA        NA    1637
## [295,]     NA        NA    1637
## [296,]     NA        NA    1637
## [297,]     NA        NA    1637
## [298,]     NA        NA    1637
## [299,]     NA        NA    1637
## [300,]     NA        NA    1637
## [301,]     NA        NA    1637
## [302,]     NA        NA    1637
## [303,]     NA        NA    1637
## [304,]     NA        NA    1637
## [305,]     NA        NA    1637
## [306,]     NA        NA    1637
## [307,]     NA        NA    1637
## [308,]     NA        NA    1637
## [309,]     NA        NA    1637
## [310,]     NA        NA    1637
## [311,]     NA        NA    1637
## [312,]     NA        NA    1637
## [313,]     NA        NA    1637
## [314,]     NA        NA    1637
## [315,]     NA        NA    1637
## [316,]     NA        NA    1637
## [317,]     NA        NA    1637
## [318,]     NA        NA    1637
## [319,]     NA        NA    1637
## [320,]     NA        NA    1637
## [321,]     NA        NA    1637
## [322,]     NA        NA    1637
## [323,]     NA        NA    1637
## [324,]     NA        NA    1637
## [325,]     NA        NA    1637
## [326,]     NA        NA    1637
## [327,]     NA        NA    1637
## [328,]     NA        NA    1637
## [329,]     NA        NA    1637
## [330,]     NA        NA    1637
## [331,]     NA        NA    1637
## [332,]     NA        NA    1637
## [333,]     NA        NA    1637
## [334,]     NA        NA    1637

Plot deret waktu data peramalan

ts.plot(data_air.ts, xlab="Time Period ", ylab="Tinggi Air", main= "SMA N = 11 Data Tinggi Air")
points(data_air.ts)
lines(data.gab[,2],col="green",lwd=2)
lines(data.gab[,3],col="red",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), lty=8, col=c("black","green","red"), cex=0.5)

The following syntaxes are used to measure the accuracy using SSE, MSE, and MAPE on both traning and testing data.

Selanjutnya perhitungan akurasi dilakukan dengan ukuran akurasi Sum Squares Error (SSE), Mean Square Error (MSE) dan Mean Absolute Percentage Error (MAPE). Perhitungan akurasi dilakukan baik pada data latih maupun pada data uji.

#Menghitung nilai keakuratan data traning
error_train.sma = training.ts-data.ramal[1:length(training.ts)]
SSE_train.sma = sum(error_train.sma[12:length(training.ts)]^2)
MSE_train.sma = mean(error_train.sma[12:length(training.ts)]^2)
MAPE_train.sma = mean(abs((error_train.sma[12:length(training.ts)]/training.ts[12:length(training.ts)])*100))

akurasi_train.sma <- matrix(c(SSE_train.sma, MSE_train.sma, MAPE_train.sma))
row.names(akurasi_train.sma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_train.sma) <- c("Akurasi m = 11")
akurasi_train.sma
##      Akurasi m = 11
## SSE    9.317678e+06
## MSE    3.639718e+04
## MAPE   9.348629e+00
#Menghitung nilai keakuratan data uji
error_test.sma = testing.ts-data.gab[268:334,3]
SSE_test.sma = sum(error_test.sma^2)
MSE_test.sma = mean(error_test.sma^2)
MAPE_test.sma = mean(abs((error_test.sma/testing.ts*100)))

akurasi_test.sma <- matrix(c(SSE_test.sma, MSE_test.sma, MAPE_test.sma))
row.names(akurasi_test.sma)<- c("SSE", "MSE", "MAPE")
colnames(akurasi_test.sma) <- c("Akurasi m = 11")
akurasi_test.sma
##      Akurasi m = 11
## SSE    1.737403e+06
## MSE    2.593139e+04
## MAPE   6.468447e+00

Single Exponential Smoothing

#Cara 1 (fungsi ses)
ses1 <- ses(training.ts, h=67, alpha = NULL)
plot(ses1)

ses1
##     Point Forecast     Lo 80    Hi 80      Lo 95    Hi 95
## 268       1702.414 1531.7680 1873.060 1441.43345 1963.395
## 269       1702.414 1487.3456 1917.483 1373.49527 2031.333
## 270       1702.414 1450.6428 1954.185 1317.36308 2087.465
## 271       1702.414 1418.6481 1986.180 1268.43140 2136.397
## 272       1702.414 1389.9121 2014.916 1224.48348 2180.345
## 273       1702.414 1363.6046 2041.224 1184.24968 2220.579
## 274       1702.414 1339.1976 2065.631 1146.92237 2257.906
## 275       1702.414 1316.3304 2088.498 1111.95009 2292.878
## 276       1702.414 1294.7439 2110.084 1078.93640 2325.892
## 277       1702.414 1274.2444 2130.584 1047.58501 2357.243
## 278       1702.414 1254.6824 2150.146 1017.66756 2387.161
## 279       1702.414 1235.9401 2168.888  989.00361 2415.825
## 280       1702.414 1217.9222 2186.906  961.44769 2443.381
## 281       1702.414 1200.5508 2204.277  934.88045 2469.948
## 282       1702.414 1183.7609 2221.067  909.20253 2495.626
## 283       1702.414 1167.4978 2237.330  884.33018 2520.498
## 284       1702.414 1151.7147 2253.114  860.19205 2544.636
## 285       1702.414 1136.3715 2268.457  836.72670 2568.102
## 286       1702.414 1121.4334 2283.395  813.88083 2590.947
## 287       1702.414 1106.8699 2297.958  791.60783 2613.220
## 288       1702.414 1092.6541 2312.174  769.86664 2634.962
## 289       1702.414 1078.7623 2326.066  748.62091 2656.207
## 290       1702.414 1065.1732 2339.655  727.83822 2676.990
## 291       1702.414 1051.8679 2352.960  707.48956 2697.339
## 292       1702.414 1038.8294 2365.999  687.54882 2717.279
## 293       1702.414 1026.0421 2378.786  667.99242 2736.836
## 294       1702.414 1013.4922 2391.336  648.79894 2756.029
## 295       1702.414 1001.1668 2403.661  629.94890 2774.879
## 296       1702.414  989.0543 2415.774  611.42450 2793.404
## 297       1702.414  977.1442 2427.684  593.20943 2811.619
## 298       1702.414  965.4264 2439.402  575.28869 2829.540
## 299       1702.414  953.8921 2450.936  557.64846 2847.180
## 300       1702.414  942.5328 2462.295  540.27595 2864.552
## 301       1702.414  931.3409 2473.487  523.15935 2881.669
## 302       1702.414  920.3091 2484.519  506.28766 2898.541
## 303       1702.414  909.4307 2495.397  489.65066 2915.178
## 304       1702.414  898.6996 2506.129  473.23883 2931.589
## 305       1702.414  888.1099 2516.718  457.04326 2947.785
## 306       1702.414  877.6561 2527.172  441.05561 2963.773
## 307       1702.414  867.3332 2537.495  425.26809 2979.560
## 308       1702.414  857.1364 2547.692  409.67336 2995.155
## 309       1702.414  847.0611 2557.767  394.26453 3010.564
## 310       1702.414  837.1031 2567.725  379.03509 3025.793
## 311       1702.414  827.2584 2577.570  363.97893 3040.849
## 312       1702.414  817.5232 2587.305  349.09027 3055.738
## 313       1702.414  807.8940 2596.934  334.36363 3070.465
## 314       1702.414  798.3673 2606.461  319.79384 3085.034
## 315       1702.414  788.9400 2615.888  305.37600 3099.452
## 316       1702.414  779.6090 2625.219  291.10543 3113.723
## 317       1702.414  770.3714 2634.457  276.97773 3127.850
## 318       1702.414  761.2244 2643.604  262.98868 3141.840
## 319       1702.414  752.1655 2652.663  249.13428 3155.694
## 320       1702.414  743.1921 2661.636  235.41072 3169.417
## 321       1702.414  734.3020 2670.526  221.81435 3183.014
## 322       1702.414  725.4927 2679.336  208.34171 3196.486
## 323       1702.414  716.7621 2688.066  194.98947 3209.839
## 324       1702.414  708.1082 2696.720  181.75447 3223.074
## 325       1702.414  699.5290 2705.299  168.63367 3236.195
## 326       1702.414  691.0225 2713.806  155.62417 3249.204
## 327       1702.414  682.5870 2722.241  142.72318 3262.105
## 328       1702.414  674.2207 2730.607  129.92802 3274.900
## 329       1702.414  665.9219 2738.906  117.23614 3287.592
## 330       1702.414  657.6891 2747.139  104.64508 3300.183
## 331       1702.414  649.5206 2755.308   92.15246 3312.676
## 332       1702.414  641.4150 2763.413   79.75602 3325.072
## 333       1702.414  633.3709 2771.457   67.45357 3337.375
## 334       1702.414  625.3868 2779.441   55.24300 3349.585

Plot pemulusan data latih menggunakan SES

autoplot(ses1) +
  autolayer(fitted(ses1), series="Fitted") +
  ylab("Tinggi Air") + xlab("Periode")

#Cara 2 (fungsi Holtwinter)
ses2 <- HoltWinters(training.ts, gamma = FALSE, beta = FALSE, alpha = NULL)
plot(ses2)

#ramalan
ramalan2<- forecast(ses1, h=67)
ramalan2
##     Point Forecast     Lo 80    Hi 80      Lo 95    Hi 95
## 268       1702.414 1531.7680 1873.060 1441.43345 1963.395
## 269       1702.414 1487.3456 1917.483 1373.49527 2031.333
## 270       1702.414 1450.6428 1954.185 1317.36308 2087.465
## 271       1702.414 1418.6481 1986.180 1268.43140 2136.397
## 272       1702.414 1389.9121 2014.916 1224.48348 2180.345
## 273       1702.414 1363.6046 2041.224 1184.24968 2220.579
## 274       1702.414 1339.1976 2065.631 1146.92237 2257.906
## 275       1702.414 1316.3304 2088.498 1111.95009 2292.878
## 276       1702.414 1294.7439 2110.084 1078.93640 2325.892
## 277       1702.414 1274.2444 2130.584 1047.58501 2357.243
## 278       1702.414 1254.6824 2150.146 1017.66756 2387.161
## 279       1702.414 1235.9401 2168.888  989.00361 2415.825
## 280       1702.414 1217.9222 2186.906  961.44769 2443.381
## 281       1702.414 1200.5508 2204.277  934.88045 2469.948
## 282       1702.414 1183.7609 2221.067  909.20253 2495.626
## 283       1702.414 1167.4978 2237.330  884.33018 2520.498
## 284       1702.414 1151.7147 2253.114  860.19205 2544.636
## 285       1702.414 1136.3715 2268.457  836.72670 2568.102
## 286       1702.414 1121.4334 2283.395  813.88083 2590.947
## 287       1702.414 1106.8699 2297.958  791.60783 2613.220
## 288       1702.414 1092.6541 2312.174  769.86664 2634.962
## 289       1702.414 1078.7623 2326.066  748.62091 2656.207
## 290       1702.414 1065.1732 2339.655  727.83822 2676.990
## 291       1702.414 1051.8679 2352.960  707.48956 2697.339
## 292       1702.414 1038.8294 2365.999  687.54882 2717.279
## 293       1702.414 1026.0421 2378.786  667.99242 2736.836
## 294       1702.414 1013.4922 2391.336  648.79894 2756.029
## 295       1702.414 1001.1668 2403.661  629.94890 2774.879
## 296       1702.414  989.0543 2415.774  611.42450 2793.404
## 297       1702.414  977.1442 2427.684  593.20943 2811.619
## 298       1702.414  965.4264 2439.402  575.28869 2829.540
## 299       1702.414  953.8921 2450.936  557.64846 2847.180
## 300       1702.414  942.5328 2462.295  540.27595 2864.552
## 301       1702.414  931.3409 2473.487  523.15935 2881.669
## 302       1702.414  920.3091 2484.519  506.28766 2898.541
## 303       1702.414  909.4307 2495.397  489.65066 2915.178
## 304       1702.414  898.6996 2506.129  473.23883 2931.589
## 305       1702.414  888.1099 2516.718  457.04326 2947.785
## 306       1702.414  877.6561 2527.172  441.05561 2963.773
## 307       1702.414  867.3332 2537.495  425.26809 2979.560
## 308       1702.414  857.1364 2547.692  409.67336 2995.155
## 309       1702.414  847.0611 2557.767  394.26453 3010.564
## 310       1702.414  837.1031 2567.725  379.03509 3025.793
## 311       1702.414  827.2584 2577.570  363.97893 3040.849
## 312       1702.414  817.5232 2587.305  349.09027 3055.738
## 313       1702.414  807.8940 2596.934  334.36363 3070.465
## 314       1702.414  798.3673 2606.461  319.79384 3085.034
## 315       1702.414  788.9400 2615.888  305.37600 3099.452
## 316       1702.414  779.6090 2625.219  291.10543 3113.723
## 317       1702.414  770.3714 2634.457  276.97773 3127.850
## 318       1702.414  761.2244 2643.604  262.98868 3141.840
## 319       1702.414  752.1655 2652.663  249.13428 3155.694
## 320       1702.414  743.1921 2661.636  235.41072 3169.417
## 321       1702.414  734.3020 2670.526  221.81435 3183.014
## 322       1702.414  725.4927 2679.336  208.34171 3196.486
## 323       1702.414  716.7621 2688.066  194.98947 3209.839
## 324       1702.414  708.1082 2696.720  181.75447 3223.074
## 325       1702.414  699.5290 2705.299  168.63367 3236.195
## 326       1702.414  691.0225 2713.806  155.62417 3249.204
## 327       1702.414  682.5870 2722.241  142.72318 3262.105
## 328       1702.414  674.2207 2730.607  129.92802 3274.900
## 329       1702.414  665.9219 2738.906  117.23614 3287.592
## 330       1702.414  657.6891 2747.139  104.64508 3300.183
## 331       1702.414  649.5206 2755.308   92.15246 3312.676
## 332       1702.414  641.4150 2763.413   79.75602 3325.072
## 333       1702.414  633.3709 2771.457   67.45357 3337.375
## 334       1702.414  625.3868 2779.441   55.24300 3349.585

Akurasi Data Training

#Keakuratan Metode
#Pada data training
SSE2<-ses2$SSE
MSE2<-ses2$SSE/length(training.ts)
RMSE2<-sqrt(MSE2)

akurasi2 <- matrix(c(SSE2,MSE2,RMSE2))
row.names(akurasi2)<- c("SSE", "MSE", "RMSE")
colnames(akurasi2) <- c("Akurasi lamda = NULL")
akurasi2
##      Akurasi lamda = NULL
## SSE          4698871.6870
## MSE            17598.7704
## RMSE             132.6604

Akurasi Data Testing

selisih2<-ramalan2$mean-data_testing$tinggi_air
SSEtesting2<-sum(selisih2^2)
MSEtesting2<-SSEtesting2/length(data_testing)

akurasitesting2 <- matrix(c(MSEtesting2))
row.names(akurasitesting2)<- c("MSE2")
akurasitesting2
##          [,1]
## MSE2 514835.6
#Menggunakan fungsi `accuracy`
accuracy(ramalan2, data_testing$tinggi_air)
##                      ME     RMSE      MAE        MPE     MAPE      MASE
## Training set -0.8823167 132.6562 100.0806 -0.4139928 5.793112 0.9922269
## Test set     48.0336601 123.9686  89.3926  2.3647730 4.900716 0.8862628
##                     ACF1
## Training set -0.04459385
## Test set              NA

According to the smoothing technique using SMA, the resulting MAPE stands at 9.348629 for the training dataset and 6.46844 for the testing dataset. Conversely, the SES method yields MAPE values of 5.793112 for the training dataset and 4.900716 for the testing dataset. Consequently, the SES smoothing method demonstrates superior optimality compared to SMA for the provided dataset.

Berdasarkan metode pemulusan menggunakan SMA dihasilkan nilai MAPE sebesar 9.348629 untuk data training dan 6.46844 untuk data testing. Sedangkan, metode pemulusan SES menghasilkan nilai MAPE sebesar 5.793112 untuk data training dan 4.900716 data testing. Oleh karena itu, metode pemulusan SES lebih optimal dibandingkan SMA untuk data yang digunakan.