Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Konsep-regresi-linier-dalam-permodelan-karbon

Repositori di GitHub

Penulis: Defani Arman Alfitriansyah

Fakultas Kehutanan dan Lingkungan, Universitas Kuningan, Tahun 2025


Analisis ini bertujuan untuk membangun model regresi linier berganda untuk memprediksi biomassa (AGC_ton_per_ha) berdasarkan beberapa variabel independen: NDVI, IRECI, dan TRVI. Model regresi linier berganda menggambarkan hubungan linier antara variabel dependen dan beberapa variabel independen. Dalam kasus ini, biomassa (AGC_ton_per_ha) adalah variabel dependen (yy), dan NDVI, IRECI, serta TRVI adalah variabel independen (x1,x2,x3x_1, x_2, x_3). Rumus umum model regresi linier berganda adalah:

y=β0+β1x1+β2x2+⋯+βnxn+ϵy = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_n x_n + \epsilon

Di mana:

Langkah-langkah yang dilakukan dalam analisis ini meliputi:

  1. Memuat Data: Data biomassa, yang mencakup kolom ID, NDVI, IRECI, TRVI, dan AGC_ton_per_ha, dimuat dari file Excel menggunakan library pandas. Pandas (import pandas as pd) adalah library fundamental dalam Python untuk manipulasi dan analisis data tabular, menyediakan struktur data seperti DataFrame yang memudahkan pengelolaan data.

  2. Persiapan Data untuk Regresi: Variabel independen (NDVI, IRECI, TRVI) dan variabel dependen (AGC_ton_per_ha) dipisahkan dari DataFrame utama. Untuk analisis menggunakan library statsmodels, yang digunakan untuk analisis statistik yang lebih mendalam dibandingkan sklearn.linear_model, sebuah kolom konstanta dengan nilai 1 ditambahkan ke variabel independen. Penambahan konstanta ini (Xsm=sm.add_constant(X)X_{sm} = sm.add\_constant(X)) memungkinkan model untuk menghitung intercept. Statsmodels (import statsmodels.api as sm) menyediakan berbagai model statistik dan hasil ringkasan yang detail.

  3. Pelatihan Model Regresi: Model regresi linier berganda dilatih menggunakan fungsi OLS (Ordinary Least Squares) dari library statsmodels. Metode OLS bertujuan untuk meminimalkan jumlah kuadrat error antara nilai aktual dan nilai prediksi. Proses pelatihan dilakukan dengan model_sm = sm.OLS(y, X_sm).fit(). Hasil dari proses fitting ini mencakup estimasi koefisien regresi (β\beta values), p-value untuk signifikansi setiap koefisien, dan statistik keseluruhan model.

  4. Evaluasi Model dan Visualisasi: Kinerja model dievaluasi menggunakan dua metrik utama: R-squared dan Root Mean Squared Error (RMSE).

    • R-squared (R2R^2): Menunjukkan proporsi variabilitas dalam variabel dependen yang dapat dijelaskan oleh variabel independen dalam model. Nilai R-squared berkisar antara 0 hingga 1; nilai yang lebih tinggi menunjukkan model yang lebih baik dalam menjelaskan variabilitas data. Rumusnya adalah:

      R2=1−SSRSSTR^2 = 1 - \frac{\text{SSR}}{\text{SST}}

      Di mana SSR (Sum of Squares of Residuals) adalah jumlah kuadrat selisih antara nilai aktual dan prediksi, dan SST (Total Sum of Squares) adalah jumlah kuadrat selisih antara nilai aktual dan rata-rata nilai aktual.

    • Root Mean Squared Error (RMSE): Mengukur rata-rata besar error antara nilai prediksi dan nilai aktual. RMSE dihitung sebagai akar kuadrat dari Mean Squared Error (MSE). Nilai RMSE yang lebih rendah menunjukkan error prediksi yang lebih kecil dan kinerja model yang lebih baik. Rumusnya adalah:

      RMSE=1N∑i=1N(yi−y^i)2\text{RMSE} = \sqrt{\frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i)^2}

      Di mana NN adalah jumlah observasi, yiy_i adalah nilai aktual, dan y^i\hat{y}_i adalah nilai prediksi. Visualisasi perbandingan antara nilai aktual dan prediksi dibuat menggunakan scatter plot (seaborn.scatterplot) dengan garis diagonal (nilai aktual = nilai prediksi) sebagai referensi (matplotlib.pyplot.plot). Visualisasi ini membantu menilai seberapa dekat titik-titik data dengan garis referensi. Matplotlib.pyplot (import matplotlib.pyplot as plt) adalah library dasar untuk membuat grafik, sementara Seaborn (import seaborn as sns) menyediakan antarmuka tingkat tinggi untuk visualisasi statistik yang lebih menarik.

  5. Analisis Korelasi: Matriks korelasi antar variabel (kecuali kolom ID yang tidak relevan) dihitung menggunakan fungsi .corr() dari pandas. Matriks korelasi menampilkan koefisien korelasi Pearson antar setiap pasangan variabel. Koefisien korelasi (rr) mengukur kekuatan dan arah hubungan linier antara dua variabel, dengan nilai berkisar antara -1 (korelasi negatif sempurna) hingga 1 (korelasi positif sempurna), dan 0 menunjukkan tidak ada korelasi linier. Koefisien Korelasi Pearson (rr) dihitung dengan rumus:

r=∑i=1n(xi−xˉ)(yi−yˉ)∑i=1n(xi−xˉ)2∑i=1n(yi−yˉ)2r = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n} (x_i - \bar{x})^2} \sqrt{\sum_{i=1}^{n} (y_i - \bar{y})^2}}

dengan:

Nilai rr berkisar antara -1 hingga 1:

Secara keseluruhan, analisis ini menggunakan kombinasi library pandas untuk manipulasi data, sklearn (diimpor meskipun tidak semua fungsinya digunakan secara eksplisit dalam sel yang ditampilkan, menunjukkan kemungkinan penggunaan di langkah lain atau impor umum), statsmodels untuk pemodelan regresi statistik mendalam, matplotlib, dan seaborn untuk visualisasi data dan hasil model. Alur kerja ini mencakup pemuatan data, persiapan data, pelatihan model regresi, evaluasi kinerja model, dan analisis korelasi antar variabel.

Notebook

Notebook dari repositori ini, tampil lengkap dengan sel kode dan hasilnya: