Tutorial : Forecasting Data Musiman dengan Seasonal ARIMA (SARIMA) menggunakan SAS University Edition



Data deret waktu yang ditemukan di lapangan sering sekali membentuk sebuah pola musiman. Pola musiman adalah sebuah pola deret waktu yang berulang pada pola tertentu. Pola yang dimaksud dapat berupa pola berulang musiman mingguan, bulanan, tahunan, hari libur dan lain sebagainya.


Perhatikan contoh berikut :
Kepala bagian promosi sebuah kolam renang melakukan rekapitulasi jumlah pengunjung harian kolam renang tersebut. Hasil rekapitulasi akan disajikan secara visual kepada atasannya. Berdasarkan hasil yang diperoleh, diketahui bahwa pengunjung kolam renang selalu melonjak setiap hari minggu seperti pada grafik berikut :
Berdasarkan grafik visualisasi pengunjung kolam renang, terlihat bahwa jumlah pengunjung selalu melonjak disetiap waktu kelipatan 7 (hari minggu).

Berdasarkan ilustrasi diatas, jika kepala bagian promosi ingin memprediksi berapa jumlah pengunjung kolam renang pada periode yang akan datang. Maka dibutuhkan sebuah metode khusus yang dapat menangani pola musiman dari data deret waktu.

Pada artikel sebelumnya, telah dibahas beberapa metode yang dapat digunakan peramalan antara lain :
  1. Tutorial : Peramalan dengan ARIMA menggunakan SAS University Edition (free)
  2. Tutorial : Metode Peramalan Exponential Smoothing menggunakan R
Selain Seasonal Autoregressive Integrated Moving Average (SARIMA), metode Exponential Smoothing yang telah dibahas juga dapat digunakan untuk memodelkan dan meramalakan data deret waktu dengan pola musiman.

Salah satu sumber buku yang digunakan pada tutorial ini adalah :
Time Series Analysis Univariate and Multivariate Methods dari William W.S. Wei, (2006).

Berdasarkan kasus pada ilustrasi, ingin dilakukan pemodelan serta peramalan jumlah pengunjung kolam renang untuk 7 hari ke depan. Data yang digunakan pada artikel ini dapat di download pada menu Download Contoh Data kemudian pilih dan klik data dengan nomor urut 35.

Tahapan Analisis :

1. Siapkan SAS University Edition

Tutorial mengenai SAS University Edition beserta tahapan instalasinya dapat dilihat pada artikel berikut:
Tutorial : Download dan Instal Software SAS University Edition Gratis
Setelah SAS University Edition telah siap, tahap selanjutnya adalah pendefinisian data.

2. Pendefinisian Data

Data yang digunakan pada tutoril ini dapat didownload pada menu Download Contoh Data kemudian pilih dan klik data dengan nomor urut 35. Setelah data siap, silahkan buka SAS University Edition kemudian copy-paste kode berikut ke dalam lembar code :
data pengunjung;
input y @;
datalines;
[copy-paste data disini]
;
run;
Setelah itu jalankan kode yang telah diinput sebelumnya dengan cara Run. Setelah data terdefinisi dan terbaca oleh SAS University Edition, selanjutnya adalah melakukan identifikasi model SARIMA yang mungkin terbentuk.

3. Identifikasi Model

Pada tahap identifikasi model, terdapat beberapa sub-tahapan analisis seperti uji kestasioneritasan, identifikasi orde p serta identifikasi orde q. Tahap identifikasi model merupakan salah satu tahapan yang membutuhkan ketelitian dan ketepatan.

a. Uji Stasioneritas

Identifikasi yang pertama adalah melakukan uji stasioneritas untuk menentukan data deret waktu yang digunakan telah stasioner atau belum. Untuk melakukan uji stasioneritas, copy-paste kode berikut ke dalam lembar code :
proc arima data=pengunjung;
identify var=y stationarity=(adf=7) nlag=24;
run;
Penjelasan :
- proc arima digunakan untuk memanggil prosedur pengujian ARIMA.
- identify digunakan untuk melakukan tahap identifikasi uji stasioneritas dengan lag 7.
- Catatan : digunakan lag sampai 7 karena diduga bahwa data memiliki pola musiman 7.

Setelah Run hasil yang muncul adalah sebagai berikut:


Berdasarkan tabel di atas, digunakan Type Single Mean karena data yang digunakan tidak mengandung trend ataupun zero mean. Berdasarkan Type Single Mean, diperoleh hasil bahwa nilai P-Value Tau Test Statistics untuk lag 1 sampai 5 kurang dari 0.05 (alpha=5%). Sedangkan nilai P-Value Tau Test Statistics untuk lag 6 dan 7 lebih dari 0.05. Data dikatakan stasioner jika nilai P-Value Tau Test Statistics kurang dari nilai alpha yang diputuskan.

Untuk mengatasi hal tersebut, dapat dilakukan differencing 1 dan 7 agar data stasioner sampai lag ke 7. Untuk melakukan differencing dan uji stasioneritas, copy-paste kode berikut ke dalam lembar code :
proc arima data=pengunjung;
identify var=y(1,7) stationarity=(adf=7) nlag=24;
run;
Setelah Run hasil yang muncul adalah sebagai berikut:


Berdasarkan Type Single Mean, diperoleh hasil bahwa nilai P-Value Tau Test Statistics untuk lag 1 sampai 7 kurang dari 0.05 (alpha=5%). Hal ini menunjukan bahwa data telah stasioner secara musiman sepanjang 7.

