Interpolasi dengan Matlab

Ketika mencoba melakukan peramalan dengan nonlinear autoregressive with external (NARX) lewat GUI (ntstool), ternyata data minimal untuk meramal adalah sepuluh titik, sementara data yang tersedia hanya lima buah. Sebenarnya bisa dengan NARX versi command window (lihat postingan yang lalu tentang peramalan), tetapi jika lebih suka dengan GUI apa boleh buat tambahkan data dengan interpolasi.

Interpolasi bermaksud membuat garis antara beberapa titik yang telah diketahui. Garis di sini bisa berupa garis lurus, bisa juga berupa garis lengkung (non-linear). Caranya adalah dengan menambah titik-titik baru di dekat titik-titik yang telah ada sebelumnya. Berikut ini contoh lima data yang akan digunakan untuk meramal data selanjutnya.

Data time series itu berjarak tiga tahun dari tahun 2003 hingga 2015. Kita akan menyisipkan data baru di antara tahun-tahun tersebut dengan cara interpolasi. Buka command window Matlab, masukan data tersebut:

  • >> data=[245 276 309 325 344]; %data utama
  • >> t=[2003:3:2015]; %waktu
  • >> new_t=[2004 2007 2008 2010 2014]; %data yg akan dicari interpolasinya
  • >> new_data=interp1(t,data,new_t) %interpolasi satu dimensi (default: linear)

new_data =

255.3333 287.0000 298.0000 314.3333 337.6667

Tampak lima data baru (di sini sengaja new_t saya tambah tahun 2008 supaya genap sepuluh data untuk peramalan). Script di atas untuk tipe interpolasi linear. Jika ingin interpolasinya nonlinear, tambahkan atribut ‘spline’ pada instruksi interp1.

  • >> new_data2=interp1(t,data,new_t,’spline’) %interpolasi nonlinear (spline)

new_data2 =

253.3364 288.1975 299.5525 315.8364 335.4969

Grafik di bawah ini menunjukkan data awal, perbandingan data awal dengan hasil interpolasi linear dan dengan hasil interpolasi nonlinear.

Bagaimana membuat grafik seperti di atas? Sepertinya harus dibuat postingan khusus tentang presentasi grafik dengan Matlab. Sampai jumpa lagi.

Iklan

2 thoughts on “Interpolasi dengan Matlab”

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s