UAS Econometric

~ Ujian Akhir Semester ~


Kontak : \(\downarrow\)
Email
Instagram https://www.instagram.com/dsciencelabs/
RPubs https://rpubs.com/dsciencelabs/

DataSet

Disini saya menggunakan data Producer Price Index (PPI) merupakan salah satu indikator utama stabilitas perekonomian suatu negara. Proyek ini bertujuan untuk meramalkan PPI triwulanan AS di masa depan menggunakan Model Time Series Regression Models, Model Exponential Smoothing, dan Model ARIMA untuk tahun 2003 2007, menggunakan kumpulan data dengan data PPI triwulanan untuk tahun 1960 2002.
Berikut Dataset dari Time Series PPI yang akan saya gunakan.

mydata<- read.csv("timeseries_ppi.csv")
attach(mydata)
mydata

Defining variables

Y <- ppi
d.Y <- diff(Y)
t <- yearqrt

Time Series Regression Models

Pemodelan regresi linier adalah pemodelan untuk mengeksplorasi hubungan sebab akibat antara peristiwa dan memprediksi hasil di masa depan. Model ini memberikan pemahaman yang lebih baik tentang signifikansi prediktor dan dampaknya terhadap output.
Berisi data rata-rata perubahan harga jual yang diterima oleh produsen barang dan jasa dalam negeri dari waktu ke waktu untuk 1960-2002 dalam hitungan triwulan.

priceindex <- ts(ppi, frequency=4, start=c(1960,1))
priceindex
##        Qtr1   Qtr2   Qtr3   Qtr4
## 1960  25.40  25.44  25.37  25.40
## 1961  25.49  25.24  25.24  25.28
## 1962  25.42  25.28  25.41  25.37
## 1963  25.28  25.24  25.34  25.36
## 1964  25.39  25.27  25.35  25.42
## 1965  25.53  25.79  25.98  26.13
## 1966  26.53  26.64  26.93  26.75
## 1967  26.74  26.70  26.81  26.86
## 1968  27.23  27.40  27.51  27.65
## 1969  28.07  28.44  28.65  28.93
## 1970  29.35  29.49  29.66  29.70
## 1971  30.14  30.50  30.74  30.76
## 1972  31.33  31.64  32.11  32.45
## 1973  34.02  35.67  37.14  37.46
## 1974  39.94  41.36  44.30  45.84
## 1975  45.83  46.32  47.31  47.82
## 1976  48.06  48.77  49.36  49.80
## 1977  50.90  52.12  52.19  52.80
## 1978  54.08  55.70  56.56  57.84
## 1979  59.94  62.07  64.01  66.27
## 1980  69.35  70.74  73.08  74.77
## 1981  77.00  78.75  79.28  79.20
## 1982  79.87  79.96  80.32  80.40
## 1983  80.45  80.73  81.50  81.90
## 1984  82.82  83.37  83.17  82.96
## 1985  82.77  82.85  82.29  82.80
## 1986  81.54  80.02  79.65  79.94
## 1987  80.88  82.16  83.09  83.49
## 1988  83.98  85.37  86.57  86.97
## 1989  88.92  90.41  90.09  90.44
## 1990  91.78  91.59  93.27  96.05
## 1991  94.13  93.19  93.03  93.17
## 1992  92.93  93.89  94.37  94.45
## 1993  94.82  95.79  95.33  95.30
## 1994  95.65  96.21  96.91  97.31
## 1995  98.94 100.14 100.35 100.57
## 1996 101.24 102.47 102.60 102.81
## 1997 103.00 101.96 101.96 102.14
## 1998 100.22 100.14  99.63  98.91
## 1999  98.27  99.79 101.69 102.55
## 2000 103.91 105.83 107.17 108.64
## 2001 110.43 109.20 106.90 103.69
## 2002 103.40

Berikut model plot nya.

log_price_index <- log(priceindex)
plot.ts(log_price_index)

Keterangan :
Di sini kita dapat melihat bahwa ukuran fluktuasi seasonal dan fluktuasi acak dalam deret waktu yang diubah-log tampaknya kira-kira konstan sepanjang waktu atau seperti yang dapat diamati secara visual, PPI berkorelasi positif dengan waktu.

Model Regresi

