R

Random Forest Regression : Studi Kasus di R

Hai sobat Exsight! Selamat datang di artikel kami. Setelah sebelumnya kita telah mempelajari konsep dasar dari algoritma Random Forest Regression pada artikel “Random Forest Regression: Memahami Konsep Dasar“, kini saatnya kita melangkah lebih jauh dan menerapkan pengetahuan tersebut dalam praktik. Dalam dunia analisis data, kemampuan untuk membuat prediksi yang akurat adalah kunci untuk mengambil keputusan yang berbasis data. Random Forest merupakan salah satu metode yang paling populer dan efektif untuk pemodelan regresi, yang mampu menangani data yang kompleks dan non-linier.

Hari ini, kita akan fokus pada penggunaan Random Forest Regression di R, sebuah bahasa pemrograman yang banyak digunakan dalam statistik dan analisis data. Untuk memberikan gambaran yang lebih jelas, kita akan menggunakan studi kasus nyata yang menarik, yaitu dataset Boston Housing. Dataset ini terkenal di kalangan analis data karena mencakup berbagai fitur yang mempengaruhi harga median rumah di Boston.

Melalui tutorial ini, Anda akan belajar langkah demi langkah mulai dari memuat dan menjelajahi dataset, membangun model regresi menggunakan package randomForest(), hingga mengevaluasi kinerja model dan memahami faktor-faktor yang mempengaruhi prediksi. Dengan pemahaman yang mendalam tentang proses ini, Anda akan dapat menerapkan teknik Random Forest Regression dalam proyek analisis data Anda sendiri.

Mari kita mulai perjalanan ini dan eksplorasi bagaimana Random Forest Regression dapat membantu kita memprediksi harga rumah serta memahami dinamika yang ada di balik data tersebut. Bersiaplah untuk menggali lebih dalam ke dalam dunia regresi dan pembelajaran mesin di R!

Package randomForest() untuk Random Forest Regression

Random Forest Regression di R dapat menggunakan package randomForest(). Package randomForest() adalah salah satu package utama di R yang digunakan untuk membangun model Random Forest baik untuk klasifikasi maupun regresi. Paket ini mengimplementasikan algoritma Random Forest yang dikembangkan oleh Leo Breiman, dengan fitur-fitur seperti pemilihan variabel otomatis dan estimasi pentingnya variabel (variable importance). Kelebihan dari randomForest() adalah kemampuannya untuk bekerja dengan dataset besar dan komplek, serta kemampuan untuk mengurangi overfitting yang sering terjadi pada model pohon keputusan tunggal.

Syntax Umum

model <- randomForest(formula, data = NULL, ..., ntree = 500,
                          mtry = if (!is.null(y) && !is.factor(y))
                          max(floor(ncol(x) / 3), 1) else floor(sqrt(ncol(x))),
                          replace = TRUE, sampsize = if (replace) nrow(x) else ceiling(.632 * nrow(x)),
                          nodesize = 5, maxnodes = NULL,
                          importance = FALSE, proximity = FALSE,
                          keep.forest = TRUE, ...)

Berikut ini penjelasan syntax diatas

  • formula
    • Deskripsi : Menentukan model regresi menggunakan notasi formula R
  • data
    • Deskripsi : Merupakan data frame yang berisi dataset yang akan digunakan untuk melatih model. Dataset ini harus berisi variabel target dan semua variabel prediktor yang dirujuk dalam formula.
    • Tipe : `data.frame` atau `NULL`
  • ntree
    • Deskripsi : Menentukan jumlah pohon yang akan dibangun dalam random forest. Semakin banyak pohon yang dibangun, semakin stabil dan akurat model, meskipun juga akan memerlukan lebih banyak waktu untuk pelatihan.
    • Nilai Default : `500`
  • mtry
    • Deskripsi : Menentukan jumlah variabel yang dipilih secara acak pada setiap split (pembelahan) di pohon. Untuk regresi, nilai ini biasanya adalah sepertiga dari jumlah total variabel (fitur).
    • Perhitungan : Jika `y` (variabel target) tidak NULL dan bukan faktor, maka `mtry` dihitung sebagai `max(floor(ncol(x) / 3), 1)`, yang memastikan bahwa setidaknya 1 variabel dipilih. Jika `y` adalah faktor (mengindikasikan model klasifikasi), maka dihitung sebagai `floor(sqrt(ncol(x)))`.
    • Nilai Default : Tergantung pada tipe variabel target
  • replace
    • Deskripsi : Menentukan apakah pengambilan sampel dilakukan dengan penggantian (replacement) saat membangun pohon. Jika TRUE, data yang sama dapat muncul beberapa kali dalam satu pohon; jika FALSE, setiap pohon akan dilatih pada subset yang berbeda dari data.
    • Nilai Default : `TRUE`
  • sampsize
    • Deskripsi : Menentukan ukuran sampel yang akan digunakan untuk membangun setiap pohon. Jika `replace` adalah TRUE, ukuran sampel sama dengan jumlah baris dalam `x`; jika FALSE, ukuran sampel diatur ke sekitar 63,2% dari total jumlah baris (seperti pada bootstrap).
    • Perhitungan : `if (replace) nrow(x) else ceiling(.632 * nrow(x))`
    • Nilai Default : Sesuai dengan rumus di atas
  • nodesize
    • Deskripsi : Menentukan ukuran minimum sampel di node daun. Ini mengontrol kedalaman pohon dan dapat mempengaruhi kemampuan model untuk generalisasi. Nilai yang lebih kecil akan menghasilkan pohon yang lebih dalam dan lebih rumit.
    • Nilai Default : `5` (ukuran minimum untuk regresi)
  • maxnodes
    • Deskripsi : Mengatur jumlah maksimum node pada setiap pohon. Membatasi jumlah node dapat mencegah overfitting, tetapi juga bisa mengurangi kompleksitas model.
    • Nilai Default : `NULL` (tidak ada batas)
  • importance
    • Deskripsi : Menentukan apakah pentingnya variabel akan dihitung. Jika TRUE, model akan menghitung dan mengembalikan informasi tentang pentingnya setiap variabel dalam prediksi.
    • Nilai Default : `FALSE`
  • proximity
    • Deskripsi : Jika TRUE, menghitung matriks kedekatan antar sampel berdasarkan pohon yang dibangun. Ini dapat digunakan untuk analisis lebih lanjut, seperti pengelompokan atau visualisasi.
    • Nilai Default : `FALSE`
  • keep.forest
    • Deskripsi : Menentukan apakah model akan disimpan setelah pelatihan. Jika TRUE, Anda dapat melakukan prediksi lebih lanjut menggunakan model ini.
    • Nilai Default : `TRUE`

