Terkadang Anda perlu memprediksi lebih dari satu hal sekaligus, seperti memprakirakan penjualan dan churn pelanggan menggunakan data yang sama.
Dalam artikel ini, saya akan mengajarkan Anda cara melakukan multi-task seperti ini. Saya akan mengajarkan Anda tentang regresi linear multivariat. Anda akan mempelajari apa itu, bagaimana cara kerjanya, kapan menggunakannya, dan bagaimana menerapkannya dalam praktik. Pada akhirnya, Anda akan siap menerapkannya pada masalah dunia nyata.
Regresi linear multivariat adalah teknik statistik yang memodelkan hubungan antara beberapa variabel independen dan beberapa variabel dependen. Teknik ini kadang-kadang tertukar dengan regresi linear berganda karena terdengar mirip, dan saya juga pernah keliru. Namun regresi linear berganda menggunakan beberapa prediktor untuk mengestimasi satu outcome tunggal, sedangkan multivariat dirancang untuk situasi ketika Anda perlu memprediksi lebih dari satu outcome pada saat yang sama.
Landasan Teoretis dan Penyusunan Model
Saya baru saja memberi gambaran tentang apa itu regresi multivariat dan kapan menggunakannya. Sekarang mari masuk ke bagaimana struktur modelnya dan asumsi apa yang mendasarinya.
Representasi matriks
Regresi multivariat menggunakan susunan berbasis matriks untuk memodelkan beberapa outcome sekaligus:
Dengan:
Y adalah matriks n×p dari variabel dependen (n observasi, p variabel respons)
X adalah matriks n×(k+1) dari variabel independen (termasuk intersep)
B adalah matriks (k+1)×p dari koefisien regresi
E adalah matriks n×p dari suku galat
Pendekatan ini menyadari bahwa suku galat untuk variabel respons yang berbeda bisa saling berkorelasi, sehingga menghasilkan estimasi parameter yang lebih efisien dibandingkan model univariat terpisah.
Asumsi
Sebelum menggunakan model, penting untuk memahami asumsi yang harus dipenuhi—dan apa yang harus dilakukan jika tidak terpenuhi.
Linearitas: Setiap prediktor sebaiknya berhubungan secara linear dengan setiap outcome. Hubungan nonlinier akan menyebabkan bias pada hasil Anda.
Independensi: Observasi Anda harus independen. Jika tidak (misalnya deret waktu atau data terklaster), standar error menjadi tidak andal.
Normalitas multivariat: Suku galat sebaiknya mengikuti sebaran normal multivariat. Meskipun ini tidak terpenuhi, estimasi koefisien Anda tetap tidak bias, tetapi akurasi interval kepercayaan dan uji hipotesis dapat terganggu. Sementara uji Shapiro–Wilk dapat menilai normalitas untuk tiap outcome secara individual, normalitas multivariat paling baik dievaluasi menggunakan uji khusus seperti uji Mardia, yang memperhitungkan korelasi antarsisa.
Homoskedastisitas: Varians galat harus konstan di seluruh prediktor dan outcome. Jika tidak, model menjadi kurang efisien.
Tidak adamultikolinearitassempurna: Prediktor Anda tidak boleh berkorelasi sempurna.
Jika asumsi-asumsi ini tidak terpenuhi, Anda perlu beradaptasi. Misalnya, coba transformasi variabel untuk mengatasi masalah nonlinier atau normalitas, beralih ke kuadrat terkecil berbobot untuk menangani heteroskedastisitas, atau gunakan regresi ridge untuk masalah kolinearitas.
Menangani variabel kategorikal
Jika Anda bekerja dengan variabel kategorikal, Anda perlu mengonversinya terlebih dahulu menjadi variabel dummy.
Untuk variabel kategorikal dengan k kategori, buat k-1 variabel dummy. Ini mencegah redundansi yang dikenal sebagai perangkap variabel dummy. Kategori yang tidak disertakan menjadi tingkat referensi. Koefisien Anda kemudian mencerminkan perbedaan relatif terhadap baseline tersebut. Jadi ada baiknya memilih satu yang memudahkan interpretasi.
Teknik Estimasi dan Efisiensi
Dengan struktur model dan asumsi yang sudah jelas, mari lihat bagaimana koefisien diestimasi, dan bagaimana perbandingan berbagai metode dari segi efisiensi dan akurasi.
Kuadrat terkecil biasa (OLS)
OLS adalah titik awal default dan secara alami diperluas ke pengaturan multivariat. Metode ini memberikan estimasi koefisien yang tidak bias selama asumsi terpenuhi. Meskipun estimasi individualnya sama seperti menjalankan regresi terpisah, keuntungannya di sini adalah sisa dibagi sehingga Anda dapat menguji hipotesis bersama di berbagai outcome.
Dalam kasus di mana outcome berkorelasi, OLS multivariat menangkap hubungan tersebut, sering kali (meski tidak selalu) meningkatkan kualitas prediksi secara keseluruhan.
Teorema Gauss–Markov
Anda mungkin bertanya-tanya mengapa OLS begitu banyak digunakan. Teorema Gauss–Markov menjelaskannya: Di bawah asumsi tertentu, OLS adalah Best Linear Unbiased Estimator (BLUE). Artinya, OLS memberikan varians sekecil mungkin di antara semua penaksir linear tak bias dengan asumsi kondisi umum seperti tidak ada multikolinearitas, hubungan linear, dan varians konstan terpenuhi.
Kuadrat terkecil berbobot (WLS)
Namun bagaimana jika kondisi tersebut tidak terpenuhi, khususnya varians konstan? Dalam kasus ini, saya mempertimbangkan WLS. Metode ini memberikan bobot lebih besar pada observasi dengan varians galat lebih rendah dan bobot lebih kecil pada observasi yang lebih bising.
WLS menyesuaikan proses OLS dengan menambahkan matriks bobot. Anda bisa memperkirakan bobot menggunakan sisa dari model OLS atau berdasarkan pengetahuan teoretis tentang struktur galat data Anda.
Metode shrinkage
Selanjutnya, mari beralih ke skenario dengan data berdimensi tinggi atau multikolinearitas. Metode shrinkage berguna di sini. Metode ini mengizinkan sedikit bias sebagai ganti pengurangan varians, yang sering membantu prediksi.
Regresi ridge menambahkan penalti L2 (λ||B||²), menyusutkan semua koefisien menuju nol. Ini berguna ketika setiap prediktor mungkin menyumbang sesuatu. LASSO menerapkan penalti L1 yang dapat meniadakan beberapa koefisien sepenuhnya—membantu pemilihan variabel. Elastic net menggabungkan keduanya, membantu saat prediktor berkorelasi sambil tetap melakukan seleksi.
Evaluasi Model dan Inferensi
Setelah membahas estimasi, mari beralih ke evaluasi seberapa baik kinerja model Anda dan bagaimana menarik kesimpulan yang bermakna darinya.
Goodness-of-fit
R-kuadrat multivariat memberi gambaran tentang seberapa besar variasi keseluruhan yang dijelaskan model Anda di seluruh outcome. Tidak seperti versi univariat, versi ini sering menggunakan determinan matriks kovarians sisa dan mungkin tidak selalu berada dalam rentang 0 hingga 1.
Adjusted R-squared sangat penting dalam pengaturan multivariat karena jumlah parameter Anda meningkat cepat dengan banyaknya outcome. Ini membantu menghindari overfitting dengan menghukum kompleksitas.
Alat visual seperti elips kepercayaan juga dapat membantu. Elips ini menunjukkan ketidakpastian dalam prediksi dan bagaimana variabel outcome saling terkait. Elips berbentuk lingkaran menunjukkan independensi; elips memanjang menunjukkan korelasi yang kuat.
Pengujian hipotesis
Ketika Anda ingin tahu apakah model Anda melakukan lebih dari sekadar menyesuaikan derau, pengujian hipotesis adalah kuncinya.
Lambda Wilks menguji apakah prediktor tertentu memiliki pengaruh signifikan di seluruh kumpulan outcome. Uji ini membandingkan matriks kovarians galat dari model penuh dan model tereduksi untuk menentukan apakah menghapus prediktor tertentu akan secara signifikan meningkatkan varians yang tidak dijelaskan.
T² Hotelling bekerja seperti uji t multivariat. Uji ini mengevaluasi apakah prediktor tertentu memengaruhi setidaknya satu outcome, dengan mempertimbangkan korelasi antar-outcome.
Pengujian bersama membantu mengelola risiko positif palsu saat menguji banyak hipotesis sekaligus. Ini berguna dalam regresi multivariat, di mana perbandingan ganda dapat dengan cepat menjadi berlebihan.
Perbandingan model
Untuk memutuskan di antara model, kriteria sepertiAIC dan BICsangat berguna. Keduanya menyesuaikan terhadap kompleksitas, yang sangat penting saat memodelkan banyak outcome. AIC lebih berfokus pada kekuatan prediktif, sedangkan BIC cenderung memilih model yang lebih sederhana.
Anda juga dapat menggunakan uji rasio likelihood untuk membandingkan model bertingkat. Uji ini memeriksa apakah menambahkan prediktor secara signifikan meningkatkan kesesuaian model.
Topik Lanjutan dan Use Case
Regresi multivariat standar bekerja dengan baik untuk banyak masalah, tetapi terkadang Anda akan menghadapi situasi yang memerlukan pendekatan khusus. Mungkin Anda berurusan dengan ratusan prediktor, atau variabel Anda saling memengaruhi dengan cara yang melanggar asumsi standar. Berikut cara menangani (sebagian) skenario yang lebih rumit ini.
Seleksi fitur
Saat Anda bekerja dengan banyak prediktor, seleksi fitur menjadi esensial baik untuk kinerja maupun keterjelasan interpretasi. LASSO (singkatan dari ‘Least Absolute Shrinkage and Selection Operator’) menonjol di sini karena dapat secara otomatis meniadakan prediktor yang tidak relevan sambil menyesuaikan model.
Tidak seperti regresi ridge, yang menyusutkan semua koefisien ke arah nol tetapi tetap mempertahankannya, LASSO menggunakan penalti L1 yang menghasilkan solusi jarang (sparse). Ini sangat baik ketika Anda menduga hanya sebagian dari prediktor Anda yang benar-benar penting.
Menangani endogenitas
Terkadang prediktor Anda memengaruhi outcome sekaligus dipengaruhi oleh outcome tersebut. Saya memikirkan bagaimana pendidikan memengaruhi pendapatan, tetapi pendapatan juga memengaruhi akses ke pendidikan. Ini menciptakan apa yang disebut endogenitas, yang membuat estimasi regresi standar tidak andal.
Variabel instrumental menyelesaikannya dengan proses dua tahap. Pertama, Anda menemukan "instrumen", yaitu variabel yang memengaruhi prediktor bermasalah Anda tetapi tidak secara langsung memengaruhi outcome Anda. Lalu Anda menggunakan instrumen ini untuk memprediksi bagian "bersih" dari prediktor Anda, dan menggunakan prediksi tersebut dalam regresi final. Ini seharusnya memutus atau membantu memutus hubungan sirkular dan kemudian memberikan estimasi yang andal atau lebih andal.
Implementasi di perangkat lunak
Sebagian besar paket statistik menangani regresi multivariat, meski dengan keunggulan yang berbeda-beda. Di Python, sklearn.linear_model.LinearRegression secara native mendukung beberapa outcome untuk regresi multivariat sejati. Menurut saya, statsmodels menyediakan keluaran statistik yang lebih detail, termasuk uji hipotesis. Jika Anda salah satu programmer yang lebih menyukai bahasa R, Anda dapat tetap menggunakan fungsi bawaan lm() untuk model multivariat dasar, atau gunakan paket car untuk diagnostik yang lebih canggih.
Alternatif seperti PLS
Partial Least Squares (PLS) berguna ketika Anda memiliki lebih banyak prediktor daripada observasi, atau ketika multikolinearitas menimbulkan masalah. Alih-alih menggunakan semua prediktor secara langsung, PLS membuat variabel laten yang menangkap informasi paling relevan untuk memprediksi outcome Anda. Pendekatan ini bekerja sangat baik di bidang seperti kemometri dan bioinformatika, di mana Anda mungkin memiliki ratusan atau ribuan prediktor tetapi relatif sedikit observasi.
PLS menemukan arah dalam ruang prediktor Anda yang menjelaskan baik varians prediktor maupun kovarians outcome. Ini sangat berguna ketika akurasi prediksi lebih penting daripada interpretasi. MLR standar dapat menjadi tidak stabil dengan banyak prediktor yang berkorelasi, tetapi PLS tetap stabil bahkan dalam situasi menantang.
Elips kepercayaan
Interval kepercayaan sederhana tidak bekerja baik untuk prediksi multivariat karena mengabaikan korelasi antar-outcome. Elips kepercayaan menampilkan ketidakpastian bersama untuk pasangan outcome, memperlihatkan bagaimana kesalahan prediksi berkorelasi di berbagai variabel respons. Elips ini memberi tahu Anda struktur hubungan dalam prediksi. Elips berbentuk lingkaran berarti outcome Anda diprediksi secara independen, sedangkan elips memanjang menunjukkan korelasi yang kuat.
Orientasi elips memanjang menunjukkan kombinasi linear outcome mana yang memiliki ketidakpastian paling besar dan paling kecil. Anda dapat memplotnya untuk prediksi individual atau untuk estimasi parameter, dan elips ini berguna saat menyajikan hasil karena memberikan representasi visual yang intuitif tentang seberapa percaya diri Anda terhadap berbagai aspek prediksi.
Pertimbangan Praktis dan Contoh di Python
Beralih dari teori ke praktik berarti berurusan dengan data yang berantakan dan memastikan model Anda benar-benar bekerja. Berikut cara menangani sisi praktis regresi multivariat.
Prapemrosesan
Sebelum menyesuaikan model multivariat apa pun, Anda harus menata data Anda. Skala dan pemusatan sangat penting ketika prediktor Anda memiliki satuan yang berbeda. Bayangkan mencoba membandingkan pendapatan (dalam ribuan) dengan usia (dalam tahun) tanpa standardisasi. Sebagian besar algoritme bekerja lebih baik ketika fitur berada pada skala yang serupa.
Nilai hilang menjadi tantangan lain. Anda dapat menghapus baris dengan data hilang, tetapi ini membuang informasi dan dapat memperkenalkan bias. Pendekatan yang lebih baik termasuk imputasi rata-rata untuk variabel numerik atau menggunakan metode yang lebih canggih seperti imputasi berganda, yang membuat beberapa dataset yang masuk akal dan menggabungkan hasil di antaranya.
Validasi model
Cross-validation membantu Anda memahami seberapa baik model Anda menggeneralisasi di luar data pelatihan. Untuk regresi multivariat, k-fold cross-validation bekerja dengan membagi data Anda menjadi k kelompok, melatih pada k-1 kelompok, dan menguji pada kelompok yang tersisa. Ulangi ini k kali dan rata-ratakan hasilnya untuk mendapatkan estimasi kinerja yang tangguh.
Bootstrapping menawarkan pendekatan validasi lain yang sangat berguna untuk memahami ketidakpastian parameter. Metode ini membuat dataset baru dengan pensampelan ulang dengan pengembalian dari data asli Anda, menyesuaikan model pada setiap sampel bootstrap, dan memeriksa sebaran estimasi parameter. Ini memberi tahu Anda seberapa stabil koefisien Anda dan membantu membangun interval kepercayaan.
Studi kasus
Mari lihat contoh konkret menggunakan dataset pengujian material. Insinyur sering kali perlu memprediksi beberapa sifat beton—seperti kuat tekan dan kemudahan pengerjaan—berdasarkan komponen campuran seperti kadar semen, rasio air, dan jenis agregat. Ini sangat cocok untuk regresi multivariat karena outcome tersebut saling terkait tetapi berbeda.
Analisis dimulai dengan mengeksplorasi korelasi antara komponen campuran dan outcome, memeriksa multikolinearitas di antara prediktor, dan meninjau apakah hubungan terlihat linear. Setelah prapemrosesan (men-skala rasio campuran dan menangani pengukuran yang hilang), Anda akan menyesuaikan model multivariat dan memvalidasinya menggunakan cross-validation untuk memastikan prediksi tetap andal pada campuran beton baru.
Contoh kode
Berikut alur kerja dasar yang menunjukkan langkah utama di Python. Pertama, mari siapkan data dan lakukan prapemrosesan:
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_val_score
from sklearn.metrics import mean_squared_error
# Load and prepare data (assuming concrete dataset)# X: mixture components (cement, water, aggregate, etc.)# y: multiple outcomes (strength, workability, durability)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)Didukung oleh
Langkah prapemrosesan ini menstandarkan semua prediktor agar memiliki mean nol dan varians satu, yang membantu stabilitas numerik dan interpretasi.
Selanjutnya, kita akan menyesuaikan model multivariat dan meninjau hasilnya:
# Fit multivariate regression
mlr_model = LinearRegression()
mlr_model.fit(X_scaled, y)# Get coefficients for each outcomefor i, outcome inenumerate(['strength','workability','durability']):
coeffs = mlr_model.coef_[:, i]print(f"{outcome} coefficients:{coeffs}”)Didukung oleh
Model LinearRegression menyesuaikan satu regresi multivariat yang mempertimbangkan korelasi di antara semua outcome secara simultan. Koefisien memberi tahu Anda bagaimana setiap komponen campuran memengaruhi setiap sifat beton.
Terakhir, mari validasi model untuk memeriksa keandalannya:
# Cross-validation for each outcome
cv_scores = cross_val_score(mlr_model, X_scaled, y,
cv=5, scoring='neg_mean_squared_error')print(f"Average CV score: {-cv_scores.mean():.3f}")# Make predictions on new data
y_pred = mlr_model.predict(X_scaled)
mse_per_outcome =[mean_squared_error(y[:, i], y_pred[:, i])for i inrange(y.shape[1])]print(f"MSE per outcome: {mse_per_outcome}")Didukung oleh
Cross-validation memberi Anda estimasi jujur tentang seberapa baik model bekerja pada data yang belum dilihat. Skor MSE per outcome membantu Anda memahami properti beton mana yang lebih mudah atau lebih sulit diprediksi secara akurat.
Keterbatasan dan Alternatif
Regresi linear multivariat bekerja baik untuk banyak masalah, tetapi memiliki batasan yang jelas. Batasan terbesar ada pada namanya—model ini mengasumsikan hubungan linear antara prediktor dan outcome. Ketika hubungan melengkung, sarat interaksi, atau nonlinier, MLR akan memberikan hasil yang bias. Dimensi tinggi menciptakan masalah lain: dengan banyak prediktor relatif terhadap observasi, model menjadi tidak stabil dan rentan terhadap overfitting.
Beberapa alternatif dapat menangani keterbatasan ini dengan lebih baik. Generalized Linear Models (GLM) memperluas kerangka kerja ke outcome nonnormal dan memungkinkan fungsi taut (link) yang berbeda. ANCOVA bekerja baik ketika Anda memiliki prediktor kontinu dan kategorikal dengan efek interaksi. Untuk masalah overfitting, metode regularisasi seperti ridge dan LASSO membantu, atau Anda dapat mencoba metode ansambel seperti random forest yang lebih alami menangani nonlinieritas dan dimensi tinggi.
Kesimpulan
Regresi linear multivariat memberi Anda cara yang solid untuk memodelkan beberapa outcome terkait secara simultan, menangkap hubungan yang akan terlewat oleh model univariat terpisah. Kekuatan utamanya terletak pada keterjelasan interpretasi, kemampuan pengujian statistik, dan efisiensi menangani outcome yang berkorelasi.
Apakah Anda bertahan dengan MLR standar atau beralih ke pendekatan lain seperti regresi terregularisasi, partial least squares, dan metode ansambel, bergantung pada karakteristik data, ukuran sampel, dan apakah prediksi atau interpretasi yang lebih penting untuk masalah spesifik Anda.
Vinod Chugani memulai kariernya di Tokyo sebagai Kepala Meja Penjualan Hedge Fund termuda di JPMorgan dan kemudian mencetak rekor penjualan individu di Lehman Brothers, lalu membangun bisnis distribusi elektronik di 30 negara dengan pendapatan melampaui SG$100 juta sebelum beralih ke data. Lulusan Ekonomi Duke dan alumni NYC Data Science Academy, ia menjadi salah satu dari tiga penerima beasiswa dari lebih dari 100 pelamar untuk kursus Building AI Applications oleh Hugo Bowne-Anderson di Maven. Saat ini, ia menulis untuk DataCamp, KDnuggets, Machine Learning Mastery, dan Statology tentang topik mulai dari statistika hingga AI agensial, dan membimbing para profesional data di NYC Data Science Academy dengan lebih dari 1.000 sesi tatap muka atas namanya.
FAQs
Apa perbedaan regresi linear multivariat dan regresi linear berganda?⌄
Regresi linear berganda menggunakan beberapa prediktor untuk memprediksi satu outcome, sedangkan regresi linear multivariat memprediksi beberapa outcome secara simultan dari himpunan prediktor yang sama. Regresi multivariat menangkap korelasi di antara berbagai variabel outcome.
Apa saja asumsi utama regresi linear multivariat?⌄
Asumsi kunci mencakup linearitas antara prediktor dan outcome, independensi observasi, normalitas multivariat dari suku galat, homoskedastisitas (varians konstan), dan tidak ada multikolinearitas sempurna di antara prediktor. Melanggar asumsi ini dapat menyebabkan hasil yang bias atau tidak andal.
Bagaimana saya dapat menafsirkan hasil model regresi linear multivariat?⌄
Setiap koefisien menunjukkan seberapa besar perubahan suatu outcome ketika prediktor tersebut meningkat satu unit, dengan asumsi prediktor lain konstan. Anda juga dapat meninjau R-kuadrat multivariat untuk kesesuaian model secara keseluruhan dan menggunakan uji seperti Lambda Wilks untuk signifikansi prediktor di seluruh outcome.
Apa saja aplikasi umum regresi linear multivariat dalam skenario dunia nyata?⌄
Aplikasi umum mencakup memprediksi beberapa indikator ekonomi (pertumbuhan PDB dan tingkat pengangguran), menganalisis tingkat ekspresi gen dalam genetika, mengevaluasi sifat material (kekuatan, daya tahan, kemudahan pengerjaan) dalam rekayasa, dan memodelkan beberapa outcome kesehatan dalam penelitian medis. Metode ini berguna kapan pun outcome terkait berbagi prediktor.
Bagaimana saya menangani multikolinearitas dalam model regresi linear multivariat?⌄
Gunakan Variance Inflation Factor (VIF) untuk mendeteksi multikolinearitas—nilai di atas 10 menunjukkan masalah. Solusinya termasuk menghapus prediktor yang sangat berkorelasi, menggunakan regresi ridge atau LASSO untuk regularisasi, atau menerapkan analisis komponen utama untuk membuat prediktor yang tidak berkorelasi.
Kapan saya harus menggunakan regresi multivariat alih-alih model univariat terpisah?⌄
Gunakan regresi multivariat ketika outcome Anda berkorelasi dan Anda ingin memodelkan hubungan ini secara eksplisit. Metode ini lebih efisien daripada model terpisah dan memungkinkan pengujian hipotesis bersama di seluruh outcome.
Bagaimana saya dapat memeriksa apakah hubungan antara prediktor dan outcome bersifat linear dalam regresi linear multivariat?⌄
Dalam regresi linear multivariat, linearitas berarti setiap prediktor harus memiliki hubungan garis lurus dengan variabel outcome. Anda dapat menilainya dengan memeriksa plot sisa atau plot komponen-plus-residual (partial residual). Jika sisa menampilkan pola melengkung, hal ini dapat mengindikasikan pelanggaran asumsi linearitas yang dapat membias estimasi model Anda.
Uji apa yang dapat saya gunakan untuk memeriksa homoskedastisitas dalam regresi linear multivariat?⌄
Dalam regresi linear multivariat, asumsi homoskedastisitas mensyaratkan bahwa sisa memiliki varians konstan di seluruh tingkat prediktor. Uji Breusch–Pagan adalah metode yang banyak digunakan untuk mendeteksi heteroskedastisitas. Hasil yang signifikan menunjukkan bahwa varians galat tidak konstan, yang dapat menyebabkan estimasi tidak efisien dan standar error yang tidak andal.
Bagaimana saya dapat mendeteksi multikolinearitas dalam regresi linear multivariat?⌄
Untuk mendeteksi multikolinearitas dalam regresi linear multivariat, Anda dapat menggunakan Variance Inflation Factor (VIF). VIF mengukur seberapa besar varians koefisien regresi meningkat akibat korelasi dengan prediktor lain. VIF di atas 10 umumnya dianggap sebagai tanda bahaya, yang menunjukkan bahwa prediktor sangat kolinear dengan yang lain dan dapat mendistorsi estimasi model.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Terkadang Anda perlu memprediksi lebih dari satu hal sekaligus, seperti memprakirakan penjualan dan churn pelanggan menggunakan data yang sama.
Dalam artikel ini, saya akan mengajarkan Anda cara melakukan multi-task seperti ini. Saya akan mengajarkan Anda tentang regresi linear multivariat. Anda akan mempelajari apa itu, bagaimana cara kerjanya, kapan menggunakannya, dan bagaimana menerapkannya dalam praktik. Pada akhirnya, Anda akan siap menerapkannya pada masalah dunia nyata.
Jika Anda baru dalam regresi, Anda mungkin ingin meninjau Introduction to Regression in R kami atau Introduction to Regression with statsmodels in Python terlebih dahulu.
Apa Itu Regresi Linear Multivariat?
Regresi linear multivariat adalah teknik statistik yang memodelkan hubungan antara beberapa variabel independen dan beberapa variabel dependen. Teknik ini kadang-kadang tertukar dengan regresi linear berganda karena terdengar mirip, dan saya juga pernah keliru. Namun regresi linear berganda menggunakan beberapa prediktor untuk mengestimasi satu outcome tunggal, sedangkan multivariat dirancang untuk situasi ketika Anda perlu memprediksi lebih dari satu outcome pada saat yang sama.
Landasan Teoretis dan Penyusunan Model
Saya baru saja memberi gambaran tentang apa itu regresi multivariat dan kapan menggunakannya. Sekarang mari masuk ke bagaimana struktur modelnya dan asumsi apa yang mendasarinya.
Representasi matriks
Regresi multivariat menggunakan susunan berbasis matriks untuk memodelkan beberapa outcome sekaligus:
Dengan:
Pendekatan ini menyadari bahwa suku galat untuk variabel respons yang berbeda bisa saling berkorelasi, sehingga menghasilkan estimasi parameter yang lebih efisien dibandingkan model univariat terpisah.
Asumsi
Sebelum menggunakan model, penting untuk memahami asumsi yang harus dipenuhi—dan apa yang harus dilakukan jika tidak terpenuhi.
Jika asumsi-asumsi ini tidak terpenuhi, Anda perlu beradaptasi. Misalnya, coba transformasi variabel untuk mengatasi masalah nonlinier atau normalitas, beralih ke kuadrat terkecil berbobot untuk menangani heteroskedastisitas, atau gunakan regresi ridge untuk masalah kolinearitas.
Menangani variabel kategorikal
Jika Anda bekerja dengan variabel kategorikal, Anda perlu mengonversinya terlebih dahulu menjadi variabel dummy.
Untuk variabel kategorikal dengan k kategori, buat k-1 variabel dummy. Ini mencegah redundansi yang dikenal sebagai perangkap variabel dummy. Kategori yang tidak disertakan menjadi tingkat referensi. Koefisien Anda kemudian mencerminkan perbedaan relatif terhadap baseline tersebut. Jadi ada baiknya memilih satu yang memudahkan interpretasi.
Teknik Estimasi dan Efisiensi
Dengan struktur model dan asumsi yang sudah jelas, mari lihat bagaimana koefisien diestimasi, dan bagaimana perbandingan berbagai metode dari segi efisiensi dan akurasi.
Kuadrat terkecil biasa (OLS)
OLS adalah titik awal default dan secara alami diperluas ke pengaturan multivariat. Metode ini memberikan estimasi koefisien yang tidak bias selama asumsi terpenuhi. Meskipun estimasi individualnya sama seperti menjalankan regresi terpisah, keuntungannya di sini adalah sisa dibagi sehingga Anda dapat menguji hipotesis bersama di berbagai outcome.
Dalam kasus di mana outcome berkorelasi, OLS multivariat menangkap hubungan tersebut, sering kali (meski tidak selalu) meningkatkan kualitas prediksi secara keseluruhan.
Teorema Gauss–Markov
Anda mungkin bertanya-tanya mengapa OLS begitu banyak digunakan. Teorema Gauss–Markov menjelaskannya: Di bawah asumsi tertentu, OLS adalah Best Linear Unbiased Estimator (BLUE). Artinya, OLS memberikan varians sekecil mungkin di antara semua penaksir linear tak bias dengan asumsi kondisi umum seperti tidak ada multikolinearitas, hubungan linear, dan varians konstan terpenuhi.
Kuadrat terkecil berbobot (WLS)
Namun bagaimana jika kondisi tersebut tidak terpenuhi, khususnya varians konstan? Dalam kasus ini, saya mempertimbangkan WLS. Metode ini memberikan bobot lebih besar pada observasi dengan varians galat lebih rendah dan bobot lebih kecil pada observasi yang lebih bising.
WLS menyesuaikan proses OLS dengan menambahkan matriks bobot. Anda bisa memperkirakan bobot menggunakan sisa dari model OLS atau berdasarkan pengetahuan teoretis tentang struktur galat data Anda.
Metode shrinkage
Selanjutnya, mari beralih ke skenario dengan data berdimensi tinggi atau multikolinearitas. Metode shrinkage berguna di sini. Metode ini mengizinkan sedikit bias sebagai ganti pengurangan varians, yang sering membantu prediksi.
Regresi ridge menambahkan penalti L2 (λ||B||²), menyusutkan semua koefisien menuju nol. Ini berguna ketika setiap prediktor mungkin menyumbang sesuatu. LASSO menerapkan penalti L1 yang dapat meniadakan beberapa koefisien sepenuhnya—membantu pemilihan variabel. Elastic net menggabungkan keduanya, membantu saat prediktor berkorelasi sambil tetap melakukan seleksi.
Evaluasi Model dan Inferensi
Setelah membahas estimasi, mari beralih ke evaluasi seberapa baik kinerja model Anda dan bagaimana menarik kesimpulan yang bermakna darinya.
Goodness-of-fit
R-kuadrat multivariat memberi gambaran tentang seberapa besar variasi keseluruhan yang dijelaskan model Anda di seluruh outcome. Tidak seperti versi univariat, versi ini sering menggunakan determinan matriks kovarians sisa dan mungkin tidak selalu berada dalam rentang 0 hingga 1.
Adjusted R-squared sangat penting dalam pengaturan multivariat karena jumlah parameter Anda meningkat cepat dengan banyaknya outcome. Ini membantu menghindari overfitting dengan menghukum kompleksitas.
Alat visual seperti elips kepercayaan juga dapat membantu. Elips ini menunjukkan ketidakpastian dalam prediksi dan bagaimana variabel outcome saling terkait. Elips berbentuk lingkaran menunjukkan independensi; elips memanjang menunjukkan korelasi yang kuat.
Pengujian hipotesis
Ketika Anda ingin tahu apakah model Anda melakukan lebih dari sekadar menyesuaikan derau, pengujian hipotesis adalah kuncinya.
Lambda Wilks menguji apakah prediktor tertentu memiliki pengaruh signifikan di seluruh kumpulan outcome. Uji ini membandingkan matriks kovarians galat dari model penuh dan model tereduksi untuk menentukan apakah menghapus prediktor tertentu akan secara signifikan meningkatkan varians yang tidak dijelaskan.
T² Hotelling bekerja seperti uji t multivariat. Uji ini mengevaluasi apakah prediktor tertentu memengaruhi setidaknya satu outcome, dengan mempertimbangkan korelasi antar-outcome.
Pengujian bersama membantu mengelola risiko positif palsu saat menguji banyak hipotesis sekaligus. Ini berguna dalam regresi multivariat, di mana perbandingan ganda dapat dengan cepat menjadi berlebihan.
Perbandingan model
Untuk memutuskan di antara model, kriteria seperti AIC dan BIC sangat berguna. Keduanya menyesuaikan terhadap kompleksitas, yang sangat penting saat memodelkan banyak outcome. AIC lebih berfokus pada kekuatan prediktif, sedangkan BIC cenderung memilih model yang lebih sederhana.
Anda juga dapat menggunakan uji rasio likelihood untuk membandingkan model bertingkat. Uji ini memeriksa apakah menambahkan prediktor secara signifikan meningkatkan kesesuaian model.
Topik Lanjutan dan Use Case
Regresi multivariat standar bekerja dengan baik untuk banyak masalah, tetapi terkadang Anda akan menghadapi situasi yang memerlukan pendekatan khusus. Mungkin Anda berurusan dengan ratusan prediktor, atau variabel Anda saling memengaruhi dengan cara yang melanggar asumsi standar. Berikut cara menangani (sebagian) skenario yang lebih rumit ini.
Seleksi fitur
Saat Anda bekerja dengan banyak prediktor, seleksi fitur menjadi esensial baik untuk kinerja maupun keterjelasan interpretasi. LASSO (singkatan dari ‘Least Absolute Shrinkage and Selection Operator’) menonjol di sini karena dapat secara otomatis meniadakan prediktor yang tidak relevan sambil menyesuaikan model.
Tidak seperti regresi ridge, yang menyusutkan semua koefisien ke arah nol tetapi tetap mempertahankannya, LASSO menggunakan penalti L1 yang menghasilkan solusi jarang (sparse). Ini sangat baik ketika Anda menduga hanya sebagian dari prediktor Anda yang benar-benar penting.
Menangani endogenitas
Terkadang prediktor Anda memengaruhi outcome sekaligus dipengaruhi oleh outcome tersebut. Saya memikirkan bagaimana pendidikan memengaruhi pendapatan, tetapi pendapatan juga memengaruhi akses ke pendidikan. Ini menciptakan apa yang disebut endogenitas, yang membuat estimasi regresi standar tidak andal.
Variabel instrumental menyelesaikannya dengan proses dua tahap. Pertama, Anda menemukan "instrumen", yaitu variabel yang memengaruhi prediktor bermasalah Anda tetapi tidak secara langsung memengaruhi outcome Anda. Lalu Anda menggunakan instrumen ini untuk memprediksi bagian "bersih" dari prediktor Anda, dan menggunakan prediksi tersebut dalam regresi final. Ini seharusnya memutus atau membantu memutus hubungan sirkular dan kemudian memberikan estimasi yang andal atau lebih andal.
Implementasi di perangkat lunak
Sebagian besar paket statistik menangani regresi multivariat, meski dengan keunggulan yang berbeda-beda. Di Python,
sklearn.linear_model. LinearRegressionsecara native mendukung beberapa outcome untuk regresi multivariat sejati. Menurut saya,statsmodelsmenyediakan keluaran statistik yang lebih detail, termasuk uji hipotesis. Jika Anda salah satu programmer yang lebih menyukai bahasa R, Anda dapat tetap menggunakan fungsi bawaanlm()untuk model multivariat dasar, atau gunakan paketcaruntuk diagnostik yang lebih canggih.Alternatif seperti PLS
Partial Least Squares (PLS) berguna ketika Anda memiliki lebih banyak prediktor daripada observasi, atau ketika multikolinearitas menimbulkan masalah. Alih-alih menggunakan semua prediktor secara langsung, PLS membuat variabel laten yang menangkap informasi paling relevan untuk memprediksi outcome Anda. Pendekatan ini bekerja sangat baik di bidang seperti kemometri dan bioinformatika, di mana Anda mungkin memiliki ratusan atau ribuan prediktor tetapi relatif sedikit observasi.
PLS menemukan arah dalam ruang prediktor Anda yang menjelaskan baik varians prediktor maupun kovarians outcome. Ini sangat berguna ketika akurasi prediksi lebih penting daripada interpretasi. MLR standar dapat menjadi tidak stabil dengan banyak prediktor yang berkorelasi, tetapi PLS tetap stabil bahkan dalam situasi menantang.
Elips kepercayaan
Interval kepercayaan sederhana tidak bekerja baik untuk prediksi multivariat karena mengabaikan korelasi antar-outcome. Elips kepercayaan menampilkan ketidakpastian bersama untuk pasangan outcome, memperlihatkan bagaimana kesalahan prediksi berkorelasi di berbagai variabel respons. Elips ini memberi tahu Anda struktur hubungan dalam prediksi. Elips berbentuk lingkaran berarti outcome Anda diprediksi secara independen, sedangkan elips memanjang menunjukkan korelasi yang kuat.
Orientasi elips memanjang menunjukkan kombinasi linear outcome mana yang memiliki ketidakpastian paling besar dan paling kecil. Anda dapat memplotnya untuk prediksi individual atau untuk estimasi parameter, dan elips ini berguna saat menyajikan hasil karena memberikan representasi visual yang intuitif tentang seberapa percaya diri Anda terhadap berbagai aspek prediksi.
Pertimbangan Praktis dan Contoh di Python
Beralih dari teori ke praktik berarti berurusan dengan data yang berantakan dan memastikan model Anda benar-benar bekerja. Berikut cara menangani sisi praktis regresi multivariat.
Prapemrosesan
Sebelum menyesuaikan model multivariat apa pun, Anda harus menata data Anda. Skala dan pemusatan sangat penting ketika prediktor Anda memiliki satuan yang berbeda. Bayangkan mencoba membandingkan pendapatan (dalam ribuan) dengan usia (dalam tahun) tanpa standardisasi. Sebagian besar algoritme bekerja lebih baik ketika fitur berada pada skala yang serupa.
Nilai hilang menjadi tantangan lain. Anda dapat menghapus baris dengan data hilang, tetapi ini membuang informasi dan dapat memperkenalkan bias. Pendekatan yang lebih baik termasuk imputasi rata-rata untuk variabel numerik atau menggunakan metode yang lebih canggih seperti imputasi berganda, yang membuat beberapa dataset yang masuk akal dan menggabungkan hasil di antaranya.
Validasi model
Cross-validation membantu Anda memahami seberapa baik model Anda menggeneralisasi di luar data pelatihan. Untuk regresi multivariat, k-fold cross-validation bekerja dengan membagi data Anda menjadi k kelompok, melatih pada k-1 kelompok, dan menguji pada kelompok yang tersisa. Ulangi ini k kali dan rata-ratakan hasilnya untuk mendapatkan estimasi kinerja yang tangguh.
Bootstrapping menawarkan pendekatan validasi lain yang sangat berguna untuk memahami ketidakpastian parameter. Metode ini membuat dataset baru dengan pensampelan ulang dengan pengembalian dari data asli Anda, menyesuaikan model pada setiap sampel bootstrap, dan memeriksa sebaran estimasi parameter. Ini memberi tahu Anda seberapa stabil koefisien Anda dan membantu membangun interval kepercayaan.
Studi kasus
Mari lihat contoh konkret menggunakan dataset pengujian material. Insinyur sering kali perlu memprediksi beberapa sifat beton—seperti kuat tekan dan kemudahan pengerjaan—berdasarkan komponen campuran seperti kadar semen, rasio air, dan jenis agregat. Ini sangat cocok untuk regresi multivariat karena outcome tersebut saling terkait tetapi berbeda.
Analisis dimulai dengan mengeksplorasi korelasi antara komponen campuran dan outcome, memeriksa multikolinearitas di antara prediktor, dan meninjau apakah hubungan terlihat linear. Setelah prapemrosesan (men-skala rasio campuran dan menangani pengukuran yang hilang), Anda akan menyesuaikan model multivariat dan memvalidasinya menggunakan cross-validation untuk memastikan prediksi tetap andal pada campuran beton baru.
Contoh kode
Berikut alur kerja dasar yang menunjukkan langkah utama di Python. Pertama, mari siapkan data dan lakukan prapemrosesan:
Langkah prapemrosesan ini menstandarkan semua prediktor agar memiliki mean nol dan varians satu, yang membantu stabilitas numerik dan interpretasi.
Selanjutnya, kita akan menyesuaikan model multivariat dan meninjau hasilnya:
Model
LinearRegressionmenyesuaikan satu regresi multivariat yang mempertimbangkan korelasi di antara semua outcome secara simultan. Koefisien memberi tahu Anda bagaimana setiap komponen campuran memengaruhi setiap sifat beton.Terakhir, mari validasi model untuk memeriksa keandalannya:
Cross-validation memberi Anda estimasi jujur tentang seberapa baik model bekerja pada data yang belum dilihat. Skor MSE per outcome membantu Anda memahami properti beton mana yang lebih mudah atau lebih sulit diprediksi secara akurat.
Keterbatasan dan Alternatif
Regresi linear multivariat bekerja baik untuk banyak masalah, tetapi memiliki batasan yang jelas. Batasan terbesar ada pada namanya—model ini mengasumsikan hubungan linear antara prediktor dan outcome. Ketika hubungan melengkung, sarat interaksi, atau nonlinier, MLR akan memberikan hasil yang bias. Dimensi tinggi menciptakan masalah lain: dengan banyak prediktor relatif terhadap observasi, model menjadi tidak stabil dan rentan terhadap overfitting.
Beberapa alternatif dapat menangani keterbatasan ini dengan lebih baik. Generalized Linear Models (GLM) memperluas kerangka kerja ke outcome nonnormal dan memungkinkan fungsi taut (link) yang berbeda. ANCOVA bekerja baik ketika Anda memiliki prediktor kontinu dan kategorikal dengan efek interaksi. Untuk masalah overfitting, metode regularisasi seperti ridge dan LASSO membantu, atau Anda dapat mencoba metode ansambel seperti random forest yang lebih alami menangani nonlinieritas dan dimensi tinggi.
Kesimpulan
Regresi linear multivariat memberi Anda cara yang solid untuk memodelkan beberapa outcome terkait secara simultan, menangkap hubungan yang akan terlewat oleh model univariat terpisah. Kekuatan utamanya terletak pada keterjelasan interpretasi, kemampuan pengujian statistik, dan efisiensi menangani outcome yang berkorelasi.
Apakah Anda bertahan dengan MLR standar atau beralih ke pendekatan lain seperti regresi terregularisasi, partial least squares, dan metode ansambel, bergantung pada karakteristik data, ukuran sampel, dan apakah prediksi atau interpretasi yang lebih penting untuk masalah spesifik Anda.
Jika Anda ingin mengasah keterampilan, kursus Intermediate Regression with statsmodels in Python kami membahas beberapa variabel penjelas dan efek interaksi, sementara Generalized Linear Models in R memperluas perangkat Anda untuk menangani sebaran nonnormal seperti sebaran binomial dan sebaran Poisson untuk data cacah.