Identitas Mahasiswa
Nama : Jasmine Sabrina
Rahmaira Saputra
NRP : 5003231114
Kelas : Pengantar Analisis
Deret Waktu (A)
Model ARIMA(0,0,0)(4,1,4)12 \[
Y_t =
Y_{t-12}+\Phi_1(Y_{t-12}-Y_{t-24})+\Phi_2(Y_{t-24}-Y_{t-36})+\Phi_3(Y_{t-36}-Y_{t-48})+\Phi_4(Y_{t-48}-Y_{t-60})+a_t+\Theta_1a_{t-12}+\Theta_2a_{t-24}+\Theta_3a_{t-36}+\Theta_4a_{t-48}
\]
set.seed(123)
# Parameters
phi_seasonal <- c(0.4, -0.3, 0.2, -0.1) # Seasonal AR coefficients
theta_seasonal <- c(0.3, -0.2, 0.1, -0.05) # Seasonal MA coefficients
sigma <- 1
n <- 500 # Final desired observations
burn_in <- 200 # Burn-in period = untuk menghilangkan dependensi dari nilai inisial
seasonal_period <- 12 # Seasonal period
max_lag <- seasonal_period * 4 + seasonal_period # Butuh hingga t-60 untuk differencing
# Total length including burn-in and initialization
total_length <- n + burn_in + max_lag
# Initialize
a <- rnorm(total_length, 0, sigma) # White noise terms
y <- numeric(total_length) # Time series values
# Initial values (set to mean or zero)
y[1:max_lag] <- 0 # Initialize up to t-48 for seasonal AR(4)
# Generate the series
for (t in (max_lag + 1):total_length) {
# Calculate indices safely
lag_indices <- t - seasonal_period * (1:4)
diff_indices <- lag_indices - seasonal_period
# SAR component (seasonal AR(4))
sar_part <- sum(phi_seasonal * (y[lag_indices] - y[diff_indices]))
# SMA component (seasonal MA(4))
sma_part <- sum(theta_seasonal * a[lag_indices])
# Seasonal differencing (D=1)
y[t] <- y[t - seasonal_period] + sar_part + a[t] + sma_part
}
# Remove burn-in and initialization period
start_index <- burn_in + max_lag + 1
y_clean <- ts(y[start_index:total_length], frequency = seasonal_period)
# Plot the results
plot(y_clean, main = "Manual SARIMA(0,0,0)(4,1,4)12 Simulation")

Plot ACF dan PACF
sebelum differencing
acf(y_clean, main = "ACF Data Asli", lag.max=48)

pacf(y_clean, main = "PACF Data Asli", lag.max=48)

Differencing Data
Karena model memiliki D=1
(seasonal differencing orde 1) perlu dilakukan differencing musiman
12
# Seasonal differencing
data_diff <- diff(y_clean, lag = 12)
# Plot setelah differencing musiman
plot(data_diff, main = "Time Series Setelah Seasonal Differencing", ylab = "Nilai")

Plot ACF dan PACF setelah differencing
acf(data_diff, main = "ACF Setelah Seasonal Differencing", lag.max = 48)

pacf(data_diff, main = "PACF Setelah Seasonal Differencing", lag.max = 48)

