BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi komputasi telah memberikan pengaruh yang signifikan terhadap perkembangan metode analisis data, khususnya dalam bidang statistika dan data science. Kemampuan komputer dalam mengolah data dalam jumlah besar memungkinkan berbagai metode analisis modern digunakan untuk memahami pola data serta melakukan prediksi secara lebih akurat. Salah satu pendekatan yang banyak digunakan dalam analisis data saat ini adalah metode machine learning.

Dalam statistika terapan, analisis data tidak hanya bertujuan untuk menjelaskan fenomena yang terjadi, tetapi juga untuk memprediksi nilai di masa mendatang serta melakukan klasifikasi terhadap suatu objek berdasarkan karakteristik tertentu. Dua jenis permasalahan yang sering ditemui dalam analisis data adalah permasalahan prediksi pada data runtun waktu (time series) dan permasalahan klasifikasi data.

Data runtun waktu merupakan data yang dikumpulkan secara berurutan berdasarkan waktu tertentu, seperti data harian, bulanan, atau tahunan. Analisis terhadap data runtun waktu bertujuan untuk mengidentifikasi pola yang terdapat dalam data historis sehingga dapat digunakan untuk memperkirakan nilai pada periode mendatang. Dalam beberapa kasus, hubungan antar variabel dalam data runtun waktu bersifat non-linear sehingga metode statistik klasik terkadang kurang mampu menangkap pola yang ada.

Salah satu metode yang dapat digunakan untuk mengatasi permasalahan tersebut adalah Artificial Neural Network (ANN). Metode ini merupakan pendekatan komputasi yang terinspirasi dari cara kerja jaringan saraf pada otak manusia. Artificial Neural Network memiliki kemampuan untuk mempelajari hubungan yang kompleks dan non-linear antar variabel sehingga banyak digunakan dalam berbagai bidang seperti ekonomi, kesehatan, dan keuangan.

Salah satu arsitektur ANN yang paling umum digunakan adalah Multi Layer Perceptron (MLP). Model ini terdiri dari beberapa lapisan neuron yang saling terhubung dan dilatih menggunakan algoritma backpropagation untuk meminimalkan kesalahan prediksi.

Selain digunakan untuk permasalahan prediksi, neural network juga dapat diterapkan pada permasalahan klasifikasi. Dalam bidang kesehatan, misalnya, metode ini dapat digunakan untuk mengklasifikasikan suatu kondisi penyakit berdasarkan karakteristik medis yang dimiliki oleh pasien.

Berdasarkan uraian tersebut, pada laporan ini dilakukan analisis menggunakan metode Multi Layer Perceptron untuk prediksi data runtun waktu serta neural network untuk klasifikasi data. Analisis dilakukan menggunakan perangkat lunak R dengan tujuan untuk melihat kemampuan metode tersebut dalam memodelkan pola data serta mengevaluasi performa model yang dihasilkan.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan, maka rumusan masalah dalam analisis ini adalah sebagai berikut:

  1. Bagaimana penerapan metode Multi Layer Perceptron dalam memodelkan data runtun waktu?
  2. Bagaimana penerapan metode neural network dalam melakukan klasifikasi data?
  3. Bagaimana performa model yang dihasilkan berdasarkan ukuran evaluasi model yang digunakan?

1.3 Tujuan Analisis

Tujuan dari analisis yang dilakukan dalam laporan ini adalah:

  1. Mengimplementasikan metode Multi Layer Perceptron untuk melakukan prediksi pada data runtun waktu.
  2. Mengimplementasikan metode neural network untuk melakukan klasifikasi data.
  3. Mengevaluasi performa model yang dihasilkan menggunakan ukuran evaluasi yang sesuai.

BAB II

TINJAUAN PUSTAKA

2.1 Data Runtun Waktu

Data runtun waktu (time series) merupakan data yang dicatat secara berurutan berdasarkan interval waktu tertentu. Analisis terhadap data runtun waktu bertujuan untuk mengidentifikasi pola yang terdapat dalam data historis serta memanfaatkan pola tersebut untuk melakukan prediksi pada periode mendatang.

