regresi linier

4

Click here to load reader

Upload: lina-marlina

Post on 24-Jul-2015

805 views

Category:

Documents


45 download

TRANSCRIPT

Page 1: REGRESI LINIER

Nama : Lina Marlina

NIM : 109017000039

Kelas : PMTK – 6B1

Tugas Pemrograman Komputer 2

REGRESI LINIER PADA MATLAB

A. Pengertian

Regresi adalah sebuah teknik untuk memperoleh persamaan kurva pendekatan dari

titik-titik data.

Regresi linier merupakan suatu metode yang digunakan untuk menentukan fungsi

linier (garis lurus) yang paling sesuai dengan kumpulan titik data

{( xk , yk ) :k=1 ,…,n } yang diketahui.

Pernyataan matematis untuk fungsi linear tersebut yaitu : y=a0+a1 x+e

dengan e dinamakan galat atau sisa. Sisa adalah selisih antara pengamatan dengan

garis: e= y−a0+a1 x

Gambar Sebaran data dengan kurva linier

Dalam regresi linier ini yang dicari adalah nilai m dan c dari fungsi linier y=mx+c ,

dengan:

1

Page 2: REGRESI LINIER

m=N∑n=1

N

xn yn−(∑n=1

N

xn)(∑n=1

N

yn)N∑n=1

N

x2−(∑n=1

N

xn)2

c=(∑n=1

N

yn)N

−m(∑n=1

N

xn)N

= y−m x

B. Algoritma Regresi Linier

1) Tentukan N titik data yang diketahui dalam (x i , y i) untuk i=1,2,3,…,N

2) Hitung nilai m dan c dengan menggunakan formulasi dari regresi linier di atas

3) Tampilkan fungsi linier

4) Hitung fungsi linier tersebut dalam range xdan step dxtertentu

5) Tampilkan hasil tabel (xn , y n) dari hasil fungsi linier tersebut.

C. Contoh Program Regresi Linier pada MATLAB

Diberikan data sebagai berikut :

i 1 2 3 4 5 6 7 8 9

x i 1,5 1,8 2,4 3,0 3,5 3,9 4,4 4,8 5,0

y i 4,8 5,7 7,0 8,3 10,9 12,4 13,1 13,6 15,3

Programnya :

clcclear allx=[1.5 1.8 2.4 3.0 3.5 3.9 4.4 4.8 5.0];y=[4.8 5.7 7.0 8.3 10.9 12.4 13.1 13.6 15.3];n=9;sx=sum(x);sy=sum(y);x2=x*x';xy=x*y';m=(n*xy-sx*sy)/(n*x2-sx.^2);c=(sy-m*sx)/n;disp('LINA MARLINA (109017000039)')disp('____________________');disp(' Regresi Linear ');disp('____________________');disp(' x y ');disp('____________________');for xx=1:0.5:n yy=m*xx+c; disp(sprintf(' %4.1f %10.7f ', xx, yy))enddisp('____________________');disp(sprintf('m =%10.6f',m))

2

Page 3: REGRESI LINIER

disp(sprintf('c =%10.6f',c))disp(sprintf('Jadi, persamaannya, y = %10.7fx +%10.7f',m,c));xx=0:25;yy=m*xx+c;plot(x,y,'*',xx,yy)axis([0 5 0 15])title('data pengamatan')xlabel('x')ylabel('y')grid on

Output pada Command Window :

Grafiknya:

3