Studi Kasus: Prediksi Harga Median Rumah di Boston dengan Menggunakan Random Forest Regression

Deskripsi Masalah

  • Latar Belakang : Harga rumah merupakan salah satu indikator ekonomi yang sangat penting, karena tidak hanya memengaruhi keputusan pembelian dan penjualan properti, tetapi juga berdampak pada kebijakan ekonomi yang lebih luas. Dalam konteks investasi properti, memahami faktor-faktor yang memengaruhi harga rumah dapat memberikan wawasan berharga bagi pembeli, penjual, dan pembuat kebijakan. Misalnya, pembeli rumah perlu mempertimbangkan berbagai variabel, seperti lokasi, fasilitas, dan lingkungan sosial yang dapat mempengaruhi nilai properti dalam jangka panjang. Begitu juga, penjual harus menyadari dinamika pasar untuk menentukan harga yang kompetitif dan menarik bagi pembeli. Sementara itu, bagi pembuat kebijakan, analisis harga rumah yang tepat dapat membantu dalam perumusan kebijakan perumahan yang berkelanjutan dan aksesibel. Dalam studi ini, kita akan memanfaatkan dataset Boston Housing yang terkenal, yang menyimpan informasi lengkap tentang berbagai karakteristik lingkungan dan sosial yang berhubungan dengan harga median rumah (medv). Dataset ini mencakup fitur-fitur seperti jumlah kamar, tingkat kriminalitas, jarak ke pusat kota, dan banyak variabel lainnya. Dengan membangun model regresi menggunakan teknik Random Forest, kita akan berusaha untuk memprediksi harga rumah dan mengeksplorasi faktor-faktor kunci yang berkontribusi terhadap fluktuasi harga, sehingga memberikan panduan yang berguna bagi semua pihak yang terlibat dalam pasar perumahan.
  • Tujuan : Tujuan dari analisis ini adalah untuk membangun model regresi yang akurat untuk memprediksi harga median rumah di Boston. Model ini akan membantu kita memahami faktor-faktor yang mempengaruhi harga rumah dan memberikan prediksi untuk harga rumah baru.

Dataset

Dataset Boston Housing, yang dapat diakses melalui paket MASS di R, adalah salah satu dataset yang paling terkenal dan sering digunakan dalam analisis regresi. Terdiri dari 506 baris dan 14 kolom, dataset ini memberikan informasi tentang berbagai karakteristik lingkungan dan sosial yang dapat mempengaruhi harga median rumah di Boston. Berikut adalah penjelasan lebih lengkap mengenai fitur-fitur utama yang terdapat dalam dataset ini:

  • crim: Tingkat kriminalitas per kapita di kota.
  • zn: Persentase luas perumahan yang memiliki lahan lebih dari 25.000 kaki persegi.
  • indus: Proporsi area bisnis non-ritel per kota.
  • chas: Variabel dummy Sungai Charles (1 jika wilayah berbatasan dengan sungai, 0 jika tidak).
  • nox: Konsentrasi nitrogen oksida (bagian per 10 juta).
  • rm: Rata-rata jumlah kamar per rumah.
  • age: Proporsi unit hunian yang dimiliki pemilik dan dibangun sebelum tahun 1940.
  • dis: Rata-rata tertimbang dari jarak ke lima pusat pekerjaan di Boston.
  • rad: Indeks aksesibilitas ke jalan raya radial.
  • tax: Tarif pajak properti penuh per $10.000.
  • ptratio: Rasio murid-guru di setiap kota.
  • black: 1000 ((Bk – 0.63)^2), di mana (Bk) adalah proporsi populasi kulit hitam per kota.
  • lstat: Persentase populasi berstatus sosial ekonomi rendah.
  • medv: Nilai median rumah milik pemilik dalam ribuan dolar.

Analisis dan Pembahasan

Langkah 1: Memuat Data dan Library

# Memuat library yang dibutuhkan
library(randomForest)
library(MASS)
library(caret)

# Memuat dataset Boston Housing
data("Boston")

Langkah 2: Eksplorasi Data

Pada tahap ini kita akan mengetahui ringkasan data, struktur data dan salah satu contoh visualisasi hubungan antara variabel X dengan variabel y nya

# Melihat ringkasan data
summary(Boston)

Ringkasan statistik untuk dataset Boston Housing menunjukkan beberapa karakteristik penting pada variabel-variabel utama. Tingkat kejahatan (crim) memiliki rata-rata yang jauh lebih tinggi dari median, mengindikasikan adanya nilai ekstrem di beberapa wilayah. Persentase lahan perumahan besar (zn) didominasi oleh nilai nol, namun ada beberapa wilayah dengan lahan luas, hingga 100 persen. Persentase lahan non-perumahan (indus) bervariasi dengan rata-rata 11,14 persen. Variabel biner chas, yang menunjukkan kedekatan dengan Sungai Charles, menunjukkan bahwa hanya sebagian kecil wilayah berbatasan dengan sungai tersebut. Konsentrasi nitrogen oksida (nox) memiliki rata-rata dan median yang mendekati, menunjukkan distribusi yang relatif simetris. Tahap selanjutanya akan dilihat struktur data boston seperti berikut:

# Melihat struktur data
str(Boston)

Output dari fungsi str(Boston) menunjukkan bahwa dataset Boston Housing terdiri dari 506 observasi dan 14 variabel. Variabel chas (dekat Sungai Charles) dan rad (indeks aksesibilitas ke jalan raya) bertipe integer, sedangkan variabel lainnya bertipe numerik. Tipe dari variabel-variabel di atas sudah sesuai untuk melakukan analisis Random Forest Regression. Oleh karena itu, tidak perlu ada penyesuaian tipe data. Setelah mengetahui ringkasan dan struktur data selanjutnya kita dapat mevisualisasikan fitur-fitur atau variabel-variabel di atas. Untuk mevisualisasikan hubungan antar dua variabel dapat menggunakan code sebagai berikut:

# Visualisasi hubungan antara jumlah kamar dan harga median rumah
library(ggplot2)
ggplot(Boston, aes(x = rm, y = medv)) + 
  geom_point() + 
  geom_smooth(method = "lm", col = "blue") +
  labs(title = "Hubungan Jumlah Kamar dan Harga Median Rumah",
       x = "Rata-rata Jumlah Kamar",
       y = "Harga Median Rumah")