b. Identifikasi Model

Setelah data stasioner, tahap selanjutnya adalah menentukan model yang sesuai. Pada tahap ini dibutuhkan beberapa pengetahuan tentang karakteristik maupun sifat dari istilah cut-off dan tail-off. Istilah tersebut dapat dipahami pada buku yang telah dijelaskan di depan. Untuk melakukan identifikasi model, kode yang digunakan sama persis pada tahap sebelumnya yaitu :
proc arima data=pengunjung;
identify var=y(1,7) stationarity=(adf=7) nlag=24;
run;
Namun, fokus output yang dibahas adalah sebagai berikut :


Berdasarkan output di atas, fokus pembahasan mengerucut pada plot ACF dan PACF.

  • ACF : diagram batang yang melewati batas adalah diagram ke-1 dan ke-7
  • PACF : diagram batang yang melewati batas adalah diagram ke-1 sampai ke-5

Dari hasil di atas, kemungkinan model yang dapat disimpulkan adalah :

  • SARIMA (5,1,1)(0,1,1)7
  • SARIMA (0,1,1)(0,1,1)7

Penjelasan model di atas, dapat ditemukan pada buku :
Time Series Analysis Univariate and Multivariate Methods dari William W.S. Wei, (2006).
Atau ditanyakan langsung pada kolom komentar maupun kolom pertanyaan disini.

4. Estimasi Model dan Pemilihan Model

Berdasarkan tahap identifikasi, diperoleh 2 model yang mungkin terjadi yaitu SARIMA (5,1,1)(0,1,1)7 dan SARIMA (0,1,1)(0,1,1)7. Oleh karena itu, pada tahap estimasi dan pemilihan model, akan diuji 2 model tersebut untuk diputuskan model mana yang sesuai.

a. SARIMA (5,1,1)(0,1,1)7

Pada model pertama, copy-paste kode berikut ke dalam lembar code kemudian Run :
proc arima data=pengunjung;
identify var=y(1,7) stationarity=(adf=7) nlag=24;
estimate p=5 q=(1)(7) noint method=cls;
forecast printall;
run;
Maka diperolehlah hasil sebagai berikut :



Berdasarkan tabel Conditional Least Square Estimation, nilai P-Value t untuk MA1,1 dan MA2,1 kurang dari 0.05 (alpha 5%) artinya kedua parameter ini signifikan terhadap model. Sedangkan nilai P-Value t untuk AR1,1 sampai AR1,5 menunjukan nilai diatas 0.05 (alpha 5%) artinya kelima parameter tersebut tidak signifikan terhadap model. Dugaan model pertama memiliki nilai AIC sebesar 712.688. Serta pada tabel Autocorrelation Check of Residuals, nilai P-Value Chi-Square untuk semua lag menunjukan hasil di atas 0.05 (alpha 5%) artinya asumsi white noise residual terpenuhi.

b. SARIMA (0,1,1)(0,1,1)7

Pada model pertama, copy-paste kode berikut ke dalam lembar code kemudian Run :
proc arima data=pengunjung;
identify var=y(1,7) stationarity=(adf=7) nlag=24;
estimate q=(1)(7) noint method=cls;
forecast printall;
run;
Maka diperolehlah hasil sebagai berikut :



Berdasarkan tabel Conditional Least Square Estimation, nilai P-Value t untuk MA1,1 dan MA2,1 kurang dari 0.05 (alpha 5%) artinya kedua parameter ini signifikan terhadap model. Dugaan model kedua memiliki nilai AIC sebesar 702.7585. Serta pada tabel Autocorrelation Check of Residuals, nilai P-Value Chi-Square untuk semua lag menunjukan hasil di atas 0.05 (alpha 5%) artinya asumsi white noise residual terpenuhi.

c. Model Terbaik

Berdasarkan kriteria signifikansi parameter, nilai AIC (Akaike Information Criterion) dan kesimpulan asumsi white noise residual. Maka dapat disimpulkan bahwa model terbaik yang diperoleh adalah SARIMA (0,1,1)(0,1,1)7. Atau dengan kata lain model SARIMA yang mengandung MA(1), MA(1) musiman 7, serta differencing 1 dan 7.

5. Forecasting

Untuk melakukan forecasting beberapa periode ke depan, copy-paste kode berikut ke dalam lembar code kemudian Run :
proc arima data=pengunjung;
identify var=y(1,7) stationarity=(adf=7) nlag=24;
estimate q=(1)(7) noint method=cls;
forecast printall;
run;
Maka diperolehlah hasil sebagai berikut :


Kotak merah merupakan hasil prediksi beberapa periode ke depan dengan plot berikut :


***

Demikian artikel tentang Tutorial : Forecasting Data Musiman menggunakan Seasonal ARIMA (SARIMA) dengan SAS. Semoga dapat bermanfaat. Jika terdapat pertanyaan, kritik maupun saran. Jangan sungkan untuk mengunjungi kolom komentar maupun bertanya melalui kolom pertanyaan disini.


Share:

Tutorial R : Manajemen Data Sederhana pada RStudio