LS0tDQp0aXRsZTogIioqVHVnYXMgU2Vhc29uYWwgQVJJTUEgU2ltdWxhdGlvbioqIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCioqSWRlbnRpdGFzIE1haGFzaXN3YSoqPGJyPg0KTmFtYSAgOiBKYXNtaW5lIFNhYnJpbmEgUmFobWFpcmEgU2FwdXRyYTxicj4NCk5SUCAgIDogNTAwMzIzMTExNDxicj4NCktlbGFzIDogUGVuZ2FudGFyIEFuYWxpc2lzIERlcmV0IFdha3R1IChBKTxicj48YnI+DQpNb2RlbCBBUklNQSgwLDAsMCkoNCwxLDQpPHN1cD4xMjwvc3VwPg0KJCQNCllfdCA9IFlfe3QtMTJ9K1xQaGlfMShZX3t0LTEyfS1ZX3t0LTI0fSkrXFBoaV8yKFlfe3QtMjR9LVlfe3QtMzZ9KStcUGhpXzMoWV97dC0zNn0tWV97dC00OH0pK1xQaGlfNChZX3t0LTQ4fS1ZX3t0LTYwfSkrYV90K1xUaGV0YV8xYV97dC0xMn0rXFRoZXRhXzJhX3t0LTI0fStcVGhldGFfM2Ffe3QtMzZ9K1xUaGV0YV80YV97dC00OH0NCiQkDQoNCmBgYHtyfQ0Kc2V0LnNlZWQoMTIzKQ0KDQojIFBhcmFtZXRlcnMNCnBoaV9zZWFzb25hbCA8LSBjKDAuNCwgLTAuMywgMC4yLCAtMC4xKSAgIyBTZWFzb25hbCBBUiBjb2VmZmljaWVudHMNCnRoZXRhX3NlYXNvbmFsIDwtIGMoMC4zLCAtMC4yLCAwLjEsIC0wLjA1KSAjIFNlYXNvbmFsIE1BIGNvZWZmaWNpZW50cw0Kc2lnbWEgPC0gMQ0KbiA8LSA1MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBGaW5hbCBkZXNpcmVkIG9ic2VydmF0aW9ucw0KYnVybl9pbiA8LSAyMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBCdXJuLWluIHBlcmlvZCA9IHVudHVrIG1lbmdoaWxhbmdrYW4gZGVwZW5kZW5zaSBkYXJpIG5pbGFpIGluaXNpYWwNCnNlYXNvbmFsX3BlcmlvZCA8LSAxMiAgICAgICAgICAgICAgICAgICAgICMgU2Vhc29uYWwgcGVyaW9kDQptYXhfbGFnIDwtIHNlYXNvbmFsX3BlcmlvZCAqIDQgKyBzZWFzb25hbF9wZXJpb2QgIyBCdXR1aCBoaW5nZ2EgdC02MCB1bnR1ayBkaWZmZXJlbmNpbmcNCg0KIyBUb3RhbCBsZW5ndGggaW5jbHVkaW5nIGJ1cm4taW4gYW5kIGluaXRpYWxpemF0aW9uDQp0b3RhbF9sZW5ndGggPC0gbiArIGJ1cm5faW4gKyBtYXhfbGFnDQoNCiMgSW5pdGlhbGl6ZQ0KYSA8LSBybm9ybSh0b3RhbF9sZW5ndGgsIDAsIHNpZ21hKSAgICAgICAjIFdoaXRlIG5vaXNlIHRlcm1zDQp5IDwtIG51bWVyaWModG90YWxfbGVuZ3RoKSAgICAgICAgICAgICAgICMgVGltZSBzZXJpZXMgdmFsdWVzDQoNCiMgSW5pdGlhbCB2YWx1ZXMgKHNldCB0byBtZWFuIG9yIHplcm8pDQp5WzE6bWF4X2xhZ10gPC0gMCAgIyBJbml0aWFsaXplIHVwIHRvIHQtNDggZm9yIHNlYXNvbmFsIEFSKDQpDQoNCiMgR2VuZXJhdGUgdGhlIHNlcmllcw0KZm9yICh0IGluIChtYXhfbGFnICsgMSk6dG90YWxfbGVuZ3RoKSB7DQogICMgQ2FsY3VsYXRlIGluZGljZXMgc2FmZWx5DQogIGxhZ19pbmRpY2VzIDwtIHQgLSBzZWFzb25hbF9wZXJpb2QgKiAoMTo0KQ0KICBkaWZmX2luZGljZXMgPC0gbGFnX2luZGljZXMgLSBzZWFzb25hbF9wZXJpb2QNCiAgDQogICMgU0FSIGNvbXBvbmVudCAoc2Vhc29uYWwgQVIoNCkpDQogIHNhcl9wYXJ0IDwtIHN1bShwaGlfc2Vhc29uYWwgKiAoeVtsYWdfaW5kaWNlc10gLSB5W2RpZmZfaW5kaWNlc10pKQ0KICANCiAgIyBTTUEgY29tcG9uZW50IChzZWFzb25hbCBNQSg0KSkNCiAgc21hX3BhcnQgPC0gc3VtKHRoZXRhX3NlYXNvbmFsICogYVtsYWdfaW5kaWNlc10pDQogIA0KICAjIFNlYXNvbmFsIGRpZmZlcmVuY2luZyAoRD0xKQ0KICB5W3RdIDwtIHlbdCAtIHNlYXNvbmFsX3BlcmlvZF0gKyBzYXJfcGFydCArIGFbdF0gKyBzbWFfcGFydA0KfQ0KDQojIFJlbW92ZSBidXJuLWluIGFuZCBpbml0aWFsaXphdGlvbiBwZXJpb2QNCnN0YXJ0X2luZGV4IDwtIGJ1cm5faW4gKyBtYXhfbGFnICsgMQ0KeV9jbGVhbiA8LSB0cyh5W3N0YXJ0X2luZGV4OnRvdGFsX2xlbmd0aF0sIGZyZXF1ZW5jeSA9IHNlYXNvbmFsX3BlcmlvZCkNCg0KIyBQbG90IHRoZSByZXN1bHRzDQpwbG90KHlfY2xlYW4sIG1haW4gPSAiTWFudWFsIFNBUklNQSgwLDAsMCkoNCwxLDQpMTIgU2ltdWxhdGlvbiIpDQpgYGANCg0KKipQbG90IEFDRiBkYW4gUEFDRioqPGJyPg0Kc2ViZWx1bSBkaWZmZXJlbmNpbmcNCmBgYHtyfQ0KYWNmKHlfY2xlYW4sIG1haW4gPSAiQUNGIERhdGEgQXNsaSIsIGxhZy5tYXg9NDgpDQpwYWNmKHlfY2xlYW4sIG1haW4gPSAiUEFDRiBEYXRhIEFzbGkiLCBsYWcubWF4PTQ4KQ0KYGBgDQoNCioqRGlmZmVyZW5jaW5nIERhdGEqKjxicj4NCkthcmVuYSBtb2RlbCBtZW1pbGlraSBEPTEgKHNlYXNvbmFsIGRpZmZlcmVuY2luZyBvcmRlIDEpIHBlcmx1IGRpbGFrdWthbiBkaWZmZXJlbmNpbmcgbXVzaW1hbiAxMg0KYGBge3J9DQojIFNlYXNvbmFsIGRpZmZlcmVuY2luZw0KZGF0YV9kaWZmIDwtIGRpZmYoeV9jbGVhbiwgbGFnID0gMTIpDQojIFBsb3Qgc2V0ZWxhaCBkaWZmZXJlbmNpbmcgbXVzaW1hbg0KcGxvdChkYXRhX2RpZmYsIG1haW4gPSAiVGltZSBTZXJpZXMgU2V0ZWxhaCBTZWFzb25hbCBEaWZmZXJlbmNpbmciLCB5bGFiID0gIk5pbGFpIikNCmBgYA0KKipQbG90IEFDRiBkYW4gUEFDRioqDQpzZXRlbGFoIGRpZmZlcmVuY2luZw0KYGBge3J9DQphY2YoZGF0YV9kaWZmLCBtYWluID0gIkFDRiBTZXRlbGFoIFNlYXNvbmFsIERpZmZlcmVuY2luZyIsIGxhZy5tYXggPSA0OCkNCnBhY2YoZGF0YV9kaWZmLCBtYWluID0gIlBBQ0YgU2V0ZWxhaCBTZWFzb25hbCBEaWZmZXJlbmNpbmciLCBsYWcubWF4ID0gNDgpDQpgYGA=