Library

library(forecast)
## Warning: package 'forecast' was built under R version 4.5.1
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.1
library(tsibble)
## Warning: package 'tsibble' was built under R version 4.5.1
## Registered S3 method overwritten by 'tsibble':
##   method               from 
##   as_tibble.grouped_df dplyr
## 
## Attaching package: 'tsibble'
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union
library(tseries)
## Warning: package 'tseries' was built under R version 4.5.1
library(TSA)
## Warning: package 'TSA' was built under R version 4.5.1
## Registered S3 methods overwritten by 'TSA':
##   method       from    
##   fitted.Arima forecast
##   plot.Arima   forecast
## 
## Attaching package: 'TSA'
## The following objects are masked from 'package:stats':
## 
##     acf, arima
## The following object is masked from 'package:utils':
## 
##     tar
library(TTR)
## Warning: package 'TTR' was built under R version 4.5.1
library(aTSA)
## 
## Attaching package: 'aTSA'
## The following objects are masked from 'package:tseries':
## 
##     adf.test, kpss.test, pp.test
## The following object is masked from 'package:forecast':
## 
##     forecast
## The following object is masked from 'package:graphics':
## 
##     identify
library(MASS)
## Warning: package 'MASS' was built under R version 4.5.1

Input Data

data <- read.csv("C:/Users/Fathoni Sabri/Downloads/data_penjualan_ujian.csv")
data
##     Hari Penjualan
## 1      1       190
## 2      2       176
## 3      3       182
## 4      4       184
## 5      5       182
## 6      6       178
## 7      7       189
## 8      8       176
## 9      9       191
## 10    10       176
## 11    11       185
## 12    12       191
## 13    13       165
## 14    14       173
## 15    15       174
## 16    16       179
## 17    17       172
## 18    18       155
## 19    19       157
## 20    20       183
## 21    21       171
## 22    22       160
## 23    23       171
## 24    24       181
## 25    25       185
## 26    26       169
## 27    27       169
## 28    28       159
## 29    29       174
## 30    30       166
## 31    31       173
## 32    32       175
## 33    33       177
## 34    34       166
## 35    35       173
## 36    36       158
## 37    37       164
## 38    38       164
## 39    39       154
## 40    40       171
## 41    41       172
## 42    42       168
## 43    43       176
## 44    44       166
## 45    45       162
## 46    46       174
## 47    47       166
## 48    48       182
## 49    49       170
## 50    50       178
## 51    51       176
## 52    52       169
## 53    53       186
## 54    54       180
## 55    55       177
## 56    56       179
## 57    57       182
## 58    58       178
## 59    59       156
## 60    60       180
## 61    61       176
## 62    62       180
## 63    63       183
## 64    64       188
## 65    65       173
## 66    66       187
## 67    67       180
## 68    68       185
## 69    69       184
## 70    70       182
## 71    71       170
## 72    72       176
## 73    73       182
## 74    74       171
## 75    75       174
## 76    76       181
## 77    77       182
## 78    78       180
## 79    79       170
## 80    80       168
## 81    81       185
## 82    82       176
## 83    83       174
## 84    84       172
## 85    85       164
## 86    86       176
## 87    87       170
## 88    88       170
## 89    89       178
## 90    90       178
## 91    91       182
## 92    92       169
## 93    93       177
## 94    94       182
## 95    95       166
## 96    96       168
## 97    97       166
## 98    98       164
## 99    99       175
## 100  100       179
## 101  101       183
## 102  102       182
## 103  103       169
## 104  104       189
## 105  105       172
## 106  106       178
## 107  107       174
## 108  108       177
## 109  109       179
## 110  110       179
## 111  111       178
## 112  112       179
## 113  113       175
## 114  114       175
## 115  115       167
## 116  116       177
## 117  117       176
## 118  118       200
## 119  119       171
## 120  120       182
## 121  121       172
## 122  122       173
## 123  123       185
## 124  124       177
## 125  125       185
## 126  126       182
## 127  127       180
## 128  128       170
## 129  129       176
## 130  130       187
## 131  131       190
## 132  132       183
## 133  133       187
## 134  134       195
## 135  135       198
## 136  136       179
## 137  137       187
## 138  138       197
## 139  139       185
## 140  140       189
## 141  141       190
## 142  142       184
## 143  143       187
## 144  144       190
## 145  145       187
## 146  146       198
## 147  147       185
## 148  148       184
## 149  149       193
## 150  150       179
## 151  151       187
## 152  152       176
## 153  153       197
## 154  154       187
## 155  155       185
## 156  156       179
## 157  157       187
## 158  158       181
## 159  159       182
## 160  160       195
## 161  161       184
## 162  162       176
## 163  163       185
## 164  164       180
## 165  165       186
## 166  166       191
## 167  167       172
## 168  168       182
## 169  169       178
## 170  170       183
## 171  171       174
## 172  172       180
## 173  173       161
## 174  174       184
## 175  175       178
## 176  176       171
## 177  177       161
## 178  178       174
## 179  179       173
## 180  180       169
## 181  181       169
## 182  182       164
## 183  183       170
## 184  184       169
## 185  185       166
## 186  186       160
## 187  187       175
## 188  188       174
## 189  189       165
## 190  190       161
## 191  191       174
## 192  192       170
## 193  193       174
## 194  194       164
## 195  195       167
## 196  196       182
## 197  197       177
## 198  198       178
## 199  199       186
## 200  200       175
## 201  201       160
## 202  202       178
## 203  203       185
## 204  204       192
## 205  205       168
## 206  206       170
## 207  207       173
## 208  208       169
## 209  209       172
## 210  210       176
## 211  211       170
## 212  212       194
## 213  213       180
## 214  214       179
## 215  215       183
## 216  216       181
## 217  217       181
## 218  218       193
## 219  219       181
## 220  220       174
## 221  221       187
## 222  222       182
## 223  223       180
## 224  224       177
## 225  225       188
## 226  226       183
## 227  227       188
## 228  228       183
## 229  229       179
## 230  230       193
## 231  231       181
## 232  232       189
## 233  233       173
## 234  234       177
## 235  235       177
## 236  236       174
## 237  237       185
## 238  238       174
## 239  239       175
## 240  240       165
## 241  241       166
## 242  242       178
## 243  243       180
## 244  244       180
## 245  245       162
## 246  246       186
## 247  247       180
## 248  248       174
## 249  249       182
## 250  250       171
## 251  251       172
## 252  252       182
## 253  253       175
## 254  254       186
## 255  255       194
## 256  256       178
## 257  257       180
## 258  258       186
## 259  259       179
## 260  260       184
## 261  261       195
## 262  262       198
## 263  263       194
## 264  264       178
## 265  265       192
## 266  266       201
## 267  267       199
## 268  268       192
## 269  269       174
## 270  270       197
## 271  271       202
## 272  272       199
## 273  273       199
## 274  274       202
## 275  275       197
## 276  276       211
## 277  277       205
## 278  278       192
## 279  279       213
## 280  280       212
## 281  281       209
## 282  282       189
## 283  283       199
## 284  284       211
## 285  285       207
## 286  286       210
## 287  287       229
## 288  288       202
## 289  289       192
## 290  290       212
## 291  291       205
## 292  292       215
## 293  293       204
## 294  294       230
## 295  295       210
## 296  296       207
## 297  297       210
## 298  298       219
## 299  299       212
## 300  300       198
## 301  301       212
## 302  302       218
## 303  303       213
## 304  304       219
## 305  305       211
## 306  306       211
## 307  307       215
## 308  308       221
## 309  309       203
## 310  310       214
## 311  311       214
## 312  312       208
## 313  313       206
## 314  314       210
## 315  315       220
## 316  316       210
## 317  317       205
## 318  318       213
## 319  319       201
## 320  320       220
## 321  321       206
## 322  322       211
## 323  323       209
## 324  324       207
## 325  325       220
## 326  326       198
## 327  327       214
## 328  328       204
## 329  329       197
## 330  330       203
## 331  331       210
## 332  332       202
## 333  333       199
## 334  334       206
## 335  335       212
## 336  336       202
## 337  337       191
## 338  338       193
## 339  339       198
## 340  340       200
## 341  341       204
## 342  342       208
## 343  343       199
## 344  344       192
## 345  345       203
## 346  346       199
## 347  347       206
## 348  348       183
## 349  349       197
## 350  350       208
## 351  351       205
## 352  352       195
## 353  353       211
## 354  354       200
## 355  355       206
## 356  356       222
## 357  357       210
## 358  358       220
## 359  359       210
## 360  360       199
## 361  361       205
## 362  362       203
## 363  363       209
## 364  364       211
## 365  365       214
## 366  366       216
## 367  367       237
## 368  368       211
## 369  369       221
## 370  370       229
## 371  371       241
## 372  372       228
## 373  373       240
## 374  374       215
## 375  375       245
## 376  376       226
## 377  377       231
## 378  378       224
## 379  379       238
## 380  380       256
## 381  381       264
## 382  382       231
## 383  383       249
## 384  384       260
## 385  385       245
## 386  386       245
## 387  387       245
## 388  388       255
## 389  389       264
## 390  390       257
## 391  391       254
## 392  392       249
## 393  393       256
## 394  394       244
## 395  395       247
## 396  396       259
## 397  397       252
## 398  398       249
## 399  399       244
## 400  400       256
## 401  401       259
## 402  402       237
## 403  403       245
## 404  404       244
## 405  405       239
## 406  406       236
## 407  407       246
## 408  408       253
## 409  409       262
## 410  410       229
## 411  411       242
## 412  412       246
## 413  413       232
## 414  414       243
## 415  415       244
## 416  416       248
## 417  417       237
## 418  418       267
## 419  419       262
## 420  420       289
## 421  421       285
## 422  422       262
## 423  423       281
## 424  424       273
## 425  425       289
## 426  426       279
## 427  427       272
## 428  428       284
## 429  429       280
## 430  430       275
## 431  431       298
## 432  432       271
## 433  433       273
## 434  434       261
## 435  435       280
## 436  436       293
## 437  437       262
## 438  438       284
## 439  439       274
## 440  440       304
## 441  441       302
## 442  442       289
## 443  443       301
## 444  444       274
## 445  445       295
## 446  446       279
## 447  447       290
## 448  448       283
## 449  449       283
## 450  450       291
## 451  451       270
## 452  452       281
## 453  453       287
## 454  454       283
## 455  455       291
## 456  456       289
## 457  457       314
## 458  458       304
## 459  459       332
## 460  460       288
## 461  461       308
## 462  462       324
## 463  463       305
## 464  464       291
## 465  465       296
## 466  466       308
## 467  467       324
## 468  468       316
## 469  469       282
## 470  470       300
## 471  471       306
## 472  472       286
## 473  473       312
## 474  474       273
## 475  475       302
## 476  476       293
## 477  477       290
## 478  478       293
## 479  479       300
## 480  480       302
## 481  481       295
## 482  482       275
## 483  483       283
## 484  484       284
## 485  485       312
## 486  486       300
## 487  487       305
## 488  488       282
## 489  489       293
## 490  490       305
## 491  491       297
## 492  492       299
## 493  493       300
## 494  494       316
## 495  495       296
## 496  496       312
## 497  497       315
## 498  498       291
## 499  499       308
## 500  500       306
str(data)
## 'data.frame':    500 obs. of  2 variables:
##  $ Hari     : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Penjualan: int  190 176 182 184 182 178 189 176 191 176 ...
head(data)
##   Hari Penjualan
## 1    1       190
## 2    2       176
## 3    3       182
## 4    4       184
## 5    5       182
## 6    6       178

