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