BelajarBIGDATA#15 Melakukan Analisis Regresi Linear dengan Python untuk Big data

Sebelum melakukan praktik analisis regresi secara langsung menggunakan bahasa pemrogramman python, saya ingin memberikan pemasahan singkat tentang analisis regresi terlebih dahulu supaya bisa mengikuti dan memahami apa itu analisis regresi dan bagaimana cara cara melakukanya. Selain itu penjelasan singkat juga akan membuka wawasan anda tentang fungsi melakukan analisis regresi.

Analisis regresi dengan python
Analisis Regresi adalah suatu satu metode yang cukup popular dalam mencari hubungan antara 2 variabel atau lebih. Variabel yang dikomputasi selanjutnya dikelompokkan menjadi variabel dependen (tidak bebas) yang biasanya dinotasikan dengan huruf Y dan variabel independen (bebas) yang biasanya dinotasikan dengan huruf X.

Apa perbedaan antara variabel dependen (tidak bebas) dan variabel independen (bebas). Perbedaanya adalah pada nilai yang ada, dimana variabel dependen memiliki variabel dengan nilai yang di pengaruhi oleh variabel independen, sedangkan independen memiliki nilai yang bebas alias tidak terpengaruh dari variabel apapun.

Cara Menghitung Analisis Regresi Linear

Unutk melakukan perhitungan analisis regresi menggunakan bahasa pemrogramman python kita membutuhkan beberapa library untuk memudahkan perhitungan dan penulisan kode kita, berikut di bawah ini adalah library yang kita butuhkan untuk melakukan analisis ini.

  • Pandas
  • Numpy
  • Statsmodels
  • Sklearn
  • Seaborn
Selanjutnya untuk melakukan analisis kita membutuhkan data yang harus di analisis, karena ini masih pembelajaran, saya sarankan untuk mengambil data berikut ini supaya anda bisa mengikuti bagaimana jalanya perhitungan analisis berdasarkan data berikut, silahkan anda download terlebih dahulu.

Link : https://notebooks.azure.com/novri-suhermi/libraries/regression-analysis

Untuk melancarkan proses perhitungan akan saya sebutkan langkah-langkah apa saja yang akan di lakukan untuk menghitung analisis regresi ini, berikut di bawah ini adalah langkah-langkah yang akan dilakukan untuk menghitung analisis regresi dengan python.
  1. Import Library
  2. Load dataset
  3. Analisis Korelasi
  4. Estimasi Parameter
  5. Uji Asumsi Residual
Sekarang mari kita mulai untuk melakukan penulisan kode python, media editor yang akan di gunakan anda bisa memilih bebas yang terpenting anda harus menginstall Anaconda terlebih dahulu, jika anda belum menginstallnya silahkan anda membuka halaman daftar isi pada website ini kemudian ikuti tutorial install anaconda python. Sara sarankan untuk menggunakan Jupyter dalam melakukan perhitungan ini.

Langkah 1 : Import Library python

import pandas as pd
import seaborn as sns
from statsmodels.tools.tools import add_constant
from statsmodels.regression.linear_model import OLS
from statsmodels.stats.diagnostic import acorr_ljungbox, het_white
from scipy.stats import kstest, shapiro

Langkah 2 : Load dataset

data = pd.read_csv('delivery.csv')

Langkah 3 : Visualisasi Data

sns.regplot(x='n.prod', y='delTime', fit_reg=False, data=data) #baris1
sns.regplot(x='distance', y='delTime', fit_reg=False, data=data) #baris2

Langkah 4 : Menghitung Koefisien Korelasi

data.corr()['delTime']

Langkah 5 : Menambahkan Constant

data = add_constant(data)

Langkah 6 : Estimasi Parameter (dua variabel)

model_all = OLS(data['delTime'], data[['const', 'n.prod', 'distance']])
result_all = model_all.fit()
print(result_all.summary())

Langkah 7 : Uji Asumsi Independen dan Heteroskedastisitas

chisq_stat, chisq_pval = acorr_ljungbox(residual)
print('statistik uji chi-square =', ['{0:.3f}'.format(val) for val in chisq_stat])
print('p-value =', ['{0:.3f}'.format(val) for val in chisq_pval])


het_result = het_white(residual, data[['const', 'n.prod', 'distance']])
print('LM stat = {0:.3f}'.format(het_result[0]))
print('LM p-value = {0:.3f}'.format(het_result[1]))
print('F stat = {0:.3f}'.format(het_result[2]))
print('F p-value = {0:.3f}'.format(het_result[3]))

Langkah 8 : Menampilkan Plot Histogram Residual

sns.distplot(model_residual, kde=False, norm_hist=False)

Langkah 9 : Uji Asumsi Normalitas Residual

model_residual = result_all.resid
kstest(model_residual, 'norm')

Output : KstestResult(statistic=0.24779196158296946, pvalue=0.07733486314041116)

shapiro(model_residual)

Output : (0.9515107870101929, 0.27110064029693604)

Pada langkah terakhir yaitu langkah sembilan anda dapat lihat pada output hasil kode pertama yang menampilkan pvalue=0.07733486314041116 lebih dari 0.05 yang artinya asumsi normalitas terpenuhi. Kemudian anda lihat pada output baris terakhir 0.27110064029693604 lebih dari 0.05 yang berarti asumsi normalitas juga terpenuhi.

No comments:

Powered by Blogger.