DATA

Data sudah tersedia di Github dan bisa diakses melalui link berikut :

latihan<-read.csv("https://raw.githubusercontent.com/4riz/STA542/main/dataLatihan_P1.csv", sep = ";", header = TRUE)
knitr::kable(latihan)
konstan trend musiman Gabungan
99.72244 11.77 53.5 322
98.38826 11.74 53.0 317
97.57348 11.42 53.2 319
97.75673 11.55 52.5 323
99.12783 11.55 53.4 327
99.65564 11.31 56.5 328
100.21011 10.94 65.3 325
98.79006 10.78 70.7 326
97.99188 10.69 66.9 330
97.68087 10.64 58.2 334
97.93829 10.55 55.3 337
97.37835 10.47 53.4 341
96.68437 10.40 52.1 322
97.62021 10.21 51.5 318
98.92994 10.04 51.5 320
99.39248 9.87 52.4 326
99.38840 9.84 53.3 332
98.69030 9.74 55.5 334
99.66475 9.89 64.2 335
99.67086 9.84 69.6 336
99.99063 9.74 69.3 335
101.66071 9.57 58.5 338
101.19440 9.45 55.3 342
101.07820 9.28 53.6 348
100.64996 9.14 52.3 330
100.92280 8.87 51.5 326
101.91672 8.77 51.7 329
100.42043 8.84 51.5 337
99.93620 8.99 52.2 345
100.24628 9.05 57.1 350
99.74865 9.01 63.6 351
98.91879 9.01 68.8 354
98.84664 9.03 68.9 355
99.79702 8.86 60.1 357
98.42191 8.92 55.6 362
98.31124 8.78 53.9 368
98.94889 NA 53.3 348
97.93573 NA 53.1 345
98.73959 NA 53.5 349
97.96389 NA 53.5 355
97.74445 NA 53.9 362
98.82050 NA 57.1 367
99.12836 NA 64.7 366
98.81002 NA 69.4 370
100.26684 NA 70.3 371
98.68675 NA 62.6 375
97.75455 NA 57.9 380
99.84867 NA 55.8 385
100.20778 NA 54.8 361
100.16132 NA 54.2 354
99.50949 NA 54.6 357
100.29462 NA 54.3 367
99.32569 NA 54.8 376
98.54350 NA 58.1 381
97.39018 NA 68.1 381
96.81288 NA 73.3 383
96.74633 NA 75.5 384
96.98678 NA 66.4 387
96.62883 NA 60.5 392
96.57263 NA 57.7 396
96.84119 NA NA NA
98.13928 NA NA NA
98.54502 NA NA NA
98.16264 NA NA NA
98.66873 NA NA NA
98.47623 NA NA NA
99.53157 NA NA NA
98.53159 NA NA NA
98.74491 NA NA NA
101.12755 NA NA NA
100.29411 NA NA NA
101.10392 NA NA NA
99.87816 NA NA NA
99.68334 NA NA NA
100.84689 NA NA NA
100.53669 NA NA NA
100.50492 NA NA NA
98.60361 NA NA NA
98.22300 NA NA NA
96.81090 NA NA NA
97.16791 NA NA NA
97.31335 NA NA NA
98.69810 NA NA NA
98.83863 NA NA NA
99.16411 NA NA NA

Eksplorasi Data

head(latihan)
##    konstan trend musiman Gabungan
## 1 99.72244 11.77    53.5      322
## 2 98.38826 11.74    53.0      317
## 3 97.57348 11.42    53.2      319
## 4 97.75673 11.55    52.5      323
## 5 99.12783 11.55    53.4      327
## 6 99.65564 11.31    56.5      328

Data latihan terdiri atas 4 jenis data yaitu
- data berpola konstan
- data berpola trend
- data berpola musiman, dan
- data berpola gabungan

Panjang data 4 jenit data tersebut tidak sama (terdapat missing data)

tail(latihan)
##     konstan trend musiman Gabungan
## 80 96.81090    NA      NA       NA
## 81 97.16791    NA      NA       NA
## 82 97.31335    NA      NA       NA
## 83 98.69810    NA      NA       NA
## 84 98.83863    NA      NA       NA
## 85 99.16411    NA      NA       NA

Perlu dibersihkan terlebih dahulu, kecuali Data Konstan. Data Konstan tidak mengandung missing data.

datatrend<-na.omit(latihan$trend)
datatrend
##  [1] 11.77 11.74 11.42 11.55 11.55 11.31 10.94 10.78 10.69 10.64 10.55 10.47
## [13] 10.40 10.21 10.04  9.87  9.84  9.74  9.89  9.84  9.74  9.57  9.45  9.28
## [25]  9.14  8.87  8.77  8.84  8.99  9.05  9.01  9.01  9.03  8.86  8.92  8.78
## attr(,"na.action")
##  [1] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
## [26] 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
## attr(,"class")
## [1] "omit"
datamusiman<-na.omit(latihan$musiman)
datamusiman
##  [1] 53.5 53.0 53.2 52.5 53.4 56.5 65.3 70.7 66.9 58.2 55.3 53.4 52.1 51.5 51.5
## [16] 52.4 53.3 55.5 64.2 69.6 69.3 58.5 55.3 53.6 52.3 51.5 51.7 51.5 52.2 57.1
## [31] 63.6 68.8 68.9 60.1 55.6 53.9 53.3 53.1 53.5 53.5 53.9 57.1 64.7 69.4 70.3
## [46] 62.6 57.9 55.8 54.8 54.2 54.6 54.3 54.8 58.1 68.1 73.3 75.5 66.4 60.5 57.7
## attr(,"na.action")
##  [1] 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
## attr(,"class")
## [1] "omit"
datagabungan<-na.omit(latihan$Gabungan)
datagabungan
##  [1] 322 317 319 323 327 328 325 326 330 334 337 341 322 318 320 326 332 334 335
## [20] 336 335 338 342 348 330 326 329 337 345 350 351 354 355 357 362 368 348 345
## [39] 349 355 362 367 366 370 371 375 380 385 361 354 357 367 376 381 381 383 384
## [58] 387 392 396
## attr(,"na.action")
##  [1] 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
## attr(,"class")
## [1] "omit"

Membentuk Data Time Series

Digunakan fungsi ‘ts’ dari package ‘stats’ untuk membentuk objek Time Series.

datakonstan.ts <- ts(latihan$konstan)
datakonstan.ts
## Time Series:
## Start = 1 
## End = 85 
## Frequency = 1 
##  [1]  99.72244  98.38826  97.57348  97.75673  99.12783  99.65564 100.21011
##  [8]  98.79006  97.99188  97.68087  97.93829  97.37835  96.68437  97.62021
## [15]  98.92994  99.39248  99.38840  98.69030  99.66475  99.67086  99.99063
## [22] 101.66071 101.19440 101.07820 100.64996 100.92280 101.91672 100.42043
## [29]  99.93620 100.24628  99.74865  98.91879  98.84664  99.79702  98.42191
## [36]  98.31124  98.94889  97.93573  98.73959  97.96389  97.74445  98.82050
## [43]  99.12836  98.81002 100.26684  98.68675  97.75455  99.84867 100.20778
## [50] 100.16132  99.50949 100.29462  99.32569  98.54350  97.39018  96.81288
## [57]  96.74633  96.98678  96.62883  96.57263  96.84119  98.13928  98.54502
## [64]  98.16264  98.66873  98.47623  99.53157  98.53159  98.74491 101.12755
## [71] 100.29411 101.10392  99.87816  99.68334 100.84689 100.53669 100.50492
## [78]  98.60361  98.22300  96.81090  97.16791  97.31335  98.69810  98.83863
## [85]  99.16411
datatrend.ts <- ts(datatrend)
datatrend.ts
## Time Series:
## Start = 1 
## End = 36 
## Frequency = 1 
##  [1] 11.77 11.74 11.42 11.55 11.55 11.31 10.94 10.78 10.69 10.64 10.55 10.47
## [13] 10.40 10.21 10.04  9.87  9.84  9.74  9.89  9.84  9.74  9.57  9.45  9.28
## [25]  9.14  8.87  8.77  8.84  8.99  9.05  9.01  9.01  9.03  8.86  8.92  8.78
datamusiman.ts <- ts(datamusiman)
datamusiman.ts
## Time Series:
## Start = 1 
## End = 60 
## Frequency = 1 
##  [1] 53.5 53.0 53.2 52.5 53.4 56.5 65.3 70.7 66.9 58.2 55.3 53.4 52.1 51.5 51.5
## [16] 52.4 53.3 55.5 64.2 69.6 69.3 58.5 55.3 53.6 52.3 51.5 51.7 51.5 52.2 57.1
## [31] 63.6 68.8 68.9 60.1 55.6 53.9 53.3 53.1 53.5 53.5 53.9 57.1 64.7 69.4 70.3
## [46] 62.6 57.9 55.8 54.8 54.2 54.6 54.3 54.8 58.1 68.1 73.3 75.5 66.4 60.5 57.7
datagabungan.ts <- ts(datagabungan)
datagabungan.ts
## Time Series:
## Start = 1 
## End = 60 
## Frequency = 1 
##  [1] 322 317 319 323 327 328 325 326 330 334 337 341 322 318 320 326 332 334 335
## [20] 336 335 338 342 348 330 326 329 337 345 350 351 354 355 357 362 368 348 345
## [39] 349 355 362 367 366 370 371 375 380 385 361 354 357 367 376 381 381 383 384
## [58] 387 392 396

Plot Data

Data Pola Konstan

Dalam kehidupan sehari-hari sangat sulit untuk menemukan data yang benar-benar konstan (nilainya selalu sama dari waktu ke waktu), plot berikut merupakan contoh plot data yang berpola konstan, menyebar di sekitar nilai 99

ts.plot(datakonstan.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola konstan", ylim=c(80,120))
points(datakonstan.ts)

Pada plot di atas, dibuat limit tabel y antara 80-120. Berikut ini adalah contoh ketika tidak diatur.

ts.plot(datakonstan.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola konstan")
points(datakonstan.ts)

Data Pola Trend

Data deret waktu yang berbentuk trend dapat membentuk trend naik ataupun trend turun. Contoh yang sangat dekat data deret waktu berpola trend adalah plot data positif covid-19 di indonesia saat ini. Plot berikut merupakan contoh plot data yang membentuk pola trend negatif

ts.plot(datatrend.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola trend")
points(datatrend.ts)

Data Pola Musiman

Dalam kehidupan sehari-hari kita sangat dekat dengan data deret waktu salah satunya data deret waktu dengan pola musiman, contohnya data curah hujan. Ada yang tahu apakah perbedaan data musiman dan data siklik?

ts.plot(datamusiman.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola musiman")
points(datamusiman.ts)

Data Pola Gabungan

Pola data gabungan paling banyak ditemukan dalam kehidupan kita sehari-hari, berikut merupakan contoh data berpola gabungan, yaitu gabungan antara musiman dan trend

ts.plot(datagabungan.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola gabungan")
points(datagabungan.ts)

Menyimpan Plot

#menyimpan plot
setwd("D:\\GDrive\\02.PENGAJARAN\\STK553 Analisis Deret Waktu\\ADW\\bahan praktikum\\praktikum 1")

png(file="plot konstan.png", width=600, height=400)
ts.plot(datakonstan.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola konstan")
points(datakonstan.ts)
dev.off()

jpeg(file="plot trend.jpeg", width=600, height=400)
ts.plot(datatrend.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola trend")
points(datatrend.ts)
dev.off()

jpeg(file="plot musiman.jpeg", width=600, height=400)
ts.plot(datamusiman.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola musiman")
points(datamusiman.ts)
dev.off()

jpeg(file="plot gabungan.jpeg", width=600, height=400)
ts.plot(datagabungan.ts, xlab="periode waktu", ylab="data", main="Plot time series data berpola gabungan")
points(datagabungan.ts)
dev.off()