doi.org/10.51179/tika.v6i02.486

## MODEL FOURIER UNTUK PREDIKSI HARGA SAHAM ASTRAZENECA MENGGUNAKAN ALGORITMA LEVENBERG- MARQUARDT

## Abstract
[Fourier Model For Astrazeneca Stock Price Prediction Using Levenberg-Marquardt Algorithm] The soaring cases of covid-19 prompted some countries to find solutions to save their people. One of the steps that is currently being taken is with vaccines. Several leading companies in the world that produce drugs are known to have produced vaccines for covid-19, one of which is AstraZeneca. AstraZeneca vaccine is known as  the  most  widely  used  vaccine  in  all  countries  in  the  world.  Interesting  thing  to  research  is  how  the development of the company's stock engaged in the medical field, especially companies that produce vaccines for covid-19. This study used Fourier's approach to modeling its curve fittings. As for the prediction process using  levenberg-marquardt  algorithm  which  is  known  to  be  reliable  to  perform  the  prediction  process. Levenberg-Marquardt's algorithm has the advantage of a fast training process and reliable accuracy due to its work that combines Gauss-Newton and Steepest Descent. The result is root mean square error value from the test result that was lower than the Root Mean Square Error value in the training process. This indicates that the prediction went well.
Keywords: Levenberg-Marquardt; Fourier; AstraZeneca.

## Abstrak
Melonjaknya  kasus  covid-19  mendorong  beberapa  negara  untuk  mencari  solusi  guna  menyelamatkan rakyatnya. Salah satu  langkah yang saat  ini gencar dilakukan adalah dengan vaksin. Beberapa perusahaan terkemuka di  dunia yang memproduksi  obat-obatan diketahui  sudah memproduksi vaksin  untuk  covid-19, salah  satunya  adalah  AstraZeneca.  Vaksin  AstraZeneca  diketahui  sebagai  vaksin  yang  paling  banyak digunakan  di  seluruh  negara  di  dunia.  Hal  yang  menarik  untuk  diteliti  adalah  bagaimana  perkembangan saham  perusahaan  yang  bergerak  di  bidang  medis  terutama  perusahaan  yang  memproduksi  vaksin  untuk covid-19.  Penelitian  ini  menggunakan  pendekatan  Fourier  untuk  permodelan  fitting  kurvanya.  Sedangkan untuk melakukan proses prediksi menggunakan algoritma Levenberg-Marquardt yang dikenal handal untuk melakukan proses prediksi. Algoritma Levenberg-Marquardt memiliki kelebihan berupa proses training yang cepat dan akurasi yang handal dikarenakan cara kerjanya yang menggabungkan Gauss-Newton dan Steepest Descent . Hasil yang diperoleh adalah nilai Root Mean Square Error dari hasil pengujian yang dilakukan lebih rendah  dari  nilai  Root  Mean  Square  Error  pada  proses  pelatihan.  Hal  ini  menunjukkan  bahwa  prediksi berjalan dengan baik.
Kata Kunci: Levenberg-Marquardt; Fourier; AstraZeneca.

## 1. Pendahuluan
Investasi  merupakan  hal  yang  berkembang  pesat  di  perekonomian  masyarakat.  Investasi  adalah penanaman  modal  yang  dilakukan  investor  dengan  tujuan  untuk  memperoleh  keuntungan.  Potensi memperoleh  keuntungan  yang  besar  dalam  waktu  yang  singkat menjadi  daya tarik  terbesar  bagi  investor.

