BELAJAR ANALISIS DAN BAHASA PEMROGRAMAN

Analisis Regresi Berganda Menggunakan Python

Pendahuluan

Analisis Regresi Berganda adalah metode statistik yang digunakan untuk mempelajari hubungan antara satu variabel terikat (variabel dependen) dengan dua atau lebih variabel bebas (variabel independen). Dalam artikel ini, kita akan membahas tentang bagaimana melakukan analisis regresi berganda menggunakan bahasa pemrograman Python.

Langkah-Langkah Analisis Regresi Berganda Menggunakan Python

  1. Import library yang diperlukan, seperti pandas, numpy, dan sklearn.
  2. Masukkan data ke dalam program Python, baik dari file CSV atau database.
  3. Lakukan preprocessing data, seperti membersihkan data, mengisi data kosong, dan melakukan scaling data.
  4. Pisahkan data menjadi data latih dan data uji.
  5. Lakukan training model regresi berganda dengan menggunakan data latih.
  6. Evaluasi performa model menggunakan data uji.
  7. Gunakan model untuk melakukan prediksi pada data yang belum diketahui.

Contoh Implementasi

Berikut adalah contoh implementasi analisis regresi berganda menggunakan Python:

	import pandas as pd
	import numpy as np
	from sklearn.linear_model import LinearRegression
	from sklearn.model_selection import train_test_split

	# Memasukkan data dari file CSV
	df = pd.read_csv('data.csv')

	# Preprocessing data
	# Mengisi data kosong dengan mean
	df = df.fillna(df.mean())

	# Scaling data
	X = df.iloc[:, :-1].values
	y = df.iloc[:, -1].values
	from sklearn.preprocessing import StandardScaler
	sc_X = StandardScaler()
	sc_y = StandardScaler()
	X = sc_X.fit_transform(X)
	y = sc_y.fit_transform(y.reshape(-1,1))

	# Membagi data menjadi data latih dan data uji
	X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

	# Melakukan training model regresi berganda
	regressor = LinearRegression()
	regressor.fit(X_train, y_train)

	# Evaluasi performa model
	y_pred = regressor.predict(X_test)
	from sklearn.metrics import r2_score
	print('R-squared: ', r2_score(y_test, y_pred))

	# Melakukan prediksi pada data baru
	new_data = np.array([5.1, 3.5, 1.4, 0.2]).reshape(1, -1)
	new_data = sc_X.transform(new_data)
	predicted_value = sc_y.inverse_transform(regressor.predict(new_data))
	print('Predicted value: ', predicted_value)
	

Pembahasan

Dalam contoh implementasi di atas, pertama-tama kita memasukkan data dari file CSV menggunakan library pandas. Kemudian, kita melakukan preprocessing data dengan mengisi data kosong dengan nilai mean dan melakukan scaling data menggunakan StandardScaler dari library sklearn.preprocessing. Selanjutnya, kita membagi data menjadi data latih dan data uji menggunakan train_test_split dari library sklearn.model_selection.

Setelah itu, kita melakukan training model regresi berganda dengan menggunakan LinearRegression dari library sklearn.linear_model. Kemudian, kita melakukan evaluasi performa model menggunakan r2_score dari library sklearn.metrics. Terakhir, kita menggunakan model yang sudah dilatih untuk melakukan prediksi pada data yang belum diketahui.

Contoh Kasus Analisis Regresi Berganda

Pada contoh kasus ini, kita akan menggunakan data harga rumah untuk membangun model analisis regresi berganda. Data yang digunakan terdiri dari beberapa variabel bebas, seperti jumlah kamar tidur, jumlah kamar mandi, luas tanah, dan luas bangunan, serta variabel terikat yaitu harga rumah.

Import Libraries

Langkah pertama yang harus dilakukan adalah mengimpor library yang akan digunakan. Pada contoh kasus ini, kita akan menggunakan library pandas, numpy, matplotlib, seaborn, sklearn, dan statsmodels.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import statsmodels.api as sm

Load Data

Setelah library diimpor, selanjutnya kita akan memuat data menggunakan library pandas. Data yang digunakan disimpan dalam file CSV dan akan dimuat ke dalam dataframe.

df = pd.read_csv('house_prices.csv')

Exploratory Data Analysis

Sebelum membangun model analisis regresi berganda, kita akan melakukan exploratory data analysis terlebih dahulu. Hal ini dilakukan untuk memahami karakteristik data dan melihat hubungan antara variabel bebas dan variabel terikat.

Statistik Deskriptif

Untuk melihat statistik deskriptif dari data, kita dapat menggunakan fungsi describe() dari library pandas.

df.describe()

Distribusi Data

Untuk melihat distribusi data, kita dapat menggunakan histogram dari library matplotlib atau seaborn. Pada contoh kasus ini, kita akan menggunakan histogram dari library seaborn.

sns.histplot(data=df, x="price", kde=True)

Hubungan antara Variabel

Untuk melihat hubungan antara variabel, kita dapat menggunakan scatter plot dari library matplotlib atau seaborn. Pada contoh kasus ini, kita akan menggunakan pairplot dari library seaborn.

sns.pairplot(df)

Model Building

Setelah melakukan exploratory data analysis, selanjutnya kita akan membangun model analisis regresi berganda. Pertama-tama, data akan dibagi menjadi data latih dan data uji menggunakan train_test_split dari library sklearn.model_selection.

X = df[['bedrooms', 'bathrooms', 'sqft_living', 'sqft_lot']]
y = df['price']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Kemudian, model regresi berganda akan dibangun menggunakan LinearRegression dari library sklearn.linear_model.

regressor = LinearRegression()
regressor.fit(X_train, y_train)

Setelah model dibangun, kita dapat melakukan prediksi terhadap data uji menggunakan predict() dari LinearRegression.

y_pred = regressor.predict(X_test)

Evaluation Metrics

Setelah melakukan prediksi terhadap data uji, kita dapat mengevaluasi performa model menggunakan beberapa metrics, seperti r-squared dan mean absolute error. Pada contoh kasus ini, kita akan menggunakan r-squared.

score = r2_score(y_test, y_pred)
print("R-Squared: {:.2f}".format(score))

Model Summary

Untuk melihat ringkasan dari model, kita dapat menggunakan library statsmodels.

X2 = sm.add_constant(X)
model = sm.OLS(y, X2).fit()
print(model.summary())

Kesimpulan

Berdasarkan hasil analisis regresi berganda pada contoh kasus ini, kita dapat menyimpulkan bahwa variabel bebas, seperti jumlah kamar tidur, jumlah kamar mandi, luas tanah, dan luas bangunan, mempengaruhi harga rumah. Model yang dibangun memiliki r-squared sebesar 0.69, yang berarti sekitar 69% variabel terikat dapat dijelaskan oleh variabel bebas. Namun, perlu diingat bahwa hasil ini hanya berlaku untuk data yang digunakan pada contoh kasus ini dan mungkin tidak dapat digeneralisasi ke populasi yang lebih besar.

Dengan melakukan analisis regresi berganda, kita dapat memahami hubungan antara satu variabel terikat dengan dua atau lebih variabel bebas. Hal ini dapat membantu kita untuk melakukan prediksi atau membuat keputusan yang lebih baik di masa depan.

Analisis Regresi Berganda Menggunakan Python Analisis Regresi Berganda Menggunakan Python Reviewed by Jimmy Pujoseno on March 21, 2023 Rating: 5

No comments:

Recent Post

Powered by Blogger.