Nama variabel yang akan saya gunakan dalam perintah R dalam dataset, maka perintah nya seperti di bawah ini

mdl <- lm(dppi ~ lppi, na.action=na.omit)
mdl
## 
## Call:
## lm(formula = dppi ~ lppi, na.action = na.omit)
## 
## Coefficients:
## (Intercept)         lppi  
##   0.5035691   -0.0006095

Uji Asumsi

Uji Asumsi Normalitas

Pengujian residual dari model regresi apakah berdistribusi normal maka dilakukan uji Normalitas, dengan perintah di bawah ini

par(mfrow=c(2,2))
plot(mdl)

Keterangan:
Bisa dilihat dari hasil output di atas bahwa grafik Normal Q-Q (pojok kanan atas) menunjukkan point-point data berada disekitar garis lurus, maka dapat dikatakan terdistribusi normal, sehingga dapat dikatakan model regresi memenuhi asumsi Normalitas.

Uji Asumsi Heteroskedastisitas

Mengukur apakah terjadi ketidaksamaan varians residual (Heteroskedastisitas) dari data-data pengukuran dapat kita lakukan dengan melihat sebaran pada grafik Residuals vs Vitted dengan perintah yang sama pada uji Normalitas.

par(mfrow=c(2,2))
plot(mdl)

Keterangan:

Pada hasil output di atas dapat kita lihat bahwa pada grafik Residuals vs Fitted (pojok kiri atas) data-data terlihat tidak menyebar pada satu titik dan lainnya terlihat menyebar serta tidak membentuk satu pola tertentu, sehingga dapat dikatakan tidak terjadi perbedaan varians residual dan model kita memenuhi uji asumsi Heteroskedastisitas.

Uji Autokolerasi

Uji autokorelasi dilakukan untuk menguji apakah ada pengaruh dari data terdahulu kepada data yang baru, uji ini dilakukan untuk data time series, dengan menggunakan perintah dwtest() dalam package lmtest dengan perintah di bawah ini:

library(lmtest)
dwtest(mdl)
## 
##  Durbin-Watson test
## 
## data:  mdl
## DW = 0.88947, p-value = 1.244e-13
## alternative hypothesis: true autocorrelation is greater than 0

Keterangan:
dari hasil uji di atas, dengan nilai Durbin-Watson test p-value lebih dari 0.05 maka dapat dikatakan bahwa tidak terjadi pengaruh antar data sebelum dan terbaru, dapat dikatakan asumsi tidak ada Autokorelasi antar data model regresi terpenuhi.

Koefesien Signifikansi

summary(lm(dppi ~ lppi, na.action=na.omit))
## 
## Call:
## lm(formula = dppi ~ lppi, na.action = na.omit)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6484 -0.4507 -0.1697  0.5135  2.6168 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  0.5035691  0.1682689   2.993  0.00319 **
## lppi        -0.0006095  0.0023653  -0.258  0.79697   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9233 on 166 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.0003999,  Adjusted R-squared:  -0.005622 
## F-statistic: 0.0664 on 1 and 166 DF,  p-value: 0.797

Keterangan:
Berdasarkan outpur di atas, model regresi nya bisa dilihat dari bagian estimasi, yaitu y = 0.5035691 + (-0.0006095). Dari uji parsial dengan t-value sebesar -0.258 dan p-value sebesar 0.79697 dimana tingkat signifikansi yang digunakan adalah 0.05 , memberikan hasil tolak.

Kesimpulan

Dalam time series regression model bisa dilihat hasil akhirnya bahwa tingkat signifikansi sangat tinggi maka ada masalah dalam root unit atau ketidakstabilan data. Untuk lebih lanjut akan dilakukan Dickey-Fuller test yang ada dalam model ARIMA.

Time Series Exponential Smoothing

Exponential Smoothing merupakan metode untuk meramalkan data-data masa lampau pada ke masa mendatang. Konsep perhitungan dari Exponential Smoothing adalah dengan memberikan pembobot pada perhitungan prediksi untuk setiap t.
Parameter penghalusan (smoothing) biasanya dilambangkan dengan α (alpha). Penggunaan exponential smoothing biasanya digunakan untuk forecasting (peramalan) atau peramalan bisnis dengan alpha ataupun parameter yang ditentukan.