Dari grafik hubungan jumlah kamar dan harga median rumah dapat dilihat bahwa semakin besar rata-rata jumlah kamar maka semakin tinggi harga median rumah. Tahap selanjutnya yaitu membagi dataset.

Kita juga dapat membuat scatterplot yang menggambarkan beberapa variabel sekaligus

# Pilih variabel yang relevan untuk ditampilkan bersama medv
selected_vars <- c("medv", "crim", "rm", "age", "dis","lstat")

# Menggunakan fungsi pairs untuk membuat matriks scatterplot
pairs(Boston[, selected_vars], 
      main = "Matriks Scatterplot medv dengan Variabel Lain",
      pch = 21,  # Menggunakan titik dengan lingkaran
      col = "blue",  # Menggunakan warna biru solid
      bg = rgb(0, 0, 1, 0.5),  # Latar belakang titik dengan transparansi
      lower.panel = NULL)  # Menyembunyikan panel bawah

Output di atas menunjukan bahwa untuk variabel crime, age, lstat semakin meningkat nilainya maka semakin rendah harga median rumah sedangkan untuk variabel rm dan dis menunjukan sebaliknya. Dengan kata lain, semakin meningkatnya tingkat kriminal, umur rumah dan persentase populasi berstatus sosial ekonomi rendah maka semakin rendah harga median rumah. Kemudian semakin meningkatnya jumlah kamar dan rata-rata tertimbang dari jarak ke lima pusat pekerjaan di Boston maka semakin tinggi harga median rumah.

Langkah 3: Membagi Dataset

Pada tahap ini dataset akan dibagi menjadi dua bagian, yaitu data latih sebanyak 80% dan data uji sebanyak 20%. Data latih digunakan untuk membuat model Random Forest Regression sedangkan data uji digunakan untuk memprediksi data.

# Membagi data menjadi data latih (train) dan data uji (test)
set.seed(123)
sample_index <- sample(seq_len(nrow(Boston)), size = 0.8 * nrow(Boston))
dataTrain <- Boston[sample_index, ]
dataTest <- Boston[-sample_index, ]

Langkah 4: Membangun Model Random Forest

Berikut ini adalah model Random Forest Regression yang dibangun berdasarkan satu kali percobaan. Untuk mencari model terbaik, kita bisa melakukan tuning parameter. Namun, pada tahap ini, kita hanya akan fokus pada pembuatan satu model saja.

# Membangun model Random Forest Regression
model_reg <- randomForest(medv ~ ., data = dataTrain, ntree = 100, mtry = 4, importance = TRUE)

# Melihat ringkasan model
print(model_reg)

Model Random Forest Regression pada kode di atas dibangun menggunakan variabel target medv (harga median rumah) dan beberapa variabel prediktor dari dataset dataTrain. Parameter ntree = 500 menentukan jumlah pohon yang digunakan dalam model. Semakin banyak pohon (ntree), umumnya model akan lebih stabil dan akurat, namun waktu komputasi juga akan meningkat. Parameter mtry = 4 menunjukkan bahwa untuk setiap split, empat variabel dipilih secara acak sebagai kandidat untuk membangun pembagian pada setiap node. Hal ini membantu meningkatkan variasi antar pohon dan mengurangi overfitting, yang merupakan kelebihan utama dari Random Forest Regression. Selain itu, importance = TRUE berarti model akan menghitung metrik kepentingan variabel, yaitu pengaruh masing-masing variabel prediktor terhadap variabel target.

Hasil analisis menunjukkan bahwa rata-rata kuadrat residuals adalah 10.77207, yang menggambarkan seberapa baik model ini dapat memprediksi harga median rumah di Boston. Selain itu, model ini menjelaskan 87.24% varians dalam data, menunjukkan bahwa model memiliki kemampuan yang baik dalam menangkap pola dan hubungan antara variabel independen dan harga rumah. Dengan hasil ini, kita dapat menyimpulkan bahwa model Random Forest Regression ini cukup efektif untuk digunakan dalam memprediksi harga median rumah berdasarkan fitur yang tersedia.

Langkah 5: Evaluasi Model

# Mengukur kinerja model pada data uji
predictions <- predict(model_reg, newdata = dataTest)

# Menghitung Mean Squared Error (MSE)
mse <- mean((predictions - dataTest$medv)^2)

# Menghitung Mean Absolute Percentage Error (MAPE)
mape <- mean(abs((predictions - dataTest$medv) / dataTest$medv)) * 100

# Menampilkan hasil
cat("Mean Squared Error (MSE) pada data uji:", mse, "\n")
cat("Mean Absolute Percentage Error (MAPE) pada data uji:", mape, "%\n")

Hasil dari pengukuran kinerja model Random Forest Regression pada data uji menunjukkan bahwa Mean Squared Error (MSE) model adalah sebesar 11.66. MSE adalah ukuran yang menghitung rata-rata kuadrat dari kesalahan antara nilai prediksi dan nilai aktual. Nilai MSE yang lebih rendah menunjukkan bahwa model Random Forest Regression lebih baik dalam memprediksi harga median rumah (medv). Dalam hal ini, MSE sebesar 11.66 menunjukkan bahwa rata-rata kesalahan kuadrat dalam prediksi harga rumah oleh model tidak terlalu besar, yang menandakan bahwa model cukup akurat.

Sementara itu, Mean Absolute Percentage Error (MAPE) model sebesar 11.39% mengindikasikan bahwa, secara rata-rata, prediksi model menyimpang sekitar 11.39% dari nilai aktual harga rumah. MAPE adalah ukuran yang memberikan gambaran lebih jelas tentang akurasi model Random Forest Regression dalam konteks persentase, sehingga lebih mudah dipahami oleh pemangku kepentingan. Nilai MAPE di bawah 15% umumnya dianggap baik dalam analisis prediksi, yang menunjukkan bahwa model mampu memberikan prediksi yang relatif akurat untuk harga rumah di Boston.

Secara keseluruhan, kedua metrik ini menunjukkan bahwa model Random Forest Regression yang dibangun memiliki performa yang baik dalam memprediksi harga median rumah di Boston, dengan kesalahan yang relatif rendah dan dapat diterima dalam konteks analisis harga properti.

Langkah 6: Analisis Pentingnya Variabel

