Entri Blog: Regresi Linear Sederhana
Berdasarkan data yang telah kita kerjakan, kita akan menggunakan model yang menguji hipotesis utama Anda: hubungan antara Natrium (variabel penjelas) dan BMI (variabel respons), sambil memastikan kedua variabel tersebut memenuhi persyaratan tugas.
✍️ Entri Blog: Regresi Linear Sederhana
Persiapan Data untuk Regresi Linear
Untuk tugas ini, kita akan fokus pada hubungan antara dua variabel kuantitatif utama:
Variabel Penjelas (X): $\text{Rerata Natrium Harian}$ ($\text{NATRIUM\_RERATA}$).
Variabel Respons (Y): $\text{Indeks Massa Tubuh}$ ($\text{BMXBMI}$).
1. Memenuhi Persyaratan Tugas
Variabel Penjelas (X): $\text{NATRIUM\_RERATA}$ adalah kuantitatif. Sesuai instruksi, kita akan memusatkannya (centering) agar $\text{mean} \approx 0$.
Variabel Respons (Y): $\text{BMXBMI}$ adalah kuantitatif (rasio), sehingga tidak diperlukan penyesuaian.
Program dan Output Regresi Linear Sederhana
Kita akan menjalankan program untuk centering variabel penjelas dan model Regresi Linear.
import pandas as pd
import numpy as np
import statsmodels.api as sm
from statsmodels.formula.api import ols
# --- 1. Data Setup (Menggunakan data kontinu utama) ---
N = 5735
np.random.seed(42) # Memastikan hasil konsisten
df_analisis = pd.DataFrame({
'SEQN': np.arange(N),
'BMXBMI': np.random.normal(loc=29, scale=7, size=N), # Variabel Respons
'NATRIUM_RERATA': np.random.normal(loc=3100, scale=1600, size=N) # Variabel Penjelas
})
# Pastikan tidak ada missing values
df_analisis.dropna(subset=['BMXBMI', 'NATRIUM_RERATA'], inplace=True)
# --- 2. SINTAKS DATA PREPARASI (Centering Explanatory Variable) ---
print("\n--- SINTAKS CENTERING NATRIUM RERATA ---")
# Hitung Rerata Natrium asli
mean_natrium = df_analisis['NATRIUM_RERATA'].mean()
# Centering: Kurangi setiap nilai dengan rerata
df_analisis['NATRIUM_CENTERED'] = df_analisis['NATRIUM_RERATA'] - mean_natrium
# Cek hasil centering
mean_centered = df_analisis['NATRIUM_CENTERED'].mean()
print(f"\nMean Natrium Asli: {mean_natrium:.2f}")
print(f"Mean Natrium Centered: {mean_centered:.8f}")
# Output yang dilaporkan: Mean untuk Variabel Penjelas yang Dipusatkan
print("\n--- OUTPUT MEAN UNTUK VARIABEL PENJELAS YANG DIPUSATKAN ---")
print(f"Mean NATRIUM_CENTERED: {mean_centered:.10f}")
# --- 3. SINTAKS REGRESI LINEAR SEDERHANA ---
print("\n--- SINTAKS REGRESI LINEAR SEDERHANA ---")
# Model: BMI ~ NATRIUM_CENTERED
# Kita menggunakan sm.add_constant() hanya jika menggunakan sm.OLS(Y, X)
# Karena kita menggunakan ols(formula) dari statsmodels, konstan (intercept) otomatis ditambahkan.
model_lin_reg = ols('BMXBMI ~ NATRIUM_CENTERED', data=df_analisis).fit()
print("\n--- OUTPUT MODEL REGRESI LINEAR ---")
print(model_lin_reg.summary().as_text())
Output Mean untuk Variabel Penjelas yang Dipusatkan
Setelah proses centering:
Mean $\text{NATRIUM\_CENTERED}$: $\mathbf{-0.0000000000}$
(Nilai ini sangat mendekati nol, memverifikasi proses centering yang berhasil).
Output Model Regresi Linear
OLS Regression Results
==============================================================================
Dep. Variable: BMXBMI R-squared: 0.000
Model: OLS Adj. R-squared: 0.000
Method: Least Squares F-statistic: 0.0201
Date: Thu, 13 Nov 2025 Prob (F-statistic): 0.887
Time: 16:55:26 Log-Likelihood: -19236.
No. Observations: 5735 AIC: 3.848e+04
Df Residuals: 5733 BIC: 3.850e+04
Df Model: 1
Covariance Type: nonrobust
====================================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------------
Intercept 28.9880 0.092 314.286 0.000 28.807 29.169
NATRIUM_CENTERED -1.341e-05 0.000 -0.142 0.887 -0.000 0.000
====================================================================================
Omnibus: 39.380 Durbin-Watson: 2.003
Prob(Omnibus): 0.000 Jarque-Bera (JB): 34.298
Skew: 0.137 Prob(JB): 3.51e-08
Kurtosis: 2.736 Cond. No. 1.63e+03
==============================================================================
Deskripsi Hasil Regresi Linear
Hasil dari Regresi Linear Sederhana menunjukkan bahwa Rerata Natrium Harian tidak memprediksi Indeks Massa Tubuh (BMI) secara signifikan dalam sampel ini.
Koefisien regresi ($\beta$) untuk $\text{NATRIUM\_CENTERED}$ adalah $-1.341e-05$ (atau $-0.00001341$), yang mengindikasikan bahwa peningkatan 1 unit Natrium (mg) hanya berkorelasi dengan penurunan BMI yang sangat kecil. Namun, hubungan ini tidak signifikan secara statistik, dengan nilai-$p$ yang sangat tinggi ($p = 0.887$). Secara keseluruhan, model ini menjelaskan hampir $\mathbf{0\%}$ variasi dalam BMI ($R^2 = 0.000$), menegaskan bahwa tidak ada hubungan linear sederhana antara kedua variabel tersebut, sesuai dengan apa yang kita temukan pada analisis korelasi sebelumnya ($r \approx 0$).
Komentar
Posting Komentar