lap <- ts(Y, start=c(1960,1),end=c(2002,1), frequency=4)
lap
##        Qtr1   Qtr2   Qtr3   Qtr4
## 1960  25.40  25.44  25.37  25.40
## 1961  25.49  25.24  25.24  25.28
## 1962  25.42  25.28  25.41  25.37
## 1963  25.28  25.24  25.34  25.36
## 1964  25.39  25.27  25.35  25.42
## 1965  25.53  25.79  25.98  26.13
## 1966  26.53  26.64  26.93  26.75
## 1967  26.74  26.70  26.81  26.86
## 1968  27.23  27.40  27.51  27.65
## 1969  28.07  28.44  28.65  28.93
## 1970  29.35  29.49  29.66  29.70
## 1971  30.14  30.50  30.74  30.76
## 1972  31.33  31.64  32.11  32.45
## 1973  34.02  35.67  37.14  37.46
## 1974  39.94  41.36  44.30  45.84
## 1975  45.83  46.32  47.31  47.82
## 1976  48.06  48.77  49.36  49.80
## 1977  50.90  52.12  52.19  52.80
## 1978  54.08  55.70  56.56  57.84
## 1979  59.94  62.07  64.01  66.27
## 1980  69.35  70.74  73.08  74.77
## 1981  77.00  78.75  79.28  79.20
## 1982  79.87  79.96  80.32  80.40
## 1983  80.45  80.73  81.50  81.90
## 1984  82.82  83.37  83.17  82.96
## 1985  82.77  82.85  82.29  82.80
## 1986  81.54  80.02  79.65  79.94
## 1987  80.88  82.16  83.09  83.49
## 1988  83.98  85.37  86.57  86.97
## 1989  88.92  90.41  90.09  90.44
## 1990  91.78  91.59  93.27  96.05
## 1991  94.13  93.19  93.03  93.17
## 1992  92.93  93.89  94.37  94.45
## 1993  94.82  95.79  95.33  95.30
## 1994  95.65  96.21  96.91  97.31
## 1995  98.94 100.14 100.35 100.57
## 1996 101.24 102.47 102.60 102.81
## 1997 103.00 101.96 101.96 102.14
## 1998 100.22 100.14  99.63  98.91
## 1999  98.27  99.79 101.69 102.55
## 2000 103.91 105.83 107.17 108.64
## 2001 110.43 109.20 106.90 103.69
## 2002 103.40
ts.plot(lap)

Single Exponential Smoothing

Single Exponential Smoothing merupakan metode pemulusan yang tepat digunakan untuk data stasioner. Pada kesempatan kali ini akan dilakukan pemulusan pada data penjualan menggunakan λ = 0.1.

library(forecast)

# lambda 0.1 

ses.1 <- ses(lap, h = 20)
plot(ses.1)

#menampilkan ramalan 10 periode kedepan
ses.1
##         Point Forecast     Lo 80    Hi 80     Lo 95    Hi 95
## 2002 Q2          103.4 102.07763 104.7224 101.37760 105.4225
## 2002 Q3          103.4 101.52997 105.2701 100.54002 106.2600
## 2002 Q4          103.4 101.10972 105.6903  99.89731 106.9028
## 2003 Q1          103.4 100.75543 106.0446  99.35547 107.4446
## 2003 Q2          103.4 100.44329 106.3568  98.87809 107.9220
## 2003 Q3          103.4 100.16110 106.6390  98.44651 108.3535
## 2003 Q4          103.4  99.90159 106.8985  98.04963 108.7504
## 2004 Q1          103.4  99.66005 107.1400  97.68023 109.1198
## 2004 Q2          103.4  99.43319 107.3669  97.33327 109.4668
## 2004 Q3          103.4  99.21862 107.5814  97.00511 109.7949
## 2004 Q4          103.4  99.01453 107.7855  96.69299 110.1071
## 2005 Q1          103.4  98.81953 107.9805  96.39476 110.4053
## 2005 Q2          103.4  98.63250 108.1676  96.10872 110.6913
## 2005 Q3          103.4  98.45253 108.3475  95.83348 110.9666
## 2005 Q4          103.4  98.27888 108.5212  95.56791 111.2321
## 2006 Q1          103.4  98.11093 108.6891  95.31106 111.4890
## 2006 Q2          103.4  97.94816 108.8519  95.06211 111.7379
## 2006 Q3          103.4  97.79010 109.0100  94.82038 111.9797
## 2006 Q4          103.4  97.63638 109.1637  94.58528 112.2148
## 2007 Q1          103.4  97.48665 109.3134  94.35629 112.4438