# Menghitung pentingnya variabel
importance <- importance(model_reg)
importance <- as.data.frame(importance)

# Menampilkan pentingnya variabel
print(importance)

IncMSE (Increase in Mean Squared Error): Nilai ini menunjukkan seberapa banyak kesalahan rata-rata kuadrat (MSE) model meningkat jika variabel tersebut dihapus dari model. Dapat dilihat bahwa variabel rm memiliki nilai IncMSE tertinggi sebesar 33.83, yang berarti bahwa jika variabel ini dihapus, MSE model akan meningkat sebesar 33.83. Ini menunjukkan bahwa variabel rm sangat penting dalam memprediksi harga rumah.

IncNodePurity: Nilai ini mengukur seberapa banyak impurity (ketidakmurnian) dalam model berkurang ketika variabel tersebut digunakan untuk membagi pohon. Variabel dengan nilai IncNodePurity yang tinggi menunjukkan bahwa variabel tersebut memiliki kekuatan prediksi yang kuat. Dapat dilihat bahwa rm juga memiliki nilai IncNodePurity tertinggi sebesar 10330.26, yang menunjukkan bahwa variabel ini sangat efektif dalam membedakan harga rumah berdasarkan fitur lainnya.

# Menampilkan plot pentingnya variabel
varImpPlot(model_reg)

Plot menampilkan variabel pada sumbu y dan nilai penting (IncMSE atau IncNodePurity) pada sumbu x. Variabel dengan titik plot yang lebih jauh dari sumbu y menunjukkan kontribusi yang lebih besar dalam model. Dapat dilihat bahwa variabel rm (rata-rata jumlah kamar) memiliki titik plot terjauh, ini menegaskan bahwa variabel tersebut adalah yang paling berpengaruh terhadap prediksi harga median rumah (medv) diikuti oleh variabel lstat, nox, dan seterusnya hingga variabel chas.

Kesimpulan

Kesimpulan dari analisis Random Forest Regression untuk memprediksi harga median rumah di Boston menunjukkan bahwa model yang dibangun memiliki performa yang baik, dengan nilai Mean Squared Error (MSE) sebesar 11.66 dan Mean Absolute Percentage Error (MAPE) sebesar 11.39%. Hal ini menandakan bahwa model dapat memberikan prediksi yang akurat, dengan kesalahan rata-rata yang dapat diterima. Variabel-variabel seperti rata-rata jumlah kamar (rm) dan status sosial ekonomi (lstat) diidentifikasi sebagai faktor kunci yang mempengaruhi harga rumah, sementara variabel chas memiliki tingkat kepentingan yang rendah. Temuan ini memberikan wawasan berharga bagi pembuat kebijakan dan investor dalam pengambilan keputusan terkait pengembangan properti dan kebijakan publik, serta membuka peluang untuk pengembangan model yang lebih lanjut dengan tuning parameter untuk meningkatkan akurasi prediksi.

Referensi

Breiman, L. (2001). Random forestsMachine Learning, 45(1), 5–32. https://doi.org/10.1023/A:1010950718922.

Breiman, L (2002), “Manual On Setting Up, Using, And Understanding Random Forests V3.1”, https://www.stat.berkeley.edu/~breiman/Using_random_forests_V3.1.pdf.

Sampai di sini dulu penjelasan terkait Tutorial Random Forest Regression di R. Apabila sobat Exsight masih ada yang dibingungkan terkait pembahasan pada artikel ini, bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya. See you in the next article yaa!

Random Forest Regression : Studi Kasus di R Read More »

Analisis Diskriminan dengan Software R (Part 2)

Holaa, ketemu lagi nih dengan sobat Exsight. Dalam klasifikasi pada ilmu statistik, tentunya sobat Exsight tidak asing dong dengan salah satu metode klasifikasi ini. Yapss benar, yaitu metode Analisis Diskriminan. Pada beberapa artikel yang lalu, kita pernah membahas terkait metode ini beserta penerapannya dengan software SPSS. Selengkapnya bisa di cek di artikel Analisis Diskriminan (Part 1).

Nah berbeda dari sebelumnya, sekarang kita akan membahas lebih detail penerapan Analisis Diskriminan dengan software lainnya, yaitu software R. Yuk yuk langsung saja, bisa dibaca lanjut ya untuk pembahasannya!

Konsep Dasar Analisis Diskriminan

Analisis diskriminan merupakan sebuah metode statistik multivariat yang digunakan untuk menentukan perbedaan atau diskriminasi antara dua atau lebih kelompok berbeda berdasarkan pada variabel-variabel yang telah ditentukan sebelumnya. 

Tujuan dari analisis diskriminan adalah untuk menemukan kombinasi linear atau non-linear dari variabel-variabel independen yang paling baik dapat memisahkan atau membedakan antara kelompok-kelompok tersebut. Metode diskriminan seringkali digunakan dalam klasifikasi atau pengelompokan data ke dalam kategori atau kelas yang berbeda berdasarkan karakteristik atau atribut tertentu yang diamati.

Jenis-Jenis Analisis Diskriminan

Jenis-jenis analisis diskriminan dapat dibagi menjadi beberapa kategori berdasarkan pendekatannya dan cara penerapannya. Berikut adalah beberapa jenis analisis diskriminan:

A. Analisis Diskriminan Linier
Metode ini menggunakan pendekatan linier untuk memisahkan atau membedakan antara kelompok-kelompok yang berbeda berdasarkan kombinasi linier dari variabel-variabel independen. Tujuan utamanya adalah untuk menemukan fungsi linear yang paling baik dalam membedakan antara kategori-kategori yang ada.

B. Analisis Diskriminan Non-Linier
Berbeda dengan analisis diskriminan linier, analisis diskriminan non-linier lebih fleksibel dan dapat menangani pola yang tidak dapat diuraikan secara linier.

C. Analisis Diskriminan Berganda
Dalam analisis diskriminan berganda, terdapat lebih dari dua kelompok atau kategori yang dipertimbangkan. Metode ini berfokus pada pemisahan atau klasifikasi lebih dari dua kelompok dengan menggunakan beberapa variabel independen sekaligus.

Setiap jenis analisis diskriminan memiliki kelebihan dan kelemahan serta dapat lebih tepat digunakan tergantung pada kondisi data yang dimiliki serta tujuan analisis yang ingin dicapai.

Dalam hal ini, untuk artikel kali ini, kita akan berfokus pada tutorial analisis diskriminan linier menggunakan software R.

Asumsi Analisis Diskriminan

Terdapat beberapa asumsi yang harus dipenuhi sebelum dilakukan analisis diskriminan, diantaranya adalah sebagai berikut.

  1. Variabel- variabel prediktor (independen) mengikuti distribusi normal multivariat.
  2. Tidak terdapat outlier pada variabel independen.
  3. Adanya homogenitas varians antara kelompok data (matriks varians-kovarians variabel penjelas berukuran pxp pada kedua kelompok harus sama)

Studi Kasus

Dalam hal ini, kita akan menggunakan studi kasus menggunakan data sampel terkait Lung Cancer (Kanker Paru- Paru) data akses disini, yang didapatkan dari situs kaggle.com, dimana data di-publish oleh Ms. Nancy Al Aswad.
* Tidak terdapat missing value pada data.
* Data terdiri atas 309 observasi.

Data terdiri atas 16 variabel, yaitu:

VariabelSimbol VariabelKeterangan VariabelSkala Data
GenderX1M = Male
F = Female
Kategorik
AgeX2Numerik
SmokingX31 = No
2 = Yes
Kategorik
Yellow FingerX41 = No
2 = Yes
Kategorik
AnxietyX51 = No
2 = Yes
Kategorik
Peer PressureX61 = No
2 = Yes
Kategorik
Chronic DiseaseX71 = No
2 = Yes
Kategorik
FatigueX81 = No
2 = Yes
Kategorik
AllergyX91 = No
2 = Yes
Kategorik
WheezingX101 = No
2 = Yes
Kategorik
AlcoholX111 = No
2 = Yes
Kategorik
CoughingX121 = No
2 = Yes
Kategorik
Shortness of BreathX131 = No
2 = Yes
Kategorik
Swallowing DifficultyX141 = No
2 = Yes
Kategorik
Chest PainX151 = No
2 = Yes
Kategorik
Lung CancerY1 = No
2 = Yes
Kategorik
Tabel 1. Data

Pada Tabel 1. variabel Lung Cancer berperan sebagai variabel Dependen, sedangkan lainnya merupakan variabel Independen.

Tutorial Analisis Diskriminan dengan Software R

Load Library

Sebelum melakukan running syntax di software R untuk analisis diskriminan, terlebih dahulu melakukan load library R. Adapun library yang diperlukan untuk analisis diskriminan, yaitu:

library(MVN)
library(biotools)
library(candisc)
library(MASS)
library(caret)

Load Data

Kemudian melakukan input data ke R. Data yang diinput diberi nama sebagai data. Perlu diperhatikan untuk jenis file data yang diinput ke R, untuk tutorial kali ini jenis file data yang digunakan yaitu dalam format CSV. Syntax yang digunakan untuk load data adalah sebagai berikut.

data<-read.csv(file.choose(),header=TRUE,sep=",")
analisis diskriminan

Model Diskriminan

Tahapan selanjutnya yaitu melakukan running model diskriminan, syntax yang digunakan adalah sebagai berikut.

#Model Diskriminan
modellda<-lda(data$LUNG_CANCER~., data = data)
modellda
analisis diskriminan
analisis diskriminan

Berdasarkan hasil output R di atas terlihat hasil untuk Prior Probabilities of Groups. Dalam hal ini Prior Probabilities of Groups merupakan probabilitas yang diberikan kepada setiap kelompok berdasarkan informasi awal atau asumsi sebelum data fitur digunakan. Hasil di atas menunjukkan bahwa probabilitas kelompok NO (tidak memiliki penyakit kanker paru- paru ) sebesar 0,1261 dan probabilitas kelompok YES (memiliki penyakit paru- paru) sebesar 0,8737864.

Penggunaan Prior Probabilities of Groups dapat membantu dalam membuat keputusan klasifikasi yang lebih akurat dengan mempertimbangkan distribusi kelompok yang mungkin tidak seimbang dalam data.

Hasil output lainnya yaitu Group Means. Group Means dalam hasil output analisis diskriminan merujuk pada rata-rata nilai untuk masing-masing variabel independen (prediktor) dalam setiap kelompok yang sedang dianalisis. Group Means memberikan informasi tentang karakteristik rata-rata dari setiap kelompok berdasarkan variabel yang digunakan dalam model diskriminan.

Kemudian terdapat pula hasil output coefficients of linear discriminants. Coefficients of linear discriminants pada hasil output analisis diskriminan merujuk pada koefisien yang digunakan untuk membentuk kombinasi linier dari variabel prediktor yang memaksimalkan perbedaan antara kelompok. Koefisien ini menunjukkan kontribusi masing-masing variabel prediktor dalam menentukan fungsi diskriminan. Fungsi diskriminan dibangun sedemikian rupa sehingga nilai koefisien optimal untuk memaksimalkan perbedaan antara kelompok. Berdasarkan coefficients of linear discriminants, maka diperoleh fungsi diskriminan dengan persamaan sebagai berikut:

D=0.006610150X_{1}+0.008736665X_{2}+0.448595676X_{3}+0.733785633X_{4}+0.471094976X_{5}
+\\0.540638400X_{6}+0.560243295X_{7}+0.921038883X_{8}+0.912006373X_{9}+0.367686786X_{10}+\\1.189833401X_{11}+0.648283306X_{12}+0.272951385X_{13}+0.610664146X_{14}+0.169307312X_{15}

Berdasarkan persamaan model di atas, dapat diinterpretasikan bahwa koefisien diskriminan linier tertinggi yaitu terdapat pada variabel Alcohol Consuming (X11), yaitu sebesar 1.189833401. Sedangkan variabel dengan koefisien diskriminan linier terendah adalah variabel Gender (X1) dengan nilai variabel sebesar 0.006610150.

Hal ini dapat diartikan bahwa variabel Alcohol Consuming (X11) adalah faktor paling penting dalam memprediksi apakah pasien memiliki penyakit kanker paru-paru. Sedangkan variabel Gender (X1) tidak terlalu memegang peran penting dalam prediksi apakah pasien memiliki penyakit kanker paru-paru.

Dengan kata lain, dalam konteks kesehatan, dapat ditekankan bahwa konsumsi alkohol memegang peran penting dalam menentukan risiko penyakit kanker paru-paru.

Secara keseluruhan, coefficients of linear discriminants memberikan wawasan yang mendalam tentang peran masing-masing variabel dalam memisahkan kelompok dan membantu dalam membangun model diskriminan yang dapat diandalkan dan akurat.

Ketepatan Model

Ketepatan model dalam analisis diskriminan merujuk pada seberapa baik model tersebut mampu mengklasifikasikan data ke dalam kategori yang benar. Dalam analisis diskriminan, tujuan utama adalah membedakan atau mengklasifikasikan objek atau individu ke dalam dua atau lebih kelompok berdasarkan beberapa variabel independen.

#Ketepatan Model
pred_LDA1<- predict(modellda, data)
confmatLDA1<-confusionMatrix(pred_LDA1$class,as.factor(data$LUNG_CANCER),positive = "YES")
confmatLDA1
analisis diskriminan

Pada tabel Confusion Matrix and Statistics, diketahui bahwa:
– Terdapat 28 (pasien yang tidak memiliki penyakit Kanker Paru- Paru dan diprediksi memiliki penyakit Kanker Paru- Paru).
– Terdapat 261 (pasien yang benar-benar tidak memiliki penyakit Kanker Paru- Paru dan diprediksi tidak memiliki penyakit Kanker Paru-Paru).
– Terdapat 11 (Pasien yang sebenarnya tidak memiliki penyakit kanker paru-paru tetapi diprediksi memiliki penyakit kanker paru-paru)
– Terdapat 9 (Pasien yang sebenarnya memiliki penyakit kanker paru- paru tetapi diprediksi tidak memiliki penyakit kanker paru-paru).

Informasi lainnya yaitu berdasarkan analisis diskriminan terlihat bahwa nilai akurasi sebesar 0.9353. Akurasi merupakan proporsi dari total jumlah prediksi yang benar. Artinya model yang terbentuk pada analisis diskriminan memiliki akurasi sebesar 93.53% yang berarti model ini memprediksi dengan benar 93.53% dari semua kasus.

Hasil output software di atas menampilkan pula nilai sensitivity. Sensitivity adalah proporsi prediksi positif yang benar. Pada hasil, didapatkan nilai untuk sensitivity yaitu sebesar 0.9667. Artinya dari semua pasien yang benar-benar memiliki penyakit kanker paru- paru, model diskriminan ini berhasil mengidentifikasi 96.67% dari mereka.

Selanjutnya untuk hasil output di atas terkait nilai Specificity. Nilai Specificity mengukur kemampuan model untuk benar-benar mengidentifikasi negatif sejati (True Negatives) dari semua kasus yang benar-benar negatif. Specificity sering disebut juga sebagai True Negative Rate. Dikarenakan model diskriminan di atas memiliki nilai specificity sebesar 0.7179 , ini berarti 71.79% dari semua kasus yang sebenarnya negatif (tidak memiliki penyakit kanker paru-paru) telah diidentifikasi dengan benar oleh model.

Adapun untuk hasil output Positive Predictive Value (PPV) mengukur proporsi dari semua prediksi positif yang benar-benar positif. Model diskriminan di atas memiliki nilai Positive Predictive Value (PPV) sebesar 0.9596, ini berarti 95,96% dari semua kasus yang diprediksi positif oleh model benar-benar positif (memiliki penyakit kanker paru-paru).

Lalu untuk hasil Negative Predictive Value (NPV) mengukur proporsi dari semua prediksi negatif yang benar-benar negatif. Model diskriminan di atas memiliki memiliki nilai Negative Predictive Value (NPV) sebesar 0.7568, ini berarti 75,68% dari semua kasus yang diprediksi negatif oleh model benar-benar negatif (tidak memiliki penyakit kanker paru-paru).

Secara keseluruhan, model diskriminan yang terbentuk ini tampaknya cukup andal dalam memprediksi apakah seorang pasien memiliki penyakit tertentu. Namun, ada ruang untuk perbaikan, terutama dalam mengurangi jumlah false positives dan false negatives untuk meningkatkan hasil lebih lanjut.

Referensi

Kartikawati, A., Mukid, M, A. & Ispriyanti, D. (2013). Perbandingan Analisis Diskriminan Linier Klasik dan Analisis Diskriminan Linier Robust untuk Pengklasifikasian Kesejahteraan Masyarakat Kabupaten/Kota di Jawa Tengah. Jurnal Gaussian, Vol. 2, No. 3.

Johnson, R. A., & Wichern, D. W. (2007). Applied Multivariate Statistical Analysis. Pearson Education.

Sampai di sini dulu penjelasan terkait Analisis Diskriminan dengan Software R. Jika sobat Exsight masih ada yang dibingungkan terkait pembahasan pada artikel ini, bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya. See you in the next article yaa!

Analisis Diskriminan dengan Software R (Part 2) Read More »

Pengecekan Normalitas Data dengan Software R

Masih ingat gak nih sobat Exsight, pada beberapa artikel Exsight sebelumnya, kita pernah membahas terkait normalitas data. Beberapa artikel tersebut diantaranya berjudul:
Distribusi Normal pada Data #1
Uji Normalitas Shapiro-Wilk dengan SPSS #2
Tutorial Pembuatan Q-Q Plot untuk Cek Normalitas Data #3

Berbeda dari artikel- artikel sebelumnya, di mana sebagian besar berkaitan dengan penerapan software SPSS. Nah, untuk artikel kali ini, akan berfokus pada pengecekan normalitas data menggunakan software R. Tanpa berlama- lama lagi, yuk yuk simak artikel ini dengan seksama yaa!

Studi Kasus

Studi kasus dalam artikel kali ini terkait pengecekan normalitas data, kita akan menggunakan data terkait nilai ujian dari 20 mahasiswa di suatu perguruan tinggi. Untuk data bisa diakses disini.

pengecekan normalitas data
normalitas

Tahapan R untuk Pengecekan Normalitas Data

Pengecekan normalitas data dapat dilakukan menggunakan berbagai uji normalitas yang kerap kali digunakan diantaranya adalah:
A. Uji normalitas Shapiro Wilk
B. Uji normalitas Kolmogorov-Smirnov
C. Uji normalitas Anderson-Darling
D. Uji normalitas Jarque-Bera
E. Uji normalitas Pearson Chi-Square
F. Uji normalitas Cramer-von Mises
G. Uji normalitas Shapiro-Francia

Load Library

Sebelum melakukan running syntax di software R untuk pengecekan normalitas data, terlebih dahulu melakukan load library R. Adapun library yang diperlukan untuk pengecekan normalitas data yaitu

#Library
library(nortest)

Load Data

Tahapan selanjutnya yaitu melakukan load data pada software R. Adapun syntax yang digunakan adalah sebagai berikut.

data<-read.csv(file.choose(),header=TRUE,sep=”,”)

A. Uji Normalitas Shapiro Wilk

Hipotesis yang digunakan untuk uji normalitas adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

Apabila p-value yang dihasilkan dari uji Shapiro-Wilk bernilai lebih besar dari tingkat signifikansi yang ditentukan sebelumnya (biasanya 0.05), maka diambil keputusan hipotesis nol diterima artinya data berdistribusi normal. Sebaliknya, jika p-value lebih kecil dari tingkat signifikansi, maka hipotesis nol ditolak dan dapat diartikan data tidak berdistribusi normal.

Uji Normalitas Shapiro- Wilk

Syntax R yang digunakan untuk uji normalitas Shapiro- Wilk adalah sebagai berikut.

shapiro.test(data$Nilai_Ujian)
normalitas

Berdasarkan hasil output software R di atas, diketahui bahwa untuk hasil p-value yaitu sebesar 0.82 , dikarenakan p-value bernilai lebih besar dari taraf signifikansi (5% atau 0.05) maka diambil keputusan Terima H0 atau Gagal Tolak H0. Artinya data nilai ujian apabila dilakukan pengecekan menggunakan uji Shapiro- Wilk berdistribusi Normal.

B. Uji Normalitas Kolmogorov-Smirnov

Sama seperti halnya uji normalitas Shapiro-Wilk. Untuk uji normalitas Kolmogorov-Smirnov, hipotesis yang digunakan adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

Uji Normalitas Kolmogorov-Smirnov

#Kolmogorov-Smirnov
nortest::lillie.test(data$Nilai_Ujian)
normalitas

Hasil output software R menunjukkan bahwa untuk p-value hasil pengujian Kolmogorov-Smirnov yaitu sebesar 0.6946, dalam hal ini, dapat dilihat bahwa untuk p-value bernilai lebih besar daripada taraf signifikansi (5% atau 0.05). Sehingga berdasarkan hasil pengujian dapat diambil keputusan Terima H0 atau Gagal Tolak H0. Artinya data nilai ujian apabila dilakukan pengecekan normalitas data menggunakan uji Kolmogorov- Smirnov berdistribusi Normal.

C. Uji Normalitas Anderson Darling

Uji normalitas Anderson-Darling sering digunakan dalam analisis data untuk memastikan bahwa asumsi normalitas terpenuhi sebelum menerapkan metode statistik yang memerlukan data berdistribusi normal.

Uji normalitas Anderson-Darling dinamakan berdasarkan dua statistikawan, Theodore W. Anderson dan Donald A. Darling, yang mengembangkannya pada tahun 1952. Keduanya adalah statistikawan dari Universitas Princeton. Mereka menciptakan metode ini sebagai alternatif yang lebih sensitif dibandingkan dengan metode uji normalitas yang sudah ada pada saat itu, seperti uji normalitas Kolmogorov-Smirnov serta uji normalitas Shapiro-Wilk.

Anderson dan Darling mengembangkan uji normalitas ini dengan fokus pada meningkatkan ketepatan dalam mengidentifikasi ketidaknormalan dalam data. Mereka mengusulkan penggunaan statistik Anderson-Darling sebagai alat untuk mengukur kesesuaian antara data yang diamati dengan distribusi normal yang diharapkan.

Hipotesis yang digunakan untuk pengecekan normalitas data dengan Anderson-Darling adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

Uji Normalitas Anderson Darling

#Anderson-Darling
nortest::ad.test(data$Nilai_Ujian)
normalitas

Berdasarkan output software R di atas, terlihat bahwa untuk p-value hasil pengujian normalitas dengan Anderson Darling yaitu sebesar 0.8159. Dikarenakan p-value bernilai lebih besar daripada taraf signifikansi (5% atau 0.05) maka diambil keputusan Terima H0 atau Gagal Tolak H0. Sehingga dapat diartikan, data nilai ujian apabila dilakukan pengecekan menggunakan uji Anderson Darling berdistribusi Normal.

D. Uji Normalitas Jarque-Bera

Uji normalitas Jarque-Bera dinamakan sesuai dengan nama dua ekonom, Carlos Jarque dan Anil K. Bera. Uji normalitas Jarque-Bera pertama kali dikembangkan pada tahun 1980. Carlos Jarque dan Anil K. Bera merupakan profesor di bidang ekonomi dan statistik di Universitas Illinois di Urbana-Champaign pada saat itu.

Perhitungan Statistik Jarque- Bera didasarkan pada kurtosis dan skewness dari sampel data. Skewness mengukur simetri data, sedangkan kurtosis mengukur tajam atau datar dari puncak distribusi.

Penelitian oleh Carlos Jarque dan Anil K. Bera menunjukkan bahwa skewness dan kurtosis dari sampel data memiliki distribusi asimtotik, yang memungkinkan mereka untuk menentukan distribusi sampling dari statistik Jarque-Bera. Hal ini memungkinkan penggunaan nilai kritis untuk menguji hipotesis nol bahwa data berasal dari distribusi normal.

Seiring dengan peningkatan penggunaan teknik statistik dalam berbagai bidang, uji normalitas Jarque-Bera menjadi semakin populer karena sensitivitasnya terhadap deviasi dari distribusi normal. Meskipun demikian, seperti halnya dengan semua metode statistik, penting untuk memahami kekuatan dan keterbatasan uji normalitas Jarque-Bera dalam konteks penggunaannya.

Hipotesis yang digunakan untuk pengecekan normalitas data dengan Jarque-Bera adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

Uji Normalitas Jarque-Bera

#Jarque-Bera
library(tseries)
tseries::jarque.bera.test(data$Nilai_Ujian)
normalitas

Hasil output software R menunjukkan bahwa untuk p-value hasil pengujian Jarque-Bera yaitu sebesar 0.7725, dalam hal ini, dapat dilihat bahwa untuk p-value bernilai lebih besar daripada taraf signifikansi (5% atau 0.05). Sehingga berdasarkan hasil pengujian dapat diambil keputusan Terima H0 atau Gagal Tolak H0. Artinya data nilai ujian apabila dilakukan pengecekan normalitas data menggunakan uji Jarque-Bera berdistribusi Normal.

E. Uji Normalitas Pearson Chi-Square

Uji normalitas Pearson Chi-Square pertama kali diperkenalkan oleh Karl Pearson, seorang ahli statistik Inggris pada akhir abad ke-19 dan awal abad ke-20. Karl Pearson adalah salah satu tokoh utama dalam perkembangan statistik modern. Kontribusi Pearson dalam penggunaan uji Chi-Square dalam konteks normalitas adalah penggunaannya dalam pengujian goodness-of-fit untuk mengevaluasi sejauh mana suatu distribusi teoritis (misalnya distribusi normal) sesuai dengan distribusi data yang diamati. Pengujian goodness-of-fit ini menjadi dasar bagi penggunaan uji normalitas Pearson Chi-Square seperti yang kita kenal saat ini.

Hipotesis yang digunakan untuk pengecekan normalitas data dengan Pearson Chi-Square adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

Uji Normalitas Pearson Chi-Square

#Pearson Chi-Square
nortest::pearson.test(data$Nilai_Ujian)
normalitas

Berdasarkan output software R di atas, terlihat bahwa untuk p-value hasil pengujian normalitas dengan Pearson Chi-Square yaitu sebesar 0.7907. Dikarenakan p-value bernilai lebih besar daripada taraf signifikansi (5% atau 0.05) maka diambil keputusan Terima H0 atau Gagal Tolak H0. Sehingga dapat diartikan, data nilai ujian apabila dilakukan pengecekan menggunakan uji Pearson Chi- Square berdistribusi Normal.

F. Uji normalitas Cramer-von Mises

Uji normalitas Cramér-von Mises, yang juga dikenal sebagai uji Cramér-von Mises-Wald-Wolfowitz, adalah metode statistik yang digunakan untuk menguji apakah data berdistribusi normal. Metode ini dinamai berdasarkan dua ahli statistik, Harald Cramér dan Richard von Mises, yang berkontribusi dalam pengembangannya.

Uji ini awalnya dirancang untuk menguji kesesuaian model dalam statistik nonparametrik, tetapi kemudian digunakan secara luas untuk menguji normalitas data. Penggunaan uji Cramer-von Mises telah menjadi populer dalam analisis data modern, terutama karena sensitivitasnya terhadap variasi dalam distribusi data dan kemampuannya untuk mengatasi banyak distribusi non normal.

Meskipun uji normalitas Cramér-von Mises bukanlah salah satu uji normalitas yang paling umum digunakan, kontribusi Cramér dan von Mises dalam pengembangannya tetap diakui sebagai bagian penting dari sejarah statistik dan analisis data.

Uji normalitas Cramer-von Mises

Hipotesis yang digunakan untuk pengecekan normalitas data dengan Cramer-von Mises adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

#Cramer-von Mises
nortest::cvm.test(data$Nilai_Ujian)
normalitas

Hasil output software R menunjukkan bahwa untuk p-value hasil pengujian Cramer-von Mises yaitu sebesar 0.7666, dalam hal ini, dapat dilihat bahwa untuk p-value bernilai lebih besar daripada taraf signifikansi (5% atau 0.05). Sehingga berdasarkan hasil pengujian dapat diambil keputusan Terima H0 atau Gagal Tolak H0. Artinya data nilai ujian apabila dilakukan pengecekan normalitas data menggunakan uji Cramer-von Mises berdistribusi Normal.

G. Uji normalitas Shapiro-Francia

Uji normalitas Shapiro- Francia adalah metode statistik yang digunakan untuk menguji apakah suatu data memiliki distribusi normal (pengecekan normalitas data). Uji ini dinamakan berdasarkan nama dua ahli statistik, yaitu Samuel Shapiro dan Morton Francia, yang berkontribusi dalam pengembangannya.

Uji normalitas Shapiro-Francia mengukur kesesuaian antara distribusi data dan distribusi normal dengan membandingkan kemiripan antara dua kelompok estimasi dari varians sampel. Uji ini memiliki keunggulan dalam mengatasi beberapa kelemahan yang dimiliki oleh uji normalitas lainnya, seperti uji Shapiro-Wilk, terutama dalam hal ukuran sampel yang besar.

Meskipun tidak sepopuler uji normalitas Shapiro-Wilk, uji Shapiro-Francia tetap digunakan dalam analisis data modern karena keakuratannya dan kemampuannya untuk menangani ukuran sampel yang besar. Kontribusi Shapiro dan Francia dalam pengembangan teknik ini memiliki nilai penting dalam sejarah statistik dan analisis data.

Uji normalitas Shapiro-Francia

Hipotesis yang digunakan untuk pengecekan normalitas data dengan Shapiro-Francia adalah sebagai berikut.
H0 : Data berdistribusi normal
H1 : Data tidak berdistribusi normal

#Shapiro-Francia
nortest::sf.test(data$Nilai_Ujian)
normalitas

Berdasarkan output software R di atas, terlihat bahwa untuk p-value hasil pengujian normalitas dengan Shapiro- Francia yaitu sebesar 0.8934. Dikarenakan p-value bernilai lebih besar daripada taraf signifikansi (5% atau 0.05) maka diambil keputusan Terima H0 atau Gagal Tolak H0. Sehingga dapat diartikan, data nilai ujian apabila dilakukan pengecekan menggunakan uji Shapiro-Francia berdistribusi Normal.

Kesimpulan

Berdasarkan hasil pengecekan normalitas data, baik dengan menggunakan:
A. Uji normalitas Shapiro Wilk
B. Uji normalitas Kolmogorov-Smirnov
C. Uji normalitas Anderson-Darling
D. Uji normalitas Jarque-Bera
E. Uji normalitas Pearson Chi-Square
F. Uji normalitas Cramer-von Mises
G. Uji normalitas Shapiro-Francia
Dapat disimpulkan bahwa data terkait nilai ujian dari 20 mahasiswa di suatu perguruan tinggi, berdistribusi normal.

Referensi

Montgomery, D. C., Peck, E. A., & Vining, G. G. (2012). Introduction to Linear Regression Analysis. John Wiley & Sons.

Finally, sampai sudah kita di penghujung artikel, sekian penjelasan terkait Pengecekan Normalitas Data dengan Software R. Apabila masih ada yang dibingungkan bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya.

Pengecekan Normalitas Data dengan Software R Read More »

Hubungi Admin
Halo, selamat datang di Exsight! 👋

Hari ini kita ada DISKON 20% untuk semua transaksi. Klaim sekarang!