Setting

Abaikan bagian ini. Lansung saja loncat ke 1. Tentang Data .

R Path Function

path <- function(){
  gsub  ( "\\\\",  "/",  readClipboard ()  )
}
#Copy path
#Panggil function di console
#Copy r path, paste ke var yang diinginkan
#Export chart
export.chart <- "C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart"

Install Load funcion

#                      -=( Install & Load Package Function )=-
install_load <- function (package1, ...)  {   

   # convert arguments to vector
   packages <- c(package1, ...)

   # start loop to determine if each package is installed
   for(package in packages){

       # if package is installed locally, load
       if(package %in% rownames(installed.packages()))
          do.call('library', list(package))

       # if package is not installed locally, download, then load
       else {
          install.packages(package)
          do.call("library", list(package))
       }
   } 
}

Theme 1

install_load('ggplot2','extrafont')
## Warning: package 'ggplot2' was built under R version 4.2.3
## Registering fonts with R
# font_import(); loadfonts() #Run ini sekali aja
theme1 <- list(
  guides(fill="none"), #No Legends
  theme(
  text = element_text(size = 66),
  axis.title = element_text(size=33),
  axis.text.y = element_text(vjust = .5, face = "bold"),
  plot.title = element_text(hjust = 0.5),
  panel.background = element_rect(fill = 'transparent'),
  plot.background = element_rect(fill='transparent', color=NA),
  panel.grid.major = element_line(colour = "grey90"),
  axis.line = element_line(linewidth = 2, colour = "grey90"))
)

Theme 2 - line plot

# This theme extends the 'theme_minimal' that comes with ggplot2.
# The "Lato" font is used as the base font. This is similar
# to the original font in Cedric's work, Avenir Next Condensed.
install_load('ggtext')
## Warning: package 'ggtext' was built under R version 4.2.3
## theme_set(theme_minimal(base_family = "Lato"))


theme_update(
  # Remove title for both x and y axes
  axis.title = element_blank(),
  # Axes labels are grey
  axis.text = element_text(color = "grey40"),
  # The size of the axes labels are different for x and y.
  axis.text.x = element_text(size = 20, margin = margin(t = 5)),
  axis.text.y = element_text(size = 17, margin = margin(r = 5)),
  # Also, the ticks have a very light grey color
  axis.ticks = element_line(color = "grey91", linewidth = .5),
  # The length of the axis ticks is increased.
  axis.ticks.length.x = unit(1.3, "lines"),
  axis.ticks.length.y = unit(.7, "lines"),
  # Remove the grid lines that come with ggplot2 plots by default
  panel.grid = element_blank(),
  # Customize margin values (top, right, bottom, left)
  plot.margin = margin(20, 40, 20, 40),
  # Use a light grey color for the background of both the plot and the panel
  plot.background = element_rect(fill = "grey98", color = "grey98"),
  panel.background = element_rect(fill = "grey98", color = "grey98"),
  # Customize title appearence
  plot.title = element_text(
    color = "grey10", 
    size = 28, 
    face = "bold",
    margin = margin(t = 15)
  ),
  # Customize subtitle appearence
  plot.subtitle = element_markdown(
    color = "grey30", 
    size = 16,
    lineheight = 1.35,
    margin = margin(t = 15, b = 40)
  ),
  # Title and caption are going to be aligned
  plot.title.position = "plot",
  plot.caption.position = "plot",
  plot.caption = element_text(
    color = "grey30", 
    size = 13,
    lineheight = 1.2, 
    hjust = 0,
    margin = margin(t = 40) # Large margin on the top of the caption.
  ),
  # Remove legend
  legend.position = "none"
)

A. Tentang Data

Dataset yang saya gunakan merupakan koleksi data harga saham historis periode Juli 2018 hingga Juli 2023 dari beberapa raksasa teknologi paling berpengaruh di dunia: Microsoft, Apple, Amazon, Nvidia, Google, Netflix, dan Meta (sebelumnya dikenal sebagai Facebook). Dataset ini menjadi sumber daya berharga bagi analis keuangan, ilmuwan data, dan penggemar pasar saham yang ingin menganalisis dan memahami tren harga perusahaan-perusahaan terkemuka di industri ini.

Dataset ini memilki data :

  1. Open: yakni Harga saham pada awal periode perdagangan tertentu. Ini adalah harga saham pertama pada hari perdagangan tersebut.
  2. High: Harga tertinggi yang saham capai selama periode perdagangan tersebut. Ini mencerminkan harga tertinggi yang pembeli bersedia bayar selama hari tersebut.
  3. Low: Harga terendah yang saham capai selama periode perdagangan tersebut. Ini mencerminkan harga terendah yang penjual bersedia terima selama hari tersebut.
  4. Close: Harga saham pada akhir periode perdagangan tertentu. Ini adalah harga saham terakhir pada hari perdagangan tersebut.
  5. Adj Close (Adjusted Close): Harga penutup yang telah disesuaikan untuk memperhitungkan perubahan seperti pembagian saham atau dividen. Ini adalah harga penutup yang paling relevan untuk analisis jangka panjang, karena mencerminkan harga saham yang sebenarnya setelah penyesuaian.
  6. Volume: Volume perdagangan saham selama periode tertentu. Ini mencerminkan jumlah saham yang diperdagangkan selama hari perdagangan tersebut.

Karena tugas kali ini hanya menggunakan satu peubah dan satu kategori saja. Maka kali ini saya akan menggunakan peubah Adj Close (Adjusted Close) .Karena Adj Close Adalah peubah yang paling sesuai untuk dianalisis dibandingkan peubah lainnya. Untuk pemilihan data sahamnya, saya ingin mengeksplorasi terlebih dahulu.

Import Data

install_load('rio')
raw.data <- import("https://raw.githubusercontent.com/Zen-Rofiqy/STA1341-MPDW/main/Data/MAANG%20Stock%20Prices.csv")
## Warning in (function (input = "", file = NULL, text = NULL, cmd = NULL, :
## Stopped early on line 8815. Expected 8 fields but found 1. Consider fill=TRUE
## and comment.char=. First discarded non-empty line: <<=======>>

Cleaning Data

Melihat tipe data.

str(raw.data)
## 'data.frame':    8812 obs. of  8 variables:
##  $ Name     : chr  "AMZN" "AMZN" "AMZN" "AMZN" ...
##  $ Date     : chr  "7/30/18" "7/31/18" "8/1/18" "8/2/18" ...
##  $ Open     : chr  "91.366501" "89.324501" "89.199997" "89.438499" ...
##  $ High     : chr  "91.474998" "90.091499" "89.921997" "91.828003" ...
##  $ Low      : chr  "88.301003" "86.966003" "88.801003" "89.300003" ...
##  $ Close    : chr  "88.960999" "88.872002" "89.858498" "91.716499" ...
##  $ Adj Close: chr  "88.960999" "88.872002" "89.858498" "91.716499" ...
##  $ Volume   : chr  "131246000" "114774000" "83062000" "87094000" ...

Cek Data kosong.

sum(is.na(raw.data))
## [1] 0

Tidak ada data kosong.

Semua tipe data masih berupa character. Harus diubah menjadi tipe data yang sesuai.

install_load('dplyr')
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- raw.data %>%  
  mutate(
    Date = as.Date(raw.data[, 2], format = "%m/%d/%y"), #Mengubah menjadi Date 
    across(3:ncol(raw.data), as.numeric)                #Mengubah menjadi Numerik
  )
## Warning in mask$eval_all_mutate(quo): NAs introduced by coercion

## Warning in mask$eval_all_mutate(quo): NAs introduced by coercion

## Warning in mask$eval_all_mutate(quo): NAs introduced by coercion

## Warning in mask$eval_all_mutate(quo): NAs introduced by coercion

## Warning in mask$eval_all_mutate(quo): NAs introduced by coercion

## Warning in mask$eval_all_mutate(quo): NAs introduced by coercion
str(data)
## 'data.frame':    8812 obs. of  8 variables:
##  $ Name     : chr  "AMZN" "AMZN" "AMZN" "AMZN" ...
##  $ Date     : Date, format: "2018-07-30" "2018-07-31" ...
##  $ Open     : num  91.4 89.3 89.2 89.4 91.9 ...
##  $ High     : num  91.5 90.1 89.9 91.8 92.1 ...
##  $ Low      : num  88.3 87 88.8 89.3 91.1 ...
##  $ Close    : num  89 88.9 89.9 91.7 91.2 ...
##  $ Adj Close: num  89 88.9 89.9 91.7 91.2 ...
##  $ Volume   : num  1.31e+08 1.15e+08 8.31e+07 8.71e+07 6.92e+07 ...

Ternyata ada data kosong. Harus cek ulang.

# Mencari indeks baris dan kolom yang mengandung NA
na.idx <- which(is.na(data), arr.ind = TRUE)

# Menampilkan data raw dengan baris dan kolom yang mengandung NA
install_load('kableExtra','dplyr')
## Warning in !is.null(rmarkdown::metadata$output) && rmarkdown::metadata$output
## %in% : 'length(x) = 2 > 1' in coercion to 'logical(1)'
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
kable(raw.data[                        # Subsetting
                unique(na.idx[, 1]),   # Vektor indeks baris yang mengandung NA
                unique(na.idx[, 2])  ] # Vektor indeks kolom yang mengandung NA
      ) %>% kable_styling()            # Style Tabel
Date Open High Low Close Adj Close Volume
1259 Date Open High Low Close Adj Close Volume
2518 Date Open High Low Close Adj Close Volume
3777 Date Open High Low Close Adj Close Volume
5036 Date Open High Low Close Adj Close Volume
6295 Date Open High Low Close Adj Close Volume
7554 Date Open High Low Close Adj Close Volume

Ternyata pada baris tersebut ada data karakter text. Sehingga ketika diubah ke numerik akan menjadi NA. Maka saya akan menghapus baris tersebut.

data <- data %>%
  filter(!row_number() %in% unique(na.idx[, 1]))

Time Series MAANG

install_load('viridis','ggrepel')
## Loading required package: viridisLite
#Plot
cts.maang <-
ggplot(data, aes(x=Date, y=`Adj Close`)) + #Data
  geom_line(aes(color=Name), linewidth=1) + #Timeseries
  #Color
    scale_color_viridis(alpha = 0.75, #Opacity
                     begin = 0, #Color pallte scale begins
                     end = 0.9, #Color pallte scale ends
                     direction = -1, #Flip color scale
                     discrete = T, #Discrete Value
                     option = "D") + #Color Palette
  theme1 + #THeme
  labs(x = "Tahun", y = "Harga Saham (USD)") + #Label X & Y
  # Label / legend
  geom_text_repel(
    data=data[data$Date == max(data$Date),], #Posisi di ujung data
    aes(color = Name, label = Name), #Warna garis & label saham
    size = 8, #Ukuran text
    nudge_x = 80, #Posisi Text (kanan 50)
    hjust = 0, #Ujung
    segment.size = 1,               #Ukuran garis
    segment.alpha = .75,             #transparasi garis
    segment.linetype = "dotted",    #Time garis
    box.padding = .4, #Biar label saham nggak dempetan
    segment.curvature = -0.1, #biar garis mulus
    segment.ncp = 8, 
    segment.angle = 60 
  ) +
  #Axis
    coord_cartesian(clip = "off"
  ) +
    scale_x_date( #Sumbu x
    date_breaks = "1 year",  # Menampilkan label setiap tahun
    date_labels = "%Y",  # Format label tahun
    limits = c(as.Date("2018-07-30"), as.Date("2023-12-28"))
    #Tampilin lebih dari 20023-07-28 agar label saham bisa masuk
  ) +
    scale_y_continuous( #Sumbu y
    labels = scales::dollar_format(prefix = "$") #tambahin dolar
  ) +
    annotate( #Buat nandain batas data
    "text", x = as.Date("2023-7-28"), y = 50, 
    label = "28 Juli", size=6
  ) +
  geom_vline( #Buat garis batas data
    xintercept = as.numeric(as.Date("2023-07-28")), 
             linetype = "dotted", color = "red")
cts.maang

#Export Chart
ggsave("01_Time Series MAANG.png", cts.maang, path = export.chart,
        dpi = 300, height = 9, width = 16)

Jika dilihat dari tahun 2019-2022, semua saham cenderung memiliki pola trend naik. Lalu dari 2021-2023 polanya cenderung trend turun. Untuk tugas praktikum kali ini, saya hanya akan menggunakan rentang tahun 2022-2023 dengan tren cenderung turun. Agar pengerjaannya tidak terlalu sulit, karena masih tahap awal pembelajaran.

Ada yang menarik perhatian saya. Kenapa dulu Pendiri Amazon, Jeff Bezos yang pernah menjadi orang terkaya di dunia pada tahun 2017 lalu, harga saham sekarang tidak setinggi yang saya kira?. Oleh karena itu saya memutuskan untuk menggunakan data saham Amazon untuk praktikum kali ini.

amzn <- data %>%
  select(1, 2, 7) %>%  # Memilih kolom 1, 2, dan 7
  filter(Name == "AMZN", Date >= as.Date("2022-01-01"))  # Filter data saham Amazon tahun 2022 ke atas

rownames(amzn) <- NULL
str(amzn)
## 'data.frame':    394 obs. of  3 variables:
##  $ Name     : chr  "AMZN" "AMZN" "AMZN" "AMZN" ...
##  $ Date     : Date, format: "2022-01-03" "2022-01-04" ...
##  $ Adj Close: num  170 168 164 163 163 ...
kable(amzn) %>% kable_styling()
Name Date Adj Close
AMZN 2022-01-03 170.4045
AMZN 2022-01-04 167.5220
AMZN 2022-01-05 164.3570
AMZN 2022-01-06 163.2540
AMZN 2022-01-07 162.5540
AMZN 2022-01-10 161.4860
AMZN 2022-01-11 165.3620
AMZN 2022-01-12 165.2070
AMZN 2022-01-13 161.2140
AMZN 2022-01-14 162.1380
AMZN 2022-01-18 158.9175
AMZN 2022-01-19 156.2990
AMZN 2022-01-20 151.6675
AMZN 2022-01-21 142.6430
AMZN 2022-01-24 144.5440
AMZN 2022-01-25 139.9860
AMZN 2022-01-26 138.8725
AMZN 2022-01-27 139.6375
AMZN 2022-01-28 143.9780
AMZN 2022-01-31 149.5735
AMZN 2022-02-01 151.1935
AMZN 2022-02-02 150.6125
AMZN 2022-02-03 138.8455
AMZN 2022-02-04 157.6395
AMZN 2022-02-07 157.9355
AMZN 2022-02-08 161.4135
AMZN 2022-02-09 161.1895
AMZN 2022-02-10 159.0035
AMZN 2022-02-11 153.2935
AMZN 2022-02-14 155.1670
AMZN 2022-02-15 156.5105
AMZN 2022-02-16 158.1005
AMZN 2022-02-17 154.6525
AMZN 2022-02-18 152.6015
AMZN 2022-02-22 150.1975
AMZN 2022-02-23 144.8270
AMZN 2022-02-24 151.3580
AMZN 2022-02-25 153.7885
AMZN 2022-02-28 153.5630
AMZN 2022-03-01 151.1420
AMZN 2022-03-02 152.0525
AMZN 2022-03-03 147.8985
AMZN 2022-03-04 145.6410
AMZN 2022-03-07 137.4530
AMZN 2022-03-08 136.0145
AMZN 2022-03-09 139.2790
AMZN 2022-03-10 146.8175
AMZN 2022-03-11 145.5245
AMZN 2022-03-14 141.8530
AMZN 2022-03-15 147.3665
AMZN 2022-03-16 153.1040
AMZN 2022-03-17 157.2390
AMZN 2022-03-18 161.2505
AMZN 2022-03-21 161.4915
AMZN 2022-03-22 164.8890
AMZN 2022-03-23 163.4080
AMZN 2022-03-24 163.6495
AMZN 2022-03-25 164.7735
AMZN 2022-03-28 168.9905
AMZN 2022-03-29 169.3150
AMZN 2022-03-30 166.3010
AMZN 2022-03-31 162.9975
AMZN 2022-04-01 163.5600
AMZN 2022-04-04 168.3465
AMZN 2022-04-05 164.0550
AMZN 2022-04-06 158.7560
AMZN 2022-04-07 157.7845
AMZN 2022-04-08 154.4605
AMZN 2022-04-11 151.1220
AMZN 2022-04-12 150.7875
AMZN 2022-04-13 155.5410
AMZN 2022-04-14 151.7065
AMZN 2022-04-18 152.7850
AMZN 2022-04-19 158.1155
AMZN 2022-04-20 153.9980
AMZN 2022-04-21 148.2960
AMZN 2022-04-22 144.3500
AMZN 2022-04-25 146.0740
AMZN 2022-04-26 139.3910
AMZN 2022-04-27 138.1670
AMZN 2022-04-28 144.5965
AMZN 2022-04-29 124.2815
AMZN 2022-05-02 124.5000
AMZN 2022-05-03 124.2535
AMZN 2022-05-04 125.9285
AMZN 2022-05-05 116.4070
AMZN 2022-05-06 114.7725
AMZN 2022-05-09 108.7890
AMZN 2022-05-10 108.8590
AMZN 2022-05-11 105.3720
AMZN 2022-05-12 106.9305
AMZN 2022-05-13 113.0550
AMZN 2022-05-16 110.8105
AMZN 2022-05-17 115.3685
AMZN 2022-05-18 107.1125
AMZN 2022-05-19 107.3190
AMZN 2022-05-20 107.5910
AMZN 2022-05-23 107.5570
AMZN 2022-05-24 104.1000
AMZN 2022-05-25 106.7750
AMZN 2022-05-26 111.0775
AMZN 2022-05-27 115.1465
AMZN 2022-05-31 120.2095
AMZN 2022-06-01 121.6840
AMZN 2022-06-02 125.5110
AMZN 2022-06-03 122.3500
AMZN 2022-06-06 124.7900
AMZN 2022-06-07 123.0000
AMZN 2022-06-08 121.1800
AMZN 2022-06-09 116.1500
AMZN 2022-06-10 109.6500
AMZN 2022-06-13 103.6700
AMZN 2022-06-14 102.3100
AMZN 2022-06-15 107.6700
AMZN 2022-06-16 103.6600
AMZN 2022-06-17 106.2200
AMZN 2022-06-21 108.6800
AMZN 2022-06-22 108.9500
AMZN 2022-06-23 112.4400
AMZN 2022-06-24 116.4600
AMZN 2022-06-27 113.2200
AMZN 2022-06-28 107.4000
AMZN 2022-06-29 108.9200
AMZN 2022-06-30 106.2100
AMZN 2022-07-01 109.5600
AMZN 2022-07-05 113.5000
AMZN 2022-07-06 114.3300
AMZN 2022-07-07 116.3300
AMZN 2022-07-08 115.5400
AMZN 2022-07-11 111.7500
AMZN 2022-07-12 109.2200
AMZN 2022-07-13 110.4000
AMZN 2022-07-14 110.6300
AMZN 2022-07-15 113.5500
AMZN 2022-07-18 113.7600
AMZN 2022-07-19 118.2100
AMZN 2022-07-20 122.7700
AMZN 2022-07-21 124.6300
AMZN 2022-07-22 122.4200
AMZN 2022-07-25 121.1400
AMZN 2022-07-26 114.8100
AMZN 2022-07-27 120.9700
AMZN 2022-07-28 122.2800
AMZN 2022-07-29 134.9500
AMZN 2022-08-01 135.3900
AMZN 2022-08-02 134.1600
AMZN 2022-08-03 139.5200
AMZN 2022-08-04 142.5700
AMZN 2022-08-05 140.8000
AMZN 2022-08-08 139.4100
AMZN 2022-08-09 137.8300
AMZN 2022-08-10 142.6900
AMZN 2022-08-11 140.6400
AMZN 2022-08-12 143.5500
AMZN 2022-08-15 143.1800
AMZN 2022-08-16 144.7800
AMZN 2022-08-17 142.1000
AMZN 2022-08-18 142.3000
AMZN 2022-08-19 138.2300
AMZN 2022-08-22 133.2200
AMZN 2022-08-23 133.6200
AMZN 2022-08-24 133.8000
AMZN 2022-08-25 137.2800
AMZN 2022-08-26 130.7500
AMZN 2022-08-29 129.7900
AMZN 2022-08-30 128.7300
AMZN 2022-08-31 126.7700
AMZN 2022-09-01 127.8200
AMZN 2022-09-02 127.5100
AMZN 2022-09-06 126.1100
AMZN 2022-09-07 129.4800
AMZN 2022-09-08 129.8200
AMZN 2022-09-09 133.2700
AMZN 2022-09-12 136.4500
AMZN 2022-09-13 126.8200
AMZN 2022-09-14 128.5500
AMZN 2022-09-15 126.2800
AMZN 2022-09-16 123.5300
AMZN 2022-09-19 124.6600
AMZN 2022-09-20 122.1900
AMZN 2022-09-21 118.5400
AMZN 2022-09-22 117.3100
AMZN 2022-09-23 113.7800
AMZN 2022-09-26 115.1500
AMZN 2022-09-27 114.4100
AMZN 2022-09-28 118.0100
AMZN 2022-09-29 114.8000
AMZN 2022-09-30 113.0000
AMZN 2022-10-03 115.8800
AMZN 2022-10-04 121.0900
AMZN 2022-10-05 120.9500
AMZN 2022-10-06 120.3000
AMZN 2022-10-07 114.5600
AMZN 2022-10-10 113.6700
AMZN 2022-10-11 112.2100
AMZN 2022-10-12 112.9000
AMZN 2022-10-13 112.5300
AMZN 2022-10-14 106.9000
AMZN 2022-10-17 113.7900
AMZN 2022-10-18 116.3600
AMZN 2022-10-19 115.0700
AMZN 2022-10-20 115.2500
AMZN 2022-10-21 119.3200
AMZN 2022-10-24 119.8200
AMZN 2022-10-25 120.6000
AMZN 2022-10-26 115.6600
AMZN 2022-10-27 110.9600
AMZN 2022-10-28 103.4100
AMZN 2022-10-31 102.4400
AMZN 2022-11-01 96.7900
AMZN 2022-11-02 92.1200
AMZN 2022-11-03 89.3000
AMZN 2022-11-04 90.9800
AMZN 2022-11-07 90.5300
AMZN 2022-11-08 89.9800
AMZN 2022-11-09 86.1400
AMZN 2022-11-10 96.6300
AMZN 2022-11-11 100.7900
AMZN 2022-11-14 98.4900
AMZN 2022-11-15 98.9400
AMZN 2022-11-16 97.1200
AMZN 2022-11-17 94.8500
AMZN 2022-11-18 94.1400
AMZN 2022-11-21 92.4600
AMZN 2022-11-22 93.2000
AMZN 2022-11-23 94.1300
AMZN 2022-11-25 93.4100
AMZN 2022-11-28 93.9500
AMZN 2022-11-29 92.4200
AMZN 2022-11-30 96.5400
AMZN 2022-12-01 95.5000
AMZN 2022-12-02 94.1300
AMZN 2022-12-05 91.0100
AMZN 2022-12-06 88.2500
AMZN 2022-12-07 88.4600
AMZN 2022-12-08 90.3500
AMZN 2022-12-09 89.0900
AMZN 2022-12-12 90.5500
AMZN 2022-12-13 92.4900
AMZN 2022-12-14 91.5800
AMZN 2022-12-15 88.4500
AMZN 2022-12-16 87.8600
AMZN 2022-12-19 84.9200
AMZN 2022-12-20 85.1900
AMZN 2022-12-21 86.7700
AMZN 2022-12-22 83.7900
AMZN 2022-12-23 85.2500
AMZN 2022-12-27 83.0400
AMZN 2022-12-28 81.8200
AMZN 2022-12-29 84.1800
AMZN 2022-12-30 84.0000
AMZN 2023-01-03 85.8200
AMZN 2023-01-04 85.1400
AMZN 2023-01-05 83.1200
AMZN 2023-01-06 86.0800
AMZN 2023-01-09 87.3600
AMZN 2023-01-10 89.8700
AMZN 2023-01-11 95.0900
AMZN 2023-01-12 95.2700
AMZN 2023-01-13 98.1200
AMZN 2023-01-17 96.0500
AMZN 2023-01-18 95.4600
AMZN 2023-01-19 93.6800
AMZN 2023-01-20 97.2500
AMZN 2023-01-23 97.5200
AMZN 2023-01-24 96.3200
AMZN 2023-01-25 97.1800
AMZN 2023-01-26 99.2200
AMZN 2023-01-27 102.2400
AMZN 2023-01-30 100.5500
AMZN 2023-01-31 103.1300
AMZN 2023-02-01 105.1500
AMZN 2023-02-02 112.9100
AMZN 2023-02-03 103.3900
AMZN 2023-02-06 102.1800
AMZN 2023-02-07 102.1100
AMZN 2023-02-08 100.0500
AMZN 2023-02-09 98.2400
AMZN 2023-02-10 97.6100
AMZN 2023-02-13 99.5400
AMZN 2023-02-14 99.7000
AMZN 2023-02-15 101.1600
AMZN 2023-02-16 98.1500
AMZN 2023-02-17 97.2000
AMZN 2023-02-21 94.5800
AMZN 2023-02-22 95.7900
AMZN 2023-02-23 95.8200
AMZN 2023-02-24 93.5000
AMZN 2023-02-27 93.7600
AMZN 2023-02-28 94.2300
AMZN 2023-03-01 92.1700
AMZN 2023-03-02 92.1300
AMZN 2023-03-03 94.9000
AMZN 2023-03-06 93.7500
AMZN 2023-03-07 93.5500
AMZN 2023-03-08 93.9200
AMZN 2023-03-09 92.2500
AMZN 2023-03-10 90.7300
AMZN 2023-03-13 92.4300
AMZN 2023-03-14 94.8800
AMZN 2023-03-15 96.2000
AMZN 2023-03-16 100.0400
AMZN 2023-03-17 98.9500
AMZN 2023-03-20 97.7100
AMZN 2023-03-21 100.6100
AMZN 2023-03-22 98.7000
AMZN 2023-03-23 98.7100
AMZN 2023-03-24 98.1300
AMZN 2023-03-27 98.0400
AMZN 2023-03-28 97.2400
AMZN 2023-03-29 100.2500
AMZN 2023-03-30 102.0000
AMZN 2023-03-31 103.2900
AMZN 2023-04-03 102.4100
AMZN 2023-04-04 103.9500
AMZN 2023-04-05 101.1000
AMZN 2023-04-06 102.0600
AMZN 2023-04-10 102.1700
AMZN 2023-04-11 99.9200
AMZN 2023-04-12 97.8300
AMZN 2023-04-13 102.4000
AMZN 2023-04-14 102.5100
AMZN 2023-04-17 102.7400
AMZN 2023-04-18 102.3000
AMZN 2023-04-19 104.3000
AMZN 2023-04-20 103.8100
AMZN 2023-04-21 106.9600
AMZN 2023-04-24 106.2100
AMZN 2023-04-25 102.5700
AMZN 2023-04-26 104.9800
AMZN 2023-04-27 109.8200
AMZN 2023-04-28 105.4500
AMZN 2023-05-01 102.0500
AMZN 2023-05-02 103.6300
AMZN 2023-05-03 103.6500
AMZN 2023-05-04 104.0000
AMZN 2023-05-05 105.6600
AMZN 2023-05-08 105.8300
AMZN 2023-05-09 106.6200
AMZN 2023-05-10 110.1900
AMZN 2023-05-11 112.1800
AMZN 2023-05-12 110.2600
AMZN 2023-05-15 111.2000
AMZN 2023-05-16 113.4000
AMZN 2023-05-17 115.5000
AMZN 2023-05-18 118.1500
AMZN 2023-05-19 116.2500
AMZN 2023-05-22 115.0100
AMZN 2023-05-23 114.9900
AMZN 2023-05-24 116.7500
AMZN 2023-05-25 115.0000
AMZN 2023-05-26 120.1100
AMZN 2023-05-30 121.6600
AMZN 2023-05-31 120.5800
AMZN 2023-06-01 122.7700
AMZN 2023-06-02 124.2500
AMZN 2023-06-05 125.3000
AMZN 2023-06-06 126.6100
AMZN 2023-06-07 121.2300
AMZN 2023-06-08 124.2500
AMZN 2023-06-09 123.4300
AMZN 2023-06-12 126.5700
AMZN 2023-06-13 126.6600
AMZN 2023-06-14 126.4200
AMZN 2023-06-15 127.1100
AMZN 2023-06-16 125.4900
AMZN 2023-06-20 125.7800
AMZN 2023-06-21 124.8300
AMZN 2023-06-22 130.1500
AMZN 2023-06-23 129.3300
AMZN 2023-06-26 127.3300
AMZN 2023-06-27 129.1800
AMZN 2023-06-28 129.0400
AMZN 2023-06-29 127.9000
AMZN 2023-06-30 130.3600
AMZN 2023-07-03 130.2200
AMZN 2023-07-05 130.3800
AMZN 2023-07-06 128.3600
AMZN 2023-07-07 129.7800
AMZN 2023-07-10 127.1300
AMZN 2023-07-11 128.7800
AMZN 2023-07-12 130.8000
AMZN 2023-07-13 134.3000
AMZN 2023-07-14 134.6800
AMZN 2023-07-17 133.5600
AMZN 2023-07-18 132.8300
AMZN 2023-07-19 135.3600
AMZN 2023-07-20 129.9600
AMZN 2023-07-21 130.0000
AMZN 2023-07-24 128.8000
AMZN 2023-07-25 129.1300
AMZN 2023-07-26 128.1500
AMZN 2023-07-27 128.2500
AMZN 2023-07-28 132.2100

Mengubah Ajd Close Menjadi Time series

amzn.ts <- ts(amzn[,3])

Ringkasan Data Ajd CLose

summary(amzn.ts)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   81.82  102.01  115.77  119.81  134.88  170.40

Time Series Amazon

Cara manual

ts.plot(amzn.ts, xlab="Time Period", ylab="Harga Saham", 
        main = "Time Series Amazon", col='orange', lwd=2)
points(amzn.ts, col='orange', lwd=1.5)

# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/02_Time Series Amazon.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
ts.plot(amzn.ts, xlab = "Time Period", ylab = "Harga Saham",
        main = "Time Series Amazon", col = 'orange', lwd = 2)
points(amzn.ts, col = 'orange', lwd = 1.5)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

Agar lebih menarik, saya coba menggunakan ggplot2. Dengan ggplot2, tipe data tidak perlu dibuah ke Time Series dulu.

cts.amzn <-
ggplot(amzn, aes(x=Date, y=`Adj Close`)) + 
  geom_line(aes(color=Name), linewidth=0.5) +
  scale_color_manual(values = c("cyan4")) +
  theme_minimal()
cts.amzn

#Export Chart
ggsave("03_Time Series Amazon_ggplot.png", cts.amzn, path = export.chart,
        dpi = 300, height = 5, width = 10)

Terlihat bahwa data berpola trend turun karena terjadi penurunan sekuler jangka panjang (perubahan sistematis selama periode waktu yang panjang) dalam data dan cendrung membentuk pola musiman. Oleh karena itu, metode pemulusan yang cocok adalah Double Moving Average (DMA), Double Exponential Smoothing (DES), dan Holt-Winter atau Holt-Winter Multiplikatif.

B. Pemulusan (Smoothing)

Pembagian data

#membagi 80% data latih (training) dan 20% data uji (testing)
training <- amzn[1: round(nrow(amzn) *80/100),]
testing <- amzn[round(nrow(amzn) *80/100): nrow(amzn),]
train.ts <- ts(training[,3])
test.ts <- ts(testing[,3])

Eksplorasi Data

Eksplorasi data dilakukan pada keseluruhan data, data latih serta data uji menggunakan plot data deret waktu.

Menggunakan ggplot2 .

ctsa.train_test <-
ggplot() + 
  geom_line(data = training, 
            aes(x = Date, y = `Adj Close`, col = "Data Latih")) +
  geom_line(data = testing, 
            aes(x = Date, y = `Adj Close`, col = "Data Uji")) +
  labs(x = "Periode Waktu", y = "Harga Saham", color = "Legend") +
  scale_colour_manual(name="Keterangan:", 
                      breaks = c("Data Latih", "Data Uji"),
                      values = c("orange", "cyan4")) + 
  theme_bw() + theme(legend.position = "bottom",
                     plot.caption = element_text(hjust=0.5, size=12))
ctsa.train_test

#Export Chart
ggsave("04_TSA_train-test.png", ctsa.train_test, path = export.chart,
        dpi = 300, height = 5, width = 10)

1. Double Moving Average (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.

install_load('TTR')
data.sma <- SMA(train.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:nrow(testing)
f = c()

for (i in t) {
  f[i] = At[length(At)] + Bt[length(Bt)]*(i)
}

data.gab2 <- cbind(aktual = c(train.ts,rep(NA, nrow(testing))), 
                   pemulusan1 = c(data.sma,rep(NA, nrow(testing))),
                   pemulusan2 = c(data.dma, rep(NA, nrow(testing))),
                   At = c(At, rep(NA, nrow(testing))), 
                   Bt = c(Bt,rep(NA, nrow(testing))),
                   ramalan = c(data.ramal2, f[-1]))
kable(data.gab2) %>% kable_styling() 
aktual pemulusan1 pemulusan2 At Bt ramalan
170.4045 NA NA NA NA NA
167.5220 NA NA NA NA NA
164.3570 NA NA NA NA NA
163.2540 166.3844 NA NA NA NA
162.5540 164.4217 NA NA NA NA
161.4860 162.9127 NA NA NA NA
165.3620 163.1640 161.40280 162.10728 -0.7044792 NA
165.2070 163.6522 163.84319 163.76681 0.0763753 161.40280
161.2140 163.3172 163.41006 163.37294 0.0371260 163.84319
162.1380 163.4803 163.60828 163.55707 0.0512098 163.41006
158.9175 161.8691 159.85147 160.65853 -0.8070622 163.60828
156.2990 159.6421 155.58369 157.20706 -1.6233756 159.85147
151.6675 157.2555 151.74508 153.94924 -2.2041684 155.58369
142.6430 152.3817 143.37279 146.97637 -3.6035837 151.74508
144.5440 148.7884 139.24077 143.05982 -3.8190404 143.37279
139.9860 144.7101 134.58711 138.63631 -4.0492078 139.24077
138.8725 141.5114 132.61716 136.17484 -3.5576872 134.58711
139.6375 140.7600 135.45588 137.57753 -2.1216468 132.61716
143.9780 140.6185 138.48266 139.33699 -0.8543350 135.45588
149.5735 143.0154 145.58048 144.55444 1.0260418 138.48266
151.1935 146.0956 151.88437 149.56887 2.3155003 145.58048
150.6125 148.8394 155.83464 153.03653 2.7981052 151.88437
138.8455 147.5563 149.52224 148.73585 0.7863973 155.83464
157.6395 149.5728 152.16733 151.12950 1.0378335 149.52224
157.9355 151.2583 154.51091 153.20985 1.3010628 152.16733
161.4135 153.9585 159.57860 157.33056 2.2480411 154.51091
161.1895 159.5445 169.47950 165.50550 3.9739990 159.57860
159.0035 159.8855 166.09185 163.60931 2.4825407 169.47950
153.2935 158.7250 159.88604 159.42162 0.4644165 166.09185
155.1670 157.1634 154.38635 155.49716 -1.1108113 159.88604
156.5105 155.9936 152.74654 154.04538 -1.2988326 154.38635
158.1005 155.7679 153.86022 154.62328 -0.7630622 152.74654
154.6525 156.1076 155.85679 155.95712 -0.1003343 153.86022
152.6015 155.4662 154.85359 155.09865 -0.2450638 155.85679
150.1975 153.8880 151.52226 152.46856 -0.9462928 154.85359
144.8270 150.5696 144.83920 147.13137 -2.2921669 151.52226
151.3580 149.7460 145.29355 147.07453 -1.7809784 144.83920
153.7885 150.0427 148.34468 149.02390 -0.6792290 145.29355
153.5630 150.8841 151.83996 151.45763 0.3823345 148.34468
151.1420 152.4629 155.26111 154.14181 1.1192925 151.83996
152.0525 152.6365 154.51973 153.76644 0.7532926 155.26111
147.8985 151.1640 150.12588 150.54113 -0.4152495 154.51973
145.6410 149.1835 145.55314 147.00528 -1.4521454 150.12588
137.4530 145.7613 139.21948 141.83619 -2.6167075 145.55314
136.0145 141.7518 133.06279 136.53838 -3.4755840 139.21948
139.2790 139.5969 132.13610 135.12041 -2.9843120 133.06279
146.8175 139.8910 136.79231 138.03178 -1.2394790 132.13610
145.5245 141.9089 143.77846 143.03063 0.7478340 136.79231
141.8530 143.3685 146.99715 145.54569 1.4514587 143.77846
147.3665 145.3904 149.97486 148.14106 1.8337911 146.99715
153.1040 146.9620 151.21960 149.51656 1.7030411 149.97486
157.2390 149.8906 155.70354 153.37837 2.3251653 151.21960
161.2505 154.7400 163.89709 160.23425 3.6628335 155.70354
161.4915 158.2713 167.94672 164.07653 3.8701877 163.89709
164.8890 161.2175 169.86360 166.40516 3.4584383 167.94672
163.4080 162.7598 168.61413 166.27238 2.3417512 169.86360
163.6495 163.3595 166.62201 165.31701 1.3050010 168.61413
164.7735 164.1800 166.34803 165.48082 0.8672085 166.62201
168.9905 165.2054 167.42074 166.53459 0.8861440 166.34803
169.3150 166.6821 169.72441 168.50750 1.2169150 167.42074
166.3010 167.3450 169.83145 168.83687 0.9945811 169.72441
162.9975 166.9010 167.51370 167.26862 0.2450822 169.83145
163.5600 165.5434 163.75254 164.46887 -0.7163334 167.51370
168.3465 165.3012 163.68224 164.32984 -0.6476045 163.75254
164.0550 164.7397 163.27042 163.85815 -0.5877297 163.68224
158.7560 163.6794 161.78510 162.54281 -0.7577088 163.27042
157.7845 162.2355 159.31305 160.48203 -1.1689791 161.78510
154.4605 158.7640 152.77957 155.17334 -2.3937710 159.31305
151.1220 155.5307 147.99465 151.00909 -3.0144375 152.77957
150.7875 153.5386 146.90764 149.56003 -2.6523947 147.99465
155.5410 152.9777 149.26937 150.75272 -1.4833534 146.90764
151.7065 152.2892 150.13118 150.99441 -0.8632285 149.26937
152.7850 152.7050 152.41724 152.53235 -0.1151028 150.13118
158.1155 154.5370 156.88658 155.94675 0.9398327 152.41724
153.9980 154.1512 155.36896 154.88187 0.4870829 156.88658
148.2960 153.2986 152.67472 152.92428 -0.2495619 155.36896
144.3500 151.1899 147.68269 149.08557 -1.4028740 152.67472
146.0740 148.1795 142.30399 144.65419 -2.3502065 147.68269
139.3910 144.5278 136.57578 139.75657 -3.1807900 142.30399
138.1670 141.9955 134.53275 137.51785 -2.9851030 136.57578
144.5965 142.0571 138.50239 139.92428 -1.4218966 134.53275
124.2815 136.6090 128.79509 131.92066 -3.1255635 138.50239
124.5000 132.8863 123.71838 127.38553 -3.6671472 128.79509
124.2535 129.4079 119.68756 123.57569 -3.8881263 123.71838
125.9285 124.7409 114.45733 118.57075 -4.1134173 119.68756
116.4070 122.7722 114.97298 118.09269 -3.1197090 114.45733
114.7725 120.3404 113.71542 116.36540 -2.6499796 114.97298
108.7890 116.4742 108.79477 111.86656 -3.0717920 113.71542
108.8590 112.2069 102.63760 106.46531 -3.8277080 108.79477
105.3720 109.4481 100.83266 104.27885 -3.4461867 102.63760
106.9305 107.4876 100.95997 103.57103 -2.6110624 100.83266
113.0550 108.5541 107.10402 107.68406 -0.5800419 100.95997
110.8105 109.0420 109.72372 109.45103 0.2726873 107.10402
115.3685 111.5411 115.51597 113.92603 1.5899372 109.72372
107.1125 111.5866 113.92939 112.99228 0.9371049 115.51597
107.3190 110.1526 109.43935 109.72466 -0.2853120 113.92939
107.5910 109.3478 107.16562 108.03847 -0.8728536 109.43935
107.5570 107.3949 103.68555 105.16928 -1.4837291 107.16562
104.1000 106.6418 103.73758 104.89925 -1.1616673 103.68555
106.7750 106.5058 104.89445 105.53897 -0.6445210 103.73758
111.0775 107.3774 108.03977 107.77481 0.2649578 104.89445
115.1465 109.2747 112.31616 111.09959 1.2165624 108.03977
120.2095 113.3021 120.28067 117.48925 2.7914172 112.31616
121.6840 117.0294 125.83516 122.31284 3.5223125 120.28067
125.5110 120.6378 129.93233 126.21450 3.7178336 125.83516
122.3500 122.4386 129.24972 126.52528 2.7244373 129.93233
124.7900 123.5837 128.01937 126.24512 1.7742497 129.24972
123.0000 123.9128 126.02864 125.18228 0.8463542 128.01937
121.1800 122.8300 122.22786 122.46872 -0.2408543 126.02864
116.1500 121.2800 118.57729 119.65838 -1.0810829 122.22786
109.6500 117.4950 111.02094 113.61056 -2.5896246 118.57729
103.6700 112.6625 102.82188 106.75813 -3.9362500 111.02094
102.3100 107.9450 96.44396 101.04437 -4.6004170 102.82188
107.6700 105.8250 97.23021 100.66812 -3.4379174 96.44396
103.6600 104.3275 98.72333 100.96500 -2.2416668 97.23021
106.2200 104.9650 103.63063 104.16438 -0.5337496 98.72333
108.6800 106.5575 108.45542 107.69625 0.7591672 103.63063
108.9500 106.8775 108.87021 108.07313 0.7970835 108.45542
112.4400 109.0725 112.74646 111.27687 1.4695831 108.87021
116.4600 111.6325 116.79500 114.73000 2.0649995 112.74646
113.2200 112.7675 117.23417 115.44750 1.7866665 116.79500
107.4000 112.3800 113.90813 113.29688 0.6112506 117.23417
108.9200 111.5000 110.55000 110.93000 -0.3800000 113.90813
106.2100 108.9375 104.83958 106.47875 -1.6391668 110.55000
109.5600 108.0225 104.37666 105.83500 -1.4583339 104.83958
113.5000 109.5475 109.62354 109.59312 0.0304162 104.37666
114.3300 110.9000 113.48021 112.44813 1.0320835 109.62354
116.3300 113.4300 118.35500 116.38500 1.9700006 113.48021
115.5400 114.9250 119.46563 117.64938 1.8162508 118.35500
111.7500 114.4875 116.24063 115.53938 0.7012504 119.46563
109.2200 113.2100 111.87146 112.40688 -0.5354167 116.24063
110.4000 111.7275 108.62750 109.86750 -1.2400001 111.87146
110.6300 110.5000 107.19792 108.51875 -1.3208339 108.62750
113.5500 110.9500 109.87188 110.30313 -0.4312500 107.19792
113.7600 112.0850 113.36729 112.85438 0.5129169 109.87188
118.2100 114.0375 117.61146 116.18188 1.4295832 113.36729
122.7700 117.0725 122.96625 120.60875 2.3574998 117.61146
124.6300 119.8425 126.64770 123.92562 2.7220825 122.96625
122.4200 122.0075 128.28666 125.77500 2.5116657 126.64770
121.1400 122.7400 126.61395 125.06437 1.5495827 128.28666
114.8100 120.7500 119.77500 120.16500 -0.3900000 126.61395
120.9700 119.8350 117.33813 118.33687 -0.9987494 119.77500
122.2800 119.8000 118.16458 118.81875 -0.6541662 117.33813
134.9500 123.2525 127.15771 125.59562 1.5620833 118.16458
135.3900 128.3975 137.69125 133.97375 3.7175000 127.15771
134.1600 131.6950 141.54292 137.60375 3.9391670 137.69125
139.5200 136.0050 146.28417 142.17250 4.1116676 141.54292
142.5700 137.9100 145.25688 142.31813 2.9387518 146.28417
140.8000 139.2625 144.33647 142.30688 2.0295849 145.25688
139.4100 140.5750 144.13646 142.71188 1.4245841 144.33647
137.8300 140.1525 141.28167 140.83000 0.4516666 144.13646
142.6900 140.1825 140.41479 140.32188 0.0929159 141.28167
140.6400 140.1425 139.94146 140.02188 -0.0804177 140.41479
143.5500 141.1775 142.45042 141.94125 0.5091660 139.94146
143.1800 142.5150 145.03270 144.02562 1.0070820 142.45042
144.7800 143.0375 145.23645 144.35687 0.8795822 145.03270
142.1000 143.4025 144.85146 144.27188 0.5795836 145.23645
142.3000 143.0900 143.22125 143.16875 0.0525005 144.85146
138.2300 141.8525 140.19729 140.85938 -0.6620827 143.22125
133.2200 138.9625 134.18854 136.09813 -1.9095828 140.19729
133.6200 136.8425 131.26854 133.49812 -2.2295844 134.18854
133.8000 134.7175 129.09041 131.34125 -2.2508342 131.26854
137.2800 134.4800 131.52896 132.70937 -1.1804168 129.09041
130.7500 133.8625 132.00729 132.74937 -0.7420832 131.52896
129.7900 132.9050 131.09458 131.81875 -0.7241669 132.00729
128.7300 131.6375 128.99791 130.05375 -1.0558344 131.09458
126.7700 129.0100 124.27041 126.16625 -1.8958343 128.99791
127.8200 128.2775 124.64416 126.09750 -1.4533338 124.27041
127.5100 127.7075 125.28979 126.25688 -0.9670823 124.64416
126.1100 127.0525 125.45355 126.09313 -0.6395820 125.28979
129.4800 127.7300 127.79354 127.76813 0.0254173 125.45355
129.8200 128.2300 129.14667 128.78000 0.3666677 127.79354
133.2700 129.6700 132.16896 131.16938 0.9995841 129.14667
136.4500 132.2550 136.89458 135.03875 1.8558333 132.16896
126.8200 131.5900 133.51292 132.74375 0.7691669 136.89458
128.5500 131.2725 131.39854 131.34813 0.0504163 133.51292
126.2800 129.5250 126.79896 127.88937 -1.0904175 131.39854
123.5300 126.2950 120.66896 122.91937 -2.2504170 126.79896
124.6600 125.7550 121.66021 123.29813 -1.6379162 120.66896
122.1900 124.1650 120.38167 121.89500 -1.5133330 121.66021
118.5400 122.2300 118.26125 119.84875 -1.5874997 120.38167
117.3100 120.6750 116.45625 118.14375 -1.6875000 118.26125
113.7800 117.9550 112.45292 114.65375 -2.2008340 116.45625
115.1500 116.1950 111.08042 113.12625 -2.0458338 112.45292
114.4100 115.1625 111.27188 112.82813 -1.5562498 111.08042
118.0100 115.3375 113.96250 114.51250 -0.5499993 111.27188
114.8000 115.5925 115.62688 115.61313 0.0137510 113.96250
113.0000 115.0550 114.66854 114.82313 -0.1545831 115.62688
115.8800 115.4225 115.54021 115.49312 0.0470825 114.66854
121.0900 116.1925 117.23729 116.81937 0.4179152 115.54021
120.9500 117.7300 120.44666 119.36000 1.0866651 117.23729
120.3000 119.5550 123.43833 121.88500 1.5533330 120.44666
114.5600 119.2250 120.97396 120.27437 0.6995835 123.43833
113.6700 117.3700 115.53667 116.27000 -0.7333329 120.97396
112.2100 115.1850 110.77042 112.53625 -1.7658329 115.53667
112.9000 113.3350 108.42875 110.39125 -1.9624999 110.77042
112.5300 112.8275 109.74104 110.97562 -1.2345832 108.42875
106.9000 111.1350 107.82563 109.14938 -1.3237495 109.74104
113.7900 111.5300 110.40188 110.85313 -0.4512494 107.82563
116.3600 112.3950 113.10021 112.81813 0.2820835 110.40188
115.0700 113.0300 114.70917 114.03750 0.6716668 113.10021
115.2500 115.1175 118.61646 117.21688 1.3995831 114.70917
119.3200 116.5000 120.23229 118.73937 1.4929164 118.61646
119.8200 117.3650 120.46812 119.22687 1.2412497 120.23229
120.6000 118.7475 121.77250 120.56250 1.2099996 120.46812
115.6600 118.8500 120.49063 119.83438 0.6562503 121.77250
110.9600 116.7600 114.80896 115.58938 -0.7804165 120.49063
103.4100 112.6575 105.83042 108.56125 -2.7308328 114.80896
102.4400 108.1175 98.15292 102.13875 -3.9858325 105.83042
96.7900 103.4000 92.01042 96.56625 -4.5558332 98.15292
92.1200 98.6900 86.97959 91.66375 -4.6841663 92.01042
89.3000 95.1625 84.86250 88.98250 -4.1199999 86.97959
90.9800 92.2975 83.81417 87.20750 -3.3933331 84.86250
90.5300 90.7325 84.91896 87.24438 -2.3254169 83.81417
89.9800 90.1975 87.03083 88.29750 -1.2666668 84.91896
86.1400 89.4075 87.32208 88.15625 -0.8341673 87.03083
96.6300 90.8200 91.70437 91.35062 0.3537489 87.32208
100.7900 93.3850 97.43917 95.81750 1.6216662 91.70437
98.4900 95.5125 100.89791 98.74375 2.1541660 97.43917
98.9400 98.7125 105.55417 102.81750 2.7366667 100.89791
97.1200 98.8350 102.54125 101.05875 1.4825008 105.55417
94.8500 97.3500 96.92917 97.09750 -0.1683331 102.54125
94.1400 96.2625 93.71667 94.73500 -1.0183332 96.92917
92.4600 94.6425 91.09250 92.51250 -1.4200004 93.71667
93.2000 93.6625 90.63437 91.84562 -1.2112510 91.09250
94.1300 93.4825 91.76583 92.45250 -0.6866674 90.63437
93.4100 93.3000 92.51354 92.82812 -0.3145830 91.76583
93.9500 93.6725 93.91104 93.81562 0.0954168 92.51354
92.4200 93.4775 93.46812 93.47187 -0.0037498 93.91104
96.5400 94.0800 94.82583 94.52750 0.2983338 93.46812
95.5000 94.6025 95.67646 95.24687 0.4295832 94.82583
94.1300 94.6475 95.39021 95.09312 0.2970832 95.67646
91.0100 94.2950 94.10958 94.18375 -0.0741663 95.39021
88.2500 92.2225 89.35688 90.50313 -1.1462498 94.10958
88.4600 90.4625 86.38854 88.01812 -1.6295834 89.35688
90.3500 89.5175 86.00604 87.41062 -1.4045833 86.38854
89.0900 89.0375 86.91666 87.76500 -0.8483340 86.00604
90.5500 89.6125 89.53750 89.56750 -0.0300001 86.91666
92.4900 90.6200 92.15854 91.54312 0.6154165 89.53750
91.5800 90.9275 92.39104 91.80563 0.5854172 92.15854
88.4500 90.7675 91.24354 91.05313 0.1904171 92.39104
87.8600 90.0950 89.24917 89.58750 -0.3383333 91.24354
84.9200 88.2025 85.20979 86.40687 -1.1970835 89.24917
85.1900 86.6050 82.75083 84.29250 -1.5416668 85.20979
86.7700 86.1850 83.54021 84.59812 -1.0579167 82.75083
83.7900 85.1675 82.88000 83.79500 -0.9150000 83.54021
85.2500 85.2500 84.33021 84.69813 -0.3679164 82.88000
83.0400 84.7125 83.68542 84.09625 -0.4108333 84.33021
81.8200 83.4750 81.51458 82.29875 -0.7841663 83.68542
84.1800 83.5725 82.43917 82.89250 -0.4533333 81.51458
84.0000 83.2600 82.43500 82.76500 -0.3300000 82.43917
85.8200 83.9550 84.60396 84.34437 0.2595832 82.43500
85.1400 84.7850 86.27146 85.67687 0.5945831 84.60396
83.1200 84.5200 85.17000 84.91000 0.2600002 86.27146
86.0800 85.0400 85.81500 85.50500 0.3100005 85.17000
87.3600 85.4250 86.22917 85.90750 0.3216671 85.81500
89.8700 86.6075 88.62313 87.81688 0.8062507 86.22917
95.0900 89.6000 94.48646 92.53187 1.9545828 88.62313
95.2700 91.8975 97.75583 95.41250 2.3433323 94.48646
98.1200 94.5875 101.11146 98.50187 2.6095829 97.75583
96.0500 96.1325 101.26271 99.21062 2.0520833 101.11146
95.4600 96.2250 98.74896 97.73938 1.0095838 101.26271
93.6800 95.8275 96.05146 95.96188 0.0895840 98.74896
97.2500 95.6100 95.04542 95.27125 -0.2258333 96.05146
97.5200 95.9775 96.09000 96.04500 0.0449991 95.04542
96.3200 96.1925 96.67687 96.48312 0.1937495 96.09000
97.1800 97.0675 98.49354 97.92312 0.5704165 96.67687
99.2200 97.5600 98.99437 98.42062 0.5737502 98.49354
102.2400 98.7400 100.99000 100.09000 0.9000002 98.99437
100.5500 99.7975 102.30792 101.30375 1.0041672 100.99000
103.1300 101.2850 104.51729 103.22437 1.2929166 102.30792
105.1500 102.7675 106.30083 104.88750 1.4133333 104.51729
112.9100 105.4350 110.62459 108.54875 2.0758340 106.30083
103.3900 106.1450 109.87313 108.38188 1.4912500 110.62459
102.1800 105.9075 107.31375 106.75125 0.5625003 109.87313
102.1100 105.1475 104.29542 104.63625 -0.3408334 107.31375
100.0500 101.9325 97.18146 99.08188 -1.9004168 104.29542
98.2400 100.6450 96.03979 97.88188 -1.8420836 97.18146
97.6100 99.5025 95.66188 97.19813 -1.5362500 96.03979
99.5400 98.8600 96.56833 97.48500 -0.9166666 95.66188
99.7000 98.7725 97.65166 98.10000 -0.4483340 96.56833
101.1600 99.5025 100.07438 99.84563 0.2287502 97.65166
98.1500 99.6375 100.37813 100.08188 0.2962504 100.07438
97.2000 99.0525 98.73792 98.86375 -0.1258335 100.37813
94.5800 97.7725 95.74125 96.55375 -0.8124997 98.73792
95.7900 96.4300 93.44146 94.63688 -1.1954168 95.74125
95.8200 95.8475 93.46729 94.41937 -0.9520836 93.44146
93.5000 94.9225 92.72146 93.60188 -0.8804166 93.46729
93.7600 94.7175 93.44771 93.95563 -0.5079165 92.72146
94.2300 94.3275 93.28375 93.70125 -0.4174996 93.44771
92.1700 93.4150 91.86396 92.48438 -0.6204168 93.28375
92.1300 93.0725 91.72146 92.26187 -0.5404171 91.86396
94.9000 93.3575 93.04812 93.17187 -0.1237503 91.72146
93.7500 93.2375 93.18229 93.20437 -0.0220838 93.04812
93.5500 93.5825 94.03250 93.85250 0.1800004 93.18229
93.9200 94.0300 94.82688 94.50813 0.3187504 94.03250
92.2500 93.3675 93.05604 93.18063 -0.1245833 94.82688
90.7300 92.6125 91.30313 91.82688 -0.5237498 93.05604
92.4300 92.3325 91.07729 91.57937 -0.5020835 91.30313
94.8800 92.5725 92.32458 92.42375 -0.0991669 91.07729
96.2000 93.5600 94.87771 94.35062 0.5270827 92.32458
100.0400 95.8875 99.71979 98.18687 1.5329161 94.87771
98.9500 97.5175 101.90604 100.15062 1.7554160 99.71979
97.7100 98.2250 101.43750 100.15250 1.2849999 101.90604
100.6100 99.3275 101.97438 100.91563 1.0587505 101.43750
98.7000 98.9925 99.78729 99.46937 0.3179166 101.97438
98.7100 98.9325 99.03771 98.99562 0.0420834 99.78729
98.1300 99.0375 98.97916 99.00250 -0.0233336 99.03771
98.0400 98.3950 97.65437 97.95062 -0.2962501 98.97916
97.2400 98.0300 97.08208 97.46125 -0.3791666 97.65437
100.2500 98.4150 98.32437 98.36062 -0.0362498 97.08208
102.0000 99.3825 100.76063 100.20938 0.5512505 98.32437
103.2900 100.6950 103.30229 102.25938 1.0429170 100.76063
102.4100 101.9875 105.10000 103.85500 1.2450009 103.30229
103.9500 102.9125 105.69271 104.58063 1.1120835 105.10000
NA NA NA NA NA 105.69271
NA NA NA NA NA 106.80479
NA NA NA NA NA 107.91688
NA NA NA NA NA 109.02896
NA NA NA NA NA 110.14104
NA NA NA NA NA 111.25313
NA NA NA NA NA 112.36521
NA NA NA NA NA 113.47729
NA NA NA NA NA 114.58938
NA NA NA NA NA 115.70146
NA NA NA NA NA 116.81354
NA NA NA NA NA 117.92563
NA NA NA NA NA 119.03771
NA NA NA NA NA 120.14979
NA NA NA NA NA 121.26188
NA NA NA NA NA 122.37396
NA NA NA NA NA 123.48604
NA NA NA NA NA 124.59813
NA NA NA NA NA 125.71021
NA NA NA NA NA 126.82229
NA NA NA NA NA 127.93438
NA NA NA NA NA 129.04646
NA NA NA NA NA 130.15855
NA NA NA NA NA 131.27063
NA NA NA NA NA 132.38271
NA NA NA NA NA 133.49480
NA NA NA NA NA 134.60688
NA NA NA NA NA 135.71896
NA NA NA NA NA 136.83105
NA NA NA NA NA 137.94313
NA NA NA NA NA 139.05521
NA NA NA NA NA 140.16730
NA NA NA NA NA 141.27938
NA NA NA NA NA 142.39146
NA NA NA NA NA 143.50355
NA NA NA NA NA 144.61563
NA NA NA NA NA 145.72771
NA NA NA NA NA 146.83980
NA NA NA NA NA 147.95188
NA NA NA NA NA 149.06396
NA NA NA NA NA 150.17605
NA NA NA NA NA 151.28813
NA NA NA NA NA 152.40021
NA NA NA NA NA 153.51230
NA NA NA NA NA 154.62438
NA NA NA NA NA 155.73646
NA NA NA NA NA 156.84855
NA NA NA NA NA 157.96063
NA NA NA NA NA 159.07272
NA NA NA NA NA 160.18480
NA NA NA NA NA 161.29688
NA NA NA NA NA 162.40897
NA NA NA NA NA 163.52105
NA NA NA NA NA 164.63313
NA NA NA NA NA 165.74522
NA NA NA NA NA 166.85730
NA NA NA NA NA 167.96938
NA NA NA NA NA 169.08147
NA NA NA NA NA 170.19355
NA NA NA NA NA 171.30563
NA NA NA NA NA 172.41772
NA NA NA NA NA 173.52980
NA NA NA NA NA 174.64188
NA NA NA NA NA 175.75397
NA NA NA NA NA 176.86605
NA NA NA NA NA 177.97813
NA NA NA NA NA 179.09022
NA NA NA NA NA 180.20230
NA NA NA NA NA 181.31438
NA NA NA NA NA 182.42647
NA NA NA NA NA 183.53855
NA NA NA NA NA 184.65063
NA NA NA NA NA 185.76272
NA NA NA NA NA 186.87480
NA NA NA NA NA 187.98689
NA NA NA NA NA 189.09897
NA NA NA NA NA 190.21105
NA NA NA NA NA 191.32314
NA NA NA NA NA 192.43522
NA NA NA NA NA 193.54730

Visualisasi hasil pemulusan menggunakan metode DMA

ts.plot(amzn.ts, xlab="Time Period ", ylab="Average Price", 
        main= "DMA N=4 Data Saham Amazon Periode 2022-2023")
points(amzn.ts)
lines(data.gab2[,3],col="cyan4",lwd=2)
lines(data.gab2[,6],col="orange",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), 
       lty=8, col=c("black","cyan4","orange"), cex=0.8)

# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/05_TSA_DMA-n4.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
ts.plot(amzn.ts, xlab="Time Period ", ylab="Average Price", 
        main= "DMA N=4 Data Saham Amazon Periode 2022-2023")
points(amzn.ts)
lines(data.gab2[,3],col="cyan4",lwd=2)
lines(data.gab2[,6],col="orange",lwd=2)
legend("topleft",c("data aktual","data pemulusan","data peramalan"), 
       lty=8, col=c("black","cyan4","orange"), cex=0.8)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

Akurasi Data Latih

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).