## Hafizh Al Kautsar Aidilof 1)
1) Program Studi Informatika, Fakultas Teknik, Universitas Malikussaleh e-mail : hafizh@unimal.ac.id
Contoh investasi yang paling banyak diperdagangkan di pasar modal adalah saham. Saham merupakan salah satu pilihan investasi yang menarik karena dapat memperoleh untung yang besar dibandingkan dengan usaha lainnya.  Dalam  hal  ini,  penulis  mengambil  data  saham  AstraZeneca.  AstraZeneca  adalah  perusahaan multinasioanl yang bergerak di bidang farmasi. Nama AstraZeneca itu sendiri sudah terkenal di seluruh dunia, khususnya di Indonesia sejak antusiasme masyarakat Indonesia akan hal vaksin tumbuh.
Keuntungan yang diperoleh dari investasi  saham  ini  dapat dilihat dari nilai return , dimana nilai return dipengaruhi oleh perubahan harga saham. Return memiliki dua komponen yaitu current income dan capital gain .  Karena pergerakan harga saham  pada dasarnya tidak dapat  diprediksi  secara pasti, maka diperlukan model  matematis  tentang  pergerakan  harga  saham  tersebut.  Salah  satu  metode  yang  digunakan  untuk memprediksi  harga  saham  di  masa  yang  akan  datang  adalah  dengan  algoritma Levenberg  Marquardt . Algorima Levenberg  Marquardt merupakan  metode  optimasi  nonlinier  yang  digunakan  pada  saat  koreksi error backpropagation untuk  menemukan  bobot  yang  disesuaikan.  Algoritma Levenberg  Marquardt memiliki kelebihan mengoptimasi akurasi sehingga diusulkan digunakan untuk membantu masalah prediksi harga saham.
Data  yang  telah  dioptimasi  dengan  Algoritma Levenberg  Marquardt nantinya  akan  disajikan  dalam bentuk  grafik  dengan  menggunakan Transformasi  Fast  Fourier . Transformasi  Fast  Fourier adalah  suatu model transformasi yang  memindahkan  domain  spasial  atau  domain  waktu  menjadi  domain  frekuensi. Dengan Transformasi Fast Fourier yang digunakan untuk analisis spectral , memiliki tujuan agar sinyal dari domain waktu bisa menjadi sinyal dalam domain frekuensi. Hal ini dilakukan agar perhitungan menjadi lebih mudah, apabila masih dalam domain frekuensi maka perhitungannya akan lebih sulit

## 2. Metode

