REGRESI DAN INTERPOLASI
Curve Fitting
http://istiarto.staff.ugm.ac.id
Curve Fitting
2
¨
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.
http://istiarto.staff.ugm.ac.id
Curve Fitting
3
¨
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)
http://istiarto.staff.ugm.ac.id
Curve Fitting
4
¨
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
http://istiarto.staff.ugm.ac.id
Curve Fitting
5
¨
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
http://istiarto.staff.ugm.ac.id
Curve Fitting terhadap Data Pengukuran
6
¨
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
http://istiarto.staff.ugm.ac.id
Beberapa Parameter Statistik
¨
Rata-rata aritmatik, mean
¨
Simpangan baku, standard
deviation, deviasi standar
¨
Varian (‘ragam’), variance
¨
Coefficient of variation
7 1 2 − = n S s t y∑
= yi n y 1 1 − = n S s t y =∑
(
−)
2 y y St i % 100 . . y s v c = y merep resenta si ka n se b a ra n d a tahttp://istiarto.staff.ugm.ac.id
Distribusi Probabilitas
8 X frekDistribusi Normal
salah satu distribusi/sebaran data yang sering dijumpai adalah distribusi normal
Regresi linear
Regresi non-linear
Regresi
http://istiarto.staff.ugm.ac.id
Regresi: Metode Kuadrat Terkecil
10
¨
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
http://istiarto.staff.ugm.ac.id
Regresi: Metode Kuadrat Terkecil
11
¨
Bagaimana caranya?
¤ Program komputer
¤ Spreadsheet (Microsoft Excel)
http://istiarto.staff.ugm.ac.id
Regresi Linear
12
¨ Mencari suatu kurva lurus yang cocok menggambarkan pola serangkaian
titik data: (x1,y1), (x2,y2) … (xn,yn) ¨ Microsoft Excel ¤ INTERCEPT(y1:yn;x1:xn) ¤ SLOPE(y1:yn;x1:xn) y = a0 + a1x + e a0 : intercept a1 : slope e : error
http://istiarto.staff.ugm.ac.id
Regresi Linear
13
¨
Kesalahan atau residu (e) adalah perbedaan antara nilai y
sesungguhnya dan y nilai pendekatan menurut persamaan
linear a
0+ a
1x.
¨
Minimumkan jumlah kuadrat residu tersebut
x
a
a
y
e
=
−
0−
1[ ]
=[
∑
]
=[
∑
(
− 0 − 1)
2]
2 min min min Sr ei yi a a xihttp://istiarto.staff.ugm.ac.id
Regresi Linear
¨
Bagaimana cara mencari
koefisien a
0dan a
1?
¤ Diferensialkan persamaan
tersebut dua kali, masing-masing terhadap a0 dan a1.
¤ Samakan kedua persamaan
hasil diferensiasi tersebut dengan nol. 14
(
)
(
)
0 2 0 2 1 0 1 1 0 0 = − − − = ∂ ∂ = − − − = ∂ ∂∑
∑
i i i r i i r x x a a y a S x a a y a Shttp://istiarto.staff.ugm.ac.id
Regresi Linear
15
¤ Selesaikan persamaan yang didapat untuk mencari
a0 dan a1
¤ dalam hal ini, dan masing-masing adalah nilai y rata x
rata-rata
(
)
x a y a x x n y x y x n a i i i i i i 1 0 2 2 1 − = − − =∑
∑
∑
∑
∑
y xhttp://istiarto.staff.ugm.ac.id
Contoh Regresi Linear
i xi yi = f(xi) 0 1 0.5 1 2 2.5 2 3 2 3 4 4 4 5 3.5 5 6 6 6 7 5.5 0 2 4 6 8 0 1 2 3 4 5 6 7 y = f( x) X 16
http://istiarto.staff.ugm.ac.id
Hitungan regresi linear
17
i xi yi xi yi 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
http://istiarto.staff.ugm.ac.id
Hitungan regresi linear
18
(
)
(
)
( )
(
140) ( )
28 0.839286 7 24 28 5 . 119 7 2 2 2 1 = − − = − − =∑
∑
∑
∑
∑
i i i i i i x x n y x y x n a( )
4 0.071429 839286 . 0 4 . 3 4 7 28 4 . 3 7 24 0 = − = = = = = a x yhttp://istiarto.staff.ugm.ac.id
Hitungan regresi linear
19 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 Y X data regresi
http://istiarto.staff.ugm.ac.id
Regresi Linear
20
¨
Kuantifikasi kesalahan
¤ Kesalahan standar
¤ Perhatikan kemiripannya dengan simpangan baku (standard deviation)
2 − = n S s r x y 1 − = n S s t y =
∑
(
−)
2 y y St i(
)
∑
− − = i 0 1 i 2 r y a a x Shttp://istiarto.staff.ugm.ac.id
Regresi Linear
21
¨
Beda antara kedua kesalahan tersebut menunjukkan
perbaikan atau pengurangan kesalahan
(
)(
)
(
)
2 2(
)
2 2 2∑
∑
∑
∑
∑
∑
∑
− − − = − = i i i i i i i i t r t y y n x x n y x y x n r S S Sr koefisien determinasi (coefficient of determination)
koefisien korelasi (correlation coefficient)
http://istiarto.staff.ugm.ac.id
Hitungan regresi linear
22
(
)
(
)
22.71429 991071 . 2 2 2 1 0 = − = = − − =∑
∑
y y S x a a y S i t i i r 931836 . 0 868318 . 0 71429 . 22 991071 . 2 71429 . 22 2 = = − = − = r S S S r t r thttp://istiarto.staff.ugm.ac.id
Regresi Linear
23
¨
Linearisasi persamaan-persamaan tak-linear
¤ Logaritmik menjadi linear
¤ Eksponensial menjadi linear
¤ Pangkat (polinomial tingkat n > 1) menjadi linear (polinomial tingkat 1)
http://istiarto.staff.ugm.ac.id
Linearisasi persamaan non-linear
(1)
24 x y ln y 1 ln a1 x b e a y 1 1 =
x
b
a
y
ln
1 1ln
=
+
x b1http://istiarto.staff.ugm.ac.id
Linearisasi persamaan non-linear
(2)
25 1 x y log y log x b2 2 2 b x a y =
x
b
a
y
log
log
log
=
2+
2 2logb
http://istiarto.staff.ugm.ac.id
Linearisasi persamaan non-linear
(3)
26 1/y 1 x b x a y + = 3 3 1/x y x x a b a x a x b y 1 1 1 3 3 3 3 3 + = + = 3 1 a 3 3 a b
Metode Newton
Metode Lagrange
Interpolasi
http://istiarto.staff.ugm.ac.id
Interpolasi
28
http://istiarto.staff.ugm.ac.id
Interpolasi
29
¨
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
http://istiarto.staff.ugm.ac.id
Interpolasi Linear: Metode Newton
30 x f(x) f(x1) f1(x) f(x0) x0 x x1
( ) ( )
( ) ( )
( )
( )
( ) ( )(
0)
0 1 0 1 0 1 0 1 0 1 0 0 1 x x x x x f x f x f x f x x x f x f x x x f x f − − − + = − − = − −http://istiarto.staff.ugm.ac.id
Interpolasi Kuadratik: Metode Newton
31
( )
(
)
(
)(
)
(
) (
)
( )
! 2 2 1 2 0 2 1 1 0 2 0 1 0 1 2 0 2 1 0 2 2 2 0 1 1 0 1 0 2 0 1 0 2 2 1 0 x b x x b x b b x x b x b b xx b xx b x x b x b x b x b b x x x x b x x b b x f a a a + − − + + − = − − + + − + = − − + − + = " " # " " $ % " " " # " " " $ %( )
2 2 1 0 2 x a a x a x f = + + ⎪ ⎩ ⎪ ⎨ ⎧ = − − = + − = 2 2 1 2 0 2 1 1 1 0 2 0 1 0 0 b a x b x b b a x x b x b b ahttp://istiarto.staff.ugm.ac.id
Interpolasi Kuadratik: Metode Newton
32 b2 = f x
( )
2 − f x( )
1 x2 − x1 − f x( )
1 − f x( )
0 x1− x0 x2 − x1 = f x⎡⎣ 2, x1, x0⎤⎦ = f x⎡⎣ 2, x1⎤⎦ − f x⎡⎣ 1, x0⎤⎦ x2 − x1( )
0 0 f x b = b1 = f x( )
1 − f x( )
0 x1− x0 = f x⎡⎣ 1, x0⎤⎦http://istiarto.staff.ugm.ac.id
Interpolasi Polinomial: Metode Newton
33
( )
= 0 + 1(
− 0)
+ ... + n(
− 0)(
− 1) (
... − n−1)
n x b b x x b x x x x x x f( )
[
]
[
]
[
1 1 0]
0 1 2 2 0 1 1 0 0 , ,..., , . . . , , , x x x x f b x x x f b x x f b x f b n n n = − = = =http://istiarto.staff.ugm.ac.id
Interpolasi Polinomial: Metode Newton
34 f x⎡⎣ i, xj⎤⎦ = f x
( )
i − f x( )
j xi − xj f x⎡⎣ i, xj, xk⎤⎦ = f x⎡⎣ i, xj⎤⎦ − f x⎡⎣ j, xk⎤⎦ xi − xk f x⎡⎣ n, xn−1, ..., x1, x0⎤⎦ = f x⎡⎣ n, xn−1, ..., x1⎤⎦ − f x⎡⎣ n−1, nn−2, ..., x0⎤⎦ xn − x0http://istiarto.staff.ugm.ac.id
Interpolasi Polinomial: Metode Newton
35
( )
( ) (
)
[
]
(
)(
)
[
]
(
0)(
1) (
1)
[
1 0]
0 1 2 1 0 0 1 0 0,...,
,
...
...
,
,
,
x
x
x
f
x
x
x
x
x
x
x
x
x
f
x
x
x
x
x
x
f
x
x
x
f
x
f
n n n n − −−
−
−
+
+
−
−
+
−
+
=
http://istiarto.staff.ugm.ac.id
Interpolasi Polinomial: Metode Newton
36
i xi f(xi) langkah hitungan
ke-1 ke-2 ke-3
0 x0 f(x0) f[x1,x0] f[x2,x1,x0] f[x3,x2,x1,x0] 1 x1 f(x1) f[x2,x1] f[x3,x2,x1]
2 x2 f(x2) f[x3,x2]
http://istiarto.staff.ugm.ac.id
Interpolasi Polinomial: Metode Lagrange
37
( )
( ) ( )
( )
∏
∑
≠ = =−
−
=
=
n i j j i j j i n i i i nx
x
x
x
x
L
x
f
x
L
x
f
0 0http://istiarto.staff.ugm.ac.id
Contoh interpolasi
i xi f(xi) 0 1 1.5 1 4 3.1 2 5 6 3 6 2.1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 f( x) X 38Linear
Kuadratik
Kubik
Spline
39
http://istiarto.staff.ugm.ac.idhttp://istiarto.staff.ugm.ac.id
Interpolasi: Spline
40
¨
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 Cubic splines (n = 3)
n Quadratic splines
http://istiarto.staff.ugm.ac.id
Interpolasi Polinomial vs Spline
41
§ polinomial tingkat n
n = 1
n » n = 1
http://istiarto.staff.ugm.ac.id
Linear Splines
42
¨ First-order spline : garis lurus
¨ Data urut : x0, x1, x2, …, xn
( )
( )
(
)
( )
( )
(
)
( )
x f(
xn)
mn(
x xn)
xn x xn f x x x x x m x f x f x x x x x m x f x f ≤ ≤ − + = ≤ ≤ − + = ≤ ≤ − + = − − − −1 1 1 1 2 1 1 1 1 1 0 0 0 0 . . .http://istiarto.staff.ugm.ac.id
Linear Splines
43
¨ Slope/gradien/kemiringan garis lurus, mi:
¨ 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).
(
)
( )
j i j i i x x x f x f m − − = + + 1 1http://istiarto.staff.ugm.ac.id
Linear Splines
44
¨ 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
http://istiarto.staff.ugm.ac.id
Quadratic Splines
45
¨ 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
http://istiarto.staff.ugm.ac.id
Quadratic Splines
46
¨ 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:
¨ 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.
( )
x aix bix cihttp://istiarto.staff.ugm.ac.id
Quadratic Splines
47
¨
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)}.
i = 2, 3, …, n 2(n − 1) pers.
( )
( )
1 1 2 1 1 1 1 1 2 1 1 − − − − − − − − − = + + = + + i i i i i i i i i i i i x f c x b x a x f c x b x ahttp://istiarto.staff.ugm.ac.id
Quadratic Splines
48
¤ 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 pers.
( )
( )
n n n n n nx b x c f x a x f c x b x a = + + = + + 2 0 1 0 1 2 0 1http://istiarto.staff.ugm.ac.id
Quadratic Splines
49
¤ Diferensial (gradien) kurva spline di dua interval berurutan adalah
sama di titik data yang bersangkutan. Gradien: i = 2, 3, …, n (n − 1) pers.
( )
x
ax
b
f
ʹ′
=
2
+
i i i i i ix
b
a
x
b
a
−1 −1+
−1=
2
−1+
2
http://istiarto.staff.ugm.ac.id
Quadratic Splines
50
¤ Diferensial kedua (laju perubahan gradien) kurva spline di titik data
pertama sama dengan nol.
¤ Konsekuensi: 2 titik data pertama (i = 0 dan i = 1) dihubungkan dengan
garis lurus. 1 pers.
0
=
ia
http://istiarto.staff.ugm.ac.id
Quadratic Splines
51
¨
Dengan demikian, jumlah persamaan seluruhnya adalah:
2(n – 1) + 2 + (n – 1) + 1 = 3n
http://istiarto.staff.ugm.ac.id
Cubic Splines
52
¨ 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:
¨ 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.
( )
i i i i i x a x b x c x dhttp://istiarto.staff.ugm.ac.id
Cubic Splines
53
¨
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
http://istiarto.staff.ugm.ac.id
Cubic Splines
54
¤ 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
http://istiarto.staff.ugm.ac.id
Cubic Splines
55
¨ 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
http://istiarto.staff.ugm.ac.id
Cubic Splines
56( )
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)(
) (
)
( )
(
)
(
)(
) (
)
1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 6 6 6 6 − − − − − − − − − − − − − − ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ʹ′ʹ′ − − − + − ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ʹ′ʹ′ − − − + − − ʹ′ʹ′ + − − ʹ′ʹ′ = i i i i i i i i i i i i i i i i i i i i i i i x x x x x f x x x f x x x x x f x x x f x x x x x f x x x x x f x f(
) (
)
(
) ( ) (
) (
)
(
)
[
(
) ( )
]
(
)
[
(
i) ( )
i]
i i i i i i i i i i i i i i i x f x f x x x f x f x x x f x x x f x x x f x x − − + − − = ʹ′ʹ′ − + ʹ′ʹ′ − + ʹ′ʹ′ − − − + + + + − + − − 1 1 1 1 1 1 1 1 1 1 6 6 22 unknowns di setiap interval:
( )
xi f( )
xi fʹ′ʹ′ −1 dan ʹ′ʹ′( )
( )
(
1)
persamaan 0 0 interval 0 ⇒ − ⎪ ⎭ ⎪ ⎬ ⎫ = ʹ′ʹ′ = ʹ′ʹ′ n x f x f n nhttp://istiarto.staff.ugm.ac.id