Selain menggunakan fungsi ses yang terdapat pada package forecast, pemulusan single exponential dapat dilakukan menggunakan fungsi HoltWinters. Berikut ilustrasinya.

Holt-Winters

Dalam metode paling dasar, sayacukup memanggil fungsi Holt-Winters dan membiarkan R mengetahui parameter penyetelannya sendiri dengan variabel penyetelan sebagai berikut:
- alpha: “nilai dasar”. Alfa yang lebih tinggi memberi bobot lebih pada pengamatan terbaru.
- beta: “nilai tren”. Beta yang lebih tinggi berarti kemiringan tren lebih bergantung pada kemiringan tren terkini.
- gamma: “komponen musiman”. Gamma yang lebih tinggi memberi bobot lebih pada siklus musiman terbaru.

lapp <- log(lap)
lap1 <- HoltWinters(lapp, beta=FALSE, gamma=FALSE)
lap1
## Holt-Winters exponential smoothing without trend and without seasonal component.
## 
## Call:
## HoltWinters(x = lapp, beta = FALSE, gamma = FALSE)
## 
## Smoothing parameters:
##  alpha: 0.9999521
##  beta : FALSE
##  gamma: FALSE
## 
## Coefficients:
##       [,1]
## a 4.638605

Plot Forecast untuk Holtwinters sebagai berikut.

# lambda = 0.1
ses1<- HoltWinters(lap, gamma = FALSE, beta = FALSE, alpha = 0.1)
plot(ses1)

ramalan1<- forecast(lap1, h=10)
#menampilkan ramalan 10 periode
ramalan1
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2002 Q2       4.638605 4.620522 4.656688 4.610950 4.666260
## 2002 Q3       4.638605 4.613033 4.664177 4.599496 4.677714
## 2002 Q4       4.638605 4.607286 4.669924 4.590706 4.686504
## 2003 Q1       4.638605 4.602441 4.674769 4.583297 4.693913
## 2003 Q2       4.638605 4.598172 4.679038 4.576769 4.700442
## 2003 Q3       4.638605 4.594313 4.682897 4.570867 4.706343
## 2003 Q4       4.638605 4.590765 4.686446 4.565439 4.711771
## 2004 Q1       4.638605 4.587462 4.689749 4.560388 4.716822
## 2004 Q2       4.638605 4.584359 4.692851 4.555643 4.721567
## 2004 Q3       4.638605 4.581425 4.695785 4.551156 4.726055

Menghitung Nilai Keakuratan

# Nilai akurasiSES dengan lambda = 0.1
# Berdasarkan hasil pemulusan menggunakan fungsi HoltWinters
SSE1 <- lap1$SSE
MSE1 <- lap1$SSE/length(lap)
RMSE1 <- sqrt(MSE1)

akurasi1 <- matrix(c(SSE1,MSE1,RMSE1))
row.names(akurasi1)<- c("SSE", "MSE", "RMSE")
colnames(akurasi1) <- c("Akurasi lambda = 0.1")
akurasi1
##      Akurasi lambda = 0.1
## SSE           0.044980698
## MSE           0.000266158
## RMSE          0.016314349

Keterangan:
Berdasarkan hasil perhitungan akurasi diatas, terlihat bahwa dari ketiga ukuran kebaikan (SSE,MSE, dan RMSE), metode pemulusan dengan lambda = 0.1 memiliki nilai akurasi lebih kecil. Oleh karena itu, dalam kasus ini dapat disimpulkan bahwa metode pemulusan dengan lambda = 0.1 lebih baik digunakan untuk melakukan peramalan data. Selanjutnya, akan dilakukan mulusan menggunakan Double Exponential Smoothing

Double Exponential Smoothing

Metode pemulusan Double Exponential Smoothing (DES) digunakan untuk data yang memiliki pola trend. Berbeda dengan metode sebelumnya, pemulusan menggunakan metode ini akan menghasilkan permalan tidak konstan untuk periode berikutnya. Berikut penerapan metode Double Exponential Smoothing pada R dengan kombinasi nilai parameter (λ = 0.1, γ = 0.1)

