Kamis, 22 Maret 2012

Regresi Polinomial untuk contoh soal 4.2

Posting sebelumnya saya sudah membahas bagaimana regresi linear di buat pada contoh soal 4.1 (perpindahan panas secara konveksi). Nah saat sekarang ini saya mencoba membuat regresi polinomia untuk contoh soal 4.2 dengan menggunakan visual basic. Secara umum sebenanya regresi linear dan polinomial tidah jauh beda tetapi untuk regresi polinomial ditambahkan dengan eliminasi gauss sedangkan di regresi linear tidak terdapat eliminasi gauss.
Jika kita sekarang hanya diberitahu data penelitian sebagai berikut

 Dari data grafik d atas kita dapat mengambil pasangan titik-titik menjadi (0,100) ; (0.2,150) ; (0.6,218) ; (1,254) ; (1.4,258) ; (1.8,230) ; (2,200) di mana nilai x dibuat dalam satuan cm.

Berikut algoritma untuk regresi polinomial
1.  Tentukan dulu banyak data yang akan d regresikan. dalam contoh yang akan saya tampilkan saya mencoba dengan menggunakan 7 data dengan simbol (n).
2.  Tentukan nilai X(temperatur) dan Y(distance)  lalu masukkan ke dalam tabel yang telah di sediakan
3.  Hitunglah jumlah keseluruhan nilai dari X yang di definisikan sebagai sum_X
4.  Hitunglah jumlah keseluruhan nilai dari Y yang di definisikan sebagai sum_Y
5.  Hitunglah kudrat,pangkat 3 dan pangkat 4 dari nilai X sehingga nilai dari X menjadi X^2, X^3 dan X^4 dan jumlahkan nilai dari kuadrtaic tersebut dengan simboli sum_X2,sum_X3 dan sum_X4
6.  Hitunglah perkalian dari nilai X dan Y sehingga menjadi nilai XY dan jumlahkan nilai dari perkalian tersebut dengan simbol sum_XY
7. Hitunglah perkalian dari nilai kudratic X dan Y sehingga menjadi nilai X2Y dan jumlah kan perkalian tersebut menjadi sum_X2Y
8.  Persamaan dari regresi polinomial yaitu : y = g2 (x2)  + g1 (x1) + g0
8.  Untuk mencari nilai dari g2 dengan rumus g2 = f34 / f33
10.  Untuk mencari nilai dari g1 dengan rumus  g1 = (b24 - (b23 * g2)) / b22
11.  Untuk mencari nilai dari g0 dengan rumus g0 = (sum_y - (sum_x2 * g2) - (sum_x * g1)) / n
12. Jika nilai g2, g1 dan g0  didapatkan maka persamaan linear dapat diketahui.
 
Bentuk dari userform VB yang dibentuk

Command pada syntac VB
Private Sub CommandButton1_Click()
Dim x1, x2, x3, x4, x5, x6, x7, y1, y2, y3, y4, y5, y6, y7, n As Integer
Dim sum_x, sum_y, sum_x2, sum_x3, sum_x4, sum_xy, sum_x2y As Integer
Dim U11, U12, U13, b21, b22, b23, b24, c31, c32, c33, c34, f31, f32, f33, f34 As Integer
Dim g2, g1, g0 As Integer


'Mendefinisikan variabel
x1 = eko1.Text
x2 = eko2.Text
x3 = eko3.Text
x4 = eko4.Text
x5 = eko5.Text
x6 = eko6.Text
x7 = eko7.Text
y1 = epay1.Text
y2 = epay2.Text
y3 = epay3.Text
y4 = epay4.Text
y5 = epay5.Text
y6 = epay6.Text
y7 = epay7.Text
n = astin.Text

'Mencari nilai sum/jumlah  dari semua variabel yang ada

sum_x = Val(x1) + Val(x2) + Val(x3) + Val(x4) + Val(x5) + Val(x6) + Val(x7)
sum_y = Val(y1) + Val(y2) + Val(y3) + Val(y4) + Val(y5) + Val(y6) + Val(y7)
sum_x2 = x1 ^ 2 + x2 ^ 2 + x3 ^ 2 + x4 ^ 2 + x5 ^ 2 + x6 ^ 2 + x7 ^ 2
sum_x3 = x1 ^ 3 + x2 ^ 3 + x3 ^ 3 + x4 ^ 3 + x5 ^ 3 + x6 ^ 3 + x7 ^ 3
sum_xy = x1 * y1 + x2 * y2 + x3 * y3 + x4 * y4 + x5 * y5 + x6 * y6 + x7 * y7
sum_x4 = x1 ^ 4 + x2 ^ 4 + x3 ^ 4 + x4 ^ 4 + x5 ^ 4 + x6 ^ 4 + x7 ^ 4
sum_x2y = (x1 ^ 2 * y1) + (x2 ^ 2 * y2) + (x3 ^ 2 * y3) + (x4 ^ 2 * y4) + (x5 ^ 2 * y5) + (x6 ^ 2 * y6) + (x7 ^ 2 * y7)

Label22.Caption = sum_x
Label23.Caption = sum_y
Label24.Caption = sum_x2
Label25.Caption = sum_x3
Label26.Caption = sum_x4
Label27.Caption = sum_xy
Label28.Caption = sum_x2y

'Eliminasi Gauss untuk menghitung g0, g1, dan g2
'Eliminasi pertama

U11 = sum_x / n

b21 = sum_x - (U11 * n)
b22 = sum_x2 - (U11 * sum_x)
b23 = sum_x3 - (U11 * sum_x2)
b24 = sum_xy - (U11 * sum_y)

'Eliminasi Kedua
U12 = sum_x2 / n
c31 = sum_x2 - (U12 * n)
c32 = sum_x3 - (U12 * sum_x)
c33 = sum_x4 - (U12 * sum_x2)
c34 = sum_x2y - (U12 * sum_y)

'Eliminasi Ketiga
U13 = c32 / b22

f31 = c31 - (U13 * b21)
f32 = c32 - (U13 * b22)
f33 = c33 - (U13 * b23)
f34 = c34 - (U13 * b24)

'Substitusi Balik

g2 = f34 / f33
g1 = (b24 - (b23 * g2)) / b22
g0 = (sum_y - (sum_x2 * g2) - (sum_x * g1)) / n

hasila0.Caption = g0
hasila1.Caption = g1
hasila2.Caption = g2

End Sub

Private Sub CommandButton2_Click()
Unload UserForm1
End Sub

Hasil dari tampilan VB yang telah dibuat

Persamaan yang dihasilkan adalah -104.026 x2   +  258.05  x  +  101
 

1 komentar:

  1. kapan kita gunakan regresi linier dan kapan kita gunakan regreasi polinomial???


    http://www.scribd.com/doc/85681268/MAIN-MAIN

    BalasHapus