NIM G1401231100

Menambahkan 2 digit terakhir pada nim ke dalam data

data$Penjualan <- data$Penjualan + 00
head(data)
##   Hari Penjualan
## 1    1       190
## 2    2       176
## 3    3       182
## 4    4       184
## 5    5       182
## 6    6       178

Eksplorasi

Plot Data Penuh

dt <- ts(data$Penjualan)

plot.ts(dt, 
        lty = 1, 
        xlab = "Waktu", 
        ylab = "Penjualan", 
        main = "Penjualan Biji Kopi")

Berdasarkan plot data deret waktu, terlihat bahwa data cenderung memiliki trend yang positif. Data latih dan data uji ditetapkan dengan proporsi 90% : 10%.

Plot Data Latih

n_penjualan <- NROW(data$Penjualan)*0.9
n_penjualan
## [1] 450
dt.train <- data$Penjualan[1:450]
train.ts <- ts(dt.train)
mean <- mean(train.ts)
mean
## [1] 199.14
var(train.ts)
## [1] 1092.66
plot.ts(train.ts, lty=1, xlab="Waktu", ylab="Penjualan", main="Plot Penjualan Biji Kopi (latih)")

Berdasarkan plot data deret waktu pada data latih, terlihat bahwa data tidak stasioner baik dalam rataan yang ditandai dengan adanya tren yang berfluktuasi dan jauh dari nilai rataannya \(199.14\) serta dalam ragam, yang ditandai dengan perbedaan pelebaran pita pada plot.