## A. Transformasi Fast Fourier
Fast  Fourier  Transform (FFT)  adalah  teknik  perhitungan  operasi  matematika  yang  digunakan  untuk mentrasformasi  sinyal  analog  menjadi  sinyal  digital  berbasis  frekuensi. Fast  Fourier  Transform (FFT) membagi  sebuah  sinyal  menjadi  frekuensi  yang  berbeda-beda  dalam  fungsi  eksponensial  yang  kompleks. Fast  Fourier  Transform (FFT)  menghitung  transformasi fourier diskrit  dengan  cepat  dan  efisien  karena sinyal-sinyal  dalam  sistem  komunikasi  bersifat  kontinyu,  sehingga  hasilnya  dapat  digunakan  untuk transformasi fourier. Fourier Transform dapat didefinisikan dengan rumus:
( ) ( ) dt e t s f S ft j  2 −   −  = dimana : ( ) f S = sinyal dalam domain frekuensi (frequency domain) ( ) t s = sinyal dalam domain waktu (time domain) ( ) ft j e t s  2 − = konstanta nilai sebuah sinyal
f = frekuensi t = waktu
Dari persamaan integral di atas dapat dilihat bahwa Fast Fourier Transform (FFT) dapat digunakan untuk menghitung nilai frekuensi, amplitudo dan fase dari suatu gelombang sinyal. Sementara untuk menghitung spektrum  frekuensi  sinyal  pada  komputer  digital  membutuhkan  algoritma Discrete  Fourier  Transform (DFT). Discrete Fourier Transform (DFT) mengubah sinyal domain waktu menjadi sinyal domain frekuensi. Berikut adalah persamaan Discrete Fourier Transform (DFT):
( ) ( )    − =  − = = N ux j x f N u F N X X  2 exp 1 1 0
( ) ( )  − = =             −       = 1 0 2 sin 2 cos 1 N X X N ux j N ux x f N u F   dimana :
N = jumlah sampel yang diambil
B. Levenberg-Marquardt Algoritma Levenberg-Marquardt dikembangkan  oleh Kenneth  Levenberg dan Donald  Marquardt .  Ide dasar  algoritma Levenberg-Marquardt adalah  memadukan  kestabilan  algoritma Steepest  Descent dan kecepatan Gauss  Newton .  Pada  dasarnya  algoritma  ini  bekerja  dengan  cara  melakukan  pencarian  nilai
minimum berdasarkan jumlah kuadrat terendah. Levenberg-Marquardt melakukan proses training gabungan. Pada wilayah yang memiliki kelengkungan yang kompleks algoritma ini beralih ke Steepest Descent hingga kelengkungannya  tepat  untuk  membuat  pendekatan  kuadrat  dimana  pendekatan  tersebut  menggunakan algoritma Gauss-Newton untuk mempercepat konvergensi. Levenberg-Marquardt adalah pengembangan dari algoritma JST backpropagation , pada proses training Levenberg-Marquardt membutuhkan  jumlah  iterasi  lebih  sedikit  dibandingkan  metode training backpropagation . Perbedaan algoritma Levenberg-Marquardt dengan backpropagation terletak pada proses update  bobot  [3].  Pada  II-11  algoritma backpropagation .  Proses  update  bobot  pada  pada Levenberg- Marquardt berdasarkan  pendekatan  Matriks  Hessian  [4].  Algoritma  ini  merupakan  metode  tercepat  untuk pelatihan  feedforward  neural network berukuran  besar  bahkan  sampai  ratusan weight .  Metode training Levenberg-Marquardt membutuhkan  jumlah  iterasi  yang  lebih  sedikit  dibandingkan  metode  training Backpropagation  Algorithm (BPA)  dalam  mencapai error minimum.  Hal  ini  dikarenakan  metode  BPA memerlukan training rate yang kecil untuk menghindari osilasi dan sering kali terlalu lambat untuk masalah praktis. Matriks Hessian merupakan turunan kedua dari fungsi kinerja terhadap setiap komponen bobot dan bias. Penentuan matriks Hessian merupakan langkah dasar pada Levenberg-Marquardt untuk mencari bobot- bobot dan bias koneksi yang digunakan. Agar mempermudah proses komputasi, selama algoritma pelatihan berjalan matriks Hessian diubah dengan pendekatan secara iteratif di setiap epoch . Fungsi gradien berguna sebagai  proses perubahannya. jika berbentuk  MSE (jumlah kuadrat error ) fungsi  kinerja yang digunakan, maka persamaan estimasi Matriks Hessian dapat berupa persamaan berikut:
J J H T . = Sedangkan gradient dapat dihitung dengan persamaan e J g T . =
Selanjutnya, perhitungan perubahan bobot pada Algoritma Levenberg-Marquardt dapat dihitung dengan persamaan:
  e J I J J w T T . 1 − + =             = kj pj w e J dimana: pj e = error pelatihan pada output ke-j ketika menerapkan pola n
kj w = bobot antara hidden ke-m sampai output ke- j
Matriks Jacobian dapat dijabarkan dengan persamaan sebagai berikut:
𝐽 = [ 𝜕𝑒 1 𝜕𝑤 1 ⋯ 𝜕𝑒 1 𝜕𝑤 𝑛 ⋮ ⋱ ⋮ 𝜕𝑒 𝑛 𝜕𝑤 1 ⋯ 𝜕𝑒 𝑛 𝜕𝑤 𝑛 ] 𝑒 = [ 𝑒 1 ⋮ 𝑒 𝑛 ]
dimana: 𝜕𝑤 : update bobot LM 𝑒 : vektor pada output jaringan untuk menyatakan setiap error.
Matriks Hessian dapat dijabarkan sebagai persamaan
𝐻 = [ 𝜕 2 𝐸 𝜕𝑤 1 𝜕𝑤 1 ⋯ 𝜕 2 𝐸 𝜕𝑤 1 𝜕𝑤 𝑛 ⋮ ⋱ ⋮ 𝜕 2 𝐸 𝜕𝑤 𝑛 𝜕𝑤 1 ⋯ 𝜕 2 𝐸 𝜕𝑤 𝑛 𝜕𝑤 𝑛 ]
dimana: n = jumlah bobot
C. Pelatihan Algoritma Levenberg Marquardt
Berikut merupakan penjabaran algoritma pelatihan Levenberg-Marquardt : 1. Inisialiasasikan bobot dan bias awal dengan bilangan acak kecil, target minimal, dan maksimum epoch . Target dihitung menggunakan Root Mean of Squared Error (R-MSE).
2. Tentukan parameter yang dibutuhkan, diantaranya:
a. Inisialisasi epoch =0
b. Parameter Levenberg-Marquardt ( 𝜇 >0). Parameter harus besar dari nol. c. Parameter  faktor Tau ( 𝜏 ),  parameter  ini  yang  berguna  untuk  dibagikan  atau  dikalikan  dengan parameter Marquardt .
3. Perhitungan Feedforward untuk  setiap  unit input (𝑥𝑖, 𝑖 = 1,2,3, … , 𝑛) menerima  sinyal  masukan dan diteruskan  ke  seluruh  unit  pada  lapisan  tersembunyi.  Masing-masing  unit  lapisan  tersembunyi (𝑧𝑗, 𝑗 = 1,2,3, … , 𝑛) menjumlahkan sinyal-sinyal input berbobot (𝑉 𝑖𝑗 ) dan bias (𝑏1 𝑗 ) .
𝑧 𝑖𝑛 𝑗 = 𝑏1 𝑗 + ∑ 𝑥 𝑖 𝑣 𝑖𝑗 𝑛 𝑖=1
Untuk menghitung sinyal output maka gunakan fungsi aktivasi. 𝑧 𝑗 = 𝑓(𝑧 𝑖𝑛 𝑗 ) dimana: 𝑏1 𝑗 = Sinyal input yang masuk ke hidden layer 𝑏1 𝑗 𝑥 = Input ke 𝑖 = 1, 2, 3, . . , 𝑛 𝑉 𝑖𝑗 = Bobot awal dari input layer ke hidden layer Selanjutnya sinyal tersebut dikirimkan ke seluruh unit pada lapisan atasnya.
4. Setiap unit lapisan output ( 𝑌𝑘 , 𝑘 = 1, 2, 3, . . , 𝑚 ) menjumlahkan sinyal-sinyal input berbobot (𝑊 𝑗𝑘 ) dan bias (𝑏2 𝑘 ) .
𝑦 𝑖𝑛 𝑘 = 𝑏2 𝑘 + ∑ 𝑧 𝑗 𝑝 𝑖 𝑤 𝑗𝑘
Untuk menghitung sinyal output maka gunakan fungsi aktivasi. 𝑦 𝑘 = 𝑓(𝑦 𝑖𝑛 𝑘 )
dimana: 𝑦 𝑖𝑛 𝑘 = sinyal input yang masuk ke lapisan output 𝑏2 𝑘
= bobot awal dari bias ke output layer 𝑧 𝑗 = output dari setiap neuron hidden layer 𝑤 𝑗𝑘 = bobot awal dari hidden layer ke output layer
𝑦 𝑘
= fungsi aktivasi pada output layer Selanjutnya sinyal tersebut dikirimkan ke seluruh unit pada lapisan atasnya.
5. Hitung error dan MSE.
Rumus menghitung error : 𝑒 𝑟 = 𝑡 𝑟 𝑦 𝑟 𝑒 = [𝑡 1 − 𝑦 1 , 𝑡 2 − 𝑦 2 … 𝑡 𝑟 − 𝑦 𝑟 ] 𝑇
dimana: 𝑟 = input ke -r 𝑡 𝑟 = target keluaran yang diharapkan 𝑒 𝑟 = kesalahan pada unit keluaran ( output ) 𝑦 𝑟 = keluaran actual
Rumus menghitung MSE:
𝑀𝑆𝐸 = ∑ 𝑒𝑟 2 𝑛 𝑖=1 𝑛
6. Untuk tiap unit lapisan output, h itung error neuron ( 𝑌𝑘 , 𝑘 = 1,2,3, . . . , 𝑚 ) 𝛿2 𝑘 = (𝑡 𝑟 − 𝑦 𝑟 )𝑓 ′ 𝑦 𝑖𝑛 𝑘 𝜑2 𝑗𝑘 = 𝜑2 𝑘 𝑧 𝑗 𝛽2 𝑘 = 𝛿2 𝑘
Kemudian hitung koreksi bobot untuk memperbaiki nilai 𝑤 𝑗𝑘 ∆𝑤 𝑗𝑘 = 𝜑2 𝑗𝑘 Untuk memperbaiki nilai 𝛽2 𝑘 maka hitung koreksi bias ∆𝑏2 𝑘 = 𝛽2 𝑘 dimana: 𝛿2 𝑘
= Error neuron utk tiap lapisan keluaran ( output ) 𝜑2 𝑗𝑘 = Menghitung bobot pada output 𝛽2 𝑘
= Menghitung bias pada output ∆𝑤 𝑗𝑘 = Koreksi bobot untuk memperbaiki nilai 𝑤 𝑗𝑘 ∆𝑏2 𝑘 = Nilai koreksi bias untuk memperbaiki 𝛽2 𝑘
7. Kemudian error neuron dihitung untuk setiap unit lapisan tersembunyi ( 𝑧 𝑗 𝑗 = 1,2,3, … , 𝑝 )
𝛿 𝑖𝑛 𝑗 = ∑ 𝛿2 𝑘 𝑤 𝑗𝑘 𝑚 𝑘=1 𝛿1 𝑗 = 𝛿 𝑖𝑛 𝑗 𝑓 ′ (𝑧 𝑖𝑛 𝑗 )1 − (𝑧 𝑖𝑛 𝑗 ) 𝜑1 𝑖𝑗 = 𝛿1 𝑗 𝑥 𝑗 𝛽1 𝑗 = 𝛿1 𝑗
8. Bentuk matriks Jacobian J(x). X yaitu matriks yang berisikan nilai koreksi bobot dan bias dari seluruh jaringan.
𝐽 = [𝜑1 11 … 𝜑1 𝑛𝑝 𝛽2 1 𝛽2 𝑚 ]
9. Menghitung bobot baru
𝑊 𝑏𝑎𝑟𝑢 = 𝑊 𝑙𝑎𝑚𝑎 − [𝐽 𝑇 𝐽 + 𝜇 𝐼] − 𝐽 𝑇 𝑒 dimana:
𝐽 = Matriks Jacobian 𝐽 𝑇 = Transpos Matriks Jacobian
𝐼 = Matriks identitas
𝑒 = nilai error
10. Hitung MSE
Jika MSE baru <=MSE lama maka a. 𝜇 = 𝜇 𝜏 b. epoch = epoch+1
c. kembali ke langkah 3
d. Jika MSE baru > MSE lama maka
a. 𝜇 = 𝜇. 𝜏
b. Kembali ke langkah 9
dimana:
𝜇 =Parameter Marquardt 𝜏 =Parameter faktor Tau
11. Proses pelatihan berhenti jika error = target error ataupun epoch = epoch maksimal
D. AstraZeneca
Sejak munculnya pandemi Covid-19 hingga antusiasme akan vaksin oleh masyarakat dunia menggema, nama AstraZeneca mulai dikenal luas di masyarakat umum. AstraZeneca adalah perusahaan multinasioanl yang  bergerak  di  bidang  farmasi.  AstraZeneca  berdiri  pada  tahun  1999  dan  merpakan  penggabungan  dari perusahaan Astra AB dari Swedia dan Zeneca Grup dari Britania Raya. Riset dan pengembagan perusahaan ini  dilakukan  di  Cambridge  (Inggris),  Gaithersburg  (Amerika  Serikat),  dan  Gothenburg  (Swedia). AstraZeneca melantai di Bursa Saham London, Nasdaq, Bursa Saham Mumbai, National Stock Exchange of India dan OMX.

## 3. Hasil dan Pembahasan
Penelitian ini mengambil data saham AstraZeneca selama 5 tahun terakhir mulai dari 31 Mei 2016 sampai 31 Mei 2021. Total data yang digunakan adaalah 1520 data. Data untuk proses training diambil dari tanggal 31 Mei 2016 sampai 31 Desember 2020 dengan jumlah data sebanyak 1158 dan berasumsi bahwa pada akhir Desember  2020  pembicaraan  tentang  vaksin  mulai  hangat.  Sedangkan  untuk  proses testing diambil  dari tanggal 1 Januari 2021 sampai 31 Mei 2021  dengan jumlah data sebanyak 92. Model prediksi yang dibentuk menggunakan Fast Fourier Transfor dapat dilihat pada gambar berikut:
Gambar 1. Model Prediksi
Sedangkan untuk hasil prediksi dapat dilihat pada gambar berikut:
Gambar 2 . Hasil Prediksi
Perbandingan hasil R-MSE yang didapat antara Model dan Testing sesuai periode pada Fourier dapat dilihat pada tabel berikut:
Tabel 1. Perbandingan R-MSE Periode R-MSE Model R-MSE Testing 1 0,4327 0,9369 2 0,4519 0,9446 3 0,5256 0,9264 4 1,0077e+28 0,6217 5 0,6822 0,7141 6 0,7353 0,6611 7 0,7778 0,6338
8 0,8382 0,5852