R merupakan salah satu software sekaligus bahasa pemrograman yang memungkinkan pengguna untuk melakukan manajemen data mulai dari sederhana sampai luar biasa. Beberapa artikel yang membahas mengenai R di website ini adalah sebagai berikut :
Tutorial : Metode Forecasting Exponential Smoothing menggunakan R
Tutorial : Rancangan Percobaan - Rancangan Acak Lengkap (RAL) dengan R
Tutorial R : Argumen Dasar dalam Pemrograman R
Tutorial R : Rcmdr pada RStudio
Tutorial R : RStudio sebagai IDE yang Memudahkan
Tutorial : Uji Stasioneritas menggunakan R
Tutorial R : Menulis, Membaca dan Menampilkan Data pada R
Tutorial & Video : Rcmdr untuk Statistika Dasar
Tutorial & Video : Download dan Install "R"
Pada artikel ini, diasumsikan pembaca telah membaca artikel di atas atau telah memahami apa itu R dan fungsi-fungsi sederhana dari R itu sendiri.

Terkadang, teknik-teknik manajemen data pada R jarang digunakan oleh user karena pada R sendiri telah terdapat beberapa package yang sangat memudahkan. Dalam kasus sederhana mungkin beberapa metode manajemen data akan sangat bermanfaat. Berikut contoh penggunaan manajemen data pada R dengan bantuan IDE RStudio.


Permasalahan :

Sebuah perusahaan asuransi ingin memantau data klaim pada suatu minggu. Berikut disajikan data mengenai Klaim Asuransi Kecelakaan Mobil yang terjadi selama satu minggu. Data tersebut meliputi hari, banyak klaim, nilai rupiah klaim, serta nama petugas penanggung jawab setiap hari.
Berdasarkan data tersebut, kepala perusahaan menginginkan beberapa laporan antara lain :
a. Berapa rata-rata  klaim terjadi pada minggu tersebut
b. Kapan nilai klaim tertinggi terjadi?
c. Hari apa saja yang nilai klaimnya lebih dari 25 juta?
d. Siapa petugas yang menangani klaim paling banyak?
e. Siapa petugas yang bertanggung jawab di hari rabu?
f. Berapa nilai klaim tertinggi dan terendah?
g. Berapa frekuensi klaim tertinggi dan terendah?

Pembahasan :

Sebelum menjawab permintaan kepala perusahaan, tahap pertama dari penyelesaian kasus ini adalah mengusahakan agar RStudio dapat membaca data tersebut. Berikut beberapa tahapan import data menggunakan RStudio.

1. Input Data Permasalahan

Input data permasalahan atau kita sebut data klaim pada notepad atau segala jenis software yang mampu menghasilkan dokumen dengan format *.txt lalu simpan dokumen tersebut pada tempat yang mudah diingat. Atau jika ingin cara instan, unduh data_klaim pada link berikut kemudian pilih data dengan nomor urut 36 dengan judul Contoh Data Klaim Perusahaan Asuransi.
Link Data : Download Contoh Data

2. Import Data


Tahap selanjutnya adalah melakukan import data dengan cara klik :
File - Import Dataset - From Text (base)


3. Pilih lokasi data yang disimpan.


Lalu pilih lokasi penyimpanan data yang telah disiapnkan pada tahap 1.


4. Import


Setelah muncul kotak dialog Import Data kemudian klik Import


5. Selesai

Tahap import data telah selesai. Untuk memastikan data telah terekam, masukan code berikut pada RStudio Console kemudian enter.
data_klaim
Setelah itu akan muncul hasil sebagai berikut:
Tampilan diatas menandakan bahwa data telah terekam. Setelah data terekam, tahap selanjutnya adalah menjawab permintaan dari kepala perusahaan. Berikut penjabaran masing-masing permintaan.

Jawaban

a. Berapa Rata-rata Klaim yang Terjadi

Pertanyaan poin a dapat dijawab dengan menggunakan fungsi rata-rata pada R. Masukan code berikut pada RStudio Console kemudian enter.
jawab_a=mean(data_klaim$klaim)
print(jawab_a)
Setelah itu akan muncul hasil sebagai berikut:
Rata-rata klaim yang terjadi pada mingg tersebut adalah sebesar 23,85714 klaim.

b. Kapan Nilai Klaim Tertinggi Terjadi?

Pertanyaan poin b dapat dijawab dengan menggunakan fungsi which.max pada R. Masukan code berikut pada RStudio Console kemudian enter.
jawab_b=data_klaim[(which.max(data_klaim$klaim)),1]
print(jawab_b)
Setelah itu akan muncul hasil sebagai berikut:
Nilai klaim tertinggi terjadi pada hari minggu. Pada dasarnya, jawaban poin b adalah menggabungkan fungsi which.max dengan modifikasi matriks dengan informasi kolom 1.

c. Hari Apa Saja yang Nilai Klaimnya Lebih dari 25 Juta?

Pertanyaan poin c dapat dijawab dengan menggunakan fungsi subset pada R. Masukan code berikut pada RStudio Console kemudian enter.
jawab_c=subset(data_klaim, nilai > 25)
print(jawab_c)
Setelah itu akan muncul hasil sebagai berikut:
Hari selasa, kamis, jumat dan minggu memiliki nilai klaim di atas 25 juta. Prinsip fungsi subset adalah mengambil sebagain informasi dalam hal ini adalah informasi variabel nilai pada data_klaim.

d. Siapa Petugas yang Menangani Klaim Paling Banyak?