# lambda = 0.1 dan gamma = 0.1
des.1<- HoltWinters(lap, gamma = FALSE, beta = 0.1, alpha = 0.1)
plot(des.1)

ramalan.1<- forecast(des.1, h=10)
#menampilkan ramalan 10 periode
ramalan.1
##         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
## 2002 Q2       107.0375 102.5336 111.5414 100.1494 113.9256
## 2002 Q3       107.3251 102.7940 111.8562 100.3954 114.2548
## 2002 Q4       107.6127 103.0495 112.1759 100.6339 114.5915
## 2003 Q1       107.9003 103.2997 112.5009 100.8643 114.9363
## 2003 Q2       108.1879 103.5443 112.8315 101.0861 115.2897
## 2003 Q3       108.4755 103.7830 113.1680 101.2989 115.6521
## 2003 Q4       108.7631 104.0156 113.5106 101.5024 116.0238
## 2004 Q1       109.0507 104.2418 113.8596 101.6962 116.4052
## 2004 Q2       109.3383 104.4616 114.2150 101.8800 116.7966
## 2004 Q3       109.6259 104.6747 114.5771 102.0537 117.1982

Menghitung Nilai Keakuratan

# Akurasi DES lambda = 0.1 dan gamma = 0.1
SSE1= des.1$SSE
MSE1= SSE1/length(lap)
RMSE1 = sqrt(MSE1)

akurasi.des1 <- matrix(c(SSE1,MSE1,RMSE1))
row.names(akurasi.des1)<- c("SSE", "MSE", "RMSE")
colnames(akurasi.des1) <- c("Akurasi lambda = 0.1 dan gamma=0.1")
akurasi.des1
##      Akurasi lambda = 0.1 dan gamma=0.1
## SSE                         2053.958846
## MSE                           12.153603
## RMSE                           3.486202

Keterangan:
Berdasarkan hasil perhitungan kebaikan model diatas, terlihat bahwa nilai akurasi DES dengan lambda = 0.1 dan gamma=0.1 kecil. Dapat disimpulkan bahwa DES dengan lambda = 0.1 dan gamma=0.1 adalah metode yang lebih baik.

Decomposing Seasonal Data

Segera kita dapat “mengurai” deret waktu — yang dalam hal ini berarti memisahkan 4 komponen utama yang membentuk deret waktu:
- tren: tren jangka panjang dalam data
- musiman: penambah sinyal musiman yang berulang
- acak: komponen “sisa” yang tidak diharapkan dari komponen musiman atau tren.

Kita dapat dengan mudah mengekstrak komponen ini dan memplotnya dengan:

df_timeseriescomponents <- decompose(lap)
plot(df_timeseriescomponents)

Keterangan:
Output di atas merupakan representasi grafis dari perkiraan keadaan dari waktu ke waktu. Saat kita melihat komponen dekomposisi, kita dapat melihat secara visual bagaimana komponen tersebut dapat ditambahkan ke nilai “yang diamati(observed)” kita (nilai kita yang sebenarnya). Juga sangat penting untuk memeriksa skala setiap bagian untuk melihat mana yang lebih dominan. Misalnya, jika “acak” memiliki rentang yang jauh lebih besar daripada musiman atau tren, data ini akan sangat sulit untuk diramalkan secara akurat nanti.

Menentukan metode Pemulusan terbaik serta Kesimpulan

Pada kasus diketahui bahwa data time series terakhir berada pada tahun 2002 dan ingin diproyeksi untuk 1 periode (2003-2007)

# SES
akurasi1
##      Akurasi lambda = 0.1
## SSE           0.044980698
## MSE           0.000266158
## RMSE          0.016314349
# DES
akurasi.des1
##      Akurasi lambda = 0.1 dan gamma=0.1
## SSE                         2053.958846
## MSE                           12.153603
## RMSE                           3.486202

