output: html_document: toc: true toc_float: collapsed: false smooth_scroll: true toc_depth: 3 number_sections: true theme: cosmo
highlight: tango code_folding: show —

BAB I: PENDAHULUAN

Latar Belakang dan Studi Kasus

Industri musik digital berkembang sangat pesat, di mana platform streaming seperti Spotify menjadi salah satu kiblat utama dalam menikmati karya musik di seluruh dunia. Bagi para produser musik dan musisi, memahami faktor-faktor apa saja yang membuat sebuah lagu menjadi populer merupakan hal yang sangat krusial. Karakteristik audio dari sebuah lagu—seperti tingkat ketukan (tempo), energi, durasi, hingga seberapa mudah lagu tersebut dipakai untuk menari (danceability)—diduga memiliki kontribusi besar terhadap tingkat popularitasnya di masyarakat.

Oleh karena itu, dalam praktikum ini dilakukan studi kasus untuk memodelkan faktor-faktor yang memengaruhi popularitas lagu di platform Spotify menggunakan metode Analisis Regresi Linier Berganda. Dataset yang digunakan diperoleh dari sumber terbuka (open source) yang memuat berbagai metrik karakteristik audio dari lagu-lagu yang tersedia di Spotify.

Karakteristik dan Ketentuan Data

Dataset yang dianalisis dalam penelitian ini telah memenuhi seluruh ketentuan praktikum yang ditetapkan, yaitu memiliki jumlah observasi di atas batas minimal 30 data (menggunakan keseluruhan baris data Spotify) serta melibatkan lebih dari 2 variabel prediktor.

Penetapan variabel-variabel di dalam model regresi ini adalah sebagai berikut:

  • Variabel Dependen / Terikat (\(Y\)):
    • popularity: Tingkat popularitas lagu (skala 0 - 100).
  • Variabel Independen / Bebas (\(X\)):
    • \(X_1\) (duration_ms): Durasi lagu dalam satuan milidetik.
    • \(X_2\) (danceability): Tingkat kemudahan lagu untuk digunakan menari.
    • \(X_3\) (energy): Ukuran persepsi intensitas dan aktivitas lagu.
    • \(X_4\) (loudness): Keseluruhan kenyaringan lagu dalam satuan desibel (dB).
    • \(X_5\) (speechiness): Kehadiran kata-kata yang diucapkan dalam lagu.
    • \(X_6\) (acousticness): Ukuran probabilitas apakah lagu tersebut bersifat akustik.
    • \(X_7\) (instrumentalness): Memprediksi apakah sebuah lagu tidak mengandung vokal.
    • \(X_8\) (liveness): Mendeteksi kehadiran penonton dalam rekaman (efek live).
    • \(X_9\) (valence): Ukuran kepositifan musik yang dihantarkan oleh trek (suasana ceria).
    • \(X_{10}\) (tempo): Keseluruhan perkiraan tempo lagu dalam ketukan per menit (BPM).

Tujuan Praktikum

Berdasarkan rumusan studi kasus yang diberikan, tujuan diadakannya praktikum analisis ini adalah: 1. Mampu melakukan eksplorasi data melalui ekstraksi statistika deskriptif serta visualisasi scatter plot untuk melihat hubungan awal antar variabel. 2. Mampu membangun model regresi linier berganda berbasis metode Ordinary Least Squares (OLS) menggunakan software RStudio. 3. Mampu melakukan uji signifikansi model secara simultan (Uji F) dan secara parsial (Uji t) terhadap parameter regresi. 4. Mampu mengevaluasi pemenuhan uji asumsi klasik (linieritas, normalitas sisaan, heteroskedastisitas, autokorelasi, dan multikolinieritas) guna menjamin keabsahan model prediktif yang diperoleh.

BAB II: TINJAUAN PUSTAKA

Eksplorasi Data

Statistika Deskriptif