Pertanyaan poin d dapat dijawab dengan menggunakan fungsi which.max pada R. Masukan code berikut pada RStudio Console kemudian enter.
jawab_d=data_klaim[(which.max(data_klaim$klaim)),4]
print(jawab_d)
Setelah itu akan muncul hasil sebagai berikut:
Petugas yang menangani klaim paling banyaka dalah Budi. Pada dasarnya, jawaban poin d adalah menggabungkan fungsi which.max dengan modifikasi matriks dengan informasi kolom 4. Jawaban poin d mirip dengan jawaban poin b.

e. Siapa Petugas yang Bertanggung Jawab di Hari Rabu?

Pertanyaan poin e dapat dijawab dengan menggunakan fungsi which pada R. Masukan code berikut pada RStudio Console kemudian enter.
jawab_e=data_klaim[(which(data_klaim$hari == "Rabu")),4]
print(jawab_e)
Setelah itu akan muncul hasil sebagai berikut:
Petugas yang bertanggung jawab di hari rabu adalah Tini. Pada dasarnya, jawaban poin e adalah menggabungkan fungsi which dengan kriteria "Rabu" dan modifikasi matriks dengan informasi kolom 4. Jawaban poin d mirip dengan jawaban poin b dan d.

f. Berapa Nilai Klaim Tertinggi dan Terendah?

Pertanyaan poin f dapat dijawab dengan menggunakan fungsi max, data.frame, dan fungsi pembentuk vektor. Masukan code berikut pada RStudio Console kemudian enter.
nnilai=c((max(data_klaim$nilai)),(min(data_klaim$nilai)))
nilaicek=c("Tertinggi","Terendah")
jawab_f=data.frame(nilaicek,nnilai)
print(jawab_f)
Setelah itu akan muncul hasil sebagai berikut:
Nilai klaim tertinggi sebesar 50,51 juta dan terendah sebesar 13,03 juta. Pada jawaban poin f terdapat beberapa tahap dalam penyelesaiannya. Tahap pertama adalah menentukan nilai maksimum dan minimum kemudian memasukannya pada vektor nnilai. Tahap kedua membentuk sebuah vektor dengan elemen "Tertinggi" dan "Terendah". Tahap ketiga adalah menggabungkan vektor tahap pertama dan kedua.

g. Berapa Frekuensi Klaim Tertinggi dan Terendah?

Pertanyaan poin g dapat dijawab dengan menggunakan fungsi max, data.frame, dan fungsi pembentuk vektor. Masukan code berikut pada RStudio Console kemudian enter.
nklaim=c((max(data_klaim$klaim)),(min(data_klaim$klaim)))
klaimcek=c("Tertinggi","Terendah")
jawab_g=data.frame(klaimcek,nklaim)
print(jawab_g)
Setelah itu akan muncul hasil sebagai berikut:
Frekuensi klaim tertinggi sebesar 35 klaim dan terendah sebesar 12 klaim. Pada jawaban poin g terdapat beberapa tahap dalam penyelesaiannya. Tahap pertama adalah menentukan nilai maksimum dan minimum kemudian memasukannya pada vektor nklaimTahap kedua membentuk sebuah vektor dengan elemen "Tertinggi" dan "Terendah"Tahap ketiga adalah menggabungkan vektor tahap pertama dan kedua.

---

Demikian penjelasan mengenai Tutorial R : Manajemen Data Sederhana pada R dan RStudio. Jika terdapat pertanyaan maupun penjelasan ulang, kritik, saran dan lainnya, dapat langsung mengisi kolom komentar. Semua pertanyaan yang masuk akan selalu diusahakan untuk dijawab.
Share:

Tutorial : Metode Forecasting Exponential Smoothing menggunakan R


Salah satu metode yang dapat digunakan untuk meramalkan data ke depan adalah Exponential Smoothing. Exponential Smoothing merupakan salah satu metode deret waktu yang sering digunakan untuk meramalkan data-data masa lampu pada ranah ekonomi, sosial maupun lainnya. Konsep perhitungan dari Exponential Smoothing adalah dengan memberikan pembobot pada perhitungan prediksi untuk setiap t.

Exponential Smoothing sendiri terbagi ke dalam beberapa jenis. Jenis dari metode ini yang sering digunakan adalah Single Exponential Smoothing, Double Exponential Smoothing Holt dan Triple Exponential Smoothing Holt-Winters. Jika diamati dari nama jenis metode yaitu Single, Double dan Triple, hal ini berkaitan dengan banyaknya pembobot yang digunakan pada metode tersebut. Single Exponential Smoothing hanya memberikan satu pembobot yaitu alpha (level). Double Exponential Smoothing Holt memberikan dua pembobot yaitu alpha (level) dan beta (tren). Sedangkan Triple Exponential Smoothing Holt-Winters memberikan tiga pembobot yaitu alpha (level), beta (tren), dan gamma (musiman).

Ketika data memiliki pola yang acak, kemungkinan Single Exponential Smoothing dapat digunakan. Ketika data memiliki pola yang acak serta membentuk tren naik atau turun, kemungkinan Double Exponential Smoothing Holt dapat digunakan. Ketika data memiliki pola yang acak serta membentuk tren naik atau turun dan terjadi pola musiman, kemungkinan Triple Exponential Smoothing Holt-Winters dapat digunakan. Kemungkinan-kemungkinan tersebut dapat dipastikan dengan cara membandingkan ketiga metode, kemudian melihat nilai kesalahan yang dihasilkan.