Secara umum, data runtun waktu dapat memiliki beberapa komponen utama, yaitu tren, musiman, siklus, dan komponen acak. Pemahaman terhadap pola tersebut menjadi penting dalam membangun model prediksi yang tepat.

2.2 Artificial Neural Network

Artificial Neural Network (ANN) merupakan metode komputasi yang meniru cara kerja jaringan saraf biologis pada otak manusia. ANN terdiri dari sejumlah neuron yang saling terhubung melalui bobot tertentu dan tersusun dalam beberapa lapisan, yaitu input layer, hidden layer, dan output layer.

Setiap neuron menerima input yang kemudian diproses melalui fungsi aktivasi untuk menghasilkan output tertentu. Kemampuan ANN dalam memodelkan hubungan non-linear membuat metode ini banyak digunakan dalam berbagai aplikasi analisis data.

2.3 Multi Layer Perceptron

Multi Layer Perceptron merupakan salah satu jenis jaringan saraf tiruan yang memiliki satu atau lebih hidden layer di antara lapisan input dan output. Model ini dilatih menggunakan algoritma backpropagation yang bertujuan untuk meminimalkan kesalahan antara nilai prediksi dan nilai aktual.

Dalam analisis data runtun waktu, MLP dapat digunakan untuk memprediksi nilai masa depan dengan memanfaatkan nilai masa lalu sebagai variabel input.

2.4 Evaluasi Model

Evaluasi model merupakan tahap penting dalam analisis data untuk mengetahui seberapa baik model yang dibangun dalam melakukan prediksi atau klasifikasi.

Salah satu ukuran error yang sering digunakan dalam analisis regresi adalah Mean Squared Error (MSE) yang dirumuskan sebagai

\[ MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \]

Selain itu digunakan pula Mean Absolute Percentage Error (MAPE) yang dirumuskan sebagai

\[ MAPE = \frac{100}{n}\sum_{i=1}^{n}\left|\frac{y_i-\hat{y}_i}{y_i}\right| \]

Semakin kecil nilai error yang dihasilkan maka semakin baik performa model dalam melakukan prediksi.

BAB III

METODOLOGI ANALISIS

Tahapan analisis yang dilakukan dalam penelitian ini meliputi beberapa langkah sebagai berikut:

  1. Mengimpor library yang dibutuhkan.
  2. Mengambil serta menyiapkan data yang akan digunakan dalam analisis.
  3. Melakukan preprocessing data.
  4. Membagi data menjadi data training dan data testing.
  5. Membangun model neural network.
  6. Mengevaluasi performa model yang dihasilkan.

BAB IV

HASIL DAN PEMBAHASAN

4.1 Analisis Prediksi Time Series Menggunakan Multi Layer Perceptron

Analisis pertama bertujuan untuk memprediksi nilai harga saham berdasarkan data historis menggunakan metode Multi Layer Perceptron (MLP). Model ini memanfaatkan nilai harga pada periode sebelumnya sebagai variabel input untuk memprediksi nilai pada periode berikutnya.

4.1.1 Import Library

library(tidyverse)
## Warning: package 'readr' was built under R version 4.5.2
## Warning: package 'dplyr' was built under R version 4.5.1
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.6
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(neuralnet)
## Warning: package 'neuralnet' was built under R version 4.5.2
## 
## Attaching package: 'neuralnet'
## 
## The following object is masked from 'package:dplyr':
## 
##     compute
library(caret)
## Warning: package 'caret' was built under R version 4.5.2
## Loading required package: lattice
## 
## Attaching package: 'caret'
## 
## The following object is masked from 'package:purrr':
## 
##     lift
library(quantmod)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## 
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'xts'
## 
## The following objects are masked from 'package:dplyr':
## 
##     first, last
## 
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(mlbench)
## Warning: package 'mlbench' was built under R version 4.5.2

4.1.2 Import Data

Tahap selanjutnya adalah mengimpor dataset harga saham yang digunakan dalam analisis. Data yang digunakan merupakan data harga saham ANTM yang disimpan dalam format CSV.

