http://istiarto.staff.ugm.ac.id
REGRESI DAN INTERPOLASI Curve Fitting
Curve Fitting 2
http://istiarto.staff.ugm.ac.id
¨
Acuan ¤
Chapra, S.C., Canale R.P., 1990, Numerical Methods for Engineers, 2nd Ed., McGraw-Hill Book Co., New York. n
Chapter 11 dan 12, pp. 319-398.
Curve Fitting 3
http://istiarto.staff.ugm.ac.id
¨ ¨
Mencari garis/kurva yang mewakili serangkaian titik data Ada dua cara untuk melakukannya, yaitu ¤ ¤
¨
Regresi Interpolasi
Aplikasi di bidang enjiniring ¤ ¤
Pola perilaku data (trend analysis) Uji hipotesis (hypothesis testing)
Curve Fitting 4
http://istiarto.staff.ugm.ac.id
¨
Pemakaian regresi ¤
¤
¤
Apabila data menunjukkan tingkat kesalahan yang cukup signifikan atau menunjukkan adanya noise Untuk mencari satu kurva tunggal yang mewakili pola umum perilaku data Kurva yang dicari tidak perlu melewati setiap titik data
Curve Fitting 5
http://istiarto.staff.ugm.ac.id
¨
Interpolasi ¤ ¤
¤
¨
Diketahui bahwa data sangat akurat Untuk mencari satu atau serangkaian kurva yang melewati setiap titik data Untuk memperkirakan nilai-nilai di antara titik-titik data
Extrapolasi ¤
Mirip dengan interpolasi, tetapi untuk memperkirakan nilai-nilai di luar range titik-titik data
Curve Fitting terhadap Data Pengukuran 6
http://istiarto.staff.ugm.ac.id
¨
Analisis pola perilaku data ¤
¤ ¤
¨
Pemanfaatan pola data (pengukuran, experimen) untuk melakukan perkiraan Apabila data persis (akurat): interpolasi Apabila data tak persis (tak akurat): regresi
Uji hipotesis ¤
Pembandingan antara hasil teori atau hasil hitungan dengan hasil pengukuran
Beberapa Parameter Statistik merepresentasikan sebaran data
7
http://istiarto.staff.ugm.ac.id
¨
¨
Rata-rata aritmatik, mean Simpangan baku, standard deviation, deviasi standar
¨
Varian (‘ragam’), variance
¨
Coefficient of variation
y=
1 yi ∑ n
sy =
St n −1
St n −1 sy c.v. = 100% y 2
sy =
2
St = ∑ (y i − y )
Distribusi Probabilitas 8
http://istiarto.staff.ugm.ac.id
frek
Distribusi Normal salah satu distribusi/sebaran data yang sering dijumpai adalah distribusi normal
X
9
Regresi Regresi linear Regresi non-linear
Regresi: Metode Kuadrat Terkecil 10
http://istiarto.staff.ugm.ac.id
¨
Mencari suatu kurva atau suatu fungsi (pendekatan) yang sesuai dengan pola umum yang ditunjukkan oleh data ¤ ¤
¨ ¨ ¨
Datanya menunjukkan kesalahan yang cukup signifikan Kurva tidak perlu memotong setiap titik data
Regresi linear Regresi persamaan-persamaan tak-linear yang dilinearkan Regresi tak-linear
Regresi: Metode Kuadrat Terkecil 11
http://istiarto.staff.ugm.ac.id
¨
Bagaimana caranya? ¤ ¤ ¤
Program komputer Spreadsheet (Microsoft Excel) SciLab
Regresi Linear 12
http://istiarto.staff.ugm.ac.id
¨
Mencari suatu kurva lurus yang cocok menggambarkan pola serangkaian titik data: (x1,y1), (x2,y2) … (xn,yn) y = a0 + a1x + e a0 : intercept a1 : slope e : error
¨
Microsoft Excel ¤ ¤
INTERCEPT(y1:yn;x1:xn) SLOPE(y1:yn;x1:xn)
Regresi Linear 13
http://istiarto.staff.ugm.ac.id
¨
Kesalahan atau residu (e) adalah perbedaan antara nilai y sesungguhnya dan y nilai pendekatan menurut persamaan linear a0 + a1x.
e = y − a0 − a1x ¨
Minimumkan jumlah kuadrat residu tersebut min [ Sr ] = min
[ ∑ e ] = min [ ∑ (y − a 2
i
i
2
0 − a1xi )
]
Regresi Linear 14
http://istiarto.staff.ugm.ac.id
¨
Bagaimana cara mencari koefisien a0 dan a1? ¤
¤
Diferensialkan persamaan tersebut dua kali, masingmasing terhadap a0 dan a1. Samakan kedua persamaan hasil diferensiasi tersebut dengan nol.
∂Sr = −2∑ (y i − a0 − a1xi ) = 0 ∂a0 ∂Sr = −2∑ (y i − a0 − a1xi )xi = 0 ∂a1
Regresi Linear 15
http://istiarto.staff.ugm.ac.id
¤
Selesaikan persamaan yang didapat untuk mencari a0 dan a1
a1 =
n∑ xi yi − ∑ xi ∑ yi 2
n∑ xi − (∑ xi ) 2
a0 = y − a1x ¤
dalam hal ini, y dan x masing-masing adalah nilai y rata-rata x ratarata
Contoh Regresi Linear http://istiarto.staff.ugm.ac.id
Tabel data
Grafik/kurva data
i 0 1 2 3 4
xi 1 2 3 4 5
yi = f(xi) 0.5 2.5 2 4 3.5
5 6
6 7
6 5.5
8 6 y = f(x)
16
4 2 0 0
1
2
3
4 X
5
6
7
Hitungan regresi linear 17
http://istiarto.staff.ugm.ac.id
i
xi
yi
xi y i
xi2
yreg
(yi−yreg)2
(yi−ymean)2
0
1
0.5
0.5
1
0.910714
0.168686
8.576531
1
2
2.5
5
4
1.75
0.5625
0.862245
2
3
2.0
6
9
2.589286
0.347258
2.040816
3
4
4.0
16
16
3.428571
0.326531
0.326531
4
5
3.5
17.5
25
4.267857
0.589605
0.005102
5
6
6.0
36
36
5.107143
0.797194
6.612245
6
7
5.5
38.5
49
5.946429
0.199298
4.290816
∑=
28
24.0
119.5
140
∑=
2.991071
22.71429
Hitungan regresi linear 18
http://istiarto.staff.ugm.ac.id
a1 =
n∑ xi yi − ∑ xi ∑ yi 2
n∑ xi − (∑ xi ) 2
=
7(119.5) − 28(24) = 0.839286 2 7(140) − (28)
24 = 3.4 7 28 x= =4 7 a0 = 3.4 − 0.839286(4) = 0.071429 y=
Hitungan regresi linear http://istiarto.staff.ugm.ac.id
Y
19
7 6 5 4 3 2 1 0
data regresi 0
1
2
3
4 X
5
6
7
8
Regresi Linear 20
http://istiarto.staff.ugm.ac.id
¨
Kuantifikasi kesalahan ¤
Kesalahan standar
sy x = ¤
Sr n −2
2
Sr = ∑ (yi − a0 − a1xi )
Perhatikan kemiripannya dengan simpangan baku (standard deviation)
sy =
St n −1
2
St = ∑ (y i − y )
Regresi Linear 21
http://istiarto.staff.ugm.ac.id
¨
Beda antara kedua kesalahan tersebut menunjukkan perbaikan atau pengurangan kesalahan r2 = r=
St − Sr St
koefisien determinasi (coefficient of determination)
n∑ xi y i − (∑ xi )(∑ y i ) 2
n∑ xi − (∑ xi ) 2
2
n∑ y i − (∑ y i ) 2
koefisien korelasi (correlation coefficient)
Hitungan regresi linear 22
http://istiarto.staff.ugm.ac.id
2
Sr = ∑ (y i − a0 − a1xi ) = 2.991071 2
St = ∑ (y i − y ) = 22.71429
r2 =
St − Sr 22.71429 − 2.991071 = = 0.868318 St 22.71429
r = 0.931836
Regresi Linear 23
http://istiarto.staff.ugm.ac.id
¨
Linearisasi persamaan-persamaan tak-linear ¤ ¤ ¤ ¤
Logaritmik menjadi linear Eksponensial menjadi linear Pangkat (polinomial tingkat n > 1) menjadi linear (polinomial tingkat 1) Dll.
Linearisasi persamaan non-linear 24
(1)
http://istiarto.staff.ugm.ac.id
ln y
y
ln y = ln a1 + b1 x b1
y = a1 eb1x
1
ln a1 x
x
Linearisasi persamaan non-linear 25
(2)
http://istiarto.staff.ugm.ac.id
log y
y
log y = log a2 + b2 log x
b2
y = a2 xb2 1
x
logb2
log x
Linearisasi persamaan non-linear 26
(3)
http://istiarto.staff.ugm.ac.id
1/y
y
y = a3
x b3 + x
1 a3 x
1 b3 + x 1 b3 1 = = + y a3 x a3 a3 x
1
b3 a3
1/x
27
Interpolasi Metode Newton Metode Lagrange
Interpolasi 28
http://istiarto.staff.ugm.ac.id
linear
kuadratik
kubik
Interpolasi 29
http://istiarto.staff.ugm.ac.id
¨
¨
Penyelesaian persamaan polinomial tingkat n membutuhkan sejumlah n + 1 titik data Metode untuk mencari polinomial tingkat n yang merupakan interpolasi sejumlah n + 1 titik data: ¤ ¤
Metode Newton Metode Lagrange
Interpolasi Linear: Metode Newton 30
http://istiarto.staff.ugm.ac.id
f(x) f(x1) f1(x)
f1(x ) − f (x0 ) f (x1) − f (x0 ) = x − x0 x1 − x0
f(x0)
f1(x ) = f (x0 ) + x0
x
x1
x
f (x1) − f (x0 ) (x − x0 ) x1 − x0
Interpolasi Kuadratik: Metode Newton 31
http://istiarto.staff.ugm.ac.id
f2 (x ) = b0 + b1(x − x0 ) + b2 (x − x0 )(x − x1) = b0 + b1x − b1x0 + b2 x2 + b2 x0 x1 − b2 xx0 − b2 xx1 = (b0 − b1x0 + b2 x0 x1) + (b1 − b2 x0 − b2 x1) x + (! b2 ) x2 %"" "$""" # %""$""# a0
f2 (x ) = a0 + a1x + a2 x2
a1
a2
⎧a0 = b0 − b1x0 + b2 x0 x1 ⎪ ⎨ a1 = b1 − b2 x0 − b2 x1 ⎪a = b 2 ⎩ 2
Interpolasi Kuadratik: Metode Newton 32
http://istiarto.staff.ugm.ac.id
b0 = f (x0 ) b1 =
f ( x1) − f ( x0 ) x1 − x0
= f ⎡⎣ x1, x0 ⎤⎦
f ( x2 ) − f ( x1) f ( x1) − f ( x0 ) − f ⎡x , x ⎤ − f ⎡x , x ⎤ x2 − x1 x1 − x0 b2 = = f ⎡⎣ x2 , x1, x0 ⎤⎦ = ⎣ 2 1 ⎦ ⎣ 1 0 ⎦ x2 − x1 x2 − x1
Interpolasi Polinomial: Metode Newton 33
http://istiarto.staff.ugm.ac.id
fn (x) = b0 + b1(x − x0 ) + ... + bn (x − x0 )(x − x1)...(x − xn −1) b0 = f (x0 ) b1 = f [x1, x0 ] b2 = f [x2 , x1, x0 ] . . . bn = f [xn , xn −1,..., x1, x0 ]
Interpolasi Polinomial: Metode Newton 34
http://istiarto.staff.ugm.ac.id
f ⎡⎣ xi , xj ⎤⎦ =
( )
f ( xi ) − f xj
f ⎡⎣ xi , xj , xk ⎤⎦ =
xi − xj
f ⎡⎣ xi , xj ⎤⎦ − f ⎡⎣ xj , xk ⎤⎦
f ⎡⎣ xn , xn−1, ..., x1, x0 ⎤⎦ =
xi − xk
f ⎡⎣ xn , xn−1, ..., x1 ⎤⎦ − f ⎡⎣ xn−1, nn−2 , ..., x0 ⎤⎦ xn − x0
Interpolasi Polinomial: Metode Newton 35
http://istiarto.staff.ugm.ac.id
fn (x ) = f (x0 ) + (x − x0 ) f[x1, x0 ] + (x − x0 )(x − x1) f[x2 , x1, x0 ] + ... +
(x − x0 )(x − x1)...(x − xn −1) f[xn , xn −1,..., x0 ]
Interpolasi Polinomial: Metode Newton 36
http://istiarto.staff.ugm.ac.id
i
xi
f(xi)
0
x0
1
langkah hitungan ke-1
ke-2
ke-3
f(x0)
f[x1,x0]
f[x2,x1,x0]
f[x3,x2,x1,x0]
x1
f(x1)
f[x2,x1]
f[x3,x2,x1]
2
x2
f(x2)
f[x3,x2]
3
x3
f(x3)
Interpolasi Polinomial: Metode Lagrange 37
http://istiarto.staff.ugm.ac.id
n
fn (x ) = ∑ Li (x ) f (xi ) i =0
x − xj Li (x ) = ∏ j = 0 xi − x j n
j ≠i
Contoh interpolasi http://istiarto.staff.ugm.ac.id
i
xi
f(xi)
0
1
1.5
1
4
3.1
2
5
6
3
6
2.1
f(x)
38
7 6 5 4 3 2 1 0 0
1
2
3
4 X
5
6
7
39
Spline Linear Kuadratik Kubik
http://istiarto.staff.ugm.ac.id
Interpolasi: Spline 40
http://istiarto.staff.ugm.ac.id
¨
Jumlah titik data n + 1 à interpolasi polinomial tingkat n ¤
¤ ¤
Tingkat besar, n >>, mengalami kesulitan apabila titik-titik data menunjukkan adanya perubahan tiba-tiba di suatu titik tertentu (perubahan gradien secara tiba-tiba). Dalam situasi tsb, polinomial bertingkat kecil, n «, dapat lebih representatif untuk mewakili pola data. Spline n n n
Cubic splines (n = 3) Quadratic splines Linear splines
Interpolasi Polinomial vs Spline 41
http://istiarto.staff.ugm.ac.id
§ polinomial tingkat n
n»
n=1
n»
n=1
Linear Splines 42
http://istiarto.staff.ugm.ac.id
¨
First-order spline : garis lurus
¨
Data urut
: x0, x1, x2, …, xn
f (x ) = f (x0 ) + m0 (x − x0 ) x0 ≤ x ≤ x1 f (x ) = f (x1) + m1(x − x1) x1 ≤ x ≤ x2 . . . f (x ) = f (xn −1) + mn −1(x − xn −1) xn −1 ≤ x ≤ xn
Linear Splines 43
http://istiarto.staff.ugm.ac.id
¨
Slope/gradien/kemiringan garis lurus, mi:
f (xi +1) − f (xj ) mi = xi +1 − xj ¨
Linear spline, dengan demikian, adalah sama dengan interpolasi linear.
¨
Kekurangan linear spline adalah ketidak-mulusan kurva interpolasi.
¨
Terdapat perubahan slope yang sangat tajam di titik-titik data atau di titik-titik pertemuan kurva spline (knot).
Linear Splines 44
http://istiarto.staff.ugm.ac.id
¨
¨
Dengan kata lain, terdapat diskontinuiti/ketidak-mulusan diferensial pertama (kemiringan) fungsi spline di titik-titik knot. Perlu dicari suatu fungsi spline (bertingkat n lebih tinggi) dengan menyamakan diferensial pertamanya (kemiringannya) di titik-titik knot.
Quadratic Splines 45
http://istiarto.staff.ugm.ac.id
¨
¨
¨
¨
Untuk mendapatkan kurva yang memiliki diferensial/laju-perubahan ke-m kontinu di titik knot, maka diperlukan kurva spline yang bertingkat paling kecil m + 1. Yang paling banyak dipakai adalah spline tingkat 3 (cubic spline): diferensial pertama dan kedua kontinu di titik-titik knot. Ketidak-mulusan diferensial ketiga, keempat, dst. umumnya tidak begitu tampak secara visual. Sebelum membahas cubic spline, berikut dipaparkan quadratic spline terlebih dulu.
Quadratic Splines 46
http://istiarto.staff.ugm.ac.id
¨ ¨
¨
Tujuan: mencari polinomial tingkat 2 untuk setiap interval titik-titik data. Polinomial tingkat 2 tsb harus memiliki diferensial pertama (laju perubahan) yang kontinu di titik-titik data. Polinomial tingkat 2:
f (x ) = ai x2 + bi x + ci ¨
¨
Untuk (n+1) titik data (i = 0, 1, 2, …, n), terdapat n interval, sehingga terdapat 3n koefisien yang harus dicari (ai, bi, ci), i = 1, 2, ..., n. Perlu persamaan sejumlah 3n.
Quadratic Splines 47
http://istiarto.staff.ugm.ac.id
¨
Ke-3n persamaan tsb adalah sbb. ¤
Kurva spline memotong titik-titik data (knot): interval i − 1 dan i bertemu di titik data {xi−1, f(xi −1)}. 2
ai −1xi −1 + bi −1xi −1 + ci −1 = f (xi −1) 2
ai xi −1 + bi xi −1 + ci = f (xi −1)
i = 2, 3, …, n 2(n − 1) pers.
Quadratic Splines 48
http://istiarto.staff.ugm.ac.id
¤
Kurva spline di selang (interval) pertama memotong titik data pertama (i = 1) dan kurva spline di interval terakhir memotong titik data terakhir (i = n). 2
a1x0 + b1x0 + c1 = f (x0 ) 2
an xn + bn xn + cn = f (xn )
2 pers.
Quadratic Splines 49
http://istiarto.staff.ugm.ac.id
¤
Diferensial (gradien) kurva spline di dua interval berurutan adalah sama di titik data yang bersangkutan. Gradien:
fʹ′(x) = 2ax + b
2ai −1xi −1 + bi −1 = 2ai xi −1 + bi
i = 2, 3, …, n (n − 1) pers.
Quadratic Splines 50
http://istiarto.staff.ugm.ac.id
¤
Diferensial kedua (laju perubahan gradien) kurva spline di titik data pertama sama dengan nol.
ai = 0 ¤
1 pers.
Konsekuensi: 2 titik data pertama (i = 0 dan i = 1) dihubungkan dengan garis lurus.
Quadratic Splines 51
http://istiarto.staff.ugm.ac.id
¨
Dengan demikian, jumlah persamaan seluruhnya adalah: 2(n – 1) + 2 + (n – 1) + 1 = 3n
Cubic Splines 52
http://istiarto.staff.ugm.ac.id
¨ ¨
¨
Tujuan: mencari polinomial tingkat 3 untuk setiap interval titik-titik data. Polinomial tingkat 3 tsb harus memiliki diferensial pertama (gradien) dan diferensial kedua (laju perubahan gradien) yang kontinu di titik-titik data. Polinomial tingkat 3:
fi (x) = ai x3 + bi x2 + ci x + di ¨
¨
Untuk (n+1) titik data (i = 0, 1, 2, …, n), terdapat n interval, shg. terdapat 4n koefisien yang harus dicari (ai,bi,ci,di), i = 1, 2, ..., n. Perlu persamaan sejumlah 4n.
Cubic Splines 53
http://istiarto.staff.ugm.ac.id
¨
Ke-4n persamaan tsb adalah sbb. ¤ ¤ ¤
Kurva spline memotong titik-titik data (knot): interval i − 1 dan i bertemu di titik data {xi − 1, f(xi − 1)} à (2n − 2) pers. Kurva spline di interval pertama memotong titik data pertama dan kurva spline terakhir memotong titik data terakhir à 2 pers. Diferensial pertama kurva spline di dua interval berurutan adalah sama di titik data ybs. à (n − 1) pers.
Cubic Splines 54
http://istiarto.staff.ugm.ac.id
¤ ¤
Diferensial kedua kurva spline di dua interval berurutan adalah sama di titik data ybs. à (n − 1) pers. Diferensial kedua kurva spline di titik data pertama dan terakhir sama dengan nol à 2 pers. Konsekuensi:
kurva spline berupa garis lurus di titik data pertama dan di titik data terakhir.
Alternatif:
diferensial kedua kurva spline di 2 titik data tsb diketahui.
Cubic Splines 55
http://istiarto.staff.ugm.ac.id
¨
¨
Diperoleh 4n persamaan yang harus diselesaikan untuk mencari 4n koefisien, ai, bi, ci, di. Dimungkinkan untuk melakukan manipulasi matematis shg diperoleh suatu teknik cubic splines yang hanya memerlukan n – 1 penyelesaian (lihat uraian di buku acuan): ¤
Chapra, S.P., Canale, R.P., 1985, Numerical Methods for Engineers, McGraw-Hill Book Co., New York, hlm. 395-396).
Cubic Splines 56
http://istiarto.staff.ugm.ac.id
2 unknowns di setiap interval:
fʹ′ʹ′(xi −1) dan fʹ′ʹ′(xi )
fi (x ) =
ʹ′ʹ′ f ʹ′ʹ′(xi −1) (xi − x )3 + f (xi −1) (x − xi −1)3 6(xi − xi −1) 6(xi − xi −1)
⎡ f (xi −1) f ʹ′ʹ′(xi −1)(xi − xi −1)⎤ (xi − x ) + ⎢ − ⎥ 6 ⎣ (xi − xi −1) ⎦ ⎡ f (xi ) f ʹ′ʹ′(xi −1)(xi − xi −1)⎤ + ⎢ − ⎥ (x − xi −1) ( ) x − x 6 i −1 ⎣ i ⎦
(xi − xi −1) fʹ′ʹ′(xi −1) + 2(xi +1 − xi −1) fʹ′ʹ′(xi ) + (xi +1 − xi ) fʹ′ʹ′(xi +1) = 6 [f (xi +1) − f (xi )] + 6 [f (xi −1) − f (xi )] (xi +1 − xi ) (xi − xi −1)
n interval ⎫ ⎪ fʹ′ʹ′(x0 ) = 0⎬ ⇒ (n − 1) persamaan fʹ′ʹ′(xn ) = 0 ⎪⎭
57
http://istiarto.staff.ugm.ac.id