Plot Data Uji

dt.test <- data$Penjualan[451:500]
test.ts <- ts(dt.test)
plot.ts(test.ts, lty=1, xlab="Waktu", ylab="Penjualan", main="Plot Penjualan Biji Kopi (Uji)")

Pemeriksaan Kestasioneran Data

Kestasioneran dalam Rataan

Plot Time Series

plot <- train.ts |> as_tsibble() |> 
  ggplot(aes(x = index, y = value)) + geom_line() + theme_bw() +
  geom_hline(yintercept = mean, color = "red", linetype = "dashed") +
  xlab("Periode") + ylab("Penjualan")
plot

Pada plot deret waktu diatas terlihat bahwa data tidak stasioner baik dalam rataan yang ditandai dengan adanya tren yang berfluktuasi dan jauh dari nilai rataannya \(199.14\) serta dalam ragam, yang ditandai dengan perbedaan pelebaran pita pada plot.

Plot ACF

acf(train.ts)

Terlihat bahwa plot ACF diatas membentuk pola tails off. Dari plot ini diperlukan adanya uji lanjut untuk memastikan kestasioneran datanya.

Uji ADF

\(H_0:Data \ Tidak \ Stasioner \ dalam \ Rataan\)
\(H_1:Data \ Stasioner \ dalam \ Rataan\)