Statistik deskriptif merupakan bidang statistik yang ruang lingkup kegiatannya meliputi tata cara mengumpulkan, menyusun, mengolah, menyajikan, hingga menganalisis data angka. Tujuannya adalah memaparkan gambaran yang sistematis, ringkas, serta jelas mengenai suatu fenomena (Usman, 2012). Deskripsi data dapat disajikan melalui bentuk tabel, diagram, histogram, ukuran pemempatan (median, kuartil), ukuran gejala pusat (rata-rata hitung, modus), hingga ukuran simpangan data.

Scatter Plot (Diagram Pencar)

Diagram scatter digunakan untuk memeriksa arah dan pola hubungan antara variabel prediktor dengan variabel respon. Pola hubungan yang dapat digambarkan meliputi: 1. Hubungan Linier atau Non-Linier: Dikatakan linier jika titik-titik data membentuk pola garis lurus. 2. Hubungan Positif atau Negatif: Bersifat positif (searah) jika titik data membentang dari kiri bawah ke kanan atas. Bersifat negatif (terbalik) jika titik data membentang dari kiri atas ke kanan bawah. 3. Konsentrasi Data: Menunjukkan tingkat penyebaran titik data, apakah mengelompok terpusat atau tersebar luas (Anonym, 2021).

Analisis Regresi Linier Berganda

Regresi linier berganda merupakan model persamaan yang menjelaskan hubungan antara satu variabel tak bebas (response / \(Y\)) dengan dua atau lebih variabel bebas (predictor / \(X_1, X_2, \dots, X_n\)).

Secara teoretis pada tingkat populasi, persamaan regresi linier berganda menyertakan komponen sisaan (error) \(\epsilon\): \[Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \dots + \beta_nX_n + \epsilon\]

Sedangkan untuk keperluan estimasi nilai pada sampel melalui data pengamatan, persamaannya dirumuskan sebagai berikut: \[\hat{Y} = a + b_1X_1 + b_2X_2 + \dots + b_nX_n\]

Keterangan: * \(Y\) = Variabel tak bebas (nilai yang diprediksi) * \(a\) = Konstanta (Intercept) * \(b_1, b_2, \dots, b_n\) = Nilai koefisien regresi parsial * \(X_1, X_2, \dots, X_n\) = Variabel bebas * \(\epsilon\) = Error / sisaan model

Arah hubungan ditentukan oleh nilai koefisien regresi (\(b\)): * \(b = 0\): Variabel \(Y\) tidak dipengaruhi oleh variabel \(X\). * \(b\) bernilai negatif (-): Terjadi hubungan dengan arah terbalik. * \(b\) bernilai positif (+): Terjadi hubungan yang searah.

Untuk mengestimasi nilai parameter konstanta (\(a\)) dan koefisien (\(b\)), digunakan Metode Kuadrat Terkecil (Ordinary Least Squares / OLS) melalui dua pendekatan matematis: * Metode Deviasi (Aljabar Simultan): Berbasis jumlah kuadrat deviasi terhadap rata-rata sampel. \[b_1 = \frac{(\sum x_2^2 \sum x_1y) - (\sum x_1x_2 \sum x_2y)}{(\sum x_1^2 \sum x_2^2) - (\sum x_1x_2)^2}\] * Metode Matriks (Aturan Cramer): Menggunakan perhitungan nilai determinan matriks koefisien \(M\) dan vektor hasil \(h\). \[a = \frac{\text{det}(M_1)}{\text{det}(M)}, \quad b_1 = \frac{\text{det}(M_2)}{\text{det}(M)}, \quad b_2 = \frac{\text{det}(M_3)}{\text{det}(M)}\]

Uji Signifikansi Model

Menurut Susanti et al. (2019), pengujian signifikansi parameter dilakukan melalui dua tahap:

Pengujian Secara Simultan (Uji F)

Uji F digunakan untuk mengetahui apakah seluruh variabel prediktor secara bersama-sama berpengaruh terhadap variabel respon. * Hipotesis: * \(H_0: \beta_1 = \beta_2 = \dots = \beta_n = 0\) (Tidak terdapat hubungan linier signifikan). * \(H_1\): Minimal ada satu \(\beta_i \neq 0\) (Terdapat hubungan linier signifikan). * Kriteria Keputusan: Tolak \(H_0\) jika \(F_{\text{hitung}} > F_{\text{tabel}}\) atau nilai p-value < \(\alpha\) (0,05).

Pengujian Secara Parsial (Uji t)

Uji t digunakan untuk menguji pengaruh masing-masing variabel prediktor secara individu/parsial. * Kriteria Keputusan: Tolak \(H_0\) jika \(t_{\text{hitung}} > t_{\text{tabel}}\) atau nilai p-value < \(\alpha\) (0,05), yang berarti variabel prediktor tersebut berpengaruh nyata secara parsial terhadap variabel respon.

Uji Asumsi Regresi (Asumsi Klasik)

Guna memastikan bahwa model regresi menghasilkan parameter yang bersifat Best Linear Unbiased Estimator (BLUE), diperlukan pemenuhan serangkaian asumsi klasik (Santoso, 2011):

Uji Linieritas

Memastikan apakah spesifikasi hubungan antara variabel bebas dan terikat bersifat linier. Uji formal dilakukan menggunakan Ramsey RESET Test. Asumsi linieritas terpenuhi apabila nilai p-value \(\ge\) 0,05.

Uji Normalitas Sisaan

Menguji apakah komponen sisaan (residual) dalam model berdistribusi normal (Ghozali, 2009). Evaluasi dilakukan lewat Normal Probability Plot (titik data harus mengikuti arah garis diagonal) atau uji formal Kolmogorov-Smirnov (terpenuhi jika p-value > 0,05).

Uji Heteroskedastisitas

Menguji apakah terjadi ketidaksamaan ragam (variance) pada sisaan antar pengamatan (Ghozali, 2013). Deteksi dilakukan lewat scatter plot sisaan (harus memencar acak tanpa pola geometris tertentu) atau melalui uji formal Breusch-Pagan Test (bebas heteroskedastisitas jika p-value > 0,05).

Uji Autokorelasi

Menguji apakah terdapat korelasi antara sisaan pada periode \(t\) dengan sisaan periode sebelumnya (\(t-1\)). Pengujian menggunakan Durbin-Watson (DW) Test dengan kriteria: model dinyatakan aman dan bebas autokorelasi jika nilai \(1,65 < \text{DW} < 2,35\).

Uji Multikolinieritas

Menguji apakah terdapat hubungan korelasi yang nyata atau sempurna sesama variabel bebas (Ghozali, 2009). Indikator yang digunakan adalah Variance Inflation Factor (VIF) dan Tolerance. Model dinyatakan bebas dari multikolinieritas jika nilai \(\text{Tolerance} > 0,1\) dan \(\text{VIF} < 10\).

BAB III: LANGKAH KERJA

Penyiapan dan Pemeriksaan Awal Data

Langkah awal dalam komputasi di RStudio adalah memanggil fungsi impor dokumen secara interaktif. Data Spotify dimuat, lalu diperiksa dimensi tabelnya untuk memastikan seluruh baris data terunggah sempurna.

# Mengaktifkan fungsi impor file interaktif .csv
data_spotify <- read.csv(file.choose())
# Menampilkan data 3 baris teratas
head(data_spotify, 3)

# Menampilkan total baris dan kolom dataset
dim(data_spotify)

# Mendefinisikan vektor variabel audio target
variabel <- c("popularity", "duration_ms", "danceability", "energy", "loudness", 
              "speechiness", "acousticness", "instrumentalness", "liveness", 
              "valence", "tempo")

# Mengeluarkan ringkasan nilai statistik deskriptif dasar
summary(data_spotify[, variabel])