Exponential Smoothing telah dibahas pada beberapa artikel pada laman ini, berikut beberapa artikel yang membahas tentang Exponential Smoothing
Tutorial : Single Exponential Smoothing dan Peramalan
Tutorial : Double Exponential Smoothing Holt dan Peramalan
Tutorial : Triple Exponential Smoothing Winter dan Peramalan
Pada artikel ini akan dijelaskan tentang cara melakukan peramalan dengan Exponential Smoothing menggunakan alat bantu R. Beberapa artikel pendahuluan tentang R yang dapat digunakan adalah sebagai berikut:
Tutorial & Video : Download dan Install "R"
Tutorial R : RStudio sebagai IDE yang Memudahkan
Tutorial & Video : Rcmdr untuk Statistika Dasar
Tutorial R : Rcmdr pada RStudio

Berikut contoh kasus yang akan dibahas :

Seorang General Manager (GM) meminta laporan hasil penjualan perbulan selama 5 tahun dengan data sebagai berikut beserta dengan analisis proyeksi 6 bulan ke depan :
Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan di atas adalah Exponential Smoothing. Berikut tahapan analisis beserta code untuk R.

1. Jalankan RStudio

Tahap pertama silahkan buka dan jalankan RStudio, cara instalasi RStudio dan pengertian lainnya telah dibahas pada artikel :
Tutorial R : RStudio sebagai IDE yang Memudahkan
Sesuaikan layout RStudio agar mudah dibaca.

2. Siapkan Data

Data pada tutorial ini dapat diunduh melalui link berikut :
Download Contoh Data
Kemudian Pilih dan Klik Data Pada Nomor Urut 34.

Data yang telah disiapkan berekstensi *.txt.
Setela data diunduh, selanjutnya adalah memasukan data ke RStudio dengan cara :
Klik File - Import Dataset - From Text (base) - Pilih data yang telah diunduh - Klik Import

3. Definisikan Data

Setelah data berhasil diimport, selanjutnya adalah mendefinisikan variabel untuk data tersebut agar dapat dilakukan analisis menggunakan RStudio. Berdasarkan kasus, data tersebut memiliki struktur data bulanan dan rentang selama 5 tahun mulai dari tahun 2015 - 2019.
Copy-paste code berikut pada RStudio Console kemudian tekan enter.
lap = Data.Laporan.Bulanan
lap = ts(lap, start=c(2015,1), end=c(2019,12), frequency=12)
lap
Hasil :

4. Plot Deret Waktu

Setelah data berhasil didefinisikan dengan nama Lap, tahap selanjutnya adalah melakukan pengamatan terhadap plot deret waktu. Hal ini dilakukan untuk menduga dan menentukan kira-kira metode Exponential Smoothing apa yang sesuai dengan data tersebut.
Copy-paste code berikut pada RStudio Console kemudian tekan enter.
ts.plot(lap)
Hasil :
Berdasarkan plot deret waktu yang dihasilkan, terlihat  bahwa data hasil penjualan mengalami tren dan kemungkinan terdapat faktor musiman.

5. Fungsi Exponential Smoothing

Tahap selanjutnya adalah pemanggilan fungsi Exponential Smoothing pada RStudio berdasarkan kriteria dan ketentuan berikut :


Copy-paste code berikut untuk Single Exponential Smoothing

lapfore1 = HoltWinters(lap, beta=FALSE, gamma=FALSE)
lapfore1
lapfore1$SSE
plot(lapfore1)

Hasil :


Copy-paste code berikut untuk Double Exponential Smoothing

lapfore2 = HoltWinters(lap, gamma=FALSE)
lapfore2
lapfore2$SSE
plot(lapfore2)

Hasil :



Copy-paste code Triple Exponential Smoothing

lapfore3 = HoltWinters(lap)
lapfore3
lapfore3$SSE
plot(lapfore3)
Hasil :


6. Model Terbaik

Berdasarkan hasil analisis yang dilakukan, perhatikan nilai Sum Square Error (SSE) yang dihasilkan. Nilai SSE terkecil menunjukan bahwa metode tersebut cocok digunakan untuk data laporan hasil penjualan bulanan pada kasus ini.
Berdasarkan tabel diatas, model terbaik adalah Triple Exponential Smoothing karena menghasilkan nilai SSE terkecil 549275,0.

7. Forecast

Setelah model terbaik ditentukan yaitu Triple Exponential Smoothing dengan nilai SSE terkecil. Tahap selanjutnya adalah melakukan prediksi ke depan. Pada kasus diketahui bahwa data deret waktu terkahir berada pada bulan Desember 2019 dan ingin diproyeksi untuk 6 bulan ke depan dengan cara sebagai berikut:
Copy-paste code berikut pada RStudio Console kemudian enter untuk Forecast ke depan.
predict(lapfore, n.ahead = 6)
Hasil :
Berdasarkana hasil prediksi untuk 6 bulan ke depan, diperoleh hasil sebagai berikut :

***

Demikian artikel tentang Tutorial : Metode Peramalan Exponential Smoothing menggunakan R. Semoga dapat bermanfaat. Jika terdapat pertanyaan, kritik maupun saran. Jangan sungkan untuk mengunjungi kolom komentar.
Share:

Tutorial : Rancangan Percobaan - Rancangan Acak Lengkap (RAL) dengan R


Dalam rancangan percobaan, Rancangan Acak Lengkap (RAL) merupakan rancangan yang paling sederhana. RAL memiliki beberapa ciri-ciri rancangan sebagai berikut:

  • Perlakuan yang diberikan terhadap objek percobaan secara penuh bersifat acak.
  • Percobaan dilakukan terhadap objek yang relatif homogen.
  • Jumlah ulangan untuk setiap perlakuan tidak harus sama.

Jika diperhatikan mengenaik ciri-ciri RAL diatas, poin 2 mensyaratkan bahwa percobaan dilakukan terhadap objek yang relatif homogen. Dalam keadaan nyata, objek yang bersifat homogen dapat diatur jika percobaan dilakukan di Laboratorium atau jumlah perlakuan dan jumlah satuan percobaan relatif sedikit.

Pada artikel ini akan dijelaskan tentang tahapan dan prosedur analisis Rancangan Acak Lengkap (RAL) menggunakan alat bantu R. Sebelum melakukan analisis, diharapkan pembaca telah melakukan instalasi R, RStudio dan memahami apa itu R. Berikut tautan terkait mengenai informasi tersebut.
Tutorial & Video : Download dan Install "R"
Tutorial R : RStudio sebagai IDE yang Memudahkan
Tutorial & Video : Rcmdr untuk Statistika Dasar
Tutorial R : Rcmdr pada RStudio

Contoh Kasus :

Seorang peneliti ingin mengamati apakah beberapa vitamin ayam memberikan perbedaan pada rata-rata diameter telur yang diukur dalam satuan sentimeter. Misalkan jenis vitamin A, B, C dan D dengan hasil sebagai berikut:

Data tersebut dapat diunduh pada tautan berikut :
Download Contoh Data
Kemudian Klik "Data Diameter Telur Ayam (Rancangan Acak Lengkap)" atau mengunjungi Menu Download Contoh Data - Klik "Data Diameter Telur Ayam (Rancangan Acak Lengkap)".
Berdasarkan kasus tersebut, ujilah apakah terdapat pengaruh jenis vitamin terhadap diameter telur ayam dan ujilah jenis vitamin apa yang memiliki kesamaan atau perbedaan.

***

Penyelesaian :

1. Jalankan RStudio

Tahap pertama silahkan buka dan jalankan RStudio, cara instalasi RStudio dan pengertian lainnya telah dibahas pada artikel :
Tutorial R : RStudio sebagai IDE yang Memudahkan
Sesuaikan layout RStudio agar mudah dibaca.
Contoh diatas merupakan layout RStudio yang memudahkan.

2. Instal Packages

Analisis Rancangan Acak Lengkap (RAL) membutuhkan metode Analysis of Variance (ANOVA) dalam prosesnya. Dalam proses analisisnya membutuhkan 2 Packages yang harus diinstal terlebih dahulu. Pastikan perangkat tersambung dengan koneksi internet sebelum melakukan install packages

- Packages "foreign"

Untuk menginstal Packages "foreign" silahkan copy-paste code berikut pada RStudio Console kemudian tekan enter.
install.packages("foreign")
Hasil :

- Packages "stats"

Untuk menginstal Packages "stats" silahkan copy-paste code berikut pada RStudio Console kemudian tekan enter.
install.packages("stats")
Hasil :

3. Import Data

Setelah semua Packages selesai diinstal, tahap selanjutnya adalah melakukan import data dengan cara :
Klik File - Import Dateset - From Text (base) - Kemudian Klik Import
Kemudian pilih lokasi penyimpanan data yang telah diunduh pada tahap sebelumnya.
Hasil :
Kemudian definisikan variabel dengan cara copy-paste code berikut pada RStudio Console kemudian tekan enter.
telur = Data.Diameter.Telur
Hasil :

4. Uji Asumsi Normalitas

Analysis of Variance merupakan salah satu teknik statistika parametrik. Oleh karena itu terdapat beberapa asumsi yang harus terpenuhi. Salah satu asumsi yang akan dibahas pada tutorial ini adalah Asumsi Normalitas Data.

Untuk melakukan Uji Asumsi Normalitas,  copy-paste code berikut pada RStudio Console kemudian tekan enter.
by (data=telur$diameter, INDICES=telur$vitamin, FUN=shapiro.test)
Hasil :
Penjelasan :
Uji Asumsi Normalitas yang digunakan adalah Shapiro-Wilk. Perhatikan nilai P-Value untuk masing-masing diameter telur hasil percobaan vitamin dengan hipotesis sebagai berikut dan taraf signifikansi alpha 5%.

  • H0 : Data berdistribusi Normal
  • H1 : Data tidak berdistribusi Normal
  • Daerah Kritis : Tolak H0 jika nilai P-Value < Alpha (0,05)
  • Keputusan : Gagal Tolak H0 untuk semua hasil percobaan karena nilai P-Value > Alpha (0,05)
  • Kesimpulan : Pada taraf signifikansi alpha 5%, dapat disimpulkan bahwa data mengikuti sebaran normal untuk semua perlakuan.

Nilai alpha yang digunakan tidak selamanya 5%. Keputusan tersebut tergantung oleh kebutuhan peneliti.

5. Analysis of Variance (ANOVA) One Way

Tahap selanjutnya adalah masuk ke metode analisis yaitu Analysis of Variance (ANOVA). ANOVA digunakan untuk menguji perbedaan rata-rata populasi berdasarkan karakteristik variansi. Atau dengan kata lain melihat aada tidaknya pengaruh suatu perlakuan terhadap objek penelitian.

Untuk melakukan Uji ANOVA,  copy-paste code berikut pada RStudio Console kemudian tekan enter.
ujianova = aov(diameter~as.factor(vitamin), data=telur)
ujianova
summary(ujianova)
Hasil :
Penjelasan :
Pada pengujian ANOVA, perhatikan nilai Pr(>F) / P-Value dengan hipotesis sebagai berikut dan taraf signifikansi alpha sebesar 5%.

  • H0 : Tidak ada perbedaan (Tidak ada pengaruh Vitamin terhadap Diameter Telur)
  • H1 : Terdapat perbedaan (Terdapat pengaruh Vitamin terhadap Diameter Telur)
  • Daerah Kritis : Tolak H0 jika nilai P-Value < Alpha (0,05)
  • Keputusan : H0 ditolak karena nilai P-Value (0,0308) < Alpha (0,05)
  • Kesimpulan : Pada taraf signifikansi alpha 5%, dapat disimpulkan bahwa terdapat pengaruh pemberian Vitamin terhadap ukuran Diameter Telur.

Dari hasil analisis ANOVA, diperoleh kesimpulan bahwa terdapat perbedaan tiap Vitamin atau Vitamin mempengaruhi ukuran Diameter Telur. Hal ini mengharuskan peneliti untuk melakukan uji lanjut dengan tujuan mengamati lebih dalam perlakuan apa yang memberikan perbedaan atau persamaan.
Nilai alpha yang digunakan tidak selamanya 5%. Keputusan tersebut tergantung oleh kebutuhan peneliti.

6. Uji Lanjut

Ketika kesimpulan dalam pengujian ANOVA adalah H0 ditolak (ada perbedaan rata-rata objek / ada pengaruh perlakuan terhadap objek) maka perlu dilakukan uji lanjut untuk menentukan perlakuan apa yang memiliki perbedaan ataupun kesamaan. Salah Satu uji lanjut yang dapat digunakan adalah Tukey HSD.


Untuk melakukan Uji Lanjut Tukey HSD,  copy-paste code berikut pada RStudio Console kemudian tekan enter.
TukeyHSD(ujianova)
Hasil :
Penjelasan :
Pada uji lanjut Tukey HSD, perhatikan nilai P-Adj / P-Value dan taraf signifikansi alpha sebesar 5%. Perhatikan baris paling kiri.

  • 2-1 (Perbedaan antara vitamin B dan A)
  • 3-1 (Perbedaan antara vitamin C dan A)
  • 4-1 (Perbedaan antara vitamin D dan A)
  • 3-2 (Perbedaan antara vitamin C dan B)
  • 4-2 (Perbedaan antara vitamin D dan B)
  • 4-3 (Perbedaan antara vitamin D dan C)

dengan hipotesis sebagai berikut :

  • H0 : Tidak ada perbedaan tiap pasang Vitamin
  • H1 : Terdapat perbedaan tiap pasang Vitamin
  • Daerah Kritis : Tolak H0 jika nilai P-Value < Alpha (0,05)
  • Keputusan : Gagal Tolak H0 karena semua pasang vitamin memiliki nilai P-Value > Alpha (0,05)
  • Kesimpulan : Pada taraf signifikansi alpha 5%, dapat disimpulkan bahwa tidak ada perbedaan tiap pasang Vitamin.

Perlu dperhatikan, jika kita gunakan Alpha 5% maka kesimpulan akhir menyatakan bahwa tidak terdapat perbedaan tiap pasang vitamin, namun ketika kita gunakan Alpha 10% maka kesimpulan akhir akan menyatakan bahwa terdapat perbedaan beberapa pasang vitamin. Oleh karen itu, penentuan nilai Signifikansi Alpha sangat mempengaruhi kesimpulan yang dihasilkan.

***

Demikian artikel tentang Tutorial : Rancangan Percobaan - Rancangan Acak Lengkap (RAL) dengan R. Semoga artikel ini dapat bermanfaat. Jika terdapat pertanyaan, kritik maupun saran, jangan sungkan untuk mengunjungi kolom komentar.
Share:

Tutorial : Forecasting dengan ARIMA menggunakan SAS University Edition (free)



Autoregressive Integrated Moving Average (ARIMA) merupakan salah satu metode statistika yang dapat digunakan untuk meramalkan data deret waktu. Alat bantu pengolahan ARIMA sangat banyak, salah satunya adalah dengan menggunakan SAS. Jika ada yang terkendala dengan lisensi, SAS University Edition (free) dapat dijadikan solusi karena bersifat free. Tahapan instalasi SAS University Edition (free) dapat dilihat pada artikel berikut :
Tutorial : Download dan Instal Software SAS University Edition Gratis
Pada artikel ini akan dijelaskan code sederhana dalam melakukan peramalan menggunakan ARIMA beserta dengan contoh kasus menggunakan SAS University Edition (free). Beberapa sumber yang membahas tentang ARIMA dapat ditemukan pada beberapa sumber berikut :

Makridakis, Spyros., Wheelright, Steven, C., &  McGee, Victor, C. (1999). Metode dan Aplikasi Peramalan. Jakarta: Binarupa Aksara.
Cryer, Jonathan D. & Chan, Kung-Sik. (2008). Time Series Analysisi with Applications in R. Lowa City, Lowa: Springer.
Montgomery, Douglas C., Jennings, Cheryl., & Kulachi, Murat. (2008). Introduction to Time Series Analysis and Forecasting. Hoboken, New Jersey: Willey.
Wei, W. W. S. (2006). Time Series Analysis Univariate and Multivariate Method. Second Edition. New York: Pearson Education.
dan lain-lain.

Tutorial mengenai Analisis Deret Waktu ARIMA pernah dibahas pada artikel lain di laman ini atau kunjungi link berikut :

Tutorial : Tahapan-tahapan Analisis Deret Waktu ARIMA
Contoh data yang digunakan pada artikel ini sama persis dengan artikel pada tutorial di atas. Pada artikel ini, diasumsikan data telah memenuhi syarat Stasioneritas. Syarat stasioneritas dan pengujiannya serta tahapan-tahapannya dapat dilihat pada link berikut :
Tutorial : Uji Stasioneritas Mean menggunakan R
Berikut tahapan-tahapan Peramalan dengan ARIMA menggunakan SAS University Edition (free).

1. Data



2. Jalankan SAS University Edition (free)

Jalankan SAS University Edition sesuai pada tutorial yang telah dijelaskan pada tautan berikut:
Tutorial : Download dan Instal Software SAS University Edition Gratis


3. Input Data

Input serta definisikan data dengan cara copy-paste code berikut ke dalam jendela Code SAS University Edition (free).
data data1;
input y @;
datalines;
57.66
59.04
56.61
56.69
59.43
58.75
59.28
58.35
57.07
56.41
58.97
58.96
60.31
59.20
57.93
61.22
57.62
60.11
60.25
61.52
58.12
60.57
59.31
59.58
58.34
57.02
56.52
56.11
60.46
58.24
56.17
58.13
59.84
61.48
61.25
59.53
61.72
57.09
60.02
58.85
55.50
57.64
53.72
51.00
53.31
56.30
60.06
60.04
53.86
57.40
55.48
54.26
58.81
55.79
54.22
58.93
58.80
60.10
58.95
57.71
;
run;

Seperti pada gambar berikut:

Setelah itu, jalankan perintah dengan klik simbol Run.

Penjelasan :
(1) data data1; = digunakan untuk mendefinisikan nama data yaitu Data1
(2) input y @; = digunakan untuk mendefinisikan nama variabel yaitu Y 
(3) datalines; = digunakan untuk menginputkan data 
(4) run; = digunakan untuk menjalankan Code input data

3. Masukan Perintah Proc ARIMA

Setelah data dan variabel terdefinisi dan berhasil terbaca SAS University Edition (free). Tahap selanjutnya adalah menjalankan prosedur ARIMA dengan cara copy-paste code berikut ke dalam jendela Baru (Tekan F4 pada keyboard) Code SAS University Edition (free).



proc arima data=data1;
identify var=y nlag=24;
estimate p=(1) q=(1) noint method=cls;
forecast printall;
run;

Seperti pada gambar berikut:

Setelah itu, jalankan perintah dengan klik simbol Run.

Hasil:

Penjelasan :
(1) proc arima data=data1; Digunakan untuk memanggil prosedur ARIMA dan data = Data1.  
(2) identify var=y nlag=24; Digunkan untuk melakukan identifikasi awal orde AR dan MA.  
(3) estimate p=(1) q=(1) Digunakan untuk mengestimasi parameter (pada contoh ARIMA (1,0,1)).Pada baris (3), orde P dan Q tergantung pada hasil identifikasi saat baris ke (2).  
(4) noint method=cls; Digunakan untuk memutuskan metode estimasi apa yang digunakan.Metode yang digunakan adalah Conditional Least Square (CLS).  
(5) forecast printall; Digunakan untuk menampilkan hasil prediksi maupun peramalan ke depan.  
(6) run; = digunakan untuk menjalankan Code input data

Penjelasan hasil :
Hasil 1
Pada Hasil 1 di atas menjelaskan tentang identifikasi model awal. Berdasarkan plot ACF dan PACF yang dihasilkan, diduga bahwa data tersebut memiliki orde ARIMA(1,0,1). Oleh karena itu pada tahap estimasi dimasukan order ARIMA(1,0,1).
Hasil 2
Pada Hasil 2 bagian Conditional Least Square Estimation, diperoleh kesimpulan bahwa hanya parameter orde AR(1) yang signifikan. Hal ini akan mengharuskan peneliti untuk menguji ulang model dengan hanya memasukan order ARIMA(1,0,0) dan membandingkan nilai AIC antara ARIMA(1,0,1) dengan ARIMA (1,0,0).
Hasil 3
Hasil 3 menunjukan nilai prediksi maupun peramalan ke dengan dengan menggunakan model ARIMA yang sesuai. Pada tabel Forecast for Variable Y tertera informasi nilai peramalan, standar error, selang kepercayaan, data asli dan juga residual.

***

Demikian artikel mengenai Tutorial : Peramalan dengan ARIMA menggunakan SAS University Edition (free). Masih banyak hal yang dapat dibahas maupun dikembangkan dengan ARIMA. Semoga artikel ini dapat bermanfaat, jika terdapat pertanyaan, saran, maupun kritik, dapat langsung mengunjunngi kolom komentar.
Share:
close
Coba Kolom Pertanyaan
Dengan Jawaban Lebih Jelas
Klik Disini