Algorithm, Machine Learning, Programming, Python

Menggambar plot regresi linear menggunakan bahasa pemrograman python

Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Utk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).

Y = a + bX

Dimana :
Y = Variabel Response atau Variabel Akibat (Dependent)
X = Variabel Predictor atau Variabel Faktor Penyebab (Independent)
a = konstanta
b = koefisien regresi (kemiringan); besaran Response yang ditimbulkan oleh Predictor.

Nilai-nilai a dan b dapat dihitung dengan menggunakan Rumus dibawah ini :

a =   (Σy) (Σx²) – (Σx) (Σxy) / n(Σx²) – (Σx)²

b =   n(Σxy) – (Σx) (Σy) / n(Σx²) – (Σx)²

Berikut ini adalah tahap Analisis Regresi Linear Sederhana :

  1. Tentukan Tujuan dari melakukan Analisis Regresi Linear Sederhana
  2. Identifikasikan Variabel Faktor Penyebab (Predictor) dan Variabel Akibat (Response)
  3. Lakukan Pengumpulan Data
  4. Hitung  X², Y², XY dan total dari masing-masingnya
  5. Hitung a dan b berdasarkan rumus diatas.
  6. Buatkan Model Persamaan Regresi Linear Sederhana.
  7. Lakukan Prediksi atau Peramalan terhadap Variabel Faktor Penyebab atau Variabel Akibat.

Dan berikut adalah contoh data dan contoh program menggunakan bahasa pemrograman python.

screen-shot-2016-12-19-at-10-52-35-pm


import math
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model

xdata = [
	24,22,21,20,22,19,20,23,24,25,
	21,20,20,19,25,27,28,25,26,24,
	27,23,24,23,22,21,26,25,26,27
]
ydata = [
	10, 5, 6, 3, 6, 4, 5, 9,11,13,
	 7, 4, 6, 3,12,13,16,12,14,12,
	16, 9,13,11, 7, 5,12,11,13,14
]

# Create linear regression object
regr = linear_model.LinearRegression()
print(regr)

n = 30

# hitung sum x
xsum = 0
for x in xdata:
	xsum += x

# hitung sum y
ysum = 0
for y in ydata:
	ysum += y

# hitung sum x^2
xpowsum = 0
for x in xdata:
	xpow = math.pow(x,2)
	xpowsum += xpow

# hitung sum y^2
ypowsum = 0
for y in ydata:
	ypow = math.pow(y,2)
	ypowsum += ypow

# hitung sum xy
xysum = 0
for i in range(0,n):
	xy = xdata[i] * ydata[i]
	xysum += xy

# persamaan y = mx + c
m = (n * xysum - xsum * ysum) / (n * xpowsum - math.pow(xsum,2))
c = (ysum * xpowsum - xsum * xysum) / (n * xpowsum - math.pow(xsum,2))
y = m * n + c
print("Persamaan y = {}x + {}".format(m,c))

# jika y = 4 maka x
x = (4 - c) / m
print "jika nilai y = 4 maka nilai x adalah",x

# Plot outputs
plt.scatter(xdata, ydata,  color='red')

# plt.xticks(())
# plt.yticks(())

plt.show()

Terima kasih telah berkunjung. 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s