Keterangan:
Berdasarkan hasil diatas, didapatkan model terbaik antara masing-masing metode. Berdasarkan hasil diatas terlihat bahwa nilai SSE, MSE, dan RMSE metode pemulusan SES dengan λ = 0.1 lebih kecil dibandingkan metode pemulusan DES dengan λ = 0.1 dan γ= 0.1. Hal tersebut menunjukkan bahwa metode SES dengan λ = 0.1 lebih baik digunakan.

Time Series ARIMA Models

Disini saya menggunakan pemodelan ARIMA untuk menentukan model yang sesuai untuk perkiraan. Langkah pertama adalah menentukan stasioneritas dari data yang kita miliki. Ini dilakukan dengan Augmented Dickey Fuller Test (ADF). Jika stasioneritas tidak tercapai, saya melakukan diferensiasi data nya n kali sampai mencapai stasioneritas. Setelah itu, saya memplot Fungsi Autokorelasi (ACF) dan fungsi Autokorelasi Parsial (PACF) untuk data stasioner yang saya miliki, dan menentukan urutan proses AR dan proses MA melalui jumlah lonjakan di PACF dan ACF masing-masing.
Saya juga membandingkan model yang kami peroleh dengan model lain dengan membandingkan nilai Akaike Information Criteria (AIC) dan Bayesian Information Criteria (BIC), dan juga memeriksa efisiensi model yang dibangun dengan memplot ACF dari residual dan memeriksa apakah mereka berkorelasi.
Defining Variable

Y <- ppi
dY <- diff(Y)

Plot PPI untuk Memvisualisasikan data

plot.ts(Y)

plot.ts(d.Y)

Keterangan:
Dua grafik di atas menunjukkan plot PPI vs waktu dan DPPI vs waktu. Seperti yang dapat diamati secara visual, PPI berkorelasi positif dengan waktu, sedangkan DPPI secara visual dapat dilihat memiliki rata-rata yang konstan dan kurang bergantung pada waktu.

Memeriksa Stasioneritas data Augmented Dickey Fuller Test

Dickey-Fuller test for variable

Tes Dickey-Fuller menguji hipotesis nol yang menyatakan bahwa bahwa unit root ada dalam model autoregresif. Unit root test adalah tes stasioneritas data time series. Data time series memiliki stasioneritas jika perubahan waktu tidak menyebabkan perubahan dalam bentuk distribusi. Root unit adalah salah satu penyebab ketidakstabilan tersebut. Hipotesis alternatif berbeda tergantung pada versi tes yang digunakan, tetapi biasanya stasioneritas atau tren-stasioneritas.

library(tseries)
adf.test(Y, alternative="stationary")
## 
##  Augmented Dickey-Fuller Test
## 
## data:  Y
## Dickey-Fuller = -1.3857, Lag order = 5, p-value = 0.8327
## alternative hypothesis: stationary

Keterangan:
Dari pengujian ADF di atas pada variabel PPI, nilai p-value sangat tinggi dan hipotesis nol tidak dapat kita tolak, sehingga dapat disimpulkan bahwa variabel tersebut tidak stasioner. Oleh karena itu saya menerapkan pengujian yang sama pada variabel DPPI untuk memeriksa stasioneritasnya.

DF and ADF tests for differenced variable

Augmented Dickey Fuller Test untuk variabel DPPI (Different PPI)

adf.test(dY, k=0)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  dY
## Dickey-Fuller = -6.8398, Lag order = 0, p-value = 0.01
## alternative hypothesis: stationary
adf.test(dY)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  dY
## Dickey-Fuller = -3.2459, Lag order = 5, p-value = 0.08252
## alternative hypothesis: stationary

Keterangan:
P-value uji ADF pada variabel DPPI adalah 0,01, dan dengan demikian kita dapat mengatakan dengan keyakinan 99% bahwa hipotesis nol (DPPI tidak stasioner) dapat ditolak. Kita dapat mengatakan bahwa perbedaan pertama adalah stasioner, dan memperkirakan model terbaik dengan menentukan parameter AR dan MA.

Plot ACF dan PCF untuk menentukan Orde Proses ARIMA

Plot ACF dan PACF untuk PPI

acf(Y)

pacf(Y)

Plot ACF dan PACF untuk Difference PPI (DPPI)

acf(d.Y)

pacf(d.Y)

Keterangan:

Orde MA dapat ditentukan dari jumlah spike pada plot ACF DPPI, dan ditentukan menjadi 1 yang menunjukkan proses MA(1). Kami akan membandingkan hasil kami dengan pesanan MA lainnya dan memeriksa apakah perkiraan kami benar. Urutan AR dapat ditentukan dari jumlah spike pada plot PACF DPPI, dan ditentukan menjadi 1. Hal ini menunjukkan proses AR(1).
Menganalisis plot ACF PPI, mengkonfirmasi pengamatan kami sebelumnya tentang non-stasioneritas dalam data PPI asli, yang dapat dilihat dari plot ACF PPI vs lag. Plot tidak secara geometris menurun dan tetap menurun secara perlahan yang menunjukkan non-stasioneritas data

Perbandingan dengan model ARIMA yang berbeda dan koefisien persamaan yang diperoleh

ARIMA(1,0,0) or AR(1)

arima(Y, order = c(1,0,0))
## 
## Call:
## arima(x = Y, order = c(1, 0, 0))
## 
## Coefficients:
##          ar1  intercept
##       0.9996     64.522
## s.e.  0.0005     38.002
## 
## sigma^2 estimated as 1.058:  log likelihood = -248.2,  aic = 502.4

ARIMA(2,0,0) or AR(2)

arima(Y, order = c(2,0,0))
## 
## Call:
## arima(x = Y, order = c(2, 0, 0))
## 
## Coefficients:
##          ar1      ar2  intercept
##       1.6474  -0.6475    230.406
## s.e.  0.0003   0.0003        NaN
## 
## sigma^2 estimated as 0.6061:  log likelihood = -198.27,  aic = 404.54

ARIMA(0,0,1) or MA(1)

arima(Y, order = c(0,0,1))
## 
## Call:
## arima(x = Y, order = c(0, 0, 1))
## 
## Coefficients:
##          ma1  intercept
##       1.0000    64.6863
## s.e.  0.0182     2.3345
## 
## sigma^2 estimated as 231.6:  log likelihood = -702.48,  aic = 1410.96

ARIMA(1,0,1) or AR(1) MA(1)

arima(Y, order = c(1,0,1))
## 
## Call:
## arima(x = Y, order = c(1, 0, 1))
## 
## Coefficients:
##          ar1     ma1  intercept
##       0.9994  0.5337    64.6936
## s.e.  0.0008  0.0537    37.6621
## 
## sigma^2 estimated as 0.7233:  log likelihood = -216.41,  aic = 440.82

ARIMA on differenced variable

ARIMA(1,1,0)

arima(d.Y, order = c(1,0,0))
## 
## Call:
## arima(x = d.Y, order = c(1, 0, 0))
## 
## Coefficients:
##          ar1  intercept
##       0.5522     0.4557
## s.e.  0.0640     0.1307
## 
## sigma^2 estimated as 0.5841:  log likelihood = -193.39,  aic = 392.79

ARIMA(0,1,1)

arima(d.Y, order = c(0,0,1))
## 
## Call:
## arima(x = d.Y, order = c(0, 0, 1))
## 
## Coefficients:
##          ma1  intercept
##       0.4872     0.4654
## s.e.  0.0579     0.0908
## 
## sigma^2 estimated as 0.6284:  log likelihood = -199.5,  aic = 404.99

ARIMA(1,1,1)

arima(d.Y, order = c(1,0,1))
## 
## Call:
## arima(x = d.Y, order = c(1, 0, 1))
## 
## Coefficients:
##          ar1      ma1  intercept
##       0.7245  -0.2547     0.4397
## s.e.  0.1152   0.1682     0.1576
## 
## sigma^2 estimated as 0.5783:  log likelihood = -192.59,  aic = 393.17

ARIMA(1,1,3)

arima(d.Y, order = c(1,0,3))
## 
## Call:
## arima(x = d.Y, order = c(1, 0, 3))
## 
## Coefficients:
##          ar1     ma1      ma2     ma3  intercept
##       0.7334  -0.241  -0.1082  0.1217     0.4324
## s.e.  0.1242   0.142   0.0970  0.0800     0.1664
## 
## sigma^2 estimated as 0.5638:  log likelihood = -190.48,  aic = 392.97

ARIMA(2,1,3)

arima(d.Y, order = c(2,0,3))
## 
## Call:
## arima(x = d.Y, order = c(2, 0, 3))
## 
## Coefficients:
##          ar1      ar2      ma1     ma2     ma3  intercept
##       1.5191  -0.7084  -1.0502  0.2100  0.3179     0.4405
## s.e.  0.2253   0.1589   0.2103  0.1314  0.1036     0.1438
## 
## sigma^2 estimated as 0.5474:  log likelihood = -188.22,  aic = 390.44

Berikut hasil akhir ARIMA PPI dan DPPI dalam bentuk tabel.

Tabel ARIMA PPI dan DPPI

Keterangan:
Tabel di atas menyebutkan koefisien lag yang diperoleh ketika kami menguji kumpulan data dengan model ARIMA yang berbeda stasioner, dan memperkirakan ARIMA . yang paling tepat Indeks AS, dan memperkirakan PPI untuk tahun-tahun mendatang menggunakan model ARIMA. Kami menemukan perbedaan pertama adalah model yang keluar menjadi model ARIMA (1,1,1). tersebut. Saat membandingkan nilai AIC, kami memperoleh AIC minimum untuk dikaitkan dengan ARIMA (1,1,1)

ARIMA(1,0,1) forecasting

Variabel asli setelah ARIMA (1,0,1)

mydata.arima101 <- arima(Y, order = c(1,0,1))
mydata.pred1 <- predict(mydata.arima101, n.ahead=100)
plot.ts(Y)
lines(mydata.pred1$pred, col="blue")
lines(mydata.pred1$pred+2*mydata.pred1$se, col="red")
lines(mydata.pred1$pred-2*mydata.pred1$se, col="red")

ARIMA(1,1,1) forecasting

Differenced variabel setelah ARIMA(1,1,1)

mydata.arima111 <- arima(d.Y, order = c(1,0,1))
mydata.pred1 <- predict(mydata.arima111, n.ahead=100)
plot.ts(d.Y)
lines(mydata.pred1$pred, col="blue")
lines(mydata.pred1$pred+2*mydata.pred1$se, col="red")
lines(mydata.pred1$pred-2*mydata.pred1$se, col="red")

Prakiraan PPI dan DPPI telah kami tampilkan di atas dua grafik dengan interval kepercayaan 5% (2,5% kedua sisi), pada ARIMA(1,1,1) untuk variabel perbedaan.

Kesimpulan dari Model ARIMA

Saya menyimpulkan bahwa Harga Produsen Indeks AS, dan memperkirakan PPI untuk tahun-tahun mendatang menggunakan model ARIMA. Kami menemukan perbedaan pertama adalah stasioner, dan memperkirakan ARIMA . yang paling tepat model yang keluar menjadi model ARIMA (1,1,1).
Model diverifikasi dengan membandingkan dengan model lain dan diperoleh nilai AIC minimum 393 dan BIC yang sesuai menjadi 406 yang sesuai dengan model ARIMA, menunjukkan bahwa itu lebih baik daripada model lainnya. Uji Kotak Ljung mengungkapkan bahwa residu bebas dari heteroskedastisitas.

Pendapat dari ketiga Model

Menurut saya, dari ketiga model memiliki kelebihan dan kekurangannya masing-masing dalam memvisualisasikan dan menganalisis sebuah data time series. Dari saya, model eksponential Smoothing dan model ARIMA memiliki model yang terbaik karena dapat melihat progress masa depan dari data yang ada di masa lampau dan dengan itu, kita dapat membangun strategi dari peramalan yang sudah di lakukan.

Kesimpulan

Model Time Series regression model ketika berhadapan dengan data deret waktu, teknik time series regression model mungkin tampak tidak seefisien untuk memberikan prediksi terbaik (dibandingkan misalnya dengan ARIMA atau metodologi lain yang dirancang khusus untuk analisis dan prediksi deret waktu). Kelebihannya dari Model Time Series Regresi adalah mengetahui arah dari hubungan antara variabel bebas dengan variabel terikat, apakah memiliki hubungan positif atau negatif serta untuk memprediksi nilai dari variabel terikat apabila nilai variabel bebas mengalami kenaikan ataupun penurunan. Menggunakan ketiga model dapat menghasilkan hasil akhir yang baik, karena semua model dapat menopang dan memberikan hasil yang memuaskan.