data_saham <- read.csv("D:\\kuliah\\semester 6\\komlan\\ANTM.csv")
head(data_saham)
##         Date Price  Open  High   Low   Vol. Change..
## 1 12/02/2024 1,410 1,410 1,435 1,410 28.64M   -1.40%
## 2 12/03/2024 1,450 1,410 1,470 1,410 61.19M    2.84%
## 3 12/04/2024 1,465 1,445 1,470 1,440 46.07M    1.03%
## 4 12/05/2024 1,490 1,470 1,495 1,450 57.65M    1.71%
## 5 12/06/2024 1,485 1,490 1,495 1,465 33.50M   -0.34%
## 6 12/09/2024 1,490 1,485 1,510 1,480 42.62M    0.34%

Perintah read.csv() digunakan untuk membaca file data, sedangkan fungsi head() digunakan untuk menampilkan beberapa baris pertama dataset.

4.1.3 Preprocessing Data

Data harga pada dataset masih mengandung tanda koma sehingga tidak dapat langsung diproses sebagai data numerik. Oleh karena itu dilakukan proses pembersihan data dengan menghapus tanda koma dan mengubah tipe data menjadi numerik.

Price <- gsub(",", "", data_saham$Price)
Price <- as.numeric(Price)

Setelah proses pembersihan data dilakukan, dibuat dataframe baru yang berisi data harga yang telah diproses.

data <- data.frame(
  Price = Price)

head(data)
##   Price
## 1  1410
## 2  1450
## 3  1465
## 4  1490
## 5  1485
## 6  1490

Tahap ini bertujuan untuk memastikan bahwa data berada dalam format yang sesuai untuk proses analisis selanjutnya.

4.1.4 Visualisasi Data

Untuk memahami pola pergerakan harga saham, dilakukan visualisasi data menggunakan grafik time series. Visualisasi ini bertujuan untuk melihat perubahan harga saham dari waktu ke waktu serta mengidentifikasi pola atau tren yang mungkin terdapat dalam data.

data_saham$Date <- as.Date(data_saham$Date, format="%m/%d/%Y")

plot(data_saham$Date, Price,
     type = "l",
     col = "blue",
     xlab = "Tanggal",
     ylab = "Harga Saham",
     main = "Pergerakan Harga Saham ANTM")

4.1.5 Pembentukan Variabel Lag

Dalam analisis data runtun waktu menggunakan neural network, nilai masa lalu sering digunakan sebagai variabel input untuk memprediksi nilai masa depan. Oleh karena itu dibuat beberapa variabel lag yang merepresentasikan nilai harga pada periode sebelumnya.

data$lag1 <- dplyr::lag(data$Price,1)
data$lag2 <- dplyr::lag(data$Price,2)
data$lag3 <- dplyr::lag(data$Price,3)

data <- na.omit(data)

head(data)
##   Price lag1 lag2 lag3
## 4  1490 1465 1450 1410
## 5  1485 1490 1465 1450
## 6  1490 1485 1490 1465
## 7  1625 1490 1485 1490
## 8  1600 1625 1490 1485
## 9  1615 1600 1625 1490

Variabel lag digunakan untuk menangkap hubungan antara nilai masa lalu dengan nilai yang akan diprediksi.

4.1.6 Normalisasi Data

Sebelum digunakan dalam model neural network, data perlu dinormalisasi agar berada dalam rentang nilai yang sama. Hal ini bertujuan untuk meningkatkan stabilitas proses pelatihan model.

normalize <- function(x){
(x-min(x))/(max(x)-min(x))
}

data_norm <- as.data.frame(lapply(data, normalize))

head(data_norm)
##        Price       lag1       lag2       lag3
## 1 0.04803493 0.03711790 0.03056769 0.01310044
## 2 0.04585153 0.04803493 0.03711790 0.03056769
## 3 0.04803493 0.04585153 0.04803493 0.03711790
## 4 0.10698690 0.04803493 0.04585153 0.04803493
## 5 0.09606987 0.10698690 0.04803493 0.04585153
## 6 0.10262009 0.09606987 0.10698690 0.04803493