#Menghitung nilai keakuratan data latih

error_train.dma = train.ts - data.ramal2[1:length(train.ts)]
SSE_train.dma = sum(error_train.dma[8:length(train.ts)]^2)
MSE_train.dma = mean(error_train.dma[8:length(train.ts)]^2)
MAPE_train.dma = mean(abs((error_train.dma[8:length(train.ts)]/
                             train.ts[8:length(train.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")
kable(akurasi_train.dma) %>% kable_styling()
Akurasi m = 4
SSE 7582.684345
MSE 24.619105
MAPE 3.284713

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.ts - 
  data.gab2[nrow(training) : nrow(amzn),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.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")
kable(akurasi_test.dma) %>% kable_styling()
Akurasi m = 4
SSE 91763.86806
MSE 1147.04835
MAPE 24.73109

Perhitungan akurasi pada data uji menghasilkan nilai MAPE di antara 20-50 sehingga nilai akurasi ini dapat dikategorikan sebagai layak (cukup 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 saham amazon periode 2022-2023 cenderung berpola tren sehingga menggunakan metode pemulusan 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.

install_load('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
#beta=0.2 dan alpha=0.2
des.1<- HoltWinters(train.ts, gamma = FALSE, beta = 0.2, alpha = 0.2)
plot(des.1, lwd=2)

#ramalan
ramalandes1<- forecast(des.1, h= nrow(testing))     #h = panjang periode
kable(ramalandes1) %>% kable_styling()
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
316 103.8783 95.547935 112.2087 91.1380900 116.6186
317 104.5073 95.940312 113.0742 91.4052420 117.6093
318 105.1362 96.257388 114.0150 91.5572300 118.7152
319 105.7651 96.494784 115.0355 91.5873575 119.9429
320 106.3941 96.650709 116.1374 91.4928868 121.2952
321 107.0230 96.725608 117.3204 91.2744975 122.7715
322 107.6519 96.721644 118.5822 90.9354973 124.3684
323 108.2809 96.642141 119.9196 90.4809711 126.0808
324 108.9098 96.491087 121.3285 89.9170153 127.9026
325 109.5387 96.272730 122.8047 89.2501304 129.8273
326 110.1677 95.991307 124.3440 88.4867927 131.8486
327 110.7966 95.650857 125.9424 87.6331818 133.9600
328 111.4255 95.255129 127.5960 86.6950311 136.1560
329 112.0545 94.807538 129.3014 85.6775619 138.4314
330 112.6834 94.311157 131.0557 84.5854743 140.7813
331 113.3123 93.768731 132.8560 83.4229686 143.2017
332 113.9413 93.182708 134.6998 82.1937850 145.6888
333 114.5702 92.555260 136.5852 80.9012493 148.2392
334 115.1991 91.888324 138.5100 79.5483204 150.8500
335 115.8281 91.183622 140.4725 78.1376346 153.5185
336 116.4570 90.442695 142.4713 76.6715471 156.2425
337 117.0859 89.666923 144.5050 75.1521684 159.0197
338 117.7149 88.857546 146.5722 73.5813962 161.8484
339 118.3438 88.015686 148.6719 71.9609433 164.7267
340 118.9727 87.142355 150.8031 70.2923619 167.6531
341 119.6017 86.238478 152.9649 68.5770633 170.6263
342 120.2306 85.304897 155.1563 66.8163366 173.6449
343 120.8596 84.342384 157.3767 65.0113629 176.7077
344 121.4885 83.351650 159.6253 63.1632289 179.8137
345 122.1174 82.333352 161.9015 61.2729377 182.9619
346 122.7464 81.288095 164.2046 59.3414183 186.1513
347 123.3753 80.216446 166.5341 57.3695340 189.3810
348 124.0042 79.118929 168.8895 55.3580897 192.6504
349 124.6332 77.996037 171.2703 53.3078376 195.9585
350 125.2621 76.848232 173.6760 51.2194830 199.3047
351 125.8910 75.675946 176.1061 49.0936886 202.6884
352 126.5200 74.479588 178.5603 46.9310791 206.1088
353 127.1489 73.259543 181.0382 44.7322443 209.5655
354 127.7778 72.016177 183.5395 42.4977424 213.0579
355 128.4068 70.749836 186.0637 40.2281029 216.5854
356 129.0357 69.460848 188.6105 37.9238290 220.1476
357 129.6646 68.149528 191.1797 35.5853997 223.7439
358 130.2936 66.816173 193.7710 33.2132719 227.3739
359 130.9225 65.461069 196.3839 30.8078821 231.0371
360 131.5514 64.084490 199.0184 28.3696476 234.7332
361 132.1804 62.686696 201.6740 25.8989686 238.4618
362 132.8093 61.267939 204.3507 23.3962289 242.2224
363 133.4382 59.828459 207.0480 20.8617973 246.0147
364 134.0672 58.368489 209.7658 18.2960283 249.8383
365 134.6961 56.888252 212.5040 15.6992634 253.6929
366 135.3250 55.387963 215.2621 13.0718320 257.5782
367 135.9540 53.867830 218.0401 10.4140516 261.4939
368 136.5829 52.328054 220.8378 7.7262292 265.4396
369 137.2118 50.768828 223.6549 5.0086615 269.4150
370 137.8408 49.190340 226.4912 2.2616355 273.4199
371 138.4697 47.592773 229.3466 -0.5145707 277.4540
372 139.0986 45.976302 232.2210 -3.3196875 281.5170
373 139.7276 44.341098 235.1141 -6.1534535 285.6086
374 140.3565 42.687328 238.0257 -9.0156148 289.7286
375 140.9854 41.015152 240.9557 -11.9059251 293.8768
376 141.6144 39.324727 243.9040 -14.8241446 298.0529
377 142.2433 37.616205 246.8704 -17.7700403 302.2567
378 142.8722 35.889736 249.8548 -20.7433854 306.4879
379 143.5012 34.145462 252.8569 -23.7439590 310.7463
380 144.1301 32.383526 255.8767 -26.7715459 315.0318
381 144.7591 30.604063 258.9140 -29.8259364 319.3440
382 145.3880 28.807209 261.9688 -32.9069258 323.6829
383 146.0169 26.993093 265.0407 -36.0143146 328.0482
384 146.6459 25.161842 268.1299 -39.1479078 332.4396
385 147.2748 23.313582 271.2360 -42.3075151 336.8571
386 147.9037 21.448434 274.3590 -45.4929506 341.3004
387 148.5327 19.566517 277.4988 -48.7040325 345.7693
388 149.1616 17.667947 280.6552 -51.9405831 350.2638
389 149.7905 15.752837 283.8282 -55.2024284 354.7835
390 150.4195 13.821299 287.0176 -58.4893983 359.3283
391 151.0484 11.873442 290.2233 -61.8013262 363.8981
392 151.6773 9.909372 293.4453 -65.1380491 368.4927
393 152.3063 7.929195 296.6833 -68.4994071 373.1119
394 152.9352 5.933011 299.9374 -71.8852436 377.7556
395 153.5641 3.920923 303.2073 -75.2954052 382.4237
#beta=0.3 dan aplha=0.6
des.2<- HoltWinters(train.ts, gamma = FALSE, beta = 0.3, alpha = 0.6)
plot(des.2, lwd=2)

#ramalan
ramalandes2<- forecast(des.2, h=nrow(testing))
kable(ramalandes2) %>% kable_styling()
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
316 104.6853 99.3200698 110.0506 96.4798745 112.8908
317 105.5228 98.7184684 112.3272 95.1164557 115.9292
318 106.3603 97.8263750 114.8943 93.3087678 119.4119
319 107.1978 96.6983780 117.6973 91.1402965 123.2554
320 108.0353 95.3706163 120.7001 88.6663114 127.4044
321 108.8729 93.8673923 123.8783 85.9239800 131.8217
322 109.7104 92.2058056 127.2149 82.9394535 136.4813
323 110.5479 90.3984889 130.6972 79.7320524 141.3637
324 111.3854 88.4551926 134.3156 76.3166883 146.4541
325 112.2229 86.3837226 138.0620 72.7052996 151.7405
326 113.0604 84.1905175 141.9303 68.9077330 157.2130
327 113.8979 81.8810165 145.9148 64.9323072 162.8635
328 114.7354 79.4599049 150.0109 60.7861878 168.6846
329 115.5729 76.9312823 154.2145 56.4756445 174.6702
330 116.4104 74.2987823 158.5220 52.0062344 180.8146
331 117.2479 71.5656598 162.9302 47.3829355 187.1129
332 118.0854 68.7348569 167.4360 42.6102471 193.5606
333 118.9229 65.8090525 172.0368 37.6922666 200.1536
334 119.7604 62.7907022 176.7302 32.6327494 206.8881
335 120.5979 59.6820692 181.5138 27.4351567 213.7607
336 121.4354 56.4852494 186.3856 22.1026941 220.7682
337 122.2729 53.2021925 191.3437 16.6383430 227.9076
338 123.1105 49.8347185 196.3862 11.0448871 235.1760
339 123.9480 46.3845324 201.5114 5.3249341 242.5710
340 124.7855 42.8532365 206.7177 -0.5190659 250.0900
341 125.6230 39.2423400 212.0036 -6.4848042 257.7307
342 126.4605 35.5532690 217.3677 -12.5701002 265.4911
343 127.2980 31.7873733 222.8086 -18.7728896 273.3689
344 128.1355 27.9459333 228.3250 -25.0912138 281.3622
345 128.9730 24.0301663 233.9158 -31.5232114 289.4692
346 129.8105 20.0412313 239.5798 -38.0671098 297.6881
347 130.6480 15.9802337 245.3158 -44.7212185 306.0172
348 131.4855 11.8482295 251.1228 -51.4839224 314.4549
349 132.3230 7.6462288 256.9998 -58.3536767 322.9997
350 133.1605 3.3751991 262.9458 -65.3290017 331.6500
351 133.9980 -0.9639315 268.9600 -72.4084781 340.4045
352 134.8355 -5.3702719 275.0413 -79.5907431 349.2618
353 135.6730 -9.8429657 281.1890 -86.8744866 358.2206
354 136.5105 -14.3811883 287.4023 -94.2584481 367.2795
355 137.3481 -18.9841460 293.6803 -101.7414131 376.4375
356 138.1856 -23.6510729 300.0222 -109.3222107 385.6933
357 139.0231 -28.3812304 306.4274 -116.9997112 395.0458
358 139.8606 -33.1739049 312.8950 -124.7728231 404.4940
359 140.6981 -38.0284066 319.4246 -132.6404915 414.0366
360 141.5356 -42.9440683 326.0152 -140.6016961 423.6729
361 142.3731 -47.9202439 332.6664 -148.6554487 433.4016
362 143.2106 -52.9563077 339.3775 -156.8007924 443.2220
363 144.0481 -58.0516529 346.1479 -165.0367994 453.1330
364 144.8856 -63.2056913 352.9769 -173.3625695 463.1338
365 145.7231 -68.4178514 359.8641 -181.7772294 473.2235
366 146.5606 -73.6875786 366.8088 -190.2799304 483.4012
367 147.3981 -79.0143337 373.8106 -198.8698481 493.6661
368 148.2356 -84.3975925 380.8688 -207.5461809 504.0174
369 149.0731 -89.8368453 387.9831 -216.3081489 514.4544
370 149.9106 -95.3315955 395.1529 -225.1549930 524.9763
371 150.7481 -100.8813601 402.3777 -234.0859742 535.5823
372 151.5857 -106.4856680 409.6570 -243.1003724 546.2717
373 152.4232 -112.1440606 416.9904 -252.1974858 557.0438
374 153.2607 -117.8560902 424.3774 -261.3766300 567.8980
375 154.0982 -123.6213203 431.8177 -270.6371374 578.8335
376 154.9357 -129.4393250 439.3107 -279.9783566 589.8497
377 155.7732 -135.3096884 446.8560 -289.3996514 600.9460
378 156.6107 -141.2320042 454.4534 -298.9004007 612.1218
379 157.4482 -147.2058757 462.1023 -308.4799975 623.3764
380 158.2857 -153.2309149 469.8023 -318.1378486 634.7092
381 159.1232 -159.3067427 477.5532 -327.8733741 646.1198
382 159.9607 -165.4329881 485.3544 -337.6860067 657.6074
383 160.7982 -171.6092883 493.2057 -347.5751915 669.1716
384 161.6357 -177.8352880 501.1067 -357.5403853 680.8118
385 162.4732 -184.1106398 509.0571 -367.5810564 692.5275
386 163.3107 -190.4350030 517.0565 -377.6966841 704.3182
387 164.1482 -196.8080443 525.1045 -387.8867584 716.1832
388 164.9857 -203.2294368 533.2009 -398.1507795 728.1223
389 165.8233 -209.6988603 541.3454 -408.4882578 740.1348
390 166.6608 -216.2160008 549.5375 -418.8987129 752.2202
391 167.4983 -222.7805505 557.7771 -429.3816740 764.3782
392 168.3358 -229.3922073 566.0637 -439.9366793 776.6082
393 169.1733 -236.0506750 574.3972 -450.5632756 788.9098
394 170.0108 -242.7556627 582.7772 -461.2610183 801.2826
395 170.8483 -249.5068852 591.2035 -472.0294709 813.7260
# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/06_TSA_DES-1.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
plot(des.1, lwd=2)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2
# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/07_TSA_DES-2.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
plot(des.2, lwd=2)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

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.

Plot Data Latih dan Data Uji

Selanjutnya jika ingin membandingkan plot data latih dan data uji adalah sebagai berikut.

#Visually evaluate the prediction
plot(amzn.ts)
lines(des.1$fitted[,1], lty=2, col="purple1", lwd=2)
lines(ramalandes1$mean, col="orange", lwd=2)

# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/08_TSA_DES_Train-Test.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
plot(amzn.ts)
lines(des.1$fitted[,1], lty=2, col="purple1", lwd=2)
lines(ramalandes1$mean, col="orange", lwd=2)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

Untuk mendapatkan nilai parameter optimum dari DES, argumen alpha dan beta dapat dibuat NULL seperti berikut.

#Lamda dan gamma optimum
des.opt<- HoltWinters(train.ts, gamma = FALSE)
des.opt
## Holt-Winters exponential smoothing with trend and without seasonal component.
## 
## Call:
## HoltWinters(x = train.ts, gamma = FALSE)
## 
## Smoothing parameters:
##  alpha: 0.9851685
##  beta : 0.0426844
##  gamma: FALSE
## 
## Coefficients:
##          [,1]
## a 103.9307404
## b   0.2793775
plot(des.opt, lwd=2)

#ramalan
ramalandesopt<- forecast(des.opt, h=nrow(testing))   #h = panjang periode
kable(ramalandesopt) %>% kable_styling()
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
316 104.2101 99.357915 109.0623 96.7893134 111.6309
317 104.4895 97.533425 111.4456 93.8511035 115.1279
318 104.7689 96.090993 113.4468 91.4972014 118.0405
319 105.0483 94.831442 115.2651 89.4229907 120.6735
320 105.3276 93.678469 116.9768 87.5117763 123.1435
321 105.6070 92.593625 118.6204 85.7047568 125.5093
322 105.8864 91.554532 120.2182 83.9677084 127.8051
323 106.1658 90.546932 121.7846 82.2788245 130.0527
324 106.4451 89.561156 123.3291 80.6233159 132.2670
325 106.7245 88.590338 124.8587 78.9906838 134.4583
326 107.0039 87.629432 126.3784 77.3732125 136.6346
327 107.2833 86.674630 127.8919 75.7650746 138.8015
328 107.5626 85.722989 129.4023 74.1617719 140.9635
329 107.8420 84.772199 130.9119 72.5597703 143.1243
330 108.1214 83.820417 132.4224 70.9562520 145.2866
331 108.4008 82.866156 133.9354 69.3489427 147.4526
332 108.6802 81.908204 135.4521 67.7359881 149.6243
333 108.9595 80.945564 136.9735 66.1158634 151.8032
334 109.2389 79.977410 138.5004 64.4873055 153.9905
335 109.5183 79.003053 140.0335 62.8492623 156.1873
336 109.7977 78.021918 141.5734 61.2008526 158.3945
337 110.0770 77.033521 143.1206 59.5413359 160.6128
338 110.3564 76.037453 144.6754 57.8700877 162.8428
339 110.6358 75.033369 146.2382 56.1865806 165.0850
340 110.9152 74.020978 147.8094 54.4903680 167.3400
341 111.1946 73.000032 149.3891 52.7810720 169.6080
342 111.4739 71.970321 150.9775 51.0583729 171.8895
343 111.7533 70.931671 152.5749 49.3220003 174.1846
344 112.0327 69.883931 154.1814 47.5717262 176.4936
345 112.3121 68.826975 155.7972 45.8073593 178.8168
346 112.5914 67.760701 157.4222 44.0287395 181.1541
347 112.8708 66.685020 159.0566 42.2357340 183.5059
348 113.1502 65.599861 160.7005 40.4282337 185.8722
349 113.4296 64.505167 162.3540 38.6061498 188.2530
350 113.7090 63.400891 164.0170 36.7694117 190.6485
351 113.9883 62.286997 165.6897 34.9179645 193.0587
352 114.2677 61.163458 167.3720 33.0517669 195.4836
353 114.5471 60.030256 169.0639 31.1707896 197.9234
354 114.8265 58.887377 170.7655 29.2750142 200.3779
355 115.1058 57.734817 172.4769 27.3644312 202.8472
356 115.3852 56.572573 174.1979 25.4390398 205.3314
357 115.6646 55.400651 175.9285 23.4988460 207.8303
358 115.9440 54.219058 177.6689 21.5438624 210.3441
359 116.2233 53.027807 179.4189 19.5741072 212.8726
360 116.5027 51.826912 181.1785 17.5896037 215.4159
361 116.7821 50.616392 182.9478 15.5903793 217.9738
362 117.0615 49.396267 184.7267 13.5764654 220.5465
363 117.3409 48.166560 186.5152 11.5478970 223.1338
364 117.6202 46.927295 188.3132 9.5047117 225.7358
365 117.8996 45.678499 190.1207 7.4469500 228.3523
366 118.1790 44.420200 191.9378 5.3746548 230.9833
367 118.4584 43.152428 193.7643 3.2878707 233.6289
368 118.7377 41.875212 195.6003 1.1866443 236.2889
369 119.0171 40.588585 197.4457 -0.9289764 238.9632
370 119.2965 39.292578 199.3004 -3.0589418 241.6519
371 119.5759 37.987224 201.1645 -5.2032016 244.3550
372 119.8553 36.672557 203.0380 -7.3617041 247.0722
373 120.1346 35.348612 204.9207 -9.5343970 249.8037
374 120.4140 34.015423 206.8126 -11.7212273 252.5493
375 120.6934 32.673025 208.7138 -13.9221413 255.3089
376 120.9728 31.321454 210.6241 -16.1370849 258.0826
377 121.2521 29.960744 212.5435 -18.3660038 260.8703
378 121.5315 28.590933 214.4721 -20.6088430 263.6719
379 121.8109 27.212055 216.4097 -22.8655477 266.4873
380 122.0903 25.824148 218.3564 -25.1360627 269.3166
381 122.3697 24.427246 220.3121 -27.4203329 272.1596
382 122.6490 23.021387 222.2767 -29.7183030 275.0164
383 122.9284 21.606605 224.2502 -32.0299178 277.8867
384 123.2078 20.182938 226.2326 -34.3551223 280.7707
385 123.4872 18.750421 228.2239 -36.6938615 283.6682
386 123.7665 17.309090 230.2240 -39.0460805 286.5792
387 124.0459 15.858981 232.2329 -41.4117247 289.5036
388 124.3253 14.400129 234.2505 -43.7907396 292.4413
389 124.6047 12.932570 236.2768 -46.1830711 295.3924
390 124.8841 11.456339 238.3118 -48.5886652 298.3568
391 125.1634 9.971471 240.3554 -51.0074683 301.3343
392 125.4428 8.478001 242.4076 -53.4394270 304.3250
393 125.7222 6.975964 244.4684 -55.8844882 307.3289
394 126.0016 5.465394 246.5377 -58.3425994 310.3457
395 126.2809 3.946325 248.6156 -60.8137082 313.3756
# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/09_TSA_DES-Opt.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
plot(des.opt, lwd=2)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

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 -0.282516  1.564783  3.383031  4.334296
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                     13207.601464
## MSE                        41.928894
## MAPE                        4.090672
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 -0.282516  1.717341  2.611163  2.130670
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                      5469.804193
## MSE                        17.364458
## MAPE                        2.666762

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, baik skenario 1 dan 2dapat dikategorikan peramalan sangat baik.

Akurasi Data Uji

#Akurasi Data Testing
selisihdes1 <- ramalandes1$mean - testing[,3]
selisihdes1
## Time Series:
## Start = 316 
## End = 395 
## Frequency = 1 
##  [1] -0.07166725  3.40726591  3.07620007  3.59513423  6.47406839  9.19299856
##  [7]  5.25193272  5.77086688  6.16980504  7.23873420  5.86766836  6.98660752
## [13]  4.46554068  5.84447484 10.11340800  8.33233916  4.12127632  9.12021348
## [19] 13.14914164 12.19808181 12.80701097 13.08594713 12.05487729 12.51381345
## [25] 12.35274661  9.41168177  8.05061793 10.59955009 10.28848925  8.71741841
## [31]  7.24635457  5.22528673  7.75422289  9.62315505 10.27209322  9.14102538
## [37] 11.51995954  7.03889270  6.11782386  7.82676002  6.26569918  5.41463034
## [43]  4.99356150  4.31249766 10.32142982  7.93036698  9.37930114  6.86823530
## [49]  7.40716546  8.27610563  8.21503679 10.46397395 10.80290711 12.38183827
## [55]  7.69078043  9.13970659 11.76864075 10.54758391 11.31651807 13.08544323
## [61] 11.25437839 12.02331255 12.49224271 15.14118088 14.35011704 17.62905320
## [67] 16.60798536 15.21691552 12.34584968 12.59479384 14.34372300 15.70265316
## [73] 13.80158832 19.83051648 20.41945764 22.24838880 22.54732096 24.15626612
## [79] 24.68519429 21.35412145
SSEtestingdes1<-sum(selisihdes1^2)
MSEtestingdes1<-SSEtestingdes1/
                length(testing[,3])
MAPEtestingdes1<-sum(abs(selisihdes1/
                         testing[,3])*100)/
                 length(testing[,3])

selisihdes2<-ramalandes2$mean - testing[,3]
selisihdes2
## Time Series:
## Start = 316 
## End = 395 
## Frequency = 1 
##  [1]  0.7353294  4.4228343  4.3003401  5.0278459  8.1153517 11.0428535
##  [7]  7.3103593  8.0378651  8.6453749  9.9228757  8.7603815 10.0878923
## [13]  7.7753971  9.3629030 13.8404078 12.2679106  8.2654194 13.4729282
## [19] 17.7104280 16.9679398 17.7854406 18.2729484 17.4504502 18.1179580
## [25] 18.1654628 15.4329696 14.2804775 17.0379813 16.9354921 15.5729929
## [31] 14.3105007 12.4980045 15.2355123 17.3130161 18.1705259 17.2480297
## [37] 19.8355355 15.5630403 14.8505431 16.7680510 15.4155618 14.7730646
## [43] 14.5605674 14.0880752 20.3055790 18.1230878 19.7805936 17.4780994
## [49] 18.2256012 19.3031130 19.4506158 21.9081246 22.4556295 24.2431323
## [55] 19.7606461 21.4181439 24.2556497 23.2431645 24.2206703 26.1981671
## [61] 24.5756739 25.5531797 26.2306815 29.0881913 28.5056992 31.9932070
## [67] 31.1807108 29.9982126 27.3357184 27.7932342 29.7507350 31.3182368
## [73] 29.6257436 35.8632434 36.6607562 38.6982590 39.2057628 41.0232797
## [79] 41.7607795 38.6382783
SSEtestingdes2<-sum(selisihdes2^2)
MSEtestingdes2<-SSEtestingdes2/
                length(testing[,3])
MAPEtestingdes2<-sum(abs(selisihdes2/
                         testing[,3])*100)/
                 length(testing[,3])

selisihdesopt<-ramalandesopt$mean - testing[,3]
selisihdesopt
## Time Series:
## Start = 316 
## End = 395 
## Frequency = 1 
##  [1]   0.2601209   3.3894974   2.7088749   2.8782524   5.4076299   7.7770034
##  [7]   3.4863808   3.6557583   3.7051398   4.4245123   2.7038898   3.4732723
## [13]   0.6026488   1.6320262   5.5514027   3.4207772  -1.1398423   3.5095382
## [19]   7.1889097   5.8882932   6.1476657   6.0770451   4.6964186   4.8057981
## [25]   4.2951746   1.0045531  -0.7060674   1.4933081   0.8326905  -1.0879370
## [31]  -2.9085575  -5.2791820  -3.0998025  -1.5804270  -1.2810455  -2.7616700
## [37]  -0.7322926  -5.5629161  -6.8335416  -5.4741621  -7.3847796  -8.5854051
## [43]  -9.3560306 -10.3866512  -4.7272757  -7.4678952  -6.3685177  -9.2291402
## [49]  -9.0397667  -8.5203832  -8.9310087  -7.0316283  -7.0422518  -5.8128773
## [55] -10.8534918  -9.7541223  -7.4747448  -9.0453583  -8.6259809  -7.2066124
## [61]  -9.3872339  -8.9678564  -8.8484829  -6.5491014  -7.6897219  -4.7603425
## [67]  -6.1309670  -7.8715935 -11.0922160 -11.1928285  -9.7934560  -8.7840825
## [73] -11.0347040  -5.3553326  -5.1159481  -3.6365736  -3.6871981  -2.4278096
## [79]  -2.2484381  -5.9290676
SSEtestingdesopt<-sum(selisihdesopt^2)
MSEtestingdesopt<-SSEtestingdesopt/
                  length(testing[,3])
MAPEtestingdesopt<-sum(abs(selisihdesopt/
                           testing[,3])*100)/
                  length(testing[,3])

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")
kable(akurasitestingdes) %>% kable_styling()
des ske1 des ske2 des opt
SSE 10758.291043 37152.67055 3163.79939
MSE 134.478638 464.40838 39.54749
MAPE 8.728892 16.06336 4.57769

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 dan DES skenario 1 dapat dikategorikan peramalan sangat baik, sedangkan DES skenario 2 peramalan baik.

3. Winter Aditif

Metode Holt-Winter untuk peramalan data musiman menggunakan tiga persamaan pemulusan yang terdiri atas persamaan untuk level \((L_t)\), trend \((B_t)\), dan komponen seasonal / musiman \((S_t)\) dengan parameter pemulusan berupa \(\alpha\), \(\beta\), dan \(\gamma\). Metode Holt-Winter musiman terbagi menjadi dua, yaitu metode aditif dan metode multiplikatif. Perbedaan persamaan dan contoh datanya adalah sebagai berikut.

Pemulusan data musiman dengan metode Winter dilakukan menggunakan fungsi HoltWinters() dengan memasukkan argumen tambahan, yaitu gamma() dan seasonal() . Arguman seasonal() diinisialisasi menyesuaikan jenis musiman, aditif atau multiplikatif.

Penentuan Frekuensi

ts.plot(amzn.ts, xlab="Time Period", ylab="Harga Saham", 
        main = "Time Series Amazon", col='orange', lwd=2)
points(amzn.ts, col='orange', lwd=1.5)
# Tambahkan garis vertikal
abline(v = 100, col = "red", lty = 2)
abline(v = 200, col = "blue", lty = 2)
abline(v = 300, col = "purple", lty = 2)

Nampak bahwa pola frekuensi data nya cenderung diangka 100.

# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/10_TSA_Frekuensi.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
ts.plot(amzn.ts, xlab="Time Period", ylab="Harga Saham", 
        main = "Time Series Amazon", col='orange', lwd=2)
points(amzn.ts, col='orange', lwd=1.5)
# Tambahkan garis vertikal
abline(v = 100, col = "red", lty = 2)
abline(v = 200, col = "blue", lty = 2)
abline(v = 300, col = "purple", lty = 2)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

Pembagian data Musiman

training.ts<-ts(training[,3], frequency = 100) #Kebentuk puncak berapakali
testing.ts<-ts(testing[,3], frequency = 100)

Pemulusan

Perhitungan dengan model aditif dilakukan jika plot data asli menunjukkan fluktuasi musiman yang relatif stabil (konstan).

#Pemulusan dengan winter aditif 
winter1 <- HoltWinters(training.ts,
                       alpha=0.2, beta=0.1, gamma=0.1, 
                       seasonal = "additive")
kable(winter1$fitted) %>% kable_styling()
xhat level trend season
125.61952 142.61579 -0.2524484268 -16.7438230
126.38595 139.45494 -0.5432889035 -12.5257070
128.60878 136.66376 -0.7680778065 -7.2869065
127.66012 134.21583 -0.9360633229 -5.6196515
129.43456 132.08454 -1.0555856698 -1.5943949
124.55647 130.24425 -1.1340568853 -4.5537138
125.57788 128.66889 -1.1781864220 -1.9128233
122.65648 127.33313 -1.1939440736 -3.4827093
119.98428 126.20789 -1.1870736130 -5.0365393
114.36454 125.25996 -1.1631591716 -9.7322598
107.43806 124.45389 -1.1274499850 -15.8883798
101.12663 123.76883 -1.0832112361 -21.5589914
99.52035 123.19429 -1.0323438618 -22.6416039
104.78111 122.71988 -0.9765508345 -16.9622214
100.78943 122.32111 -0.9187730456 -20.6129079
103.38363 121.97645 -0.8613615032 -17.7314559
105.91147 121.68236 -0.8046341394 -14.9662544
106.27419 121.43143 -0.7492636159 -14.4079824
109.85487 121.21733 -0.6957474246 -10.6667150
113.98930 121.03861 -0.6440447718 -6.4052705
110.90250 120.88871 -0.5946307038 -9.3915760
105.23746 120.75758 -0.5482806862 -14.9718375
106.89194 120.64180 -0.5050298078 -13.2448340
104.32899 120.54239 -0.4644686580 -15.7489305
107.87256 120.45412 -0.4268484146 -12.1547141
111.99157 120.36476 -0.3930996014 -7.9800920
112.94941 120.27335 -0.3629309592 -6.9610100
115.09328 120.18653 -0.3353190271 -4.7579399
114.42641 120.09856 -0.3105845022 -5.3615659
110.72435 120.01069 -0.2883126930 -8.9980269
108.34185 119.92751 -0.2677997925 -11.3178584
109.61239 119.83534 -0.2502368263 -9.9727174
109.85388 119.74263 -0.2344845169 -9.6542648
112.80926 119.66337 -0.2189621295 -6.6351413
113.06637 119.59255 -0.2041473271 -6.3220324
117.51440 119.52713 -0.1902747379 -1.8224579
122.02900 119.47598 -0.1763627207 2.7293875
123.85446 119.44781 -0.1615428018 4.5681950
121.59738 119.44138 -0.1460321602 2.3020361
120.23863 119.45987 -0.1295798043 0.9083421
113.82866 119.51056 -0.1115524245 -5.5703464
119.98668 119.59528 -0.0919257227 0.4833341
121.36611 119.70001 -0.0722593963 1.7383596
134.15465 119.81053 -0.0539816974 14.3981026
134.69865 119.91562 -0.0380748047 14.8211097
133.52929 120.01581 -0.0242478951 13.5377222
138.95120 120.11771 -0.0116335597 18.8451222
142.09329 120.21984 -0.0002574204 21.8737152
140.38274 120.31492 0.0092768393 20.0585462
138.99744 120.40765 0.0176220109 18.5721722
128.70267 120.50778 0.0258732082 8.1690173
135.43007 122.35912 0.2084197594 12.8625238
141.72979 124.01953 0.3536184752 17.3566447
142.51324 124.15519 0.3318225989 18.0262292
146.86372 124.69436 0.3525578366 21.8168012
145.30575 124.31018 0.2788832302 20.7166932
146.10901 124.48391 0.2683681611 21.3567341
147.03329 123.95048 0.1881880634 22.8946221
150.80835 123.19201 0.0935224039 27.5228222
148.88925 120.76986 -0.1580447123 28.2774402
142.74624 117.47796 -0.4714297714 25.7397106
137.47302 115.18128 -0.6539547524 22.9456961
137.08344 113.79272 -0.7274151914 24.0181286
141.60742 113.10462 -0.7234839683 29.2262801
134.58308 110.20965 -0.9406323210 25.3140611
127.66222 108.31040 -1.0364941177 20.3883151
126.20894 107.48746 -1.0151386919 19.7366106
122.29763 106.58454 -1.0039174664 16.7170055
119.48126 106.68509 -0.8934699764 13.6896320
120.34288 107.39737 -0.7328950744 13.6784015
125.98768 107.81790 -0.6175526611 18.7873305
122.70986 107.89881 -0.5477063572 15.3587575
125.17059 108.77314 -0.4055035066 16.8029545
132.28422 109.98752 -0.2435151568 22.5402196
129.33871 110.57716 -0.1601996142 18.9217516
123.40384 109.91321 -0.2105737678 13.7012006
120.85329 110.73187 -0.1076505355 10.2290665
124.11118 111.70956 0.0008836616 12.4007305
117.70334 111.59421 -0.0107399329 6.1198664
118.40492 112.97481 0.1283933708 5.3017200
126.24906 113.86022 0.2040950354 12.1847475
104.91712 112.52250 0.0499138960 -7.6552925
108.37058 115.05099 0.2977714477 -6.9781796
110.02730 116.43064 0.4059598210 -6.8093076
113.61269 117.86114 0.5084139435 -4.7568676
105.09029 118.52902 0.5243602035 -13.9630942
107.09851 121.63732 0.7827544984 -15.3215682
103.88083 123.96038 0.9367843442 -21.0163337
107.19534 126.72100 1.1191677834 -20.6448261
107.04386 129.57710 1.2928609683 -23.8261001
113.32158 133.67918 1.5737837564 -21.9313836
123.01898 136.77865 1.7263520012 -15.4860245
122.15410 137.96121 1.6719724965 -17.4790760
126.84269 138.11436 1.5200903722 -12.7917570
117.22443 136.99991 1.2566364841 -21.0321164
117.61311 137.25366 1.1563478537 -20.7969019
118.06666 137.46739 1.0620857622 -20.4628164
117.92793 137.42214 0.9513526034 -20.4455604
113.01618 136.16791 0.7307939643 -23.8825240
116.63726 137.05347 0.7462704244 -21.1624725
120.57782 137.74428 0.7407251549 -17.9071849
124.58915 137.38344 0.6305686645 -13.4248626
128.63112 136.14618 0.4437856531 -7.9588486
128.88757 134.72774 0.2575632500 -6.0977409
131.33973 133.17179 0.0762119086 -1.9082798
126.23125 131.10006 -0.1385826645 -4.7302320
126.52137 128.84723 -0.3500075061 -1.9758539
121.26849 125.38495 -0.6612348907 -3.4552275
115.19273 121.15202 -1.0184045291 -4.9408816
106.72018 117.58307 -1.2734591071 -9.5894231
97.14008 114.32357 -1.4720627769 -15.7114248
88.91951 111.84749 -1.5724643823 -21.3555219
86.36784 110.35113 -1.5648544384 -22.4184318
91.50498 109.70871 -1.4726111963 -16.7311103
86.16572 108.04110 -1.4921108891 -20.3832618
88.39147 107.31184 -1.4158253156 -17.5045465
89.24010 105.44572 -1.4608547363 -14.7447723
89.95587 105.46285 -1.3130567013 -14.1939177
94.76034 106.31662 -1.0963741525 -10.4599044
98.73678 105.96617 -1.0217809560 -6.2076142
94.76115 104.98504 -1.0177165026 -9.2061759
88.66972 104.43909 -0.9705393567 -14.7988340
90.77509 104.70461 -0.8469337912 -13.0825894
88.15257 104.53066 -0.7796355336 -15.5984496
91.89930 104.61251 -0.6934870140 -12.0197188
95.65227 104.17916 -0.6674731135 -7.8594175
95.65875 103.20723 -0.6979185574 -6.8505623
96.65767 102.05956 -0.7428935055 -4.6590018
94.70561 100.77514 -0.7970469426 -5.2724787
89.76223 99.52097 -0.8427591969 -8.9159753
88.07895 100.03376 -0.7072038245 -11.2476065
90.34228 100.81077 -0.5587828454 -9.9097081
90.93432 101.00953 -0.4830284327 -9.5921753
93.48424 100.54164 -0.4815148906 -6.5758821
92.16053 99.01327 -0.5861996624 -6.2665420
95.25995 97.68697 -0.6602103088 -1.7668098
98.07502 96.04477 -0.7584092830 2.7886672
97.18148 93.48935 -0.9381098579 4.6302376
92.52205 91.22495 -1.0707393883 2.3678455
90.05687 90.14780 -1.0713804824 0.9804516
82.84829 89.38104 -1.0409177910 -5.4918396
89.09358 89.46047 -0.9288835583 0.5619994
89.14278 88.28487 -0.9535552005 1.8114704
99.91047 86.48676 -1.0380108901 14.4617302
96.04865 82.50465 -1.3324203400 14.8764173
91.38669 79.31650 -1.5179933350 13.5881795
93.49987 76.27917 -1.6699270287 18.8906267
93.03620 72.95927 -1.8349244075 21.9118522
87.18218 69.12510 -2.0348483121 20.0919268
82.48090 66.01782 -2.1420919819 18.6051769
71.00664 64.21555 -2.1081100800 8.8992035
76.30118 64.70611 -1.8482428877 13.4433186
80.37322 64.76163 -1.6578665791 17.2694612
80.60376 64.05712 -1.5625310728 18.1091702
83.00773 62.99784 -1.5122061447 21.5221028
81.32396 62.10008 -1.4507607516 20.6746329
81.56251 61.85653 -1.3300398444 21.0360137
83.54006 62.18799 -1.1638898988 22.5159595
88.91775 63.33409 -0.9328911994 26.5165537
89.88970 63.67165 -0.8058462799 27.0238999
88.88023 64.51186 -0.6412402236 25.0096107
87.45858 65.30457 -0.4978447895 22.6518543
90.10305 66.40701 -0.3378164991 24.0338535
94.87600 66.78459 -0.2662774993 28.3576867
91.70493 66.99311 -0.2187974139 24.9306140
88.30857 67.93733 -0.1024960027 20.4737368
89.27635 69.43712 0.0577326493 19.7814955
88.45018 71.07558 0.2158057449 17.1587955
88.20848 73.44535 0.4312021256 14.3319316
91.53446 76.68286 0.7118324052 14.1397712
99.15666 79.19780 0.8921432900 19.0667157
97.78379 80.88461 0.9716101210 15.9275689
101.89930 83.32946 1.1189344199 17.4509079
110.86317 86.65054 1.3391484298 22.8734817
106.40499 86.49505 1.1896850934 18.7202549
102.05782 86.83974 1.1051852781 14.1128935
99.72479 87.95536 1.1062289693 10.6632033
102.59360 89.12663 1.1127331862 12.3542361
97.07070 89.36864 1.0256611404 6.6763997
97.14314 90.50216 1.0364470697 5.6045266
104.67039 92.01798 1.0843843320 11.5680230
86.42940 92.10829 0.9849764491 -6.6638623
90.77355 96.03939 1.2795884596 -6.5454261
93.82189 98.79427 1.4271175340 -6.3994911
97.69860 100.89700 1.4946796432 -4.6930826
90.27075 101.76796 1.4323076676 -12.9295170
91.14136 104.30412 1.5426926020 -14.7054488
88.13201 106.78254 1.6362653132 -20.2867999
91.28598 109.49240 1.7436251978 -19.9500534
90.82153 111.73083 1.7931057112 -22.7024089
94.74580 114.20563 1.8612751389 -21.3211106
101.65797 115.55175 1.8097591111 -15.7035426
98.98851 115.45591 1.6191997262 -18.0866045
103.94927 116.25741 1.5374295628 -13.8455725
95.65516 115.75499 1.3334441606 -21.4332710
96.78479 116.66740 1.2913409847 -21.1739503
97.71408 117.38578 1.2340451112 -20.9057491
97.32398 117.52701 1.1247635252 -21.3277950
94.50525 117.33298 0.9928839643 -23.8206181
97.67754 117.91082 0.9513790390 -21.1846536
100.85030 118.30269 0.8954281673 -18.3478109
104.89848 118.26805 0.8024220525 -14.1719947
110.10029 118.09878 0.7052524756 -8.7037382
110.23307 116.57397 0.4822465548 -6.8231462
112.01593 114.55160 0.2317850883 -2.7674581
106.92994 112.50220 0.0036664901 -5.5759313
107.47819 110.85988 -0.1609323332 -3.2207634
103.72511 108.94531 -0.3362960631 -4.8839060
101.08069 107.48999 -0.4481983141 -5.9610999
95.54081 106.43366 -0.5090121913 -10.3838378
89.67642 106.26448 -0.4750283514 -16.1130313
86.31553 107.90417 -0.2635568027 -21.3250821
88.77818 110.77751 0.0501325889 -22.0494588
97.26126 113.73000 0.3403690048 -16.8091090
95.46534 115.10012 0.4433438218 -20.0781195
xhat1 <- winter1$fitted[,2]

winter1.opt<- HoltWinters(training.ts, 
                          #Supaya optimum
                          alpha= NULL,  beta = NULL, gamma = NULL, 
                          seasonal = "additive")
winter1.opt
## Holt-Winters exponential smoothing with trend and additive seasonal component.
## 
## Call:
## HoltWinters(x = training.ts, alpha = NULL, beta = NULL, gamma = NULL,     seasonal = "additive")
## 
## Smoothing parameters:
##  alpha: 0.7420479
##  beta : 0
##  gamma: 1
## 
## Coefficients:
##             [,1]
## a    123.2905107
## b     -0.2524484
## s1   -19.2876168
## s2   -13.3250480
## s3   -13.0011951
## s4   -11.7996186
## s5    -7.6141066
## s6    -9.3372915
## s7   -14.0363594
## s8   -13.5577012
## s9   -15.5406209
## s10  -12.7676174
## s11   -8.9054573
## s12   -7.5698796
## s13   -5.2659891
## s14   -5.6504876
## s15   -6.9835867
## s16  -10.3889352
## s17  -10.3480238
## s18  -10.5362762
## s19   -8.2494766
## s20   -6.6613377
## s21   -2.4692209
## s22    1.1909620
## s23    4.2072540
## s24    3.4357758
## s25    1.4805628
## s26   -4.3938540
## s27   -0.7673580
## s28    0.4819545
## s29   11.0149194
## s30   14.3820602
## s31   13.1285641
## s32   17.8904078
## s33   20.4138383
## s34   19.9763015
## s35   19.6945504
## s36   12.9201875
## s37   13.9460345
## s38   15.3000328
## s39   17.0691065
## s40   20.7248327
## s41   21.4997279
## s42   21.6185003
## s43   23.6435010
## s44   24.9310224
## s45   26.7202025
## s46   25.7489695
## s47   24.2574069
## s48   24.3692679
## s49   26.9371993
## s50   25.9592980
## s51   22.3928903
## s52   20.7161039
## s53   19.1691146
## s54   16.7295645
## s55   14.0789406
## s56   18.0148444
## s57   17.3253220
## s58   19.6161246
## s59   19.1119466
## s60   17.5483423
## s61   15.8161747
## s62   11.7598726
## s63   11.0832825
## s64    8.5761005
## s65    6.7699066
## s66    8.9421620
## s67    0.1747336
## s68   -5.7999172
## s69   -6.4391645
## s70   -6.2129900
## s71   -9.1932354
## s72  -13.3565791
## s73  -18.6996793
## s74  -19.2569201
## s75  -20.6121073
## s76  -21.9215303
## s77  -18.3660640
## s78  -17.9259556
## s79  -15.6242748
## s80  -18.6067578
## s81  -19.6737124
## s82  -20.6087935
## s83  -21.8431072
## s84  -21.0930765
## s85  -19.9739418
## s86  -20.1591745
## s87  -15.4525678
## s88  -10.4268448
## s89   -7.5235989
## s90   -2.9873597
## s91   -5.0749462
## s92   -4.1367066
## s93   -5.2059725
## s94   -5.2576193
## s95   -8.9218233
## s96  -12.9852472
## s97  -18.1808502
## s98  -20.3549702
## s99  -18.9450275
## s100 -19.3405137
kable(winter1.opt$fitted) %>% kable_styling()
xhat level trend season
125.61952 142.61579 -0.2524484 -16.7438230
118.79431 131.57247 -0.2524484 -12.5257070
121.07381 128.61317 -0.2524484 -7.2869065
121.84726 127.71936 -0.2524484 -5.6196515
125.49892 127.34576 -0.2524484 -1.5943949
122.29612 127.10228 -0.2524484 -4.5537138
124.72454 126.88981 -0.2524484 -1.9128233
122.95078 126.68594 -0.2524484 -3.4827093
121.18103 126.47001 -0.2524484 -5.0365393
116.23210 126.21680 -0.2524484 -9.7322598
109.76261 125.90344 -0.2524484 -15.8883798
103.75599 125.56743 -0.2524484 -21.5589914
102.35712 125.25117 -0.2524484 -22.6416039
107.74909 124.96376 -0.2524484 -16.9622214
103.78726 124.65262 -0.2524484 -20.6129079
106.32183 124.30574 -0.2524484 -17.7314559
108.75902 123.97773 -0.2524484 -14.9662544
109.00621 123.66664 -0.2524484 -14.4079824
112.45332 123.37248 -0.2524484 -10.6667150
116.45243 123.11015 -0.2524484 -6.4052705
113.21929 122.86332 -0.2524484 -9.3915760
107.38711 122.61139 -0.2524484 -14.9718375
108.87123 122.36851 -0.2524484 -13.2448340
106.15087 122.15225 -0.2524484 -15.7489305
109.53652 121.94368 -0.2524484 -12.1547141
113.47611 121.70865 -0.2524484 -7.9800920
114.26047 121.47393 -0.2524484 -6.9610100
116.26269 121.27308 -0.2524484 -4.7579399
115.45656 121.07058 -0.2524484 -5.3615659
111.62957 120.88004 -0.2524484 -8.9980269
109.14665 120.71696 -0.2524484 -11.3178584
110.29377 120.51894 -0.2524484 -9.9727174
110.43860 120.34532 -0.2524484 -9.6542648
113.34730 120.23489 -0.2524484 -6.6351413
113.55838 120.13286 -0.2524484 -6.3220324
117.95512 120.03002 -0.2524484 -1.8224579
122.44365 119.96671 -0.2524484 2.7293875
124.27217 119.95643 -0.2524484 4.5681950
122.01909 119.96950 -0.2524484 2.3020361
120.67044 120.01455 -0.2524484 0.9083421
114.28774 120.11053 -0.2524484 -5.5703464
120.47651 120.24563 -0.2524484 0.4833341
121.84528 120.35937 -0.2524484 1.7383596
134.57516 120.42950 -0.2524484 14.3981026
135.02386 120.45520 -0.2524484 14.8211097
133.75972 120.47444 -0.2524484 13.5377222
139.11170 120.51903 -0.2524484 18.8451222
142.19083 120.56956 -0.2524484 21.8737152
140.40458 120.59848 -0.2524484 20.0585462
138.95918 120.63946 -0.2524484 18.5721722
128.63811 120.72154 -0.2524484 8.1690173
139.89999 127.28992 -0.2524484 12.8625238
146.21199 129.10779 -0.2524484 17.3566447
142.49444 124.72066 -0.2524484 18.0262292
146.81584 125.25149 -0.2524484 21.8168012
142.76531 122.30107 -0.2524484 20.7166932
144.64790 123.54361 -0.2524484 21.3567341
144.04268 121.40051 -0.2524484 22.8946221
147.12528 119.85491 -0.2524484 27.5228222
141.02672 113.00173 -0.2524484 28.2774402
132.44358 106.95632 -0.2524484 25.7397106
130.27007 107.57683 -0.2524484 22.9456961
133.70943 109.94375 -0.2524484 24.0181286
141.31467 112.34084 -0.2524484 29.2262801
129.31051 104.24890 -0.2524484 25.3140611
124.48812 104.35225 -0.2524484 20.3883151
126.73164 107.24748 -0.2524484 19.7366106
123.48805 107.02349 -0.2524484 16.7170055
123.42274 109.98556 -0.2524484 13.6896320
126.19201 112.76605 -0.2524484 13.6784015
130.98763 112.45275 -0.2524484 18.7873305
126.18787 111.08156 -0.2524484 15.3587575
130.07484 113.52433 -0.2524484 16.8029545
137.93062 115.64285 -0.2524484 22.5402196
132.96101 114.29171 -0.2524484 18.9217516
122.93109 109.48234 -0.2524484 13.7012006
123.37601 113.39939 -0.2524484 10.2290665
127.45012 115.30184 -0.2524484 12.4007305
118.00789 112.14047 -0.2524484 6.1198664
121.87348 116.82421 -0.2524484 5.3017200
128.73893 116.80664 -0.2524484 12.1847475
101.07835 108.98609 -0.2524484 -7.6552925
113.54767 120.77830 -0.2524484 -6.9781796
113.63649 120.69825 -0.2524484 -6.8093076
116.55958 121.56890 -0.2524484 -4.7568676
105.50582 119.72136 -0.2524484 -13.9630942
113.17360 128.74762 -0.2524484 -15.3215682
108.43325 129.70204 -0.2524484 -21.0163337
111.94106 132.83833 -0.2524484 -20.6448261
111.43022 135.50877 -0.2524484 -23.8261001
120.24050 142.42434 -0.2524484 -21.9313836
126.95989 142.69837 -0.2524484 -15.4860245
119.77244 137.50396 -0.2524484 -17.4790760
120.33943 133.38363 -0.2524484 -12.7917570
106.89758 128.18215 -0.2524484 -21.0321164
110.82242 131.87177 -0.2524484 -20.7969019
112.44572 133.16099 -0.2524484 -20.4628164
112.27307 132.97108 -0.2524484 -20.4455604
104.59658 128.73156 -0.2524484 -23.8825240
113.88614 135.30106 -0.2524484 -21.1624725
116.13692 136.88434 -0.2524484 -20.4949691
122.12107 135.84018 -0.2524484 -13.4666681
122.72677 130.48907 -0.2524484 -7.5098571
121.79443 127.70864 -0.2524484 -5.6617653
124.14735 125.99107 -0.2524484 -1.5912783
118.31406 123.10632 -0.2524484 -4.5398154
118.73605 120.88444 -0.2524484 -1.8959379
111.13932 114.86179 -0.2524484 -3.4700132
103.58456 108.87381 -0.2524484 -5.0368039
97.76616 107.77205 -0.2524484 -9.7534361
90.62536 106.79524 -0.2524484 -15.9174273
85.81826 107.65189 -0.2524484 -21.5811731
87.07685 109.98305 -0.2524484 -22.6537588
95.39186 112.62693 -0.2524484 -16.9826226
87.86857 108.76675 -0.2524484 -20.6457350
92.07092 110.08109 -0.2524484 -17.7577241
90.18853 105.42762 -0.2524484 -14.9866384
95.28011 109.95504 -0.2524484 -14.4224820
102.86860 113.79120 -0.2524484 -10.6701493
103.63385 110.28962 -0.2524484 -6.4033187
96.91027 106.55411 -0.2524484 -9.3913934
91.23633 106.45729 -0.2524484 -14.9685116
95.40165 108.88636 -0.2524484 -13.2322545
91.71157 107.69770 -0.2524484 -15.7336790
95.59951 108.00062 -0.2524484 -12.1486567
97.74124 105.96761 -0.2524484 -7.9739307
95.83993 103.03545 -0.2524484 -6.9430746
95.98686 100.97988 -0.2524484 -4.7405762
93.62349 99.21599 -0.2524484 -5.3400431
88.85108 98.07049 -0.2524484 -8.9669614
91.97220 103.52359 -0.2524484 -11.2989385
95.69117 105.88894 -0.2524484 -9.9453155
94.62068 104.47802 -0.2524484 -9.6048947
94.71098 101.54628 -0.2524484 -6.5828541
89.97701 96.49948 -0.2524484 -6.2700226
93.11218 95.12134 -0.2524484 -1.7567109
95.38034 92.81922 -0.2524484 2.8135697
92.30708 87.89903 -0.2524484 4.6604963
88.49575 86.34275 -0.2524484 2.4054516
89.83124 89.05422 -0.2524484 1.0294658
84.41136 90.09944 -0.2524484 -5.4356284
93.20203 92.84385 -0.2524484 0.6106306
90.22541 88.62736 -0.2524484 1.8504959
98.68039 84.43804 -0.2524484 14.4947933
88.83819 74.17508 -0.2524484 14.9155547
85.77647 72.38794 -0.2524484 13.6409768
89.35943 70.66144 -0.2524484 18.9504448
89.07867 67.35959 -0.2524484 21.9715258
82.53426 62.62616 -0.2524484 20.1605466
80.27971 61.84370 -0.2524484 18.6884631
74.77309 64.48545 -0.2524484 10.5400855
84.40958 71.07981 -0.2524484 13.5822128
87.54086 71.87397 -0.2524484 15.9193390
87.88603 69.83997 -0.2524484 18.2985137
86.67737 66.05090 -0.2524484 20.8789262
86.33911 65.35517 -0.2524484 21.2363861
86.30732 65.86027 -0.2524484 20.6994998
90.44415 68.25150 -0.2524484 22.4450949
96.42231 71.44649 -0.2524484 25.2282642
96.35021 70.33897 -0.2524484 26.2636794
97.19052 71.39980 -0.2524484 26.0431684
93.90483 70.30103 -0.2524484 23.8562487
95.88931 71.20259 -0.2524484 24.9391633
95.55939 69.31073 -0.2524484 26.5011016
95.49810 70.31280 -0.2524484 25.4377445
92.79077 71.56070 -0.2524484 21.4825173
93.42117 73.92711 -0.2524484 19.7465046
94.04589 76.46390 -0.2524484 17.8344414
94.54239 80.05089 -0.2524484 14.7439494
98.91523 85.51043 -0.2524484 13.6572482
104.61705 86.47106 -0.2524484 18.3984318
101.15838 85.11515 -0.2524484 16.2956741
105.19939 87.82468 -0.2524484 17.6271542
115.19972 93.29388 -0.2524484 22.1582894
101.36327 84.27805 -0.2524484 17.3376647
99.52982 84.63166 -0.2524484 15.1506118
97.01953 86.29383 -0.2524484 10.9781569
99.42721 88.29013 -0.2524484 11.3895258
94.74006 87.15672 -0.2524484 7.8357931
94.16482 89.03390 -0.2524484 5.3833669
102.07156 92.77009 -0.2524484 9.5539109
87.03708 90.75784 -0.2524484 -3.4683041
93.81457 100.98527 -0.2524484 -6.9182509
97.27858 103.94992 -0.2524484 -6.4188949
98.07536 103.63916 -0.2524484 -5.3113556
89.80293 100.79299 -0.2524484 -10.7376130
89.82875 104.98324 -0.2524484 -14.9020337
89.08580 109.17658 -0.2524484 -19.8383319
92.31846 112.19968 -0.2524484 -19.6287683
91.43013 113.01692 -0.2524484 -21.3343394
92.84129 114.84211 -0.2524484 -21.7483682
96.63512 114.09153 -0.2524484 -17.2039572
91.41998 110.49606 -0.2524484 -18.8236354
98.06136 112.82596 -0.2524484 -14.5121507
89.46006 109.37427 -0.2524484 -19.6617676
91.64333 112.15676 -0.2524484 -20.2609843
92.90019 113.59371 -0.2524484 -20.4410768
90.77479 112.85879 -0.2524484 -21.8315540
90.80960 112.57311 -0.2524484 -21.5110623
92.74629 113.52308 -0.2524484 -20.5243354
93.83131 114.85394 -0.2524484 -20.7701831
100.86765 116.35917 -0.2524484 -15.2390743
106.85148 115.49257 -0.2524484 -8.3886404
102.95332 109.37684 -0.2524484 -6.1710729
102.47483 105.23360 -0.2524484 -2.5063244
98.12048 103.59736 -0.2524484 -5.2244344
99.62071 103.77494 -0.2524484 -3.9017874
97.13045 102.84671 -0.2524484 -5.4638080
97.75148 103.33597 -0.2524484 -5.3320450
93.03993 103.29762 -0.2524484 -10.0052390
90.37749 106.16182 -0.2524484 -15.5318820
92.29975 113.23525 -0.2524484 -20.6830509
98.28147 120.18085 -0.2524484 -21.6469313
105.15577 123.64497 -0.2524484 -18.2367508
101.00150 121.35503 -0.2524484 -20.1010854
xhat1.opt <- winter1.opt$fitted[,2]

Peramalan

#Forecast
forecast1 <- predict(winter1, n.ahead = nrow(testing))
forecast1.opt <- predict(winter1.opt, nrow(testing))

Plot Deret Waktu

#Plot time series
plot(training.ts,main="Winter 0.2;0.1;0.1",type="l",col="black",
     xlim=c(1,4.8), ylim=c(60,180), pch=12)
lines(xhat1,type="l",col="orange", lwd=2)
lines(xhat1.opt,type="l",col="cyan4", lwd=2)
lines(forecast1,type="l",col="orange", lwd=2)
lines(forecast1.opt,type="l",col="cyan4", lwd=2)
legend("topleft",c("Actual Data",expression(paste(winter1)),
                   expression(paste(winter1.opt))),cex=0.5,
       col=c("black","orange","cyan4"),lty=1)

Hasil pemulusan pada forecasting model Winter1 opt terlihat lebih baik dibandingkan model Winter. Hal ini dapat dilihat dari pola pergerakan hasil pemulusan Winter1 opt yang lebih mirip dengan data aktual-nya. Ini dikarenakan Winter1 opt menggunakan parameter beta , alpha , dan gamma yang optimum (dengan pemberian value NULL ) Sehingga lebih mirip dengan data aslinya.

# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/11_TSA_Winter 0.2;0.1;0.1.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
#Plot time series
plot(training.ts,main="Winter 0.2;0.1;0.1",type="l",col="black",
     xlim=c(1,4.8), ylim=c(60,180), pch=12)
lines(xhat1,type="l",col="orange", lwd=2)
lines(xhat1.opt,type="l",col="cyan4", lwd=2)
lines(forecast1,type="l",col="orange", lwd=2)
lines(forecast1.opt,type="l",col="cyan4", lwd=2)
legend("topleft",c("Actual Data",expression(paste(winter1)),
                   expression(paste(winter1.opt))),cex=0.5,
       col=c("black","orange","cyan4"),lty=1)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

Akurasi Data Latih

#Akurasi data training
SSE1<-winter1$SSE
MSE1<-winter1$SSE/length(training.ts)
RMSE1<-sqrt(MSE1)

SSE1.opt<-winter1.opt$SSE
MSE1.opt<-winter1.opt$SSE/length(training.ts)
RMSE1.opt<-sqrt(MSE1.opt)

akurasi1.train = data.frame(Model_Winter = c("Winter 1","Winter1 optimal"),
                            Nilai_SSE=c(SSE1,SSE1.opt),
                            Nilai_MSE=c(MSE1,MSE1.opt),
                            Nilai_RMSE=c(RMSE1,RMSE1.opt))
kable(akurasi1.train) %>% kable_styling()
Model_Winter Nilai_SSE Nilai_MSE Nilai_RMSE
Winter 1 9431.981 29.94280 5.472001
Winter1 optimal 4127.961 13.10464 3.620033

Akurasi pada model Winter1 optimal dengan data training lebih baik dibandingkan model Winter1. Ditandai dengan ketiga nilai SSE, MSE, dan RMSE yang lebih kecil.

Akurasi Data Uji

#Akurasi Data Testing
forecast1<-data.frame(forecast1)
testing.ts<-data.frame(testing.ts)
selisih1<-forecast1 - testing.ts
SSEtesting1<-sum(selisih1^2)
MSEtesting1<-SSEtesting1/length(testing.ts)
RMSEtesting1<-sqrt(MSEtesting1)

forecast1.opt<-data.frame(forecast1.opt)
selisih1.opt<-forecast1.opt - testing.ts
SSEtesting1.opt<-sum(selisih1.opt^2)
MSEtesting1.opt<-SSEtesting1.opt/length(testing.ts)
RMSEtesting1.opt<-sqrt(MSEtesting1.opt)


akurasi1.test = data.frame(Model_Winter = c("Winter 1","winter1 optimal"),
                            Nilai_SSE=c(SSEtesting1, SSEtesting1.opt),
                            Nilai_MSE=c(MSEtesting1, MSEtesting1.opt),
                            Nilai_RMSE=c(RMSEtesting1,RMSEtesting1.opt))
kable(akurasi1.test) %>% kable_styling()
Model_Winter Nilai_SSE Nilai_MSE Nilai_RMSE
Winter 1 76727.42 76727.42 276.9971
winter1 optimal 30622.33 30622.33 174.9924

Sama seperti sebelumnya, Akurasi pada model Winter1 dengan data testing lebih baik dibandingkan model Winter1 optimal. Ditandai dengan ketiga nilai SSE, MSE, dan RMSE yang lebih kecil.

4. Winter Multiplikatif

Model multiplikatif digunakan cocok digunakan jika plot data asli menunjukkan fluktuasi musiman yang bervariasi.

#Pemulusan dengan winter multiplikatif 
winter2 <- HoltWinters(training.ts,
                       alpha=0.2,beta=0.1,gamma=0.3,
                       seasonal = "multiplicative")
kable(winter2$fitted) %>% kable_styling()
xhat level trend season
124.17101 142.61579 -0.2524484268 0.8722119
125.65077 139.36098 -0.5526852965 0.9052108
128.41627 136.48745 -0.7847697084 0.9463061
127.60349 133.96819 -0.9582180898 0.9593528
129.52540 131.77592 -1.0816240984 0.9910563
124.55353 129.88417 -1.1626366991 0.9676201
125.59289 128.26607 -1.2081821971 0.9884698
122.65158 126.89544 -1.2244273314 0.9759735
119.98548 125.74241 -1.2172874787 0.9635443
114.43345 124.77307 -1.1924931317 0.9259825
107.63534 123.95133 -1.1554178444 0.8765385
101.47487 123.25560 -1.1094491923 0.8307660
99.93028 122.67461 -1.0566032596 0.8216734
105.06937 122.19724 -0.9986795495 0.8669193
101.16289 121.79853 -0.9386825072 0.8370265
103.68514 121.45651 -0.8790162230 0.8599046
106.14293 121.16706 -0.8200593704 0.8819740
106.48741 120.92232 -0.7625278210 0.8862150
109.98249 120.71555 -0.7069524177 0.9164551
114.02541 120.54490 -0.6533215476 0.9510711
110.99715 120.40355 -0.6021248392 0.9265095
105.43061 120.28126 -0.5541415298 0.8805909
107.04689 120.17440 -0.5094126562 0.8945548
104.51572 120.08377 -0.4675347004 0.8737586
107.98989 120.00405 -0.4287531882 0.9031120
112.04438 119.92301 -0.3939821077 0.9373822
112.98875 119.83960 -0.3629250124 0.9456972
115.10747 119.76032 -0.3345597328 0.9638412
114.44736 119.67944 -0.3091918523 0.9587595
110.77853 119.59818 -0.2863991186 0.9284794
108.40667 119.52104 -0.2654730729 0.9090282
109.66385 119.43451 -0.2475786584 0.9200996
109.90644 119.34695 -0.2315770567 0.9226890
112.84365 119.27221 -0.2158934064 0.9478174
113.09926 119.20536 -0.2009885824 0.9503790
117.52410 119.14342 -0.1870838634 0.9879600
122.01418 119.09519 -0.1731987627 1.0260018
123.82945 119.06932 -0.1584654973 1.0413637
121.58814 119.06461 -0.1430905112 1.0224234
120.24028 119.08424 -0.1268181963 1.0107842
113.88371 119.13545 -0.1090157595 0.9567934
119.99370 119.22005 -0.0896533267 1.0072467
121.36404 119.32426 -0.0702678765 1.0176937
134.07128 119.43400 -0.0522671244 1.1230469
134.62465 119.53822 -0.0366183968 1.1265511
133.46895 119.63747 -0.0230309857 1.1158264
138.87266 119.73830 -0.0106446461 1.1599045
142.01643 119.83928 0.0005174386 1.1850523
140.32209 119.93322 0.0098601220 1.1699057
138.94233 120.02479 0.0180301663 1.1574398
127.50511 120.12363 0.0261113322 1.0612184
133.82223 122.09559 0.2206969255 1.0940671
139.94927 123.93736 0.3828035181 1.1257166
141.15978 124.44288 0.3950753682 1.1307441
145.51855 125.26073 0.4373524412 1.1576832
144.58573 125.29407 0.3969517890 1.1503266
145.70368 125.72480 0.4003294378 1.1552312
146.79587 125.50124 0.3379406676 1.1665355
150.37550 125.06838 0.2608600058 1.1998438
148.74984 123.30472 0.0584085784 1.2057884
143.29589 120.78725 -0.1991794849 1.1883090
138.62997 118.95955 -0.3620310125 1.1689112
138.11685 117.77112 -0.4446714752 1.1772014
141.85613 117.18427 -0.4588891620 1.2152981
135.68270 114.89766 -0.6416612892 1.1875324
129.65458 113.26357 -0.7409042000 1.1522530
128.10450 112.36218 -0.7569524441 1.1478360
124.54047 111.37271 -0.7802048986 1.1261203
121.96848 111.17495 -0.7219600659 1.1042570
122.40536 111.45665 -0.6215935959 1.1043920
126.72288 111.50595 -0.5545043102 1.1421471
123.93798 111.43424 -0.5062247501 1.1172829
125.88792 111.98094 -0.4009330776 1.1282301
131.88427 112.88862 -0.2700717218 1.1710707
129.59370 113.39830 -0.1920965403 1.1447580
124.43624 112.72161 -0.2405557461 1.1062862
122.17404 113.22476 -0.1661850693 1.0806260
124.77901 113.81850 -0.0901928277 1.0971676
119.06921 113.50063 -0.1129606632 1.0501073
119.48646 114.45247 -0.0064802558 1.0440423
126.08928 114.96389 0.0453096595 1.0963409
107.37193 113.63202 -0.0924081156 0.9456782
110.04306 115.64140 0.1177704239 0.9506207
111.10582 116.54538 0.1963914946 0.9517229
114.02064 117.59164 0.2813781279 0.9673176
105.98405 117.95352 0.2894286099 0.8963245
107.58632 120.92634 0.5577678567 0.8856000
104.17942 123.11321 0.7206784901 0.8412836
107.04168 125.93083 0.9303717519 0.8437701
106.50445 128.95616 1.1398676201 0.8186603
112.57368 133.65930 1.4961949415 0.8329198
122.59025 137.16681 1.6973263953 0.8828071
121.36687 138.34528 1.6454408787 0.8669637
126.41165 138.42044 1.4884131222 0.9035286
116.02545 137.08843 1.2063711638 0.8389719
116.44807 137.38525 1.1154157250 0.8407763
116.95710 137.65667 1.0310158241 0.8433128
116.86209 137.63775 0.9260228389 0.8433813
111.75805 136.20136 0.6897811053 0.8164009
115.70638 137.38892 0.7395593923 0.8376721
118.13689 138.28454 0.7551650761 0.8496630
123.25755 138.31780 0.6829743292 0.8867401
128.27913 137.19471 0.5023677749 0.9316039
129.08518 135.77370 0.3100300548 0.9485718
132.04846 134.13022 0.1146798972 0.9836385
126.98797 131.91713 -0.1180978902 0.9634970
127.40985 129.44760 -0.3532406181 0.9869513
122.15239 125.76089 -0.6865873230 0.9766386
116.06114 121.23616 -1.0704014941 0.9658420
107.79276 117.34519 -1.3524587524 0.9293062
98.64295 113.62478 -1.5892538928 0.8804614
90.86828 110.55382 -1.7374250525 0.8350606
88.14299 108.44078 -1.7749857324 0.8263473
92.12803 107.35244 -1.7063217968 0.8720437
87.17379 105.27961 -1.7429720959 0.8419608
88.67814 104.20323 -1.6763131362 0.8649255
88.88279 101.94001 -1.7350035258 0.8870095
89.45997 101.95182 -1.5603220691 0.8911110
93.63509 102.93440 -1.3060320258 0.9213479
97.00869 102.68224 -1.2006448716 0.9559239
93.76981 101.88567 -1.1602375397 0.9309448
88.76809 101.44517 -1.0882635696 0.8845240
90.53172 101.73209 -0.9507454180 0.8982984
88.34125 101.58470 -0.8704095586 0.8771471
91.42014 101.65342 -0.7764970787 0.9062543
94.53044 101.26972 -0.7372176482 0.9402973
94.55550 100.44732 -0.7457350124 0.9483851
95.36356 99.46002 -0.7698917347 0.9662928
93.78740 98.39756 -0.7991492284 0.9609521
89.77367 97.31381 -0.8276084440 0.9304301
88.56967 97.94066 -0.6821632625 0.9106626
90.54576 98.78054 -0.5299591154 0.9215800
91.09874 99.02842 -0.4521745417 0.9241449
93.12320 98.55704 -0.4540949357 0.9492395
91.85850 97.07619 -0.5567707852 0.9517100
94.16266 95.80523 -0.6281895945 0.9893422
96.28018 94.40629 -0.7052643688 1.0275253
95.38685 92.30152 -0.8452157731 1.0429774
91.74995 90.52879 -0.9379665381 1.0240999
89.93057 89.73535 -0.9235139668 1.0125967
84.59840 89.13762 -0.8909357052 0.9586581
89.05236 89.05022 -0.8105818019 1.0092104
88.87193 88.00335 -0.8342113464 1.0195343
96.15128 86.39389 -0.9117355272 1.1248111
92.98424 83.53316 -1.1066354740 1.1280864
89.49756 81.32479 -1.2168086407 1.1172115
90.30340 79.08623 -1.3189837699 1.1612010
89.54423 76.89687 -1.4060213023 1.1861601
85.33058 74.39416 -1.5156900113 1.1708613
81.90071 72.27882 -1.5756558329 1.1583742
75.23052 71.09669 -1.5363026385 1.0815137
77.57334 71.18209 -1.3741320964 1.1112392
78.96834 71.29219 -1.2257093836 1.1270487
79.52430 71.16167 -1.1161904002 1.1353237
80.29302 70.67890 -1.0528479882 1.1532037
80.17738 70.62969 -0.9524844882 1.1506975
80.49627 70.92560 -0.8276451251 1.1483397
82.28806 71.73053 -0.6643879292 1.1579081
85.66773 73.27736 -0.4432661244 1.1762038
87.16445 74.46685 -0.2799905902 1.1749312
88.77907 76.05174 -0.0935022038 1.1687880
89.51872 77.20242 0.0309160612 1.1590684
92.14875 78.25852 0.1334342244 1.1754874
93.95170 78.65248 0.1594871807 1.1920994
93.51034 79.36533 0.2148231491 1.1750461
92.64994 80.26262 0.2830699200 1.1502781
93.34939 81.18380 0.3468815420 1.1449602
93.61774 82.19981 0.4137940477 1.1332001
93.88831 83.60236 0.5126690356 1.1161895
95.96802 85.61149 0.6623154358 1.1123657
100.85048 87.09763 0.7446980620 1.1480852
100.58709 88.23943 0.7844079647 1.1298894
103.75015 89.83151 0.8651754499 1.1439243
110.19019 92.29817 1.0253234287 1.1807337
106.00639 92.17163 0.9101375844 1.1388524
103.97737 92.40979 0.8429402140 1.1150061
102.09556 92.91778 0.8094450543 1.0892840
103.02070 93.35165 0.7718871379 1.0945265
99.74255 93.24997 0.6845305258 1.0618308
98.85651 93.53283 0.6443631604 1.0496863
102.59961 94.30742 0.6573860124 1.0803962
91.82950 94.42804 0.6037091585 0.9663035
93.68474 96.96292 0.7968265384 0.9583161
95.59610 98.69164 0.8900163402 0.9599769
97.62346 99.91581 0.9234317521 0.9681098
93.00480 100.21050 0.8605574864 0.9201922
92.30313 101.67641 0.9210927719 0.8996625
89.56664 103.37933 0.9992748122 0.8580939
91.51554 105.29537 1.0909513748 0.8602190
91.28716 106.90815 1.1431349793 0.8448502
93.20006 108.74794 1.2128005004 0.8475758
97.46813 109.71768 1.1884944011 0.8788341
94.71630 109.69136 1.0670123364 0.8551616
98.58461 110.80133 1.0713085610 0.8812218
92.99942 110.77539 0.9615833316 0.8323066
94.17858 111.86927 0.9748136188 0.8345903
95.04934 112.78212 0.9686169117 0.8355932
94.12969 113.08071 0.9016143372 0.8258271
93.45653 113.15898 0.8192801123 0.8199504
96.06190 113.72788 0.7942413271 0.8388065
97.10466 114.24031 0.7660607713 0.8443415
100.83261 114.79209 0.7446320326 0.8727321
106.30369 115.35508 0.7264682303 0.9157673
107.21784 114.47553 0.5658665284 0.9319935
109.14695 113.00107 0.3618342200 0.9628101
105.34646 111.58957 0.1845002414 0.9424946
105.50049 110.36367 0.0434605146 0.9555587
102.30345 108.98587 -0.0986656570 0.9395360
101.12520 107.99880 -0.1875063382 0.9379834
96.85860 107.15346 -0.2532899987 0.9060660
92.46849 106.98435 -0.2448712522 0.8663008
90.20316 108.53597 -0.0652221966 0.8315897
92.86691 111.30793 0.2184957266 0.8326898
99.43080 114.02990 0.4688431796 0.8684008
98.18161 115.18488 0.5374568066 0.8484240
xhat2 <- winter2$fitted[,2]

winter2.opt<- HoltWinters(training.ts, alpha= NULL,  beta = NULL, gamma = NULL, seasonal = "multiplicative")
kable(winter2.opt$fitted) %>% kable_styling()
xhat level trend season
124.17101 142.61579 -0.2524484 0.8722119
118.11312 130.73379 -0.2524484 0.9052108
120.83384 127.94247 -0.2524484 0.9463061
121.76725 127.17891 -0.2524484 0.9593528
125.47445 126.85923 -0.2524484 0.9910563
122.29063 126.63535 -0.2524484 0.9676201
124.72313 126.43043 -0.2524484 0.9884698
122.95114 126.23039 -0.2524484 0.9759735
121.17946 126.01673 -0.2524484 0.9635443
116.22216 125.76471 -0.2524484 0.9259825
109.74213 125.45190 -0.2524484 0.8765385
103.73408 125.11802 -0.2524484 0.8307660
102.34220 124.80582 -0.2524484 0.8216734
107.73255 124.52302 -0.2524484 0.8669193
103.75966 124.21467 -0.2524484 0.8370265
106.29929 123.86999 -0.2524484 0.8599046
108.74181 123.54611 -0.2524484 0.8819740
108.99286 123.23937 -0.2524484 0.8862150
112.44630 122.94946 -0.2524484 0.9164551
116.44842 122.69169 -0.2524484 0.9510711
113.21596 122.44867 -0.2524484 0.9265095
107.38556 122.19961 -0.2524484 0.8805909
108.87395 121.95986 -0.2524484 0.8945548
106.15716 121.74729 -0.2524484 0.8737586
109.53777 121.54169 -0.2524484 0.9031120
113.47561 121.30831 -0.2524484 0.9373822
114.26251 121.07602 -0.2524484 0.9456972
116.26470 120.87886 -0.2524484 0.9638412
115.46000 120.67889 -0.2524484 0.9587595
111.63910 120.49109 -0.2524484 0.9284794
109.15495 120.33117 -0.2524484 0.9090282
110.30312 120.13416 -0.2524484 0.9200996
110.45587 119.96329 -0.2524484 0.9226890
113.36331 119.85704 -0.2524484 0.9478174
113.57479 119.75718 -0.2524484 0.9503790
117.96564 119.65570 -0.2524484 0.9879600
122.44554 119.59487 -0.2524484 1.0260018
124.27109 119.58740 -0.2524484 1.0413637
122.02572 119.60195 -0.2524484 1.0224234
120.68338 119.64825 -0.2524484 1.0107842
114.33042 119.74576 -0.2524484 0.9567934
120.49609 119.88162 -0.2524484 1.0072467
121.85989 119.99367 -0.2524484 1.0176937
134.55065 120.06102 -0.2524484 1.1230469
134.99642 120.08405 -0.2524484 1.1265511
133.73158 120.10225 -0.2524484 1.1158264
139.06653 120.14725 -0.2524484 1.1599045
142.14137 120.19768 -0.2524484 1.1850523
140.35708 120.22544 -0.2524484 1.1699057
138.90879 120.26629 -0.2524484 1.1574398
127.44899 120.34931 -0.2524484 1.0612184
139.40884 127.67502 -0.2524484 1.0940671
145.77294 129.74591 -0.2524484 1.1257166
142.14430 125.96109 -0.2524484 1.1307441
146.35346 126.67171 -0.2524484 1.1576832
142.69021 124.29566 -0.2524484 1.1503266
144.63279 125.45059 -0.2524484 1.1552312
143.77225 123.49967 -0.2524484 1.1665355
146.40140 122.26950 -0.2524484 1.1998438
140.46067 116.74110 -0.2524484 1.2057884
132.59655 111.83668 -0.2524484 1.1883090
130.91688 112.25144 -0.2524484 1.1689112
133.79756 113.90978 -0.2524484 1.1772014
140.60586 115.94905 -0.2524484 1.2152981
129.63286 109.41398 -0.2524484 1.1875324
125.60893 109.26404 -0.2524484 1.1522530
127.24625 111.10997 -0.2524484 1.1478360
124.19265 110.53609 -0.2524484 1.1261203
124.25823 112.77900 -0.2524484 1.1042570
126.51406 114.80784 -0.2524484 1.1043920
130.22705 114.27196 -0.2524484 1.1421471
126.54385 113.51280 -0.2524484 1.1172829
130.06180 115.53194 -0.2524484 1.1282301
137.28455 117.48239 -0.2524484 1.1710707
133.27893 116.67787 -0.2524484 1.1447580
123.68504 112.05447 -0.2524484 1.1062862
124.22480 115.20878 -0.2524484 1.0806260
127.46589 116.42968 -0.2524484 1.0971676
118.81514 113.39816 -0.2524484 1.0501073
122.36717 117.45763 -0.2524484 1.0440423
128.07593 117.07372 -0.2524484 1.0963409
103.86438 110.08303 -0.2524484 0.9456782
114.63789 120.84512 -0.2524484 0.9506207
113.86518 119.89355 -0.2524484 0.9517229
116.49839 120.68694 -0.2524484 0.9673176
106.22298 118.76197 -0.2524484 0.8963245
113.75051 128.69702 -0.2524484 0.8856000
108.61828 129.36263 -0.2524484 0.8412836
112.13081 133.14507 -0.2524484 0.8437701
111.40527 136.33486 -0.2524484 0.8186603
120.76883 145.24700 -0.2524484 0.8329198
127.92812 145.16306 -0.2524484 0.8828071
119.60998 138.21669 -0.2524484 0.8669637
120.34935 133.45173 -0.2524484 0.9035286
106.73392 127.47235 -0.2524484 0.8389719
111.00262 132.27642 -0.2524484 0.8407763
112.59893 133.77222 -0.2524484 0.8433128
112.34176 133.45645 -0.2524484 0.8433813
104.46094 128.20545 -0.2524484 0.8164009
114.38664 136.80545 -0.2524484 0.8376721
117.35788 138.37799 -0.2524484 0.8496464
122.20652 136.03950 -0.2524484 0.8999866
122.44740 129.79900 -0.2524484 0.9452000
121.56087 126.98332 -0.2524484 0.9592049
123.96195 125.32487 -0.2524484 0.9911214
118.24852 122.44461 -0.2524484 0.9677259
118.49975 120.11999 -0.2524484 0.9885892
110.98465 113.95913 -0.2524484 0.9760609
103.52552 107.69475 -0.2524484 0.9635453
98.43399 106.56954 -0.2524484 0.9258529
91.74662 104.94151 -0.2524484 0.8763726
87.02447 105.01912 -0.2524484 0.8306503
87.61413 106.88891 -0.2524484 0.8216152
94.96521 109.81010 -0.2524484 0.8668058
88.15437 105.59376 -0.2524484 0.8368452
91.80423 107.03135 -0.2524484 0.8597600
89.44070 101.67512 -0.2524484 0.8818610
95.24711 107.73828 -0.2524484 0.8861365
102.71423 112.33162 -0.2524484 0.9164435
102.96134 108.50832 -0.2524484 0.9510924
97.03220 104.98038 -0.2524484 0.9265169
92.06760 104.80135 -0.2524484 0.8806176
95.49760 106.99661 -0.2524484 0.8946400
92.03119 105.56858 -0.2524484 0.8738565
95.23194 105.69628 -0.2524484 0.9031533
96.97543 103.70090 -0.2524484 0.9374276
95.38107 101.09698 -0.2524484 0.9458230
95.41080 99.23009 -0.2524484 0.9639631
93.54275 97.80367 -0.2524484 0.9589091
89.51773 96.64416 -0.2524484 0.9286870
92.73068 102.24955 -0.2524484 0.9091502
95.80536 104.35685 -0.2524484 0.9202816
94.55530 102.69408 -0.2524484 0.9230163
94.07123 99.46605 -0.2524484 0.9481687
89.56329 94.45742 -0.2524484 0.9507278
91.97599 93.30597 -0.2524484 0.9884203
93.96248 91.77912 -0.2524484 1.0266131
91.27998 87.84985 -0.2524484 1.0420398
88.81311 87.05471 -0.2524484 1.0231658
90.37392 89.58623 -0.2524484 1.0116433
86.19724 90.25737 -0.2524484 0.9576948
92.31986 91.82721 -0.2524484 1.0081366
89.51967 88.14762 -0.2524484 1.0184821
94.56078 84.39651 -0.2524484 1.1237962
87.28810 77.68429 -0.2524484 1.1272894
85.78324 77.07580 -0.2524484 1.1166298
87.27486 75.44048 -0.2524484 1.1607546
87.26022 73.83664 -0.2524484 1.1858556
82.62438 70.82722 -0.2524484 1.1707354
80.84327 70.04250 -0.2524484 1.1583781
77.47747 72.02157 -0.2524484 1.0795377
83.79915 76.44978 -0.2524484 1.0997649
86.38455 77.62085 -0.2524484 1.1165352
86.41265 76.50489 -0.2524484 1.1332443
84.95388 74.00157 -0.2524484 1.1519307
85.69506 74.50646 -0.2524484 1.1540799
86.43291 75.37163 -0.2524484 1.1506104
89.82485 77.43333 -0.2524484 1.1638225
95.23873 80.68560 -0.2524484 1.1840731
95.53572 80.45361 -0.2524484 1.1912013
97.16862 81.88183 -0.2524484 1.1903633
94.73136 80.90139 -0.2524484 1.1746139
95.75586 81.12950 -0.2524484 1.1839683
94.72347 79.51877 -0.2524484 1.1950027
95.80272 80.90422 -0.2524484 1.1878564
94.44677 81.77173 -0.2524484 1.1585819
94.63861 82.77183 -0.2524484 1.1468652
95.18425 84.23606 -0.2524484 1.1333670
96.05882 86.74217 -0.2524484 1.1106385
99.92920 90.80122 -0.2524484 1.1035954
103.49487 90.98455 -0.2524484 1.1406643
101.39100 90.48430 -0.2524484 1.1236720
105.01091 92.82341 -0.2524484 1.1343828
114.27131 97.96541 -0.2524484 1.1694591
102.14498 90.50478 -0.2524484 1.1317710
100.44866 90.27631 -0.2524484 1.1158004
98.61740 91.17732 -0.2524484 1.0846031
99.88845 91.94813 -0.2524484 1.0893474
95.80624 90.52338 -0.2524484 1.0613189
95.32657 91.58755 -0.2524484 1.0437014
101.44765 94.46254 -0.2524484 1.0768236
89.98855 92.95279 -0.2524484 0.9707467
96.19447 101.61558 -0.2524484 0.9490085
97.99497 102.95946 -0.2524484 0.9541215
98.07836 102.06154 -0.2524484 0.9633556
90.54374 98.99585 -0.2524484 0.9169599
91.33696 103.17570 -0.2524484 0.8874278
90.45795 106.83678 -0.2524484 0.8486984
92.73866 109.36112 -0.2524484 0.8499660
91.52768 110.03956 -0.2524484 0.8336833
93.35664 112.29822 -0.2524484 0.8332009
96.34154 110.94245 -0.2524484 0.8703725
91.58586 106.94144 -0.2524484 0.8584377
97.57888 109.67982 -0.2524484 0.8917228
89.79126 106.10100 -0.2524484 0.8482993
92.01717 109.28115 -0.2524484 0.8439720
93.19250 110.77533 -0.2524484 0.8431964
91.22344 109.65696 -0.2524484 0.8338179
90.40756 108.94606 -0.2524484 0.8317651
92.77051 110.57728 -0.2524484 0.8408852
94.74939 112.26826 -0.2524484 0.8458573
100.41560 113.34438 -0.2524484 0.8879113
105.72180 112.76422 -0.2524484 0.9396510
101.99060 106.92878 -0.2524484 0.9560752
101.40437 103.20784 -0.2524484 0.9849351
98.28803 102.33058 -0.2524484 0.9628706
99.46860 102.40958 -0.2524484 0.9736824
97.27075 101.55357 -0.2524484 0.9602140
97.79943 101.99435 -0.2524484 0.9612503
93.78490 101.93578 -0.2524484 0.9223233
91.51810 104.58539 -0.2524484 0.8771736
93.39647 112.04468 -0.2524484 0.8354469
99.02291 119.77010 -0.2524484 0.8285212
105.67177 123.50751 -0.2524484 0.8573423
100.92907 120.30773 -0.2524484 0.8406883
xhat2.opt <- winter2.opt$fitted[,2]

Peramalan

#Forecast
forecast2 <- predict(winter2, n.ahead = nrow(testing))
forecast2.opt <- predict(winter2.opt, n.ahead = nrow(testing))

Plot Deret Waktu

#Plot time series
plot(training.ts, main="Winter 0.2;0.1;0.1",
     type="l",col="black", xlim=c(1,4.8), ylim=c(60,180), pch=12)
lines(xhat2,type="l",col="orange", lwd=2)
lines(xhat2.opt,type="l",col="cyan4", lwd=2)
lines(forecast2,type="l",col="orange", lwd=2)
lines(forecast2.opt,type="l",col="cyan4", lwd=2)
legend("topleft",c("Actual Data", expression(paste(winter2)),
                   expression(paste(winter2.opt))), 
                   cex=0.5, col=c("black","orange","cyan4"),lty=1)

Hasil pemulusan pada forecasting model Winter2 opt terlihat lebih baik dibandingkan model Winter. Hal ini dapat dilihat dari pola pergerakan hasil pemulusan Winter2 opt yang lebih mirip dengan data aktual-nya. Ini dikarenakan Winter2 opt menggunakan parameter beta , alpha , dan gamma yang optimum (dengan pemberian value NULL ) Sehingga lebih mirip dengan data aslinya.

# Membuka file PNG untuk menyimpan plot
png("C:/Users/Fathan/Documents/Obsidian Vault/2. Kuliah/Smt 5/6. Metode Peramalan Deret Waktu/@Proj/STA1341-MPDW/Pertemuan 1/Chart/12_TSA_Winter 0.2;0.1;0.1.png",
    height = 9*300, width = 16*300, res=300)

# Plot time series dengan warna dan pengaturan lainnya
#Plot time series
plot(training.ts, main="Winter 0.2;0.1;0.1",
     type="l",col="black", xlim=c(1,4.8), ylim=c(60,180), pch=12)
lines(xhat2,type="l",col="orange", lwd=2)
lines(xhat2.opt,type="l",col="cyan4", lwd=2)
lines(forecast2,type="l",col="orange", lwd=2)
lines(forecast2.opt,type="l",col="cyan4", lwd=2)
legend("topleft",c("Actual Data", expression(paste(winter2)),
                   expression(paste(winter2.opt))), 
                   cex=0.5, col=c("black","orange","cyan4"),lty=1)

# Menyimpan plot sebagai file PNG
dev.off() # Menutup file PNG
## png 
##   2

Akurasi Data Latih

#Akurasi data training
SSE2<-winter2$SSE
MSE2<-winter2$SSE/length(training.ts)
RMSE2<-sqrt(MSE2)

SSE2.opt<-winter2.opt$SSE
MSE2.opt<-winter2.opt$SSE/length(training.ts)
RMSE2.opt<-sqrt(MSE2.opt)

akurasi2.train = data.frame(Model_Winter = c("Winter 2","winter2 optimal"),
                            Nilai_SSE=c(SSE2,SSE2.opt),
                            Nilai_MSE=c(MSE2,MSE2.opt),
                            Nilai_RMSE=c(RMSE2,RMSE2.opt))
kable(akurasi2.train) %>% kable_styling()
Model_Winter Nilai_SSE Nilai_MSE Nilai_RMSE
Winter 2 7343.858 23.31384 4.828440
winter2 optimal 3299.752 10.47540 3.236573

Akurasi pada model Winter2 optimal dengan data training lebih baik dibandingkan model Winter2. Ditandai dengan ketiga nilai SSE, MSE, dan RMSE yang lebih kecil.

Akurasi Data Uji

#Akurasi Data Testing
forecast2<-data.frame(forecast2)
testing.ts<-data.frame(testing.ts)
selisih2<-forecast2-testing.ts
SSEtesting2<-sum(selisih2^2)
MSEtesting2<-SSEtesting2/length(testing.ts)
RMSEtesting2<-sqrt(MSEtesting2)

forecast2.opt<-data.frame(forecast2.opt)
selisih2.opt<-forecast2.opt-testing.ts
SSEtesting2.opt<-sum(selisih2.opt^2)
MSEtesting2.opt<-SSEtesting2.opt/length(testing.ts)
RMSEtesting2.opt<-sqrt(MSEtesting2.opt)


akurasi2.test = data.frame(Model_Winter = c("Winter 2","winter2 optimal"),
                            Nilai_SSE=c(SSEtesting2, SSEtesting2.opt),
                            Nilai_MSE=c(MSEtesting2, MSEtesting2.opt),
                            Nilai_RMSE=c(RMSEtesting1,RMSEtesting1.opt))
kable(akurasi2.test) %>% kable_styling()
Model_Winter Nilai_SSE Nilai_MSE Nilai_RMSE
Winter 2 99159.71 99159.71 276.9971
winter2 optimal 26956.06 26956.06 174.9924

Sama seperti sebelumnya, Akurasi pada model Winter2 dengan data testing lebih baik dibandingkan model Winter2 optimal. Ditandai dengan ketiga nilai SSE, MSE, dan RMSE yang lebih kecil.

5. Perbandingan Metode

banding.dma_des <- data.frame(
  cbind(rbind(SSE_test.dma, MSE_test.dma, MAPE_test.dma),
        rbind(SSEtestingdesopt, MSEtestingdesopt, MAPEtestingdesopt)))
row.names(banding.dma_des) <- c("SSE", "MSE", "MAPE")
colnames(banding.dma_des) <- c("DMA","DES")
kable(banding.dma_des) %>% kable_styling()
DMA DES
SSE 91763.86806 3163.79939
MSE 1147.04835 39.54749
MAPE 24.73109 4.57769
banding.wa_wm <- 
  cbind.data.frame(  t( akurasi1.test[2,-1]), 
                     t( akurasi2.test[2,-1]) )
row.names(banding.wa_wm) <- c("SSE", "MSE", "RMSE")
colnames(banding.wa_wm) <- c("Winter Aditif","Winter Multiplikatif")
kable(banding.wa_wm) %>% kable_styling()
Winter Aditif Winter Multiplikatif
SSE 30622.3302 26956.0560
MSE 30622.3302 26956.0560
RMSE 174.9924 174.9924

Metode DMA dan DES dapat dibandingkan hasilnya dengan menggunakan ukuran akurasi yang sama, yaitu SSE, MSE, dan MAPE. Didapatkan hasil bahwa metode DES lebih baik dibandingkan metode DMA dilihat dari SSE, MSE, dan MAPE yang lebih kecil nilainya.

Lalu metode Winter Aditif dan Winter Multifplikatif dapat dibandingkan hasilnya dengan menggunakan ukuran akurasi yang sama, yaitu SSE, MSE, dan RMSE. Didapatkan hasil bahwa metode Winter Multifplikatif lebih baik dibandingkan metode Winter Aditif dilihat dari SSE, MSE, dan RMSE yang lebih kecil nilainya.

C. Kesimpulan

Jika kita bandingkan keempatnya serta melihat nilai SSE dan MSE nya. Maka kita akan melihat bahwa metode DES adalah metode pemulusan terbaik untuk data deret waktu saham amazon periode 2022-2023. Hal ini juga dapat ditinjau langsung dari plot pemulusan yang sudah dibuat.

Referensi