# Mengunci sistem pengacakan sampel data
set.seed(123)

# Menarik 100 baris sampel acak secara sederhana
data_sampel <- data_spotify[sample(nrow(data_spotify), 100), ]

# Membagi output grafik menjadi layout matriks 2x2
par(mfrow = c(2, 2))

# Membuat visualisasi diagram sebar (scatter plot) variabel terhadap Popularity
plot(data_sampel$duration_ms, data_sampel$popularity, main="Duration (ms) vs Popularity", xlab="Duration (ms)", ylab="Popularity", col="purple", pch=16)
plot(data_sampel$danceability, data_sampel$popularity, main="Danceability vs Popularity", xlab="Danceability", ylab="Popularity", col="purple", pch=16)
plot(data_sampel$speechiness, data_sampel$popularity, main="Speechiness vs Popularity", xlab="Speechiness", ylab="Popularity", col="purple", pch=16)
plot(data_sampel$acousticness, data_sampel$popularity, main="Acousticness vs Popularity", xlab="Acousticness", ylab="Popularity", col="purple", pch=16)

# Menampung nama kolom asli variabel bebas
variabel_x <- c("duration_ms", "danceability", "energy", "loudness", "speechiness", 
                "acousticness", "instrumentalness", "liveness", "valence", "tempo")

# Menyalin representasi kolom menjadi notasi matematika X1 hingga X10
names(data_spotify)[match(variabel_x, names(data_spotify))] <- paste0("X", 1:10)

# Mengestimasi model regresi linier berganda berbasis metode OLS
model <- lm(popularity ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10, data = data_spotify)
summary(model)

# Mengaktifkan library statistika pendukung
library(lmtest)
library(car)

# 1. Ramsey RESET Test (Uji Linieritas)
resettest(model)

# Mengekstrak komponen sisaan model OLS untuk uji normalitas
residual <- residuals(model)

# 2. One Sample Kolmogorov-Smirnov Test (Uji Normalitas Sisaan)
ks.test(residual, "pnorm", mean(residual), sd(residual))

# 3. Breusch-Pagan Test (Uji Heteroskedastisitas)
bptest(model)

# 4. Durbin-Watson Test (Uji Non-autokorelasi)
dwtest(model)

# 5. Variance Inflation Factor (Uji Non-multikolinieritas)
vif(model)

BAB IV: HASIL DAN PEMBAHASAN

Analisis Eksplorasi Data (Scatter Plot)

Berdasarkan hasil visualisasi scatter plot yang diekstrak dari 100 sampel data acak Spotify, diperoleh gambaran hubungan awal antar variabel sebagai berikut:

  • Duration (ms) vs Popularity: Sebaran data cenderung berkumpul secara acak membentuk pola vertikal tanpa arah tren linear yang kentara. Hubungan awal tergolong sangat lemah.
  • Danceability vs Popularity: Titik data menyebar luas, namun terlihat sedikit kerapatan pada nilai danceability menengah ke atas (0.4 hingga 0.8) yang berkorelasi dengan popularitas tinggi.
  • Energy vs Popularity: Data tersebar merata dari skala rendah hingga tinggi (0.2 hingga 1.0). Secara visual belum memperlihatkan arah hubungan linear yang dominan.
  • Loudness vs Popularity: Sebaran data membentuk pola mengelompok di area desibel tinggi (-15 hingga -5 dB). Lagu dengan volume suara yang lebih keras tampak mendominasi tingkat popularitas tinggi.
  • Speechiness vs Popularity: Data sangat menumpuk pada area nilai speechiness rendah (di bawah 0.10). Ini menunjukkan bahwa lagu dengan kandungan kata lisan/rap yang minim cenderung mendominasi tangga lagu populer.
  • Acousticness vs Popularity: Sebaran data dominan menumpuk pada nilai mendekati 0.0, mengindikasikan bahwa mayoritas lagu populer pada sampel didominasi oleh musik non-akustik (elektrik/modern).
  • Instrumentalness vs Popularity: Terjadi penumpukan data yang sangat ekstrem tepat di garis 0.0. Hubungan awal menunjukkan bahwa hampir seluruh lagu populer adalah lagu yang memiliki vokal (bukan instrumen murni).
  • Liveness vs Popularity: Titik data mengelompok padat pada nilai liveness rendah (di bawah 0.2). Hal ini memberikan sinyal awal bahwa lagu rekaman studio lebih diminati dibanding rekaman konser langsung.
  • Valence vs Popularity: Pola sebaran data membentuk formasi kotak acak di seluruh kuadran. Nuansa keceriaan lagu (valence) secara visual tidak menunjukkan kecenderungan arah hubungan linier tunggal.
  • Tempo vs Popularity: Data memusat di rentang tempo 100 hingga 150 BPM. Lagu dengan ketukan irama sedang hingga cepat tampak lebih banyak meraih popularitas tinggi.

Catatan Pengambilan Sampel Visual: Teknik pengambilan sampel acak sederhana sebanyak 100 observasi dari total populasi dataset (\(N = 114.000\)) sengaja diterapkan pada tahapan visualisasi untuk menghindari penumpukan data (overplotting) ekstrem. Memaksakan ratusan ribu baris ke dalam grafik akan memicu penumpukan piksel pekat yang membuat pola variabilitas data tidak terbaca. Meskipun demikian, proses pemodelan regresi selanjutnya tetap menggunakan keseluruhan 114.000 data demi menjaga keaslian dan keakuratan matematis model.

Analisis Regresi Linier Berganda

Berdasarkan hasil pengolahan data menggunakan metode Ordinary Least Squares (OLS) di RStudio, diperoleh persamaan model regresi linier berganda sebagai berikut:

\[\hat{Y} = 36.40 - 0.000001995X_1 + 9.194X_2 - 2.693X_3 + 0.115X_4 - 12.56X_5 - 1.165X_6 - 8.170X_7 + 1.488X_8 - 9.789X_9 + 0.0146X_{10}\]

Interpretasi Parameter Model:

  • Intercept (\(a = 36.40\)): Jika seluruh variabel karakteristik audio (\(X_1\) sampai \(X_{10}\)) bernilai nol, rata-rata popularitas lagu dasar adalah sebesar 36.40.
  • Koefisien Pengaruh Positif (\(X_2, X_4, X_8, X_{10}\)): Variabel danceability (+9.194), loudness (+0.115), liveness (+1.488), dan tempo (+0.0146) memiliki hubungan searah dengan popularitas. Setiap kenaikan satu satuan pada variabel-variabel ini akan meningkatkan popularitas lagu (asumsi variabel lain konstan).
  • Koefisien Pengaruh Negatif (\(X_1, X_3, X_5, X_6, X_7, X_9\)): Variabel duration (-0.000001995), energy (-2.693), speechiness (-12.56), acousticness (-1.165), instrumentalness (-8.170), dan valence (-9.789) memiliki hubungan terbalik dengan popularitas. Semakin tinggi nilai karakteristik tersebut, popularitas lagu justru cenderung menurun.

Uji Signifikansi Model (Parsial)

Melalui pengamatan nilai statistik sidik ragam pada masing-masing parameter regresi, diperoleh hasil pengujian sebagai berikut:

  • Variabel Signifikan (Tolak \(H_0\), p-value < 0.05): * \(X_1\) (Duration): \(F = 5.881\), p-value = 0.01531
    • \(X_2\) (Danceability): \(F = 143.037\), p-value < \(2\times10^{-16}\)
    • \(X_4\) (Loudness): \(F = 569.318\), p-value < \(2\times10^{-16}\)
    • \(X_5\) (Speechiness): \(F = 208.977\), p-value < \(2\times10^{-16}\)
    • \(X_6\) (Acousticness): \(F = 64.431\), p-value = \(1.01\times10^{-15}\)
    • \(X_7\) (Instrumentalness): \(F = 651.910\), p-value < \(2\times10^{-16}\)
    • \(X_8\) (Liveness): \(F = 10.469\), p-value = 0.00121
    • \(X_9\) (Valence): \(F = 937.130\), p-value < \(2\times10^{-16}\)
    • \(X_{10}\) (Tempo): \(F = 41.421\), p-value = \(1.23\times10^{-10}\)
    • Interpretasi: Sembilan variabel di atas memberikan kontribusi nyata dan pengaruh yang sangat signifikan terhadap model popularitas lagu Spotify.
  • Variabel Tidak Signifikan (Gagal Tolak \(H_0\), p-value \(\ge\) 0.05):
    • \(X_3\) (Energy): \(F = 1.376\), p-value = 0.24071
    • Interpretasi: Variabel energi tidak memberikan kontribusi signifikan yang baru bagi variabilitas model popularitas dalam penelitian ini.

Evaluasi Uji Asumsi Klasik

Uji Linieritas (Ramsey RESET Test)

  • Hipotesis: \(H_0\): Model berbentuk linier vs \(H_1\): Model tidak berbentuk linier.
  • Keputusan: Tolak \(H_0\) (p-value = \(3.8\times10^{-16}\) < 0.05). Model belum sepenuhnya linier. Penolakan ini wajar terjadi karena ukuran sampel yang sangat besar (\(N = 114.000\)) membuat uji statistik menjadi sangat sensitif terhadap deviasi sekecil apa pun.

Uji Normalitas Sisaan (Kolmogorov-Smirnov Test)

  • Hipotesis: \(H_0\): Sisaan menyebar normal vs \(H_1\): Sisaan tidak menyebar normal.
  • Keputusan: Tolak \(H_0\) (p-value < \(2.2\times10^{-16}\) < 0.05). Komponen sisaan (residual) tidak menyebar normal sempurna karena tingginya variabilitas sebaran data riil platform musik digital.

Uji Homoskedastisitas (Breusch-Pagan Test)

  • Hipotesis: \(H_0\): Ragam sisaan homogen vs \(H_1\): Ragam sisaan tidak homogen (Heteroskedastisitas).
  • Keputusan: Tolak \(H_0\) (p-value < \(2.2\times10^{-16}\) < 0.05). Terjadi gejala heteroskedastisitas (ragam sisaan tidak konstan), yang merupakan karakteristik umum pada data mentah berskala besar (cross-sectional big data).

Uji Non-Autokorelasi (Durbin-Watson Test)

  • Hipotesis: \(H_0\): Tidak terjadi autokorelasi pada sisaan vs \(H_1\): Terjadi autokorelasi pada sisaan.
  • Keputusan: Tolak \(H_0\) (p-value < \(2.2\times10^{-16}\) < 0.05). Terdeteksi adanya autokorelasi, yang kemungkinan dipicu oleh pola pengelompokan alami data (data clustering) berdasarkan kesamaan album, artis, maupun genre musik tertentu.

Uji Non-Multikolinieritas (Variance Inflation Factor / VIF)

  • Kriteria: Model bebas dari multikolinieritas apabila nilai VIF < 10.
  • Keputusan: Gagal Tolak \(H_0\) (Seluruh nilai VIF variabel bebas < 5). Model dinyatakan aman dan bebas dari multikolinieritas. Tidak ada hubungan linier yang kuat sesama variabel prediktor, sehingga nilai estimasi parameter OLS yang diperoleh bersifat stabil dan tidak tumpang tindih.

BAB V: KESIMPULAN

Berdasarkan seluruh rangkaian analisis regresi linier berganda yang telah dilakukan terhadap data karakteristik musik pada platform Spotify dengan ukuran sampel sebesar 114.000 observasi, diperoleh beberapa kesimpulan utama sebagai berikut:

DAFTAR PUSTAKA