tseries::adf.test(train.ts)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  train.ts
## Dickey-Fuller = -1.0609, Lag order = 7, p-value = 0.9286
## alternative hypothesis: stationary

Hasil Uji ADF memperlihatkan nilai \(p-value\) sebesar \(0.9286\) yang lebih besar dari \(\alpha=0.05\) sehingga Tak Tolak \(H_0\) yang artinya data tidak stasioner dalam rataan, sesuai dengan plot ACF diatas.

Kestasioneran dalam Ragam

index <- seq(1:450)
bc = boxcox(train.ts~index, lambda = seq(-4,4,by=0.01))

lambda <- bc$x[which.max(bc$y)]
lambda
## [1] -2.54
ci_lambda <- bc$x[bc$y > max(bc$y) - 0.5 * qchisq(0.95, 1)]

ci_lower <- min(ci_lambda)
ci_upper <- max(ci_lambda)

c(Batas_Bawah = ci_lower, Batas_Atas = ci_upper)
## Batas_Bawah  Batas_Atas 
##       -3.02       -2.08

Hasil uji Box–Cox menunjukkan bahwa nilai \(λ\) optimum adalah \(-2.54\). Pada selang kepercayaan diatas terlihat bahwa nilai batas bawah sebesar \(-3.02\) dan batas atas sebesar $ -2.08$, sehingga nilai \(\lambda=1\) tidak berada dalam selang tersebut, artinya data tidak stasioner dalam ragam.

Penanganan Ketidakstasioneran Data

Differencing I

train.diff1 <- diff(train.ts, differences = 1)

ts.plot(train.diff1,
        main = "First-order Differencing dari data",
        col = "blue", lwd = 2)

length(train.diff1)
## [1] 449

Setelah dilakukan proses differencing, terlihat bahwa data cenderung stasioner dalam rataan tetapi ada beberapa yang masih jauh dari rataannya, sehingga hal tersebut masih perlu dipastikan melalui plot ACF dan Uji ADF.

Plot ACF setelah Differencing I

acf(train.diff1)

Pada plot ACF diatas terlihat bahwa plot memotong (cut off) pada lag 1, artinya secara keseluruhan plot ACF ini menggambarkan bahwa data sudah stasioner dalam rataan. Selanjutnya akan dibuktikan pada uji ADF.

Uji ADF setelah Differencing I

tseries::adf.test(train.diff1)
## Warning in tseries::adf.test(train.diff1): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  train.diff1
## Dickey-Fuller = -10.416, Lag order = 7, p-value = 0.01
## alternative hypothesis: stationary

Hasil Uji ADF memperlihatkan nilai \(p-value\) sebesar \(0.01\) yang lebih kecil dari \(\alpha=0.05\) Tolak \(H_0\) yang artinya data masih sudah stasioner dalam rataan.

Kestasioneran dalam Ragam setelah Penanganan

index1 <- seq(1:449)
bc1 <- boxcox(train.diff1 - min(train.diff1) + 1 ~ index1,
             lambda = seq(0, 5, by = 0.001))

lambda <- bc1$x[which.max(bc$y)]
lambda
## [1] 0.146
ci_lambda <- bc1$x[bc1$y > max(bc1$y) - 0.5 * qchisq(0.95, 1)]

ci_lower <- min(ci_lambda)
ci_upper <- max(ci_lambda)

c(Batas_Bawah = ci_lower, Batas_Atas = ci_upper)
## Batas_Bawah  Batas_Atas 
##       0.890       1.255

Hasil uji Box–Cox menunjukkan bahwa nilai \(λ\) optimum adalah \(1.067\). Pada selang kepercayaan diatas terlihat bahwa nilai batas bawah sebesar \(0.890\) dan batas atas sebesar \(1.255\), sehingga nilai \(\lambda=1\) berada dalam selang tersebut, artinya data stasioner dalam ragam.

Identifikasi Model

Plot ACF

acf(train.diff1)

Berdasarkan plot tersebut, terlihat bahwa plot ACF cenderung cuts off pada lag ke 1, sehingga jika plot PACF dianggap tails of, maka model tentatifnya adalah ARIMA(0,1,1).

Plot PACF

pacf(train.diff1)

Berdasarkan plot tersebut, terlihat bahwa plot PACF cenderung cuts off pada lag ke 4, sehingga jika plot ACF dianggap tails of, maka model tentatifnya adalah ARIMA(4,1,0).

pada plota ACF, terjadi cuts off pada lag 1. Namun, jika diteruskan pada lag selanjutnya. terlihat plot membentuk pola sinus. sehingga jika baik plot ACF maupun PACF keduanya dianggap tails off. maka model terbentuk adalah ARIMA(1,1,1).

Plot EACF

eacf(train.diff1)
## AR/MA
##   0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x o o o x x o o o o o  o  o  o 
## 1 x o o o x x o o o o o  o  o  o 
## 2 x x x o o o o o o o o  o  o  o 
## 3 x o x o x o o o o o o  o  o  o 
## 4 o x x x o o o o o o o  o  o  o 
## 5 o o x x o o o o o o o  o  o  o 
## 6 x x x x o o o o o o o  o  o  o 
## 7 x x x o x x o o o o o  o  o  o

Identifikasi model tentatif yang terbentuk menggunakan plot EACF adalah ARIMA(0,1,1), ARIMA(1,1,1), dan ARIMA(4,1,0). Sebagai opsi lain, ARIMA(4,1,4) juga akan dipilih karena membentuk pola segitiga terkecil.

Pendugaan Parameter Model Tentatif

ARIMA(0,1,1)

model1 = Arima(train.diff1, order=c(0,1,1), method="ML")
summary(model1)
## Series: train.diff1 
## ARIMA(0,1,1) 
## 
## Coefficients:
##           ma1
##       -1.0000
## s.e.   0.0062
## 
## sigma^2 = 125.9:  log likelihood = -1721.33
## AIC=3446.67   AICc=3446.7   BIC=3454.88
## 
## Training set error measures:
##                     ME    RMSE      MAE MPE MAPE      MASE       ACF1
## Training set 0.3679129 11.1942 8.918938 NaN  Inf 0.5850197 -0.4794484
lmtest::coeftest(model1)
## 
## z test of coefficients:
## 
##       Estimate Std. Error z value  Pr(>|z|)    
## ma1 -1.0000000  0.0062256 -160.63 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pada Model ARIMA(0,1,1)tidak ada parameter yang signifikan

