1 PENDAHULUAN
1.1 Latar Belakang
Statistika merupakan cabang ilmu matematika yang mengalami perkembangan pesat, tidak hanya dalam hal analisis tetapi juga sebagai metode peramalan dan pengambilan keputusan. Salah satu metode yang krusial dalam statistika adalah analisis deret waktu atau Time Series, yang digunakan untuk menganalisis data dengan mempertimbangkan pengaruh waktu. Time Series sangat bermanfaat dalam berbagai bidang, termasuk ekonomi, fisika, demografi, dan pengendalian kualitas.
Dalam konteks transportasi udara, analisis deret waktu dapat memberikan wawasan mendalam mengenai tren penumpang udara. Data penumpang udara yang dikumpulkan secara periodik, misalnya per jam, hari, minggu, bulan, atau tahun, sangat penting untuk peramalan yang akurat. Penerapan analisis Time Series dalam industri penerbangan bisa membantu maskapai dan pengelola bandara untuk merencanakan operasional yang lebih efisien, mengoptimalkan penggunaan sumber daya, dan meningkatkan kualitas layanan kepada penumpang. Dalam laporan ini akan dibahas lebih lanjut mengenai analisis deret waktu beserta asumsi stasioneritas yang akan melibatkan fungsi autokorelasi. Akan ditunjukkan langkah-langkah yang dibutuhkan menggunakan software RStudio. Dengan demikian, hasil analisis ini diharapkan dapat memberikan kontribusi yang signifikan bagi perencanaan dan pengambilan keputusan dalam industri penerbangan.
1.2 Tinjauan Pustaka
1.2.1 Konsep Deret Waktu
Deret waktu, juga dikenal sebagai time series, merujuk pada pengamatan berkelanjutan dari satu atau beberapa variabel pada interval waktu yang tetap (Wei, 2006). Pada tahun 1976, George Box dan Gwilyn Jenkins memperkenalkan konsep analisis deret waktu untuk pertama kalinya. Analisis deret waktu merupakan suatu metode statistika yang digunakan untuk memprediksi kejadian di masa depan. Dengan menggunakan data yang terkait dengan waktu, analisis ini memperhitungkan korelasi antara kejadian pada saat ini dengan periode waktu sebelumnya. Selain keterkaitan dengan waktu, deret waktu juga dapat menunjukkan hubungan dengan dimensi lain seperti wilayah atau faktor-faktor lain yang saling terkait.
1.2.2 Metode Analisis Deret Waktu
1.2.2.1 Dekomposisi Deret Waktu
Additive Model \[ Y_{t}=T_{t}+S_{t}+C_{t}+I_{t} \]
Multiplicate Model \[ Y_{t}=T_{t}+S_{t}+C_{t}+I_{t} \]
1.2.2.2 Model Autoregressive Integrated Moving Average (ARIMA)
Model Autoregressive (AR) Model AR(p) adalah model dimana Xt merupakan fungsi dari data di masa yang lalu, yakni \(t-1,t-2,..,t-p\) Persamaan AR diberikan oleh \[ X_{t}=\mu +\Phi_{1}X_{t-1}+\Phi_{2}X_{t-2}+...++\Phi_{p}X_{t-p}+e_{t} \]
Model Moving Average (MA) Model MA(q) adalah model untuk memprediksi Xt sebagai fungsi dari kesalahan prediksi di masa lalu (past forecast error) dalam memprediksi \(X_{t}\) . Persamaan MA diberikan oleh:
1.2.2.3 Exponential Smoothing
Simple Exponential Smoothing: Digunakan untuk data tanpa tren atau musiman. Holt’s Linear Trend Model: Menggunakan dua parameter untuk level dan tren. Holt-Winters Seasonal Model: Menangani data dengan komponen musiman
1.2.3 Langkah-langkah Analisis Deret Waktu
1.2.3.1 Visualisasi Data
Menggunakan plot deret waktu untuk mengidentifikasi komponen data deret waktu. Beberapa pola yang dapat dibedakan muncul ketika data divisualisasikan. Rangkaian waktu memiliki pola musiman.Data juga dapat divisualisasikan menggunakan metode yang disebut dekomposisi deret waktu yang memungkinkan untuk menguraikan deret waktu menjadi tiga komponen berbeda: tren, musiman, dan noise
1.2.3.2 Stasioneritas
Uji stasioneritas (misalnya, uji Augmented Dickey-Fuller) untuk memastikan bahwa data tidak memiliki tren atau variabilitas musiman. Data stasioner harus memenuhi 2 kondisi. Kondisi kedua memastikan bahwa semua anggota proses stokastik memiliki varian yang sama. Kondisi kedua berarti bahwa semua anggota proses stokastik memiliki rata-rata konstan yang sama. Oleh karena itu, deret waktu yang dihasilkan oleh proses stokastik stasioner harus berfluktuasi di sekitar rata-rata konstan dan tidak memiliki tren.
1.2.3.3 Identifikasi Model
Menggunakan Autocorrelation Function (ACF) dan Partial Autocorrelation Function (PACF) untuk menentukan parameter AR dan MA.
1.2.3.4 Estimasi Paramater
Menggunakan metode seperti Maximum Likelihood Estimation (MLE) untuk menentukan parameter model.
1.2.3.5 Diagnosis Model
Mengevaluasi model dengan memeriksa residuals untuk memastikan bahwa mereka berperilaku seperti white noise.
1.2.3.6 Prediksi
Menggunakan model yang telah dibangun untuk membuat prediksi di masa depan. Jika model yang cocok untuk Data dari seri waktu tertentu telah ditemukan, dapat digunakan untuk memperkirakan pengembangan variabel di masa depan yang sedang dipertimbangkan.
1.3 Data
Data yang digunakan adalah data penumpang udara pada tahun 1949 hingga 1960. Data diperoleh dari website kaggle dengan judul “Air Passenger Data for Time Series Analysis”
> library(readr)
> data <- read_csv("C:/Users/Lenovo/Downloads/AirPassengers.csv",
+ col_types = cols(Month = col_date(format = "%Y-%m"),
+ Passengers = col_number()))
> head(data)
# A tibble: 6 × 2
Month Passengers
<date> <dbl>
1 1949-01-01 112
2 1949-02-01 118
3 1949-03-01 132
4 1949-04-01 129
5 1949-05-01 121
6 1949-06-01 135Sumber : https://www.kaggle.com/datasets/samuelcortinhas/time-series-practice-dataset
1.4 Tujuan
Analisis dilakukan untuk memberikan ramalan untuk memprediksi tren jumlah penumpang udara.
2 SOURCE CODE
2.1 Library
2.2 Impor Data
2.3 Visualisasi Data
2.3.1 Pendefenisian Data Deret Waktu
Membentuk deret waktu dari data penumpang udara pada tahun 1949 hingga 1960
> df1 <- ts(data$Passengers, start = 1949, frequency = 12)
> df1
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1949 112 118 132 129 121 135 148 148 136 119 104 118
1950 115 126 141 135 125 149 170 170 158 133 114 140
1951 145 150 178 163 172 178 199 199 184 162 146 166
1952 171 180 193 181 183 218 230 242 209 191 172 194
1953 196 196 236 235 229 243 264 272 237 211 180 201
1954 204 188 235 227 234 264 302 293 259 229 203 229
1955 242 233 267 269 270 315 364 347 312 274 237 278
1956 284 277 317 313 318 374 413 405 355 306 271 306
1957 315 301 356 348 355 422 465 467 404 347 305 336
1958 340 318 362 348 363 435 491 505 404 359 310 337
1959 360 342 406 396 420 472 548 559 463 407 362 405
1960 417 391 419 461 472 535 622 606 508 461 390 4322.4 Pembentukan Time Lag
> l_df1 <-zlag(df1,1)
> l_df1
[1] NA 112 118 132 129 121 135 148 148 136 119 104 118 115 126 141 135 125
[19] 149 170 170 158 133 114 140 145 150 178 163 172 178 199 199 184 162 146
[37] 166 171 180 193 181 183 218 230 242 209 191 172 194 196 196 236 235 229
[55] 243 264 272 237 211 180 201 204 188 235 227 234 264 302 293 259 229 203
[73] 229 242 233 267 269 270 315 364 347 312 274 237 278 284 277 317 313 318
[91] 374 413 405 355 306 271 306 315 301 356 348 355 422 465 467 404 347 305
[109] 336 340 318 362 348 363 435 491 505 404 359 310 337 360 342 406 396 420
[127] 472 548 559 463 407 362 405 417 391 419 461 472 535 622 606 508 461 3902.5 Stasioneritas
2.5.1 Stasioneritas terhadap Ragam
Digunakan plot Box-Cox untuk melihat apakah data stasioner terhadap ragam atau tidak
2.5.1.1 Transformasi Data
Dilakukan Transformasi agar data stasioner, Karena data tidak stasioner
> trans.pass = log(df1)
> trans.pass
Jan Feb Mar Apr May Jun Jul Aug
1949 4.718499 4.770685 4.882802 4.859812 4.795791 4.905275 4.997212 4.997212
1950 4.744932 4.836282 4.948760 4.905275 4.828314 5.003946 5.135798 5.135798
1951 4.976734 5.010635 5.181784 5.093750 5.147494 5.181784 5.293305 5.293305
1952 5.141664 5.192957 5.262690 5.198497 5.209486 5.384495 5.438079 5.488938
1953 5.278115 5.278115 5.463832 5.459586 5.433722 5.493061 5.575949 5.605802
1954 5.318120 5.236442 5.459586 5.424950 5.455321 5.575949 5.710427 5.680173
1955 5.488938 5.451038 5.587249 5.594711 5.598422 5.752573 5.897154 5.849325
1956 5.648974 5.624018 5.758902 5.746203 5.762051 5.924256 6.023448 6.003887
1957 5.752573 5.707110 5.874931 5.852202 5.872118 6.045005 6.142037 6.146329
1958 5.828946 5.762051 5.891644 5.852202 5.894403 6.075346 6.196444 6.224558
1959 5.886104 5.834811 6.006353 5.981414 6.040255 6.156979 6.306275 6.326149
1960 6.033086 5.968708 6.037871 6.133398 6.156979 6.282267 6.432940 6.406880
Sep Oct Nov Dec
1949 4.912655 4.779123 4.644391 4.770685
1950 5.062595 4.890349 4.736198 4.941642
1951 5.214936 5.087596 4.983607 5.111988
1952 5.342334 5.252273 5.147494 5.267858
1953 5.468060 5.351858 5.192957 5.303305
1954 5.556828 5.433722 5.313206 5.433722
1955 5.743003 5.613128 5.468060 5.627621
1956 5.872118 5.723585 5.602119 5.723585
1957 6.001415 5.849325 5.720312 5.817111
1958 6.001415 5.883322 5.736572 5.820083
1959 6.137727 6.008813 5.891644 6.003887
1960 6.230481 6.133398 5.966147 6.0684262.5.1.2 Deret Waktu dan Plot setelah Transformasi
Melakukan pemeriksaan kembali terhadap data yang sudah ditransformasi melalui deret waktu dan plot Box-Cox nya:
> df2 <- ts(trans.pass, start = 1949, frequency = 12)
> df2
Jan Feb Mar Apr May Jun Jul Aug
1949 4.718499 4.770685 4.882802 4.859812 4.795791 4.905275 4.997212 4.997212
1950 4.744932 4.836282 4.948760 4.905275 4.828314 5.003946 5.135798 5.135798
1951 4.976734 5.010635 5.181784 5.093750 5.147494 5.181784 5.293305 5.293305
1952 5.141664 5.192957 5.262690 5.198497 5.209486 5.384495 5.438079 5.488938
1953 5.278115 5.278115 5.463832 5.459586 5.433722 5.493061 5.575949 5.605802
1954 5.318120 5.236442 5.459586 5.424950 5.455321 5.575949 5.710427 5.680173
1955 5.488938 5.451038 5.587249 5.594711 5.598422 5.752573 5.897154 5.849325
1956 5.648974 5.624018 5.758902 5.746203 5.762051 5.924256 6.023448 6.003887
1957 5.752573 5.707110 5.874931 5.852202 5.872118 6.045005 6.142037 6.146329
1958 5.828946 5.762051 5.891644 5.852202 5.894403 6.075346 6.196444 6.224558
1959 5.886104 5.834811 6.006353 5.981414 6.040255 6.156979 6.306275 6.326149
1960 6.033086 5.968708 6.037871 6.133398 6.156979 6.282267 6.432940 6.406880
Sep Oct Nov Dec
1949 4.912655 4.779123 4.644391 4.770685
1950 5.062595 4.890349 4.736198 4.941642
1951 5.214936 5.087596 4.983607 5.111988
1952 5.342334 5.252273 5.147494 5.267858
1953 5.468060 5.351858 5.192957 5.303305
1954 5.556828 5.433722 5.313206 5.433722
1955 5.743003 5.613128 5.468060 5.627621
1956 5.872118 5.723585 5.602119 5.723585
1957 6.001415 5.849325 5.720312 5.817111
1958 6.001415 5.883322 5.736572 5.820083
1959 6.137727 6.008813 5.891644 6.003887
1960 6.230481 6.133398 5.966147 6.0684262.5.2 Stasioneritas terhadap Rata-rata
2.5.2.1 Differensiasi Data
Dilakukan differencing agar data stasioner.
> df2_diff1 <- diff(df2,1,1)
> df2_diff1
Jan Feb Mar Apr May
1949 0.052185753 0.112117298 -0.022989518 -0.064021859
1950 -0.025752496 0.091349779 0.112477983 -0.043485112 -0.076961041
1951 0.035091320 0.033901552 0.171148256 -0.088033349 0.053744276
1952 0.029675768 0.051293294 0.069733338 -0.064193158 0.010989122
1953 0.010256500 0.000000000 0.185717146 -0.004246291 -0.025863511
1954 0.014815086 -0.081678031 0.223143551 -0.034635497 0.030371098
1955 0.055215723 -0.037899273 0.136210205 0.007462721 0.003710579
1956 0.021353124 -0.024956732 0.134884268 -0.012698583 0.015848192
1957 0.028987537 -0.045462374 0.167820466 -0.022728251 0.019915310
1958 0.011834458 -0.066894235 0.129592829 -0.039441732 0.042200354
1959 0.066021101 -0.051293294 0.171542423 -0.024938948 0.058840500
1960 0.029199155 -0.064378662 0.069163360 0.095527123 0.023580943
Jun Jul Aug Sep Oct
1949 0.109484233 0.091937495 0.000000000 -0.084557388 -0.133531393
1950 0.175632569 0.131852131 0.000000000 -0.073203404 -0.172245905
1951 0.034289073 0.111521274 0.000000000 -0.078369067 -0.127339422
1952 0.175008910 0.053584246 0.050858417 -0.146603474 -0.090060824
1953 0.059339440 0.082887660 0.029852963 -0.137741925 -0.116202008
1954 0.120627988 0.134477914 -0.030254408 -0.123344547 -0.123106058
1955 0.154150680 0.144581229 -0.047829088 -0.106321592 -0.129875081
1956 0.162204415 0.099191796 -0.019560526 -0.131769278 -0.148532688
1957 0.172887525 0.097032092 0.004291852 -0.144914380 -0.152090098
1958 0.180943197 0.121098097 0.028114301 -0.223143551 -0.118092489
1959 0.116724274 0.149296301 0.019874186 -0.188422419 -0.128913869
1960 0.125287761 0.150673346 -0.026060107 -0.176398538 -0.097083405
Nov Dec
1949 -0.134732594 0.126293725
1950 -0.154150680 0.205443974
1951 -0.103989714 0.128381167
1952 -0.104778951 0.120363682
1953 -0.158901283 0.110348057
1954 -0.120516025 0.120516025
1955 -0.145067965 0.159560973
1956 -0.121466281 0.121466281
1957 -0.129013003 0.096799383
1958 -0.146750091 0.083510633
1959 -0.117168974 0.112242855
1960 -0.167251304 0.1022788492.6 Identifikasi Model
Menentukan model ARIMA yang diperoleh melalui korelogram, menampilkan kedua koleogram dalam satu baris yang bersama :
2.7 Estimasi Parameter
Melihat dari model yang sudah didapatkan apakah koefisiennya signifikan terhadap model atau tidak, dengan melakukan estimasi parameter masing masing model
> model.1 <- Arima(df1, order = c(2,1,1), method = "ML")
> coeftest(model.1)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 1.090636 0.077595 14.0554 < 2.2e-16 ***
ar2 -0.489012 0.074378 -6.5747 4.877e-11 ***
ma1 -0.843852 0.042678 -19.7725 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> model.2 <- Arima(df1, order = c(2,1,0), method = "ML")
> coeftest(model.2)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.381468 0.082432 4.6276 3.698e-06 ***
ar2 -0.227868 0.083406 -2.7320 0.006295 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> model.3 <- Arima(df1, order = c(1,1,1), method = "ML")
> coeftest(model.3)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 -0.474179 0.115866 -4.0925 4.268e-05 ***
ma1 0.863472 0.071961 11.9991 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> model.4 <- Arima(df1, order = c(1,1,0), method = "ML")
> coeftest(model.4)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.306549 0.079667 3.8479 0.0001191 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> model.5 <- Arima(df1, order = c(0,1,1), method = "ML")
> coeftest(model.1)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 1.090636 0.077595 14.0554 < 2.2e-16 ***
ar2 -0.489012 0.074378 -6.5747 4.877e-11 ***
ma1 -0.843852 0.042678 -19.7725 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 12.8 Diagnosis Model
Melihat nilai AIC kelima model untuk dibandingkan
> aic.model <- data.frame(Nama=c("model.1","model.2","model.3","model.4","model.5"), Model=c("ARIMA(2,1,1)","ARIMA(2,1,0)","ARIMA(1,1,1)","ARIMA(1,1,0)","ARIMA(0,1,1)"),
+ AIC=c(model.1$aic, model.2$aic, model.3$aic, model.4$aic, model.5$aic))
> print(aic.model)
Nama Model AIC
1 model.1 ARIMA(2,1,1) 1378.338
2 model.2 ARIMA(2,1,0) 1396.588
3 model.3 ARIMA(1,1,1) 1394.683
4 model.4 ARIMA(1,1,0) 1401.853
5 model.5 ARIMA(0,1,1) 1397.258Menguji indenpendensi residual antar lag pada model ARIMA (p,d,q)
Ljung-Box test
data: Residuals from ARIMA(2,1,1)
Q* = 216.35, df = 21, p-value < 2.2e-16
Model df: 3. Total lags used: 24
2.9 Prediksi
Melihat hasil peramalan:
> ramalan <- forecast(df1, model=model.1, h=12)
> ramalan
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Jan 1961 471.0031 433.3616 508.6447 413.4353 528.5709
Feb 1961 493.0028 432.8414 553.1642 400.9939 585.0118
Mar 1961 497.9235 426.4140 569.4330 388.5592 607.2878
Apr 1961 492.5320 416.7499 568.3142 376.6332 608.4308
May 1961 484.2457 407.1196 561.3717 366.2915 602.1998
Jun 1961 477.8447 400.1666 555.5228 359.0463 596.6431
Jul 1961 474.9158 396.7238 553.1078 355.3314 594.5001
Aug 1961 474.8515 395.8730 553.8300 354.0643 595.6386
Sep 1961 476.2137 396.0682 556.3591 353.6418 598.7855
Oct 1961 477.7307 396.1374 559.3240 352.9446 602.5169
Nov 1961 478.7192 395.5904 561.8480 351.5847 605.8537
Dec 1961 479.0554 394.4497 563.6611 349.6621 608.44863 HASIL DAN PEMBAHASAN
3.1 Visualisasi Data
Data terdefenisi sebagai deret amatan mulai Januari 1949 sampai dengan Desember 1960
> df1
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1949 112 118 132 129 121 135 148 148 136 119 104 118
1950 115 126 141 135 125 149 170 170 158 133 114 140
1951 145 150 178 163 172 178 199 199 184 162 146 166
1952 171 180 193 181 183 218 230 242 209 191 172 194
1953 196 196 236 235 229 243 264 272 237 211 180 201
1954 204 188 235 227 234 264 302 293 259 229 203 229
1955 242 233 267 269 270 315 364 347 312 274 237 278
1956 284 277 317 313 318 374 413 405 355 306 271 306
1957 315 301 356 348 355 422 465 467 404 347 305 336
1958 340 318 362 348 363 435 491 505 404 359 310 337
1959 360 342 406 396 420 472 548 559 463 407 362 405
1960 417 391 419 461 472 535 622 606 508 461 390 432Berdasarkan data yang digunakan, diperoleh plot deret waktu
> plot(df1, main = 'Data Penumpang Udara pada 1949-1960', ylab = "Jumlah Penumpang", xlab = "Tahun" )
Deret memiliki trend naik seiring waktu
3.2 Pembentukan Timelag
Pembentukan time lag 1
> l_df1
[1] NA 112 118 132 129 121 135 148 148 136 119 104 118 115 126 141 135 125
[19] 149 170 170 158 133 114 140 145 150 178 163 172 178 199 199 184 162 146
[37] 166 171 180 193 181 183 218 230 242 209 191 172 194 196 196 236 235 229
[55] 243 264 272 237 211 180 201 204 188 235 227 234 264 302 293 259 229 203
[73] 229 242 233 267 269 270 315 364 347 312 274 237 278 284 277 317 313 318
[91] 374 413 405 355 306 271 306 315 301 356 348 355 422 465 467 404 347 305
[109] 336 340 318 362 348 363 435 491 505 404 359 310 337 360 342 406 396 420
[127] 472 548 559 463 407 362 405 417 391 419 461 472 535 622 606 508 461 390Pada obyek time lag-1 nya, l_df1:
Pada Januari 1949 = NA (merujuk data Januari 1949, yang tidak ada akibat pergeseran)
Pada Februari 1949, digunakan pengamatan Januari 1949
Pada Maret 1949, digunakan pengamatan Februari 1949
3.3 Stasioneritas
3.3.1 Stasioneritas terhadap Ragam
Nilai 𝜆 yang dihasilkan tidak memiliki selang yang memuat nilai 1,
artinya secara statistik dapat dikatakan bahwa data perlu ditransformasi
karena belum stasioner terhadap ragam.
3.3.1.1 Transformasi Data
Karena data tidak stasioner, maka perlu dilakukan Transformasi agar data stasioner. Kemudian lakukan uji stasioneritas terhadap Ragam kembali Berikut merupakan data hasil transformasi pertama:
> trans.pass
Jan Feb Mar Apr May Jun Jul Aug
1949 4.718499 4.770685 4.882802 4.859812 4.795791 4.905275 4.997212 4.997212
1950 4.744932 4.836282 4.948760 4.905275 4.828314 5.003946 5.135798 5.135798
1951 4.976734 5.010635 5.181784 5.093750 5.147494 5.181784 5.293305 5.293305
1952 5.141664 5.192957 5.262690 5.198497 5.209486 5.384495 5.438079 5.488938
1953 5.278115 5.278115 5.463832 5.459586 5.433722 5.493061 5.575949 5.605802
1954 5.318120 5.236442 5.459586 5.424950 5.455321 5.575949 5.710427 5.680173
1955 5.488938 5.451038 5.587249 5.594711 5.598422 5.752573 5.897154 5.849325
1956 5.648974 5.624018 5.758902 5.746203 5.762051 5.924256 6.023448 6.003887
1957 5.752573 5.707110 5.874931 5.852202 5.872118 6.045005 6.142037 6.146329
1958 5.828946 5.762051 5.891644 5.852202 5.894403 6.075346 6.196444 6.224558
1959 5.886104 5.834811 6.006353 5.981414 6.040255 6.156979 6.306275 6.326149
1960 6.033086 5.968708 6.037871 6.133398 6.156979 6.282267 6.432940 6.406880
Sep Oct Nov Dec
1949 4.912655 4.779123 4.644391 4.770685
1950 5.062595 4.890349 4.736198 4.941642
1951 5.214936 5.087596 4.983607 5.111988
1952 5.342334 5.252273 5.147494 5.267858
1953 5.468060 5.351858 5.192957 5.303305
1954 5.556828 5.433722 5.313206 5.433722
1955 5.743003 5.613128 5.468060 5.627621
1956 5.872118 5.723585 5.602119 5.723585
1957 6.001415 5.849325 5.720312 5.817111
1958 6.001415 5.883322 5.736572 5.820083
1959 6.137727 6.008813 5.891644 6.003887
1960 6.230481 6.133398 5.966147 6.0684263.3.1.2 Deret Waktu dan Plot setelah Transformasi
Setelah dilakukan Transformasi, dibentuk kembali deret waktu dan digambarkan kembali plotnya
> df2
Jan Feb Mar Apr May Jun Jul Aug
1949 4.718499 4.770685 4.882802 4.859812 4.795791 4.905275 4.997212 4.997212
1950 4.744932 4.836282 4.948760 4.905275 4.828314 5.003946 5.135798 5.135798
1951 4.976734 5.010635 5.181784 5.093750 5.147494 5.181784 5.293305 5.293305
1952 5.141664 5.192957 5.262690 5.198497 5.209486 5.384495 5.438079 5.488938
1953 5.278115 5.278115 5.463832 5.459586 5.433722 5.493061 5.575949 5.605802
1954 5.318120 5.236442 5.459586 5.424950 5.455321 5.575949 5.710427 5.680173
1955 5.488938 5.451038 5.587249 5.594711 5.598422 5.752573 5.897154 5.849325
1956 5.648974 5.624018 5.758902 5.746203 5.762051 5.924256 6.023448 6.003887
1957 5.752573 5.707110 5.874931 5.852202 5.872118 6.045005 6.142037 6.146329
1958 5.828946 5.762051 5.891644 5.852202 5.894403 6.075346 6.196444 6.224558
1959 5.886104 5.834811 6.006353 5.981414 6.040255 6.156979 6.306275 6.326149
1960 6.033086 5.968708 6.037871 6.133398 6.156979 6.282267 6.432940 6.406880
Sep Oct Nov Dec
1949 4.912655 4.779123 4.644391 4.770685
1950 5.062595 4.890349 4.736198 4.941642
1951 5.214936 5.087596 4.983607 5.111988
1952 5.342334 5.252273 5.147494 5.267858
1953 5.468060 5.351858 5.192957 5.303305
1954 5.556828 5.433722 5.313206 5.433722
1955 5.743003 5.613128 5.468060 5.627621
1956 5.872118 5.723585 5.602119 5.723585
1957 6.001415 5.849325 5.720312 5.817111
1958 6.001415 5.883322 5.736572 5.820083
1959 6.137727 6.008813 5.891644 6.003887
1960 6.230481 6.133398 5.966147 6.068426
Nilai 𝜆 yang dihasilkan masih memiliki selang yang memuat nilai 1,
artinya secara statistik dapat dikatakan bahwa data tidak perlu
ditransformasi karena sudah stasioner terhadap ragam.
3.3.2 Stasioneritas terhadap Rata-rata
3.3.2.1 Differensiasi Data
Karena data tidak stasioner, maka perlu dilakukan differencing agar data stasioner. Kemudian lakukan uji stasioneritas kembali. Berikut merupakan data hasil differensiasi pertama
> df2_diff1
Jan Feb Mar Apr May
1949 0.052185753 0.112117298 -0.022989518 -0.064021859
1950 -0.025752496 0.091349779 0.112477983 -0.043485112 -0.076961041
1951 0.035091320 0.033901552 0.171148256 -0.088033349 0.053744276
1952 0.029675768 0.051293294 0.069733338 -0.064193158 0.010989122
1953 0.010256500 0.000000000 0.185717146 -0.004246291 -0.025863511
1954 0.014815086 -0.081678031 0.223143551 -0.034635497 0.030371098
1955 0.055215723 -0.037899273 0.136210205 0.007462721 0.003710579
1956 0.021353124 -0.024956732 0.134884268 -0.012698583 0.015848192
1957 0.028987537 -0.045462374 0.167820466 -0.022728251 0.019915310
1958 0.011834458 -0.066894235 0.129592829 -0.039441732 0.042200354
1959 0.066021101 -0.051293294 0.171542423 -0.024938948 0.058840500
1960 0.029199155 -0.064378662 0.069163360 0.095527123 0.023580943
Jun Jul Aug Sep Oct
1949 0.109484233 0.091937495 0.000000000 -0.084557388 -0.133531393
1950 0.175632569 0.131852131 0.000000000 -0.073203404 -0.172245905
1951 0.034289073 0.111521274 0.000000000 -0.078369067 -0.127339422
1952 0.175008910 0.053584246 0.050858417 -0.146603474 -0.090060824
1953 0.059339440 0.082887660 0.029852963 -0.137741925 -0.116202008
1954 0.120627988 0.134477914 -0.030254408 -0.123344547 -0.123106058
1955 0.154150680 0.144581229 -0.047829088 -0.106321592 -0.129875081
1956 0.162204415 0.099191796 -0.019560526 -0.131769278 -0.148532688
1957 0.172887525 0.097032092 0.004291852 -0.144914380 -0.152090098
1958 0.180943197 0.121098097 0.028114301 -0.223143551 -0.118092489
1959 0.116724274 0.149296301 0.019874186 -0.188422419 -0.128913869
1960 0.125287761 0.150673346 -0.026060107 -0.176398538 -0.097083405
Nov Dec
1949 -0.134732594 0.126293725
1950 -0.154150680 0.205443974
1951 -0.103989714 0.128381167
1952 -0.104778951 0.120363682
1953 -0.158901283 0.110348057
1954 -0.120516025 0.120516025
1955 -0.145067965 0.159560973
1956 -0.121466281 0.121466281
1957 -0.129013003 0.096799383
1958 -0.146750091 0.083510633
1959 -0.117168974 0.112242855
1960 -0.167251304 0.1022788493.3.2.2 Visualisasi data setelah differensiasi
Plot data yang telah stasioner:
> plot(df2, main = 'Data Penumpang Udara pada 1949-1960', ylab = "Jumlah Penumpang", xlab = "Tahun" )3.3.2.3 Stasioneritas terhadap Rata-rata
> adf.test(df2_diff1)
Augmented Dickey-Fuller Test
data: df2_diff1
Dickey-Fuller = -6.4313, Lag order = 5, p-value = 0.01
alternative hypothesis: stationaryHipotesis \(H_{0}\) : Data tidak stasioner \(vs\) \(H_{1}\) : Data stasioner
Daerah Kritis : \(p-value\leq \alpha\)
Statistik Uji : \(p-value= 0.01\)
Keputusan : karena nilai \(p-value\leq \alpha\) yaitu \(0.01\leq 0.05\) tolak \(H_{0}\)
Kesimpulan : dengan tingkat kepercayaan 95% dapat disimpulkan bahwa data setelah differensiasi telah stasioner
3.4 Identifikasi Model
Kemudian menentukan model ARIMA yang diperoleh melalui korelogram
Berdasarkan korelogram, batang ACF keluar hingga lag ke-1 yang
menunjukan orde MA yaitu 𝑞 = 1. Sementara batang PACF kelua pada lag
ke-2, yang menunjukan orde AR yaitu 𝑝 = 2. Dengan sebelumnya dilakukan
differencing orde 1, 𝑑 = 1, diperoleh model ARIMA(2,1,1)
3.5 Estimasi Parameter
Overfitting terhadap model dapat dilakukan dengan memilih model yang memiliki orde lebih rendah atau kombinasi dari orde pada model utama, yaitu
ARIMA(2,1,1)
ARIMA(2,1,0)
ARIMA(1,1,1)
ARIMA(1,1,0)
ARIMA(0,1,1)
Setelah mendapatkan kelima model tersebut, akan dilihat apakah koefisiennya signifikan terhadap model atau tidak, dengan melakukan estimasi parameter model
> coeftest(model.1)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 1.090636 0.077595 14.0554 < 2.2e-16 ***
ar2 -0.489012 0.074378 -6.5747 4.877e-11 ***
ma1 -0.843852 0.042678 -19.7725 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1AR (Autoregressive) Orde 𝑝 = 2: Ada 2 komponen autoregressive.
Differencing Orde 𝑑 = 1: Data telah didifferensiasikan sekali untuk mencapai stasionaritas.
MA (Moving Average) Orde 𝑞 = 1: Ada satu komponen moving average dalam model.
Interpretasi :
Differencing (𝑑 = 1): Dengan orde differencing 1, model ini mengurangi tren linear dan membuat data lebih stasioner.
AR1 (𝑝 = 1) dan AR2 (𝑝 = 2): Koefisien AR1 adalah 1.09 dan koefisien AR2 adalah -0.48
MA1 (𝑞 = 1): Koefisien MA1 adalah -0.84. MA1 tidak signifikan secara statistik dengan p-value yang tinggi. Ini menunjukkan bahwa perubahan dalam nilai observasi saat ini tidak secara signifikan dipengaruhi oleh eror residual pada periode sebelumnya.
> coeftest(model.2)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.381468 0.082432 4.6276 3.698e-06 ***
ar2 -0.227868 0.083406 -2.7320 0.006295 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1AR (Autoregressive) Orde 𝑝 = 2: Ada 2 komponen autoregressive.
Differencing Orde 𝑑 = 1: Data telah didifferensiasikan sekali untuk mencapai stasionaritas.
MA (Moving Average) Orde 𝑞 = 0: Tidak ada komponen moving average dalam model.
Interpretasi :
Differencing (𝑑 = 1): Dengan orde differencing 1, model ini mengurangi tren linear dan membuat data lebih stasioner.
AR1 (𝑝 = 1) dan AR2 (𝑝 = 2): Koefisien AR1 adalah 0.38 dan koefisien AR2 adalah -0.22.
> coeftest(model.3)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 -0.474179 0.115866 -4.0925 4.268e-05 ***
ma1 0.863472 0.071961 11.9991 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1AR (Autoregressive) Orde 𝑝 = 1: Ada 1 komponen autoregressive.
Differencing Orde 𝑑 = 1: Data telah didifferensiasikan sekali untuk mencapai stasionaritas.
MA (Moving Average) Orde 𝑞 = 1: Ada 1 komponen moving average dalam model.
Interpretasi :
Differencing (𝑑 = 1): Dengan orde differencing 1, model ini mengurangi tren linear dan membuat data lebih stasioner.
AR1 (𝑝 = 1): Koefisien AR1 adalah -0.47 yang tidak signifikan secara statistik dengan p-value yang tinggi. Ini menunjukkan bahwa perubahan dalam nilai observasi saat ini tidak secara signifikan dipengaruhi oleh nilai observasi pada periode sebelumnya setelah differencing.
MA1 (𝑞 = 1): Koefisien MA1 adalah 0.86, yang signifikan secara statistik dengan p-value yang tinggi. Ini menunjukkan bahwa perubahan dalam nilai observasi saat ini dipengaruhi oleh error residual pada periode sebelumnya.
> coeftest(model.4)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.306549 0.079667 3.8479 0.0001191 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1AR (Autoregressive) Orde 𝑝 = 1: Ada 1 komponen autoregressive.
Differencing Orde 𝑑 = 1: Data telah didifferensiasikan sekali untuk mencapai stasionaritas.
MA (Moving Average) Orde 𝑞 = 0: Tidak ada komponen moving average dalam model.
Interpretasi :
Differencing (𝑑 = 1): Dengan orde differencing 1, model ini mengurangi tren linear dan membuat data lebih stasioner.
AR1 (𝑝 = 1): Koefisien AR1 adalah 0.3 yang signifikan secara statistika dengan p-value yang sangat kecil. Ini menunjukkan bahwa perubahan dalam nilai observasi saat ini dipengaruhi oleh nilai observasi pada periode sebelumnya setelah differencing.
> coeftest(model.5)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ma1 0.402719 0.089211 4.5142 6.355e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1AR (Autoregressive) Orde 𝑝 = 0: Tidak ada komponen autoregressive.
Differencing Orde 𝑑 = 1: Data telah didifferensiasikan sekali untuk mencapai stasionaritas.
MA (Moving Average) Orde 𝑞 = 1: Ada satu komponen moving average dalam model.
Interpretasi :
Differencing (𝑑 = 1): Dengan orde differencing 1, model ini mengurangi tren linear dan membuat data lebih stasioner.
MA1 (𝑞 = 1): Koefisien MA1 adalah 0.40, keduanya signifikan secara statistik dengan p-value yang sangat kecil. Ini menunjukkan bahwa perubahan dalam nilai observasisaat ini dipengaruhi oleh error residual pada periode sebelumnya
3.6 Diagnosis Model
> print(aic.model)
Nama Model AIC
1 model.1 ARIMA(2,1,1) 1378.338
2 model.2 ARIMA(2,1,0) 1396.588
3 model.3 ARIMA(1,1,1) 1394.683
4 model.4 ARIMA(1,1,0) 1401.853
5 model.5 ARIMA(0,1,1) 1397.258Membandingkan kelima model yang telah dibentuk menggunakan AIC dengan melihat nilai AIC yang paling kecil. Diperoleh AIC yang paling kecil adalah model ARIMA(2,1,1) atau model.1 yang menjadi model terbaik
- Hipotesis
\(H_{0}\) : \(k= 0\) (tidak ada autokorelasi antar lag) \(vs\)
\(H_{1}\) : paling sedikit ada satu \(k= 0\) dengan \(k=1,2,..\) (ada autokorelasi residual antar lag)
Taraf signifikasi : \(\alpha\)
Statistik Uji : Q = \(n(n+2)\sum_{k=1}^{m}\frac{re_{k}^{2}}{n-k}\) dimana \(n\): jumlah residual, \(k\) : jumlah lag, dan \(m\) : jumlah lag yang sedang diuji
Kriteria Uji : \(H_{0}\) ditolak jika \(Q > \chi _{df}^{2}\) atau \(p-value<alpha\)
Ljung-Box test
data: Residuals from ARIMA(2,1,1)
Q* = 216.35, df = 21, p-value < 2.2e-16
Model df: 3. Total lags used: 24
Keputusan : karena nilai \(p-value<alpha\) yaitu \(0.01< 0.05\) \(H_{0}\) ditolak.
Kesimpulan : Terdapat autokorelasi residual antar lag
3.7 Prediksi
Hasil peramalan yang diperoleh adalah sebagai beriku
> ramalan
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Jan 1961 471.0031 433.3616 508.6447 413.4353 528.5709
Feb 1961 493.0028 432.8414 553.1642 400.9939 585.0118
Mar 1961 497.9235 426.4140 569.4330 388.5592 607.2878
Apr 1961 492.5320 416.7499 568.3142 376.6332 608.4308
May 1961 484.2457 407.1196 561.3717 366.2915 602.1998
Jun 1961 477.8447 400.1666 555.5228 359.0463 596.6431
Jul 1961 474.9158 396.7238 553.1078 355.3314 594.5001
Aug 1961 474.8515 395.8730 553.8300 354.0643 595.6386
Sep 1961 476.2137 396.0682 556.3591 353.6418 598.7855
Oct 1961 477.7307 396.1374 559.3240 352.9446 602.5169
Nov 1961 478.7192 395.5904 561.8480 351.5847 605.8537
Dec 1961 479.0554 394.4497 563.6611 349.6621 608.4486Model ARIMA(2,1,1) tampaknya memperkirakan trend positif di masa depan
Garis hitam merupakan data historis.
Garis biru merupakan nilai peramalan.
Area berwarna abu-abu/biru untuk interval prediksi 80% dan 95%.
Lebarnya kipas interval prediksi mencerminkan ketidakpastian yang meningkat seiring dengan prediksi yang semakin jauh ke depan
4 KESIMPULAN
Berdasarkan hasil perhitungan menggunakan analisis deret waktu disimpulkan bahwa jumlah penumpang udara dalam 12 bulan kedepan akan mengalami tren positif (semakin banyak)
5 DAFTAR PUSTAKA
Ukhra A. U. (2016).Pemodelan dan Peramalan Data Deret Waktu dengan Metode Seasonal ARIMA. Jurnal Matematika (UNAND). 3(3). p.59-67.
PERTEMUAN 12 ANALISIS DERET WAKTU dalam R. (n.d.).