Model Regresi Linier Vs Non Linier

Berikut adalah data X=[x1 x2 x3] sebagai variabel bebas dan y sebagai variabel terikat:

>> [x1 x2 x3 y]

ans =

1.7400    5.3000   10.8000   25.5000

6.3200    5.4200    9.4000   31.2000

6.2200    8.4100    7.2000   25.9000

10.5200    4.6300    8.5000   38.4000

1.1900   11.6000    9.4000   18.4000

1.2200    5.8500    9.9000   26.7000

4.1000    6.6200    8.0000   26.4000

6.3200    8.7200    9.1000   25.9000

4.0800    4.4200    8.7000   32.0000

4.1500    7.6000    9.2000   25.2000

10.1500    4.8300    9.4000   39.7000

1.7200    3.1200    7.6000   35.7000

1.7000    5.3000    8.2000   26.5000

Akan dilakukan analisa  untuk mendapatkan model matematika yang terbaik guna merekontruksi nilai y berdasarkan data X dengan teori regresi linier dan regresi non linier.

Misal untuk persamaan regresi linier: y=b0 + b1x1+b2x2+b3x3+ …

Dan untuk regresi non linier seperti:  y = b0 + b1x1+b2x22+b3x33+ … ( Maksudnya  y=b0 + b1x1+b2x2^2+b3x3^3+ …)

SCRIP PROGRAM MATLAB UNTUK MODEL REGRESI LINIER

(Refrensi untuk membangun scrip komputasi dari buku Ilmu Peluang dan Statistika unutk Ilmuan dan Isiyur tulisan Walpole/Myers)

function [b]=reglinier(x,y);

[n m]=size(x);

X=[ones(n,1) x];

b=inv(X’*X)*X’*y;%Koefesien Regresi Hal:460

Y=X*b;%Data Regresi Hal 459

JKR=sum((Y-mean(y)).^2);%Hal 478

JKT=sum((y-mean(y)).^2);%Hal 478

JKG=sum((y-Y).^2);% Hal: 470

r2=JKR/JKT;%Hal: 478

kd=r2*100;%Hal:478

hold off

plot(y,’-*’);

hold on

plot(Y,’-or’)

legend(‘Aktual’,’Regresi’);

e=mean((y-Y).^2);

title(‘Rekontruksi data dengan Regresi Linier’)

xlabel(‘Nomor Data’)

ylabel(‘Nilai Data (y)’)

text(1,max(y)-0.5,[‘kd = ‘,num2str(kd),’% dan MSE = ‘,num2str(e)])

disp([‘kd = ‘,num2str(kd),’% dan MSE = ‘,num2str(e)])

>> reglinier([x2 x1 x3],y)

kd = 91.1724% dan MSE = 2.9751

ans =

39.1573

-1.8616

1.0161

-0.3433

Artinya diperoleh  model matematika: y = 39.1573 -1.8616x2 + 1.0161x1 – 03433x3

Grafik data aktual y dengan aproksimasi model linier adalah sbb:

Regresi Linier

SCRIPPROGRAM REGRESI NON LINIER

function [b]=regnonlinier(x,y);

[n m]=size(x);

X=ones(n,1);

for i=1:m

X=[X x(:,i).^i];%Data di pangkatkan sesui domor urutnya

end

b=inv(X’*X)*X’*y;%Koefesien Regresi Hal:460

Y=X*b;%Data Regresi Hal 459

JKR=sum((Y-mean(y)).^2);%Hal 478

JKT=sum((y-mean(y)).^2);%Hal 478

JKG=sum((y-Y).^2);% Hal: 470

r2=JKR/JKT;%Hal: 478

kd=r2*100;%Hal:478

hold off

plot(y,’-*’);

hold on

plot(Y,’-or’)

legend(‘Aktual’,’Regresi’);

e=mean((y-Y).^2);

title(‘Rekontruksi data dengan Regresi Non Linier’)

xlabel(‘Nomor Data’)

ylabel(‘Nilai Data (y)’)

text(1,max(y)-0.5,[‘kd = ‘,num2str(kd),’% dan MSE = ‘,num2str(e)])

disp([‘kd = ‘,num2str(kd),’% dan MSE = ‘,num2str(e)])

PENERAPAN REGRESI NON LINIER

>> regnonlinier([x2 x1 x3],y)

kd = 94.1166% dan MSE = 1.9828

ans =

    39.3353

   -1.7763

    0.0915

   -0.0026

Artinya bahwa model matematika yang diperoleh adalah:

Y=39.3353-1.7763x2+0.0915x12 – 0.0026x33

Maksudnya (Y=39.3353-1.7763x2+0.0915x1^2 – 0.0026x3^3)

regresi Non Linier

Pada grafik, diketahui Koefesien Determinasi (kd) model regresi linier = 91,2% < 94,1% = kd model regresi Non Linier. Dalalam hal ini model Regresi Non Linier lebih baik dari model Linier

Dapat juga dilihat dari Mean Sum of Squer (MSE) dimana MSE model linier = 2.9 > 1.9 = MSE model Non Linier yang berarti model Linier lebih jelek dari model Non Linier.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s