ANLISIS NUMERIK
REGRESI KUADRAT TERKECIL DENGAN JKG
OLEH
DINA AYU FITRIANI 125090507111019
NIKEN HAPSARI
125090500111019
NURUL IMANIA
125090500111035
LABORATORIUM KOMPUTER
PROGRAM STUDI STATISTIKA
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
2014
BAB I
HASIL DAN PEMBAHASAN
1. Regresi Linier
CODING
clc; clear all;
n=50;
sigx=0;
sigy=0;
sigxy=0;
sigxkuad=0;
sigykuad=0;
disp('REGRESI LINEAR');
PENJELASAN
Membersihkan data
sebelumnya atau memulai
suatu coding
data variabel x dari exel
Banyak data
Iterasi awal untuk variabel
sigx
Iterasi awal untuk variabel
sigy
Iterasi awal untuk variabel
sigxy
Iterasi awal untuk variabel
sigxkuad
Iterasi awal untuk variabel
sigykuad
Nama source code yang
akan muncul di Command
Window
0,90
0,96
0,96
0,84
0,54
0,08
0,11
0,06
0,41
disp('i
x(i)
y(i)^2 x(i)y(i));
for i=1:n
0,75 0,90
0,21 0,48
0,60 0,02
0,02 0,66
0,02 0,29
0,89 0,32
0,56 0,65
0,24 0,33
0,17]');
y(i)
0,65
0,23
0,42
0,31
0,39
0,58
0,53
0,99
x(i)^2
sigx=sigx+x(i);
sigy=sigy+y(i);
sigxy=sigxy+x(i)*y(i);
sigxkuad=sigxkuad+x(i)^2;
sigykuad=sigykuad+y(i)^2;
end;
for i=1:n
fprintf('%g %3f %3f %3f
%3f\n',i,x(i),y(i),x(i)^2,x(i)*y(i));
end;
fprintf('
%g %3f %3f
%3f\n',sigx,sigy,sigxkuad,sigxy);
%3f
p=(n*sigxkuad)-(sigx)^2;
a=(sigxkuad*sigy-sigx*sigxy)/p
b=(n*sigxy-sigx*sigy)/p
X=0:1:1;
f=a+b*X;
plot(x,y,'xk',X,f,'b')
Y_Duga=f(2)
JKT=(sigykuad-((sigy^2)/n))
JKR=b*(sigxy-(sigx*sigy/n))
JKG=JKT-JKR
Mencari nilai p
Mencari nilai a
Mencari nilai b
Nilai X antara 0 sampai 1
untuk menghitung nilai
dari persamaan regresi
linier,
Peirntah untuk mebuat
grafik
menghitung nilai duga
regresi dengan x=2
Rumus untik menghitung
JKG
Hasil grafik:
nilai
^y ketika
2. Regresi Kuadrat
CODING
clc; clear all;
x=[ 0,53 0,27 0,90 0,24
0,12 0,80 0,87 0,98 0,54
0,56 0,49 0,74 0,48 0,21
0,91 0,70 0,03 0,93 0,05
0,91 0,15 0,01 0,35 0,61
0,77 0,82 0,49 0,84 0,02
0,89 0,62 0,83 0,05 0,94
0,75 0,25 0,57 0,01 0,93
0,42 0,93 0,19 0,87 0,67
0,43 0,51 0,35 0,16 0,64
0,33];
y=[ 0,90 0,75 0,90 0,65
0,15 0,09 0,96 0,21 0,48
0,23 0,86 0,24 0,96 0,60
0,02 0,42 0,71 0,07 0,84
0,02 0,66 0,31 0,48 0,48
0,54 0,02 0,29 0,39 0,24
0,46 0,08 0,89 0,32 0,58
0,49 0,72 0,11 0,56 0,65
0,53 0,48 0,48 0,06 0,24
0,33 0,99 0,82 0,37 0,41
0,17];
n=10;
sigx=0;
sigy=0;
sigxy=0;
sigxkuad=0;
sigykuad=0;
sigxkuady=0;
sigx3=0
sigx4=0;
disp('REGRESI KUADRAT');
disp('x=[0,53 0,27 0,90
0,24 0,12 0,80 0,87 0,98
PENJELASAN
Membersihkan data sebelumnya atau
memulai suatu coding
data variabel x dari exel
Banyak data
Iterasi awal untuk variabel sigx
Iterasi awal untuk variabel sigy
Iterasi awal untuk variabel sigxy
Iterasi awal untuk variabel sigxkuad
Iterasi awal untuk variabel sigykuad
Iterasi awal untuk variabel sigxkuady
Iterasi awal untuk variabel sigx3
Iterasi awal untuk variabel sigx4
Nama source code yang akan muncul
di Command Window
0,54
0,21
0,05
0,61
0,02
0,94
0,93
0,67
0,64
0,56 0,49
0,91 0,70
0,91 0,15
0,77 0,82
0,89 0,62
0,75 0,25
0,42 0,93
0,43 0,51
0,33]');
0,74
0,03
0,01
0,49
0,83
0,57
0,19
0,35
0,48
0,93
0,35
0,84
0,05
0,01
0,87
0,16
disp('y=[ 0,90
0,65 0,15 0,09
0,48 0,23 0,86
0,60 0,02 0,42
0,84 0,02 0,66
0,48 0,54 0,02
0,24 0,46 0,08
0,58 0,49 0,72
0,65 0,53 0,48
0,24 0,33 0,99
0,41 0,17]');
0,75
0,96
0,24
0,71
0,31
0,29
0,89
0,11
0,48
0,82
0,90
0,21
0,96
0,07
0,48
0,39
0,32
0,56
0,06
0,37
disp('i
x(i)
y(i)
x(i)y(i)
x(i)^2
x(i)^2*y(i)
x(i)^3
x(i)^4');
for i=1:n
sigx=sigx+x(i);
sigy=sigy+y(i);
Untuk menampilkan
diperlukan
nilai
yang
sigxy=sigxy+x(i)*y(i);
rumusnya
sigxkuad=sigxkuad+x(i)^2
;
Sigykuad=sigykuat+y(i)^2
;
rumusnya
rumusnya
sigxkuady=sigxkuady+y(i)
*x(i)^2;
sigx3=sigx3+x(i)^3;
sigx4=sigx4+x(i)^4;
end;
for i=1:n
fprintf('%g
%3.5f
%3.5f
rumusnya
rumusnya
perintah berhenti
Untuk i=1 sampai n hitung
Menampilkan
pada
comman
%3.5f
%3.5f
%3.5f
%3.5f
%3.5f\n',i,x(i),y(i),x(i
)*y(i),x(i)^2,y(i)*(x(i)
^2),x(i)^3,x(i)^4);
end;
fprintf('
%g
%3.5f
%3.5f
%3.5f
%3.5f
%3.5f
%3.5f
%3.5f\n',sigx,sigy,sigxy
,sigxkuad,sigxkuady,sigx
3,sigx4);
R=[n sigx sigxkuad;sigx
sigxkuad sigx3;sigxkuad
sigx3 sigx4];
S=[sigy sigx
sigxkuad;sigxy sigxkuad
sigx3;sigxkuady sigx3
sigx4];
T=[n sigy sigxkuad;sigx
sigxy sigx3;sigxkuad
sigxkuady sigx4];
U=[n sigx sigy;sigx
sigxkuad sigxy;sigxkuad
sigx3 sigxkuady];
p=det(R);
a=det(S)/p
b=det(T)/p
c=det(U)/p
X=0:1:3;
f=a+b.*X+c.*(X.^2);
plot(x,y,'xk',X,f,'b')
Y_Duga=f(2)
Hasil grafik:
windows i,x(i),y(i),x(i)^2,x(i)*y(i)),
y(i)*(x(i)^2),x(i)^3,x(i)^4
) dan hasilnya sampai banyak n
Mencari nilai R
Mencari nilai S
Mencari nilai T
Mencari nilai U
rumusnya
rumusnya
rumusnya
rumusnya
Nilai X antara 0 sampai 3
untuk
menghitung
nilai
dari
persamaan regresi kuadrat,
Peirntah untuk mebuat grafik
menghitung nilai duga regresi dengan
x=2
a=
6.2412, nilai
b=
c = -0.0255
sehingga persamaan regresi kudrat yang terbentuk dari data tersebut adalah:
^y ketika
a. Regresi Pangkat
CODING
clc; clear all;
x=[ 0,53 0,27 0,90 0,24
0,12 0,80 0,87 0,98 0,54
0,56 0,49 0,74 0,48 0,21
0,91 0,70 0,03 0,93 0,05
0,91 0,15 0,01 0,35 0,61
0,77 0,82 0,49 0,84 0,02
0,89 0,62 0,83 0,05 0,94
0,75 0,25 0,57 0,01 0,93
0,42 0,93 0,19 0,87 0,67
0,43 0,51 0,35 0,16 0,64
0,33];
y=[ 0,90 0,75 0,90 0,65
PENJELASAN
Membersihkan data sebelumnya atau
memulai suatu coding
data variabel x dari exel
0,15 0,09
0,23 0,86
0,02 0,42
0,02 0,66
0,54 0,02
0,46 0,08
0,49 0,72
0,53 0,48
0,33 0,99
0,17];
0,96
0,24
0,71
0,31
0,29
0,89
0,11
0,48
0,82
0,21
0,96
0,07
0,48
0,39
0,32
0,56
0,06
0,37
0,48
0,60
0,84
0,48
0,24
0,58
0,65
0,24
0,41
n=10;
sigx=0;
sigy=0;
sigxy=0;
sigxkuad=0;
Banyak data
Iterasi awal untuk variabel sigx
Iterasi awal untuk variabel sigy
Iterasi awal untuk variabel sigxy
Iterasi awal untuk variabel sigxkuad
Iterasi awal untuk variabel sigykuad
Nama source code yang akan muncul
di Command Window
sigykuad=0;
disp('REGRESI
PANGKAT\n');
disp('x=[0,53 0,27 0,90
0,24 0,12 0,80 0,87 0,98
0,54 0,56 0,49 0,74 0,48
0,21 0,91 0,70 0,03 0,93
0,05 0,91 0,15 0,01 0,35
0,61 0,77 0,82 0,49 0,84
0,02 0,89 0,62 0,83 0,05
0,94 0,75 0,25 0,57 0,01
0,93 0,42 0,93 0,19 0,87
0,67 0,43 0,51 0,35 0,16
0,64 0,33]');
disp('y=[ 0,90
0,65 0,15 0,09
0,48 0,23 0,86
0,60 0,02 0,42
0,84 0,02 0,66
0,48 0,54 0,02
0,24 0,46 0,08
0,58 0,49 0,72
0,65 0,53 0,48
0,24 0,33 0,99
0,41 0,17]');
0,75
0,96
0,24
0,71
0,31
0,29
0,89
0,11
0,48
0,82
0,90
0,21
0,96
0,07
0,48
0,39
0,32
0,56
0,06
0,37
Untuk menampilkan
diperlukan
nilai
yang
0,54
0,21
0,05
0,61
0,02
0,94
0,93
0,67
0,64
0,56 0,49
0,91 0,70
0,91 0,15
0,77 0,82
0,89 0,62
0,75 0,25
0,42 0,93
0,43 0,51
0,33]');
0,74
0,03
0,01
0,49
0,83
0,57
0,19
0,35
0,48
0,93
0,35
0,84
0,05
0,01
0,87
0,16
for i=1:n
sigx=sigx+log(x(i));
sigy=sigy+log(y(i));
sigxy=sigxy+log(x(i))*lo
g(y(i));
sigxkuad=sigxkuad+
(log(x(i)))^2;
Sigykuad=sigykuad+y(i)^2
;
end;
for i=1:n
fprintf('%g
%2.6f
%2.6f
%2.6f
%2.6f\n',i,log(x(i)),log
(y(i)),
(log(x(i))^2),log(x(i))*
log(y(i)));
end;
fprintf('
%g
%2.6f
%2.6f
%2.6f
%2.6f\n',sigx,sigy,sigxk
uad,sigxy);
p=(n*sigxkuad)-(sigx)^2;
A=(sigxkuad*sigysigx*sigxy)/p
B=(n*sigxy-sigx*sigy)/p
a=exp(A)
b=B
X=0:1:2;
Mencari nilai p
Mencari nilai A
Mencari nilai B
rumusnya
rumusnya
Nilai dari X antara 0 sampai 2
f=a.*(X.^b);
plot(x,y,'xk',X,f,'b')
Y_Duga=f(2)
Hasil grafik:
^y
^y =0,2 78 9 x0,176 .
ketika
x=30 adalah
PENJELASAN
Membersihkan data sebelumnya atau
memulai suatu coding
data variabel x dari exel
sigykuad=0;
disp('REGRESI LAJU
PERTUMBUHAN');
disp('x=[0,53 0,27
0,90 0,24 0,12 0,80
0,87 0,98 0,54 0,56
0,49 0,74 0,48 0,21
0,91 0,70 0,03 0,93
0,05 0,91 0,15 0,01
0,35 0,61 0,77 0,82
0,49 0,84 0,02 0,89
0,62 0,83 0,05 0,94
0,75 0,25 0,57 0,01
0,93 0,42 0,93 0,19
0,87 0,67 0,43 0,51
Banyak data
Iterasi awal untuk variabel sigx
Iterasi awal untuk variabel sigy
Iterasi awal untuk variabel sigxy
Iterasi awal untuk variabel sigxkuad
Iterasi awal untuk variabel sigykuad
Nama source code yang akan muncul di
Command Window
Untuk mencari nilai x
0,90
0,15
0,48
0,96
0,71
0,66
0,54
0,24
0,32
0,11
0,48
0,33
0,41
0,75
0,09
0,23
0,60
0,07
0,31
0,02
0,46
0,58
0,56
0,48
0,99
disp('i
X(i)=1/x(i)
Y(i)=1/y(i)
x(i)^2
x(i)y(i)\n');
for i=1:n
sigx=sigx+x(i);
sigy=sigy+log(y(i));
rumusnya
sigxy=sigxy+log(x(i)
)*log(y(i));
rumusnya
sigxkuad=sigxkuad+x(
i)^2;
Sigykuad=sigykuad+y(
i)^2;
end;
for i=1:n
fprintf('%g
%2.6f
%2.6f
%2.6f
%2.6f\n',i,1/x(i),1/
y(i),(1/x(i))^2,
(1/x(i))*(1/y(i)));
end;
rumusnya
perintah berhenti
Untuk i=1 sampai n hitung
Menampilkan pada command windows i,
1/x(i),1/y(i),(1/x(i))^2,
(1/x(i))*(1/y(i)))
dan hasilnya
sampai banyak n yaitu 10, %2.6f
maksudnya berjarak 2 spasi dan hasilnya
terdapat 6 angka dibelakang koma
Perintah berhenti
fprintf('
%g
%2.6f
%2.6f
%2.6f
%2.6f\n',sigx,sigy,s
igxkuad,sigxy);
p=(10*sigxkuad)(sigx)^2;
A=(sigxkuad*sigysigx*sigxy)/p
B=(10*sigxysigx*sigy)/p
a=1/A
b=B/A
X=0:1:1;
f=a.*(X./(b+X));
plot(x,y,'xk',X,f,'b
')
Y_Duga=f(2)
Mencari nilai p
Mencari nilai A
Mencari nilai B
rumusnya
rumusnya
Nilai dari X antara 1 sampai 1
menghitung nilai dari persamaan regresi
laju pertumbuhan
Perintah membuat grafik
menghitung nilai duga regresi jika x=2
Hasil grafik:
nilai
^y =0.1473
^y ketika
x
0.0092+ x . Dari persamaan tersebut didapatkan nilai
x=30 adalah 0.1473. Dan didaptkan nilai JKT =
PENJELASAN
Membersihkan data sebelumnya
atau memulai suatu coding
data variabel x dari exel
Banyak data
Iterasi awal untuk variabel sigx
sigy=0;
sigxy=0;
sigxkuad=0;
sigykuad=0;
disp('REGRESI
EKSPONENSIAL');
disp('x=[0,53 0,27 0,90
0,24 0,12 0,80 0,87 0,98
0,54 0,56 0,49 0,74 0,48
0,21 0,91 0,70 0,03 0,93
0,05 0,91 0,15 0,01 0,35
0,61 0,77 0,82 0,49 0,84
0,02 0,89 0,62 0,83 0,05
0,94 0,75 0,25 0,57 0,01
0,93 0,42 0,93 0,19 0,87
0,67 0,43 0,51 0,35 0,16
0,64 0,33]');
disp('y=[ 0,90
0,65 0,15 0,09
0,48 0,23 0,86
0,60 0,02 0,42
0,84 0,02 0,66
0,48 0,54 0,02
0,24 0,46 0,08
0,58 0,49 0,72
0,65 0,53 0,48
0,24 0,33 0,99
0,41 0,17]');
0,75
0,96
0,24
0,71
0,31
0,29
0,89
0,11
0,48
0,82
0,90
0,21
0,96
0,07
0,48
0,39
0,32
0,56
0,06
0,37
disp('i
x(i)
Y(i)=ln(y(i))
x(i)^2
x(i)y(i)\n');
for i=1:n
sigx=sigx+x(i);
sigy=sigy+log(y(i));
sigxy=sigxy+log(x(i))*log(
y(i));
rumusnya
sigxkuad=sigxkuad+x(i)^2;
Sigykuad=sigykuad+y(i)^2
end;
for i=1:n
fprintf('%g
%2.6f
%2.6f
%2.6f
%2.6f\n',i,x(i),log(y(i)),
(x(i))^2,x(i)*log(y(i)));
end;
fprintf('
%g
%2.6f
%2.6f
%2.6f
%2.6f\n',sigx,sigy,sigxkua
d,sigxy);
p=(n*sigxkuad)-(sigx)^2;
A=(sigxkuad*sigysigx*sigxy)/p
B=(n*sigxy-sigx*sigy)/p
a=exp(A)
b=B
X=0:1:2;
f=a.*exp(b*X);
plot(x,y,'xk',X,f,'b')
Y_Duga=f(2)
Hasil grafik:
rumusnya
perintah berhenti
Untuk i=1 sampai n hitung
Menampilkan pada command
windows i, x(i),log(y(i)),
(x(i))^2,x(i)*log(y(i)))
dan hasilnya sampai banyak n
yaitu 10, %2.6f maksudnya
berjarak 2 spasi dan hasilnya
terdapat 6 angka dibelakang koma
Perintah berhenti
Hasil yang akan muncul
Mencari nilai p
Mencari nilai A
Mencari nilai B
rumusnya
rumusnya
Nilai dari X antara 1 sampai 1
menghitung nilai dari persamaan
regresi ekponensial
Perintah membuat grafik
menghitung nilai duga regresi jika
x=2
^y
BAB V
PENUTUP
5.1 KESIMPULAN
Regresi merupakan suatu alat ukur yang juga dapat digunakan untuk
mengukur ada atau tidaknya korelasi antarvariabel. Analisis regresi sangat
membantu untuk mendapatkan bukti ilmiah dari suatu hubungan antara
variabel-variabel sekaligus meramalkannya. Dalam ilmu eksakta hubungan
antara variabel-variabel mudah dibuktikan karena sudah tegas dan
diketahui, akan tetapi dalam kajian ilmu sosial, hubungan antara variabelvariabel pada umumnya masih belum tegas dan sering tidak diketahu.
Maka dengan software Matlab dapat membantu kesulitan yang ada dan
mempermudah dalam mencari hasil dari suatu regresi. Analisis regresi
dikelompokkan dari mulai yang paling sederhana sampai yang paling rumit,
tergantung tujuan yang berlandaskan pengetahuan atau teori sementara,
bukan asal ditentukan saja. Analisis regresi macam-macamnya adalah:
DAFTAR PUSTAKA
http://perkuliahan-vi.blogspot.com/2011/01/analisis-regresi.html (diakses
tanggal 15 Mei 2014)
http://www.slideshare.net/indraherlangga/regresi-kuadrat-terkecil (diakses
tanggal 15 Mei 2014)
LAMPIRAN
Regresi Linier
Regresi Pangkat
Regresi Kuadrat
Regresi Eksponensial