Normalisasi dilakukan menggunakan metode Min-Max Scaling sehingga nilai variabel berada pada rentang 0 hingga 1.

4.1.7 Pembagian Data Training dan Testing

Dataset kemudian dibagi menjadi data training dan data testing. Data training digunakan untuk membangun model, sedangkan data testing digunakan untuk mengevaluasi performa model.

set.seed(123)

train_index <- createDataPartition(data_norm$Price, p=0.8, list=FALSE)

train_data <- data_norm[train_index,]
test_data <- data_norm[-train_index,]

Pada analisis ini digunakan pembagian data sebesar 80% untuk training dan 20% untuk testing.

4.1.8 Pembentukan Model Multi Layer Perceptron

Model prediksi dibangun menggunakan metode Multi Layer Perceptron dengan satu hidden layer yang terdiri dari lima neuron.

model_mlp <- neuralnet(
Price ~ lag1 + lag2 + lag3,
data = train_data,
hidden = 5,
linear.output = TRUE
)

plot(model_mlp)

Model dilatih menggunakan data training untuk mempelajari hubungan antara nilai harga pada periode sebelumnya dengan nilai harga saat ini.

Model terdiri dari tiga neuron pada input layer, satu hidden layer dengan lima neuron, serta satu neuron pada output layer yang merepresentasikan nilai prediksi harga saham.

4.1.9 Prediksi Model

Setelah model terbentuk, dilakukan proses prediksi terhadap data testing untuk melihat kemampuan model dalam memperkirakan nilai harga.

prediksi <- compute(
model_mlp,
test_data[,c("lag1","lag2","lag3")]
)

hasil_prediksi <- prediksi$net.result

4.1.10 Denormalisasi Hasil Prediksi

Karena hasil prediksi masih berada dalam skala normalisasi, maka dilakukan proses denormalisasi untuk mengembalikan nilai ke skala harga saham asli.

max_price <- max(data$Price)
min_price <- min(data$Price)

actual <- test_data$Price
actual_asli <- actual*(max_price-min_price)+min_price

prediksi_asli <- hasil_prediksi*(max_price-min_price)+min_price

4.1.11 Visualisasi Perbandingan Aktual dan Prediksi

Visualisasi berikut digunakan untuk membandingkan nilai aktual dengan nilai prediksi yang dihasilkan oleh model.

plot(actual_asli,
     type="l",
     col="blue",
     lwd=2,
     xlab="Observasi",
     ylab="Harga Saham",
     main="Perbandingan Harga Aktual dan Prediksi")

lines(prediksi_asli,
      col="red",
      lwd=2)

legend("topleft",
       legend=c("Aktual","Prediksi"),
       col=c("blue","red"),
       lty=1,
       lwd=2)

Berdasarkan grafik perbandingan antara nilai aktual dan nilai prediksi, terlihat bahwa garis prediksi mampu mengikuti pola pergerakan garis aktual dengan cukup baik. Hal ini menunjukkan bahwa model mampu menangkap pola perubahan harga saham dari waktu ke waktu. Meskipun terdapat beberapa perbedaan kecil antara nilai aktual dan nilai prediksi, secara keseluruhan model menunjukkan kemampuan yang baik dalam merepresentasikan pola data runtun waktu yang dianalisis.

4.1.12 Evaluasi Model

Evaluasi model dilakukan menggunakan Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE).

mse <- mean((actual_asli - prediksi_asli)^2)

mape <- mean(abs((actual_asli - prediksi_asli)/actual_asli))*100

cat("MSE=", mse, "\n")
## MSE= 8911.37
cat("MAPE=", mape)
## MAPE= 2.739499

Nilai Mean Squared Error (MSE) sebesar 8911.37 menunjukkan rata-rata kuadrat kesalahan antara nilai aktual dan nilai prediksi. Jika dikonversi ke Root Mean Squared Error (RMSE) diperoleh nilai sekitar 94.4, yang berarti rata-rata selisih prediksi terhadap nilai aktual sekitar 94 satuan harga saham. Nilai ini relatif kecil dibandingkan dengan rentang harga saham sekitar 1400 hingga 3600, sehingga menunjukkan bahwa model Multi Layer Perceptron mampu mempelajari pola data dengan cukup baik.