ARIMA(1,1,1)

model2 = Arima(train.diff1, order=c(1,1,1), method="ML")
summary(model2)
## Series: train.diff1 
## ARIMA(1,1,1) 
## 
## Coefficients:
##           ar1     ma1
##       -0.4809  -1.000
## s.e.   0.0415   0.008
## 
## sigma^2 = 96.84:  log likelihood = -1662.63
## AIC=3331.26   AICc=3331.32   BIC=3343.58
## 
## Training set error measures:
##                     ME     RMSE      MAE MPE MAPE      MASE      ACF1
## Training set 0.4448016 9.807956 7.754081 NaN  Inf 0.5086132 -0.146693
lmtest::coeftest(model2)
## 
## z test of coefficients:
## 
##       Estimate Std. Error  z value  Pr(>|z|)    
## ar1 -0.4809119  0.0414540  -11.601 < 2.2e-16 ***
## ma1 -0.9999973  0.0079671 -125.516 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pada Model ARIMA(1,1,1) tidak ada parameter signifikan.

ARIMA(4,1,0)

model3 = Arima(train.diff1, order=c(4,1,0), method="ML")
summary(model3)
## Series: train.diff1 
## ARIMA(4,1,0) 
## 
## Coefficients:
##           ar1      ar2      ar3      ar4
##       -1.3298  -1.2228  -0.8902  -0.4286
## s.e.   0.0427   0.0632   0.0630   0.0426
## 
## sigma^2 = 112.6:  log likelihood = -1693.07
## AIC=3396.15   AICc=3396.28   BIC=3416.67
## 
## Training set error measures:
##                      ME     RMSE      MAE MPE MAPE      MASE       ACF1
## Training set 0.05403007 10.55343 8.294073 NaN  Inf 0.5440329 -0.1138781
lmtest::coeftest(model3)
## 
## z test of coefficients:
## 
##      Estimate Std. Error z value  Pr(>|z|)    
## ar1 -1.329760   0.042709 -31.135 < 2.2e-16 ***
## ar2 -1.222812   0.063181 -19.354 < 2.2e-16 ***
## ar3 -0.890150   0.063048 -14.119 < 2.2e-16 ***
## ar4 -0.428627   0.042604 -10.061 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pada Model ARIMA(4,1,0) tidak ada parameter yang signifikan.

ARIMA(4,1,4)

model4 = Arima(train.diff1, order=c(4,1,4), method="ML")
summary(model4)
## Series: train.diff1 
## ARIMA(4,1,4) 
## 
## Coefficients:
##           ar1      ar2      ar3      ar4      ma1     ma2      ma3     ma4
##       -0.8401  -0.9211  -0.3056  -0.1632  -0.9219  0.2137  -0.6938  0.4116
## s.e.   0.2294   0.1588   0.1154   0.0789   0.2290  0.3924   0.3031  0.1378
## 
## sigma^2 = 78.79:  log likelihood = -1613.43
## AIC=3244.86   AICc=3245.27   BIC=3281.8
## 
## Training set error measures:
##                     ME     RMSE      MAE MPE MAPE     MASE         ACF1
## Training set 0.6320232 8.786713 6.880828 NaN  Inf 0.451334 -0.004022526
lmtest::coeftest(model4)
## 
## z test of coefficients:
## 
##     Estimate Std. Error z value  Pr(>|z|)    
## ar1 -0.84015    0.22942 -3.6620 0.0002503 ***
## ar2 -0.92106    0.15884 -5.7985 6.692e-09 ***
## ar3 -0.30563    0.11540 -2.6485 0.0080850 ** 
## ar4 -0.16318    0.07891 -2.0680 0.0386435 *  
## ma1 -0.92191    0.22896 -4.0265 5.662e-05 ***
## ma2  0.21374    0.39245  0.5446 0.5860023    
## ma3 -0.69375    0.30309 -2.2889 0.0220827 *  
## ma4  0.41156    0.13778  2.9871 0.0028161 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pada Model ARIMA(4,1,4) tidak ada parameter yang signifikan.

Ringkasan AIC

model_tentatif <- data.frame(
  Model = c("ARIMA(0,1,1)","ARIMA(4,1,0)","ARIMA(1,1,1)", "ARIMA(4,1,4)"),
  AIC   = c(AIC(model1),AIC(model2), AIC(model3), AIC(model4)),
  BIC   = c(BIC(model1),BIC(model2), BIC(model3), BIC(model4))
)

model_tentatif
##          Model      AIC      BIC
## 1 ARIMA(0,1,1) 3446.670 3454.879
## 2 ARIMA(4,1,0) 3331.262 3343.577
## 3 ARIMA(1,1,1) 3396.146 3416.670
## 4 ARIMA(4,1,4) 3244.859 3281.803

Berdasarkan pendugaan parameter di atas, nilai AIC terkecil dimiliki oleh model ARIMA(4,1,4). Namun tidak ada parameter yang signifikan.

Analisis Sisaan

Eksplorasi Sisaan

sisaan <- model1$residuals

par(mfrow = c(2,2),    
    mar = c(4,4,2,1),  
    oma = c(0,0,2,0))  

# Q-Q Plot
qqnorm(sisaan, main = "Normal Q-Q Plot")
qqline(sisaan, col = "blue", lwd = 2)

# Plot Sisaan vs Waktu
plot(sisaan, type = "p",
     main = "Plot Sisaan vs Waktu",
     xlab = "Waktu", ylab = "Sisaan")

# ACF
acf(sisaan, main = "ACF Sisaan")

# PACF
pacf(sisaan, main = "PACF Sisaan")

Berdasarkan plot kuantil-kuantil normal, secara eksploratif terlihat bahwa sisaan tidak sepenuhnya menyebar normal karena titik-titik cenderung menyimpang dari garis kemiringannya (slope). Selain itu, lebar pita sebaran sisaan tampak tidak seragam, yang mengindikasikan adanya heterogenitas ragam. Sementara itu, plot ACF dan PACF sisaan dari model ARIMA(4,1,4) menunjukkan adanya spike signifikan pada 20 lag pertama, sehingga secara visual sisaan tidak dapat dianggap saling bebas. Kondisi ini akan diuji lebih lanjut dengan uji formal.

Uji Formal

# Sisaan menyebar normal

ks.test(sisaan,"pnorm")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  sisaan
## D = 0.44099, p-value < 2.2e-16
## alternative hypothesis: two-sided

Berdasarkan uji KS tersebut, didapat p-value sebesar \(0.0000\) yang kurang dari taraf nyata 5% sehingga tolak \(H_0\) dan menandakan bahwa sisaan tidak menyebar normal. Hal ini sesuai dengan hasil eksplorasi menggunakan plot kuantil-kuantil normal.

# Sisaan saling bebas

Box.test(sisaan, type = "Ljung")
## 
##  Box-Ljung test
## 
## data:  sisaan
## X-squared = 103.9, df = 1, p-value < 2.2e-16

Berdasarkan uji Ljung-Box tersebut, didapat p-value sebesar \(0.0000\) yang lebih kecil dari taraf nyata 5% sehingga tolak \(H_0\) dan menandakan bahwa sisaan tidak saling bebas. Hal ini sesuai dengan hasil eksplorasi.

# Sisaan homogen

Box.test((sisaan)^2, type = "Ljung")
## 
##  Box-Ljung test
## 
## data:  (sisaan)^2
## X-squared = 15.877, df = 1, p-value = 6.759e-05

Berdasarkan uji Ljung-Box terhadap sisaan kuadrat tersebut, didapat p-value sebesar \(0.0006\) yang kurang dari taraf nyata 5% sehingga tak tolak \(H_0\) dan menandakan bahwa ragam sisaan tidak homogen.

# Nilai tengah sisaan sama dengan nol

t.test(sisaan, mu = 0, conf.level = 0.95)
## 
##  One Sample t-test
## 
## data:  sisaan
## t = 0.69603, df = 448, p-value = 0.4868
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  -0.6709123  1.4067381
## sample estimates:
## mean of x 
## 0.3679129

Berdasarkan uji-t tersebut, didapat p-value sebesar \(0.4868\) yang lebih besar dari taraf nyata 5% sehingga tak tolak \(H_0\) dan menandakan bahwa nilai tengah sisaan sama dengan nol. Hal ini berbeda dengan eksplorasi.