## 4. Kesimpulan
Kesimpulan  dari  peelitian  ini  adalah  proses  prediksi  menggunakan  algoritma  Levenberg-Marquardt menghasilkan nilai Root MSE yang lebih rendah daripada model dimulai dari model periode Fourier  ke 6. Sedangkan  nilai  Root  Mean  Square  Error  terbaik  yang  didapat  adalah  0,5852  yang  didapat  pada  periode Fourier ke 8.

## Daftar Pustaka
Kusuma,  Tiara  Dine.  2021.  Fast  Fourier  Transform  (FFT)  Dalam  Transformasi  Sinyal  Frekuensi  Suara Sebagai  Upaya  Perolehan  Average  Energy  (AE)  Musik.  Jurnal  Pengkajian  dan  Penerapan  Teknik Informatika Institut Teknologi PLN, 14(1), pp. 2655-5018.
Sunarauw,  S.  J.  A.  2018.  Algoritma  Pelatihan  Levenberg-Marquardt  Backpropagation  Artificial  Neural Network Untuk Data Time Series. Jurnal Sains dan Teknologi Universitas Negeri Manado, 1 (2), pp. 213-221.
Hidayat, R. N., Isnanto, R. R., dan Nurhayati, O. D. (2013). Implementasi Jaringan Syaraf Tiruan Perambatan Balik untuk Memprediksi Harga Logam Mulia Emas Menggunakan Algoritma Levenberg Marquardt. Jurnal Teknologi Dan Sistem Komputer, 1(2), 49–55.
Rudyatmoko,  C.,  dan  Sugiantoro,  B.  (2017).  Konsep  Kriptografi  Menggunakan  Jaringan  Saraf  Tiruan Backpropagation dan Levenberg-Marquardt, (x), 1–7.
Lisa, Yasinta. 2015.  Implementasi Algoritma Levenberg-Marquardt dan Regularisasi Bayes  untuk Prediksi Curah Hujan. Vox Edukasi, 6 (2), pp. 201-210.