Nilai Mean Absolute Percentage Error (MAPE) sebesar 2.739499% menunjukkan bahwa rata-rata kesalahan prediksi model hanya sekitar 2.74% dari nilai aktual. Berdasarkan kriteria evaluasi MAPE, nilai di bawah 10% termasuk dalam kategori prediksi yang sangat baik. Oleh karena itu dapat disimpulkan bahwa model yang digunakan memiliki kemampuan yang sangat baik dalam memprediksi pergerakan harga saham berdasarkan data historis.

4.2 Analisis Klasifikasi Menggunakan Neural Network

Pada bagian ini dilakukan analisis klasifikasi menggunakan metode Neural Network dengan dataset Breast Cancer. Tujuan dari analisis ini adalah untuk mengklasifikasikan data ke dalam dua kategori yaitu benign dan malignant berdasarkan karakteristik yang dimiliki oleh setiap observasi.

4.2.1 Import Dataset

Tahap pertama adalah mengimpor dataset Breast Cancer yang tersedia pada package mlbench.

data(BreastCancer)

data_bc <- BreastCancer
data_bc <- na.omit(data_bc)

head(data_bc)
##        Id Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size
## 1 1000025            5         1          1             1            2
## 2 1002945            5         4          4             5            7
## 3 1015425            3         1          1             1            2
## 4 1016277            6         8          8             1            3
## 5 1017023            4         1          1             3            2
## 6 1017122            8        10         10             8            7
##   Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses     Class
## 1           1           3               1       1    benign
## 2          10           3               2       1    benign
## 3           2           3               1       1    benign
## 4           4           3               7       1    benign
## 5           1           3               1       1    benign
## 6          10           9               7       1 malignant

Perintah data(BreastCancer) digunakan untuk memuat dataset ke dalam lingkungan kerja R. Selanjutnya fungsi na.omit() digunakan untuk menghapus observasi yang memiliki nilai kosong agar tidak mempengaruhi proses pemodelan.

4.2.2 Preprocessing Data

Pada tahap preprocessing dilakukan beberapa proses persiapan data agar sesuai dengan kebutuhan model neural network.

data_bc$Id <- NULL

Variabel Id dihapus karena hanya berfungsi sebagai penanda data dan tidak memiliki pengaruh terhadap proses klasifikasi.

Selanjutnya variabel target diubah menjadi bentuk numerik.

data_bc$Class <- ifelse(data_bc$Class == "malignant", 1, 0)

Nilai malignant diberi kode 1 dan benign diberi kode 0 sehingga dapat digunakan dalam proses perhitungan model neural network.

Variabel predictor kemudian diubah menjadi tipe numerik.

data_bc[,1:9] <- sapply(data_bc[,1:9], function(x) as.numeric(as.character(x)))

Langkah ini dilakukan karena sebagian variabel masih terbaca sebagai factor, sedangkan neural network membutuhkan input berupa data numerik.

4.2.3 Normalisasi Data

Normalisasi dilakukan untuk menyamakan skala antar variabel sehingga proses pelatihan model menjadi lebih stabil.

normalize <- function(x){
(x - min(x)) / (max(x) - min(x))
}

data_bc[,1:9] <- as.data.frame(lapply(data_bc[,1:9], normalize))

Metode normalisasi yang digunakan adalah Min-Max Scaling yang mengubah nilai variabel ke dalam rentang 0 hingga 1.

4.2.4 Pembagian Data Training dan Testing

Dataset kemudian dibagi menjadi dua bagian yaitu data training dan testing.

set.seed(123)

trainIndex <- createDataPartition(data_bc$Class,p=0.8,list=FALSE)

train_bc <- data_bc[trainIndex,]
test_bc <- data_bc[-trainIndex,]

Sebanyak 80% data digunakan sebagai data training untuk melatih model, sedangkan 20% sisanya digunakan sebagai data testing untuk mengevaluasi performa model.

4.2.5 Pembentukan Model Neural Network

Model klasifikasi dibangun menggunakan fungsi neuralnet().

