Professional Documents
Culture Documents
Eksdat
Eksdat
EKSPLORASI DATA
PROGRAM PROSES ITERASI
GARIS RESISTEN MELALUI MATLAB
DISUSUN OLEH :
L.M. RISMAN DWI JUMANSYAH F1A216034
NURDINA FIA216043
AKMAL F1A216003
Persamaan garis resisten yang didapat melalui prosedur di atas, memiliki kelemahan
dalam penaksiran koefisien a dan b. Kedua nilai ini seringkali bukan taksiran yang paling cocok.
Kekurangan ini dapat diperbaiki dengan melakukan iterasi.
Proses iterasi melibatkan nilai residu, karena dalam komponen ini masih tersisa informasi
yang dapat digunakan untuk memperbaiki nilai taksiran a dan b.
Setelah mendapatkan nilai residu atau ri = Yi – Ŷi , susun pasangan data baru berupa
(xi,ri) dan kembali lakukan penaksiran garis. Jika nilai b nya nol, atau relative kecil
sekali, maka proses ini selesai, artinya nilai taksiran a dan b pada tahap pertama sudah
cukup tepat.
Dalam prakteknya sering ditemukan bahwa taksiran a dan b yang berasal dari pasangan
(xi,ri) tidak sama dengan nol, meskipun kemungkinan besar memiliki nilai yang lebih
kecil dari nilai taksiran sebelumnya.
Seandainya pada tahap awal didapat penaksir a1 + b1 X, dengan residu r(1) = Y – a1 – b1
X. Berdasarkan pasangan baru (x,r(1)) kemudian didapatkan a1’ dan b1’ , sehingga nilai
taksiran yang sudah diperbaiki menjadi :
a2 = a1 + a1’ dan b2 = b1 + b1’
Tahap kedua :
Didapat nilai taksiran beserta residunya sbb yang menghasilkan pasangan baru ( (2)) yang
dapat
Ŷ(2) = a2 + b2 X dan r(2) = Y – Ŷ(2)
x, r dipergunakan untuk proses iterasi selanjutnya.
Akan tetapi untuk beberapa kasus tertentu, perubahan nilai tersebut dapat berjalan sangat
lambat sekali, atau berfluktuasi karena nilai b’ selalu berganti tanda dengan besaran yang
kurang lebih sama.
Untuk mengatasi hal tersebut, diperlukan p y enyesuaian,
yaitu setelah mendapatkan b2’ , maka :
b3 = b2 – b2’ [ ( b2 – b1 ) / ( b2’ – b1’ ) ]
atau secara umum
Proses iterasi ini dapat dihentikan jika
nilai b ’ sudah bn+1 = bn – bn’ [ ( bn – bn-1 ) / ( bn’ – bn-1’ ) ]n+1 cukup kecil. Sebagai
patokan, jika nilainya sudah lebih kecil dari 1% kali nilai b awal.
Tahap Terakhir :
Pada Tahap ini kita diminta untuk menghitung nilai 𝑟 (3)= y-(persamaan garis resisten pertama)
dalam hal ini persaan yang kita peroleh pada tahap 1, dimana pada tahap ini diperlukan untuk
memperbaiki dugaan a ,yang selanjutnya akan menghasilkan persamaan yang baru yaitu
y = a+ b*x +( median sisaan akhir bawah + median sisaan akhir tengah + median sisaan akhir
atas)/3
Algoritma Proses Iterasi Garis Resisten
clear all;
clc;
xb=[149 150 153 154 155 156 156 156 157 158 159 160 160 160];
yb=[245 200 200 200 265 220 265 225 265 270 255 275 305 290];
xt=[161 161 162 163 164 164 165 166 167 168 168 168 168];
yt=[260 275 295 310 280 330 330 300 325 295 305 300 315];
xa=[169 169 170 170 170 170 172 173 175 175 176 176 177];
ya=[350 335 345 335 340 320 345 350 325 340 365 345 360];
nb=14;
nt=13;
na=13;
mxb=median(xb);
myb=median(yb);
mxt=median(xt);
myt=median(yt);
mxa=median(xa);
mya=median(ya);
bb=(myt-myb)/(mxt-mxb);
ba=(mya-myt)/(mxa-mxt);
rt=ba/bb;
bb
ba
rt
Med=[mxb myb mxt myt mxa mya];
b=(mya-myb)/(mxa-mxb);
a=((myb+myt+mya)-(b*(mxb+mxt+mxa)))/3;
Med
b
a
disp(['y = ',num2str(a),' + ',num2str(b),'x ']);
eps=(1/100)*b;
baks=0;
bbaru=b+baks;
while (baks < eps)
b=bbaru;
for i=1:nb
ydugab(i)=a+((b)*xb(i));
erb(i)=yb(i)-ydugab(i);
myb=median(erb);
end;
for i=1:nt
ydugat(i)=a+((b)*xt(i));
ert(i)=yt(i)-ydugat(i);
myt=median(ert);
end;
for i=1:na
ydugaa(i)=a+((b)*xa(i));
era(i)=ya(i)-ydugaa(i);
mya=median(era);
end;
baks=(mya-myb)/(mxa-mxb);
b=bbaru+baks;
end;
sisaan1=[erb ert era];
R1=[mxb mxt mxa;myb myt mya];
R1'
baks
b
disp(['y = ',num2str(a),' + ',num2str(b),'x ']);
baks3=0;
bbaru2=b+baks3;
while true
b=bbaru2;
for i=1:nb
ydugab(i)=a+((b)*xb(i));
erb(i)=yb(i)-ydugab(i);
myb=median(erb);
end;
for i=1:nt
ydugat(i)=a+((b)*xt(i));
ert(i)=yt(i)-ydugat(i);
myt=median(ert);
end;
for i=1:na
ydugaa(i)=a+((b)*xa(i));
era(i)=ya(i)-ydugaa(i);
mya=median(era);
end;
baks3=(mya-myb)/(mxa-mxb);
b=bbaru2+baks3;
if baks3 < eps
break;
end;
end;
sisaan2=[erb ert era];
R2=[mxb mxt mxa;myb myt mya];
R2'
baks3
b
disp(['y = ',num2str(a),' + ',num2str(b),'x ']);
for i=1:nb
ydugab(i)=a+((b)*xb(i));
erb(i)=yb(i)-ydugab(i);
myb=median(erb);
end;
for i=1:nt
ydugat(i)=a+((b)*xt(i));
ert(i)=yt(i)-ydugat(i);
myt=median(ert);
end;
for i=1:na
ydugaa(i)=a+((b)*xa(i));
era(i)=ya(i)-ydugaa(i);
mya=median(era);
end;
sisaan3=[erb ert era];
R2=[mxb mxt mxa;myb myt mya];
R2'
abaru=a+((myb+myt+mya)/3);
disp(['y = ',num2str(abaru),' + ',num2str(b),'x ']);
for i=1:nb
ydugab(i)=abaru+((b)*xb(i));
erb(i)=yb(i)-ydugab(i);
myb=median(erb);
end;
for i=1:nt
ydugat(i)=abaru+((b)*xt(i));
ert(i)=yt(i)-ydugat(i);
myt=median(ert);
end;
for i=1:na
ydugaa(i)=abaru+((b)*xa(i));
era(i)=ya(i)-ydugaa(i);
mya=median(era);
end;
sisaanakhir=[erb ert era];
tabelsisaan=[xb xt xa;yb yt ya;sisaan1;sisaan2;sisaan3;sisaanakhir];
tabelsisaan'
mp=[erb ert era];
xp=[xb xt xa];
scatter(xp,mp);
Output Programnya
Tahap Pertama
bb =
4.4444
ba =
6.4286
rt =
1.4464
Med =
b =
5.3125
a =
-571.3542
y = -571.3542 + 5.3125x
Tahap Dua
ans =
156.0000 -0.8333
165.0000 -8.9583
172.0000 2.2917
baks =
0.1953
b =
5.5078
y = -571.3542 + 5.5078x
ans =
156.0000 -31.8880
165.0000 -40.4036
172.0000 -31.4974
baks3 =
0.0244
b =
5.5322
y = -571.3542 + 5.5322x
Tahap terakhir
ans =
156.0000 -35.7699
165.0000 -44.3343
172.0000 -35.7210
y = -609.9626 + 5.5322x
ans =