Email          : brigita.melantika@student.matanauniversity.ac.id
RPubs         : https://rpubs.com/brigitatiaraem/
Jurusan      : Statistika
Address     : ARA Center, Matana University Tower
             Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
print(getwd())## [1] "D:/KULIAH/kuliahsem5/Runtun Waktu"
library(readxl)
data<-read_excel("Data_ARIMA_Tuberkulosis.xlsx",sheet = "Sheet4")
data## # A tibble: 30 Ă— 2
## Tahun Jumlah_Kematian_Penderita_Tuberkulosis
## <dbl> <dbl>
## 1 1990 128009
## 2 1991 125100
## 3 1992 123350
## 4 1993 122167
## 5 1994 120251
## 6 1995 118083
## 7 1996 115789
## 8 1997 115176
## 9 1998 116838
## 10 1999 117608
## # … with 20 more rows
class(data)## [1] "tbl_df" "tbl" "data.frame"
str(data)## tibble [30 Ă— 2] (S3: tbl_df/tbl/data.frame)
## $ Tahun : num [1:30] 1990 1991 1992 1993 1994 ...
## $ Jumlah_Kematian_Penderita_Tuberkulosis: num [1:30] 128009 125100 123350 122167 120251 ...
Mengubah bentuk data dari data frame ke bentuk vektor atau matriks.
dat<-ts(data$Jumlah_Kematian_Penderita_Tuberkulosis,start=c(1990,1),frequency=1)
dat## Time Series:
## Start = 1990
## End = 2019
## Frequency = 1
## [1] 128009 125100 123350 122167 120251 118083 115789 115176 116838 117608
## [11] 117563 117026 116569 115703 114201 112034 110253 109058 106904 104609
## [21] 101631 97484 92813 89584 86953 83909 82533 80770 78494 76549
summary(dat)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 76549 93981 113118 106567 117429 128009
DATA<-data[,2]plot(DATA)Actual<-ts.plot(DATA, main = "Grafik 01",
xlab=" Penyakit Tuberkulosis tahun 2000-2022 di Indonesia",
ylab=" Tahun")Actual## NULL
par(mfrow=c(2,1)) # mempartisi grafik
acf(DATA)
pacf(DATA)#install.packages("fUnitRoots")
library(fUnitRoots) library(urca)
library(tseries)
DDIF2<-diff(log(dat),differences=3)
ts.plot(dat,main="TS: DATA DIFF ORDE 3")adf.test(DDIF2)##
## Augmented Dickey-Fuller Test
##
## data: DDIF2
## Dickey-Fuller = -3.8739, Lag order = 2, p-value = 0.03004
## alternative hypothesis: stationary
library(dplyr)
library(forecast)
library(ggplot2)
DDIF2 %>% diff() %>% ggtsdisplay(main="")library(forecast)
fitar <- Arima(dat, order=c(2,3,1))
fitar## Series: dat
## ARIMA(2,3,1)
##
## Coefficients:
## ar1 ar2 ma1
## 0.2294 -0.2967 -0.9999
## s.e. 0.1875 0.1839 0.1772
##
## sigma^2 = 815875: log likelihood = -222.27
## AIC=452.54 AICc=454.36 BIC=457.72
library(lmtest)
coeftest(fitar) ##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## ar1 0.22943 0.18747 1.2238 0.2210
## ar2 -0.29670 0.18393 -1.6131 0.1067
## ma1 -0.99992 0.17721 -5.6425 1.676e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(fitar)## 2.5 % 97.5 %
## ar1 -0.1380130 0.59686750
## ar2 -0.6571936 0.06379284
## ma1 -1.3472537 -0.65258843
checkresiduals(fitar)##
## Ljung-Box test
##
## data: Residuals from ARIMA(2,3,1)
## Q* = 2.0643, df = 3, p-value = 0.5592
##
## Model df: 3. Total lags used: 6
qqnorm(fitar$residuals)tsdiag(fitar)autoplot(forecast(fitar))predict(fitar, n.ahead = 5, se.fit = TRUE)## $pred
## Time Series:
## Start = 2020
## End = 2024
## Frequency = 1
## [1] 74865.50 73177.14 71443.44 69734.12 68077.21
##
## $se
## Time Series:
## Start = 2020
## End = 2024
## Frequency = 1
## [1] 919.6057 2276.4286 3813.4179 5491.9469 7367.2122
accuracy(fitar)## ME RMSE MAE MPE MAPE MASE
## Training set -149.4619 807.8987 638.5377 -0.1136616 0.6167537 0.3287691
## ACF1
## Training set -0.01783563
auto.arima(dat)## Series: dat
## ARIMA(0,2,0)
##
## sigma^2 = 803288: log likelihood = -230.06
## AIC=462.12 AICc=462.27 BIC=463.45