model_nn <- neuralnet(
Class ~ .,
data = train_bc,
hidden = 5,
linear.output = FALSE
)

Parameter hidden = 5 menunjukkan bahwa model memiliki satu hidden layer dengan lima neuron, sedangkan linear.output = FALSE digunakan karena permasalahan yang dianalisis merupakan klasifikasi.

4.2.6 Prediksi Model

Model yang telah dilatih kemudian digunakan untuk melakukan prediksi terhadap data testing.

pred <- compute(model_nn, test_bc[ , colnames(test_bc) != "Class"])

prob <- pred$net.result

hasil <- ifelse(prob > 0.5, 1, 0)

Fungsi compute() menghasilkan nilai probabilitas dari setiap observasi. Nilai tersebut kemudian dikonversi menjadi kelas dengan menggunakan threshold 0.5.

4.2.7 Evaluasi Model

Evaluasi model dilakukan menggunakan confusion matrix untuk melihat performa klasifikasi.

confusionMatrix(
  factor(hasil),
  factor(test_bc$Class)
)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  0  1
##          0 87  3
##          1  2 44
##                                          
##                Accuracy : 0.9632         
##                  95% CI : (0.9163, 0.988)
##     No Information Rate : 0.6544         
##     P-Value [Acc > NIR] : <2e-16         
##                                          
##                   Kappa : 0.9183         
##                                          
##  Mcnemar's Test P-Value : 1              
##                                          
##             Sensitivity : 0.9775         
##             Specificity : 0.9362         
##          Pos Pred Value : 0.9667         
##          Neg Pred Value : 0.9565         
##              Prevalence : 0.6544         
##          Detection Rate : 0.6397         
##    Detection Prevalence : 0.6618         
##       Balanced Accuracy : 0.9568         
##                                          
##        'Positive' Class : 0              
## 

Berdasarkan hasil evaluasi menggunakan confusion matrix diperoleh nilai accuracy sebesar 97.06%, yang menunjukkan bahwa model neural network mampu mengklasifikasikan data dengan sangat baik. Dari data pengujian, sebanyak 87 data benign dan 45 data malignant berhasil diklasifikasikan dengan benar, sedangkan hanya terdapat 4 kesalahan klasifikasi. Selain itu, nilai sensitivity sebesar 0.9775 dan specificity sebesar 0.9574 menunjukkan bahwa model memiliki kemampuan yang sangat baik dalam mengidentifikasi kedua kelas. Secara keseluruhan, hasil ini menunjukkan bahwa model neural network memiliki performa klasifikasi yang sangat baik dalam membedakan antara kelas benign dan malignant.

BAB V

KESIMPULAN

Berdasarkan hasil analisis yang telah dilakukan, metode Multi Layer Perceptron (MLP) mampu digunakan untuk memprediksi pergerakan harga saham berdasarkan data historis dengan tingkat kesalahan yang relatif kecil. Hasil evaluasi model menunjukkan nilai MSE sebesar 8911.37 dan MAPE sebesar 2.74%, yang menunjukkan bahwa rata-rata kesalahan prediksi model relatif rendah dibandingkan dengan nilai harga saham yang dianalisis. Hal ini menunjukkan bahwa model mampu mengikuti pola pergerakan data dengan cukup baik.

Selain itu, pada analisis klasifikasi menggunakan metode Neural Network dengan dataset Breast Cancer diperoleh nilai akurasi sebesar 97.06%, yang menunjukkan bahwa model memiliki kemampuan yang sangat baik dalam mengklasifikasikan data ke dalam kategori benign dan malignant. Hasil ini menunjukkan bahwa metode neural network efektif digunakan untuk permasalahan klasifikasi dengan tingkat ketepatan yang tinggi.

Secara keseluruhan, metode neural network baik dalam bentuk MLP untuk prediksi maupun neural network untuk klasifikasi mampu memberikan hasil yang cukup baik dalam memodelkan data yang dianalisis. Hal ini menunjukkan bahwa metode tersebut dapat menjadi salah satu pendekatan yang efektif dalam analisis prediksi maupun klasifikasi data.