1 Introduksi
1.1 Latar Belakang
Banyak respons di laboratorium pangan tidak bisa dijelaskan oleh satu prediktor saja. Skor sensori secara keseluruhan dipengaruhi oleh ratusan parameter fisikokimia; rendemen ekstraksi tergantung suhu, waktu, pH, dan rasio pelarut sekaligus; kualitas roti adalah fungsi dari kelembaban, protein, gula, dan suhu pemanggangan. Saat prediktor lebih dari satu dan beberapa di antaranya saling berkorelasi (mis. kelembaban berkorelasi dengan tekstur, yang juga berkorelasi dengan kekenyalan), regresi linier sederhana atau multiple linear regression (MLR) klasik bisa menjadi tidak stabil karena masalah multicollinearity.
Partial Least Squares Regression (PLSR; Wold, 1975; Wold, Sjöström, & Eriksson, 2001) adalah solusi modern untuk masalah ini. Berbeda dengan MLR yang langsung memetakan X → Y, PLSR membangun komponen laten — kombinasi linier dari prediktor yang memaksimumkan kovariansi dengan Y, lalu melakukan regresi pada komponen tersebut. Hasilnya: model yang robust terhadap multicollinearity, bekerja meski $p > n$ (lebih banyak prediktor daripada observasi), dan menyediakan VIP (Variable Importance in Projection) yang menunjukkan kontribusi relatif setiap prediktor.
1.2 Tujuan Modul
Modul Predict One Result from Many Variables di SQalytics ditujukan untuk:
- Membangun model PLSR multivariabel dari satu target numerik + ≥2 prediktor numerik.
- Memilih jumlah komponen optimal secara otomatis via cross-validation (atau manual bila diinginkan).
- Menyajikan kualitas prediksi: $R^2$ (fit), $Q^2$ (predictive power dari cross-validation), RMSE.
- Menampilkan VIP scores untuk identifikasi prediktor paling penting (VIP > 1 = penting).
- Menyajikan grafik Observed vs Predicted untuk diagnostik visual kualitas model.
- Audiens utama: mahasiswa S2 yang membangun model prediksi awal, peneliti yang punya banyak parameter QC dan ingin tahu mana yang paling memprediksi outcome, analis sensori yang menghubungkan parameter instrumental ke skor hedonik.
1.3 Posisi di Antara Alternatif
Pilih Predict One Result from Many Variables ketika Anda punya satu target numerik + ≥2 prediktor numerik dan ingin model prediksi awal. Untuk satu prediktor saja, pakai X vs Y Relationship. Untuk diagnostik PLSR mendalam (loadings plot, score plot, optimisasi komponen yang lebih granular), pakai PLSR Studio (Expert Desk). Untuk prediktor kategori atau campuran, pakai Compare 2 Factors atau Regression Studio. Untuk target kategori (klasifikasi), pakai Cluster Analysis Explorer atau modul ML khusus.
2 Metode
2.1 Dasar Teoretis
PLSR mengasumsikan bahwa variabilitas penting dalam prediktor $\mathbf{X}$ (matriks $n \times p$) dan respons $\mathbf{y}$ (vektor $n \times 1$) dapat ditangkap oleh sejumlah kecil komponen laten $\mathbf{T}$ (matriks $n \times h$, $h \ll p$). Setiap komponen laten adalah kombinasi linier dari prediktor:
$$ \mathbf{t}_a = \mathbf{X} \mathbf{w}_a $$di mana $\mathbf{w}_a$ adalah weight vector untuk komponen ke-$a$, dipilih untuk memaksimumkan kovariansi $\text{cov}(\mathbf{t}_a, \mathbf{y})$ dengan kendala $\|\mathbf{w}_a\| = 1$.
Pemilihan jumlah komponen ($h$) dilakukan dengan k-fold cross-validation (default $k = 7$ atau leave-one-out untuk $n$ kecil). Untuk setiap $h$ kandidat, hitung $Q^2$ — proporsi variansi $\mathbf{y}$ yang dapat diprediksi pada fold yang ditahan. Pilih $h$ yang memaksimumkan $Q^2$ tanpa overfitting.
Variable Importance in Projection (VIP) menghitung seberapa penting setiap prediktor dalam membangun komponen yang memprediksi $\mathbf{y}$:
- $\text{VIP}_j > 1$ → prediktor penting (di atas rata-rata).
- $\text{VIP}_j < 0.5$ → prediktor lemah, kandidat untuk dihapus.
Distinction antara $R^2$ dan $Q^2$:
- $R^2$ menggambarkan fit model pada data training (selalu naik dengan tambah komponen — risiko overfitting).
- $Q^2$ menggambarkan predictive power pada data baru — naik sampai titik optimum lalu turun.
- Jarak $R^2 - Q^2$ yang besar menandakan overfitting. Sebaliknya, $Q^2$ tinggi yang dekat $R^2$ = model robust.
2.2 Persamaan Inti
- Inisialisasi $\mathbf{u} = \mathbf{y}$.
- Hitung weight: $\mathbf{w} = \mathbf{X}^T \mathbf{u} / (\mathbf{u}^T \mathbf{u})$, normalisasi: $\mathbf{w} \leftarrow \mathbf{w} / \|\mathbf{w}\|$.
- Hitung score: $\mathbf{t} = \mathbf{X} \mathbf{w}$.
- Hitung loading $q$ untuk $\mathbf{y}$: $q = \mathbf{y}^T \mathbf{t} / (\mathbf{t}^T \mathbf{t})$.
- Update $\mathbf{u} = \mathbf{y} q$.
- Hitung loading $\mathbf{p}$ untuk $\mathbf{X}$: $\mathbf{p} = \mathbf{X}^T \mathbf{t} / (\mathbf{t}^T \mathbf{t})$.
- Deflasi: $\mathbf{X} \leftarrow \mathbf{X} - \mathbf{t} \mathbf{p}^T$, $\mathbf{y} \leftarrow \mathbf{y} - \mathbf{t} q$.
Prediksi $\hat{y}_i$ dari komponen $h$:
$$ \hat{y}_i = \sum_{a=1}^{h} t_{ia} q_a $$Goodness of fit:
$$ R^2 = 1 - \frac{\sum_{i}(y_i - \hat{y}_i)^2}{\sum_{i}(y_i - \bar{y})^2} $$Predictive power dari cross-validation:
$$ Q^2 = 1 - \frac{\text{PRESS}}{\text{SS}_{\text{tot}}}, \quad \text{PRESS} = \sum_{i=1}^{n}(y_i - \hat{y}_{(-i)})^2 $$di mana $\hat{y}_{(-i)}$ adalah prediksi untuk observasi ke-$i$ saat observasi tersebut dikeluarkan dari training (leave-one-out CV).
VIP score untuk prediktor ke-$j$ pada model dengan $h$ komponen:
$$ \text{VIP}_j = \sqrt{p \cdot \frac{\sum_{a=1}^{h} w_{ja}^2 \cdot \text{SSY}_a / \text{SSY}_{\text{total}}}{1}} $$dengan $\text{SSY}_a$ = sum of squares of $\mathbf{y}$ explained by komponen ke-$a$.
RMSE (Root Mean Square Error):
$$ \text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2} $$2.3 Asumsi & Batas Validitas
| Asumsi | Konsekuensi jika dilanggar | Cara cek di SQalytics |
|---|---|---|
| Hubungan X ↔ Y secara umum linier | Komponen latent tidak optimal | Inspeksi visual Observed vs Predicted |
| Prediktor numerik | PLSR tidak menerima string | Data Editor → cek tipe kolom |
| Target numerik | Untuk klasifikasi pakai PLS-DA (Expert Desk) | Modul tolak target kategori |
| Minimal $n \geq 3 \times$ jumlah komponen | Estimasi tidak stabil | Modul beri peringatan |
| Kolom prediktor tidak terlalu mirip ($\rho < 0.99$) | Multicollinearity ekstrem masih dapat ditangani PLSR | Modul tidak menolak |
3 Cara Kerja
3.1 Step-by-Step di SQalytics
- Buka
Predict One Result from Many Variablesdari domain Statistika Terapan di sidebar. - Pada langkah
Pick the question, pastikan tabel aktif sudah siap. - Pada langkah
Pick the columns, pilih:- Target result column — satu kolom respons numerik (mis.
Yield_pct). - Predictor columns — minimal 2 kolom prediktor numerik.
- Target result column — satu kolom respons numerik (mis.
- Pada langkah
SQalytics checks the data, pilih mode komponen:Auto components— modul memilih jumlah optimal via cross-validation (paling aman).Choose components myself— Anda menentukanComponent countmanual.
- Klik Run Analysis.
- Tinjau hasil: kesimpulan ringkas → tabel
Model quality→ tabelComponent comparison→ tabelVIP scores→ grafikObserved vs Predicted+VIP bar chart. - Ekspor TXT atau lampiran scientific soundness bila perlu.
3.2 Template Tabel Input + Contoh Data Sintetis
Skema tabel input minimum:
| Kolom | Tipe | Satuan | Wajib | Catatan |
|---|---|---|---|---|
target_y | numeric | sesuai konteks | ✓ | Satu kolom respons |
predictor_1 ... predictor_p | numeric | sesuai konteks | ✓ | Minimal 2 kolom prediktor |
Contoh data sintetis (13 baris, 1 target + 4 prediktor):
| Yield_pct | Moisture | Protein | Texture | ColorScore |
|---|---|---|---|---|
| 72.4 | 18.2 | 12.8 | 35.2 | 6.5 |
| 71.8 | 18.5 | 12.6 | 34.8 | 6.3 |
| 73.1 | 17.9 | 13.1 | 35.5 | 6.7 |
| 72.0 | 18.3 | 12.9 | 35.0 | 6.4 |
| 78.5 | 16.4 | 14.2 | 42.1 | 7.8 |
| 79.1 | 16.1 | 14.5 | 42.8 | 7.9 |
| 77.9 | 16.8 | 14.0 | 41.5 | 7.6 |
| 78.8 | 16.3 | 14.3 | 42.4 | 7.7 |
| 76.2 | 17.0 | 13.7 | 39.6 | 7.2 |
| 76.8 | 16.7 | 13.9 | 40.2 | 7.3 |
| 75.9 | 17.2 | 13.5 | 39.3 | 7.1 |
| 76.5 | 16.9 | 13.8 | 39.8 | 7.4 |
| 78.8 | 16.3 | 14.3 | 42.4 | 7.7 |
docs/assets/example-data/id/statistics/template_stats_groups.csv.
3.3 Contoh Luaran
Tabel Model quality (mode Auto components):
| Parameter | Nilai | Interpretasi |
|---|---|---|
| Jumlah komponen ($h$) | 2 | Optimal via CV |
| $R^2$ (fit) | 0.998 | Model menjelaskan 99.8% variansi |
| $Q^2$ (predictive power) | 0.991 | Predictive power sangat tinggi |
| $R^2 - Q^2$ | 0.007 | Selisih kecil → tidak overfit |
| RMSE | 0.31 % | Error prediksi rata-rata |
| $n$ training | 13 | — |
| $p$ prediktor | 4 | — |
Tabel Component comparison (validasi pilihan otomatis):
| Komponen ($h$) | $R^2$ | $Q^2$ | RMSE | Rekomendasi |
|---|---|---|---|---|
| 1 | 0.987 | 0.978 | 0.81 | Baik |
| 2 | 0.998 | 0.991 | 0.31 | Optimal ⭐ |
| 3 | 0.999 | 0.989 | 0.28 | Sedikit overfit |
| 4 | 0.999 | 0.984 | 0.27 | Overfit |
VIP scores (visualisasi bar chart):
Grafik utama (2 panel):
- Observed vs Predicted — scatter $y_i$ vs $\hat{y}_i$ dengan garis identitas $y = x$. Titik dekat garis = prediksi akurat. RMSE muncul sebagai annotation.
- VIP bar chart — bar horizontal per prediktor diurut dari VIP tertinggi, dengan garis vertikal merah pada VIP = 1 (threshold importance).
4 Kesimpulan
4.1 Relevansi Real-World
PLSR adalah metode prediksi multivariabel paling banyak dipakai di chemometrics modern — yaitu cabang kimia yang menggunakan statistik dan machine learning untuk analisis data analitik (Wold et al., 2001). Contoh konkret di laboratorium pangan dan farmasi:
- NIR/FTIR prediction of macronutrients — memprediksi protein, lemak, karbohidrat dari spektrum NIR (sering ratusan band) tanpa wet-lab analysis. PLSR adalah workhorse untuk aplikasi ini.
- Sensory ↔ instrumental correlation — memprediksi skor hedonik konsumen dari parameter QC instrumental (pH, °Brix, viskositas, Hunter L*a*b*, dll.).
- Process optimization — memprediksi rendemen ekstraksi dari kombinasi suhu, waktu, pH, rasio pelarut, kecepatan agitasi.
- Shelf-life prediction — memprediksi umur simpan dari profil oksidasi (peroksida), aktivitas air, dan parameter mikrobiologi awal.
Dalam konteks publikasi IMRAD, output VIP + Observed-vs-Predicted menjadi Figure utama di bagian Hasil — terutama untuk paper chemometrics di jurnal seperti Food Chemistry, Journal of Agricultural and Food Chemistry, atau Talanta. Pada Rencana Publikasi Singkil v5, prinsip PLSR-style scoring dipakai pada Tahap 1 skoring komposit tertimbang — meski perhitungannya manual berbasis literatur, alur "banyak prediktor → satu target IC₅₀" adalah PLSR conceptual.
4.2 Where to Go from Here
Modul lanjutan di SQalytics:
Pembacaan lanjutan:
- Eriksson, L., Byrne, T., Johansson, E., Trygg, J., & Vikström, C. (2013). Multi- and megavariate data analysis: Basic principles and applications (3rd ed.). Umetrics — buku referensi PLSR yang paling komprehensif.
- Næs, T., Isaksson, T., Fearn, T., & Davies, T. (2002). A user-friendly guide to multivariate calibration and classification. NIR Publications — sangat praktis untuk aplikasi NIR/FTIR.
- Dataset publik untuk benchmarking: PLS Toolbox demo data (Eigenvector Research), NIR wheat protein dari Penn State Chemometrics dataset.
⚙ Troubleshooting Cepat
Correlation Explorer untuk menyaring kandidat kolom; hapus prediktor dengan VIP < 0.5 dari model.X vs Y Relationship untuk satu prediktor terpenting saja.i Riwayat Revisi
Riwayat Revisi Panduan
| Tanggal | Revisi | Penulis |
|---|---|---|
| 2026-05-12 | Migrasi MD v2 → HTML final (KaTeX rendered + TOC + algoritma box ungu + VIP bar chart visual) | Claude |
| 2026-05-12 | Migrasi v1 → v2 (template publikasi) | Claude |
| 2026-05-09 | Draft awal v1 | Tim docs |
4 Referensi
- Mehmood, T., Liland, K. H., Snipen, L., & Sæbø, S. (2012). A review of variable selection methods in partial least squares regression. Chemometrics and Intelligent Laboratory Systems, 118, 62–69. https://doi.org/10.1016/j.chemolab.2012.07.010
- Wold, H. (1966). Estimation of principal components and related models by iterative least squares. In P. R. Krishnaiah (Ed.), Multivariate analysis (pp. 391–420). Academic Press.
- Wold, H. (1975). Soft modeling by latent variables: The nonlinear iterative partial least squares (NIPALS) approach. Journal of Applied Probability, 12(S1), 117–142. https://doi.org/10.1017/S0021900200047604
- Wold, S., Sjöström, M., & Eriksson, L. (2001). PLS-regression: A basic tool of chemometrics. Chemometrics and Intelligent Laboratory Systems, 58(2), 109–130. https://doi.org/10.1016/S0169-7439(01)00155-1