Proyeksi beberapa Time-series Secara Bersamaan

Postingan terdahulu membahas proyeksi data time-series yang berjumlah hanya satu. Jika data time-series tersebut banyak, apakah satu narxnet mampu menangani data yang lebih dari satu? Berikut ini akan kita coba. Buka Matlab dan tambahkan dua data serial yang mudah saja (minimal sepuluh buah). Data eksogennya adalah variable X, dari 11 sampai 20.

  • T=[1:10];
  • t=T*3; %contoh time-series kedua (kelipatan 3 dari T)
  • T=[T;t];
  • T=con2seq(T);
  • X=[11:20]; %variabel eksogen
  • X=con2seq(X); %variabel eksogen

Ada dua time-series satu hingga 10 sedangkan yang kedua kelipatan tiganya. Kita coba buat JST untuk dua data tersebut. T adalah gabungan dua time-series. Gunakan script berikut untuk merakit narxnet.

  • net = narxnet(1:2,1:2,10);
  • [x,xi,ai,t] = preparets(net,X,{},T);
  • net = train(net,x,t,xi,ai);

Tunggu sesaat hingga narxnet selesai melakukan pelatihan (training). Lanjutkan dengan kode berikut jika sudah selesai.

  • nets = removedelay(net);
  • [xs,xis,ais,ts] = preparets(nets,X,{},T);
  • ys = nets(xs,xis,ais);
  • cell2mat(ys)

ans =

  • 3.0000 4.0000 5.0977 6.0064 7.0000 8.0000 9.0000 10.0000 11.1804
  • 9.0000 12.0000 15.7688 18.9107 21.0000 24.0000 27.0000 30.0000 32.6386

Jika dilihat hasilnya yang berwarna merah, tampak mendekati seharusnya yaitu 11 dan 33. Tigapuluh tiga di sini dari perkalian 3×11. Untuk multistep beberapa data ke depan sudah dibahas pada postingan sebelumnya. Apakah dengan GUI juga bisa? Kita coba, masuk ke ntstool.

Teruskan hingga selesai, dan jangan lupa menyimpan network yang dihasilkan, misalnya net1 (karena net sudah dibuat ketika mentraining non-GUI sebelumnya. Pastikan training berjalan dengan baik dan akurat.

Masukan kode berikut, seperti kode sebelumnya hanya saja “net” diganti dengan “net1” yang baru saja dibuat dengan GUI.

  • nets = removedelay(net1);
  • [xs,xis,ais,ts] = preparets(nets,X,{},T);
  • ys = nets(xs,xis,ais);
  • cell2mat(ys)

ans =

  • 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0002 10.0000 10.9972
  • 9.0000 12.0000 15.0000 18.0002 21.0000 24.0000 27.0008 30.0000 32.9884

Hasilnya adalah yang berwarna merah dan sepertinya tidak jauh berbeda dengan sebelumnya. selamat mencoba.

Iklan