• Tidak ada hasil yang ditemukan

Regresi Linear dan Metode Grafik

N/A
N/A
Protected

Academic year: 2018

Membagikan "Regresi Linear dan Metode Grafik"

Copied!
20
0
0

Teks penuh

(1)

Regresi Linear dan Metode Grafik

Eko Sulistya

Laboratorium Fisika Dasar - Departemen Fisika FMIPA UGM Yogyakarta

sulistya@ugm.ac.id

27 Oktober 2017

Artikel ini membahas tentang metode regresi linear dan cara penarikan garis

lurus pada grafik yang diperlukan oleh mahasiswa yang mengambil

prakti-kum fisika dasar.

1

Pendahuluan

Pada praktikum Fisika Dasar diperlukan penggambaran grafik data pengamatan yang berupa kurva linier. Grafik linier (gari lurus) adalah grafik yang memberikan informasi yang diperluk-an, yaitu kemiringan garis dan titik potong, yang merupakan parameter yang diperlukan untuk menentukan variabel yang akan ditentukan dalam eksperimen.

Persamaan garis lurus yang mewakili relasi (hubungan) antara variabelx dany dituliskan dalam bentuk persamaan (1):

y=A+Bx, (1)

(2)

variabelyadalah besaran yang diukur.

AdanB bisa ditentukan dengan cara manual, yaitu dengan menggambarkan grafik (mem-plot) data-data pengamatan antaraxversusy. Kemudian dengan cara manual juga menarik ga-ris lurus yang diusahakan melewati sebanyak mungkin data. Cara kedua adalah dengan metode regresi linear yang berdasarkan pada metode kuadrat terkecil. Penjabaran bagaimana mempe-roleh nilaiAdanB dengan metode kuadrat terkecil tidak dibahas dalam tulisan ini, hanya akan disajikan hasil akhirnya. Untuk penjabaran silahkan baca di buku teks (1) dan (2).

2

Regresi Linear

Hubungan linier antarax dany diharapkan berbentuk seperti persamaan (1), yang dinamakan persamaan hasil fit linier, sehingga untuk setiap nilai xi bisa dihitung nilai yf it = A+Bxi. Sementara itu hasil pengukuran untuk nilaixiadalahyi. Jika hasil pengukurannya akurat, tidak ada ralat, makayi = yf it, namun dalam prakteknya, selalu ada ralat dalam hasil pengukuran yi. Data-data hasil pengukuran tersebar mengikuti distribusi normal, dengan nilai tengah adalah yi dan deviasi standarσi. Deviasi standar ini merupakan ukuran ralat dari hasil pengukurany. Jika ada sejumahN nilaiy, maka ada sejumlahN distribusi Gauss, dan ada sejumlahNdeviasi standar.

Tinjau salah satu pengukuran ke-i. Kebolehjadian (probability) memperoleh hasil ukur yi, dengan deviasi standarσiadalah (distribusi Gauss):

Pi = 1 σi

2π exp (

−12

yi−yf it σi

2)

(2)

Kebolehjadian menemukan satu set hasil sejumahN pengukuran adalah hasil kali dari masing-masing kebolehjadian-i,

Y Pi =

Y 1

σi √

2π exp (

−12X

yi−yf it σi

2)

(3)

Dengan mengingat persamaan (1), persamaan (3) dapat ditulis menjadi

Nilai terbolehjadi, atau nilai maksimum kebolehjadian persamaan (4) diperoleh jika nilai pada eksponensial minimum. Dengan menuliskan

χ2 =X

maka kebolehjadian pada persamaan (4) maksimum jikaχ2 minimum.

2.1

Menentukan parameter

A

dan

B

Untuk mendapatkan parameterAdanB yang bisa membuat persamaan (5) minimum, makaχ2

(4)

Persamaan (6) dapat dituliskan menjadi

dan persamaan (7) dapat dituliskan menjadi

AX xi

Persamaan (8) dan persamaan (9) adalah persamaan simultan dengan 2 nilai yang akan dicari, yaituAdanB. Dua persamaan tersebut ditulis dalam bentuk matriks:

P 1

Penyelesain persamaan (10) dengan metode determinan:

A=

Dengan menuliskanwi = 1/σi2, maka persamaan (11) dan (12) dapat ditulis menjadi:

(5)

Jika deviasi standar padayisemua sama, yaituσi =σ, maka

dan persamaan (11) dan (12) menjadi:

A= w2

Ralat dalamAdanBberasal dari sumbangan ralat dalamyiyaituσi(dianggap tidak sama untuk seluruhy), dihitung dengan rumus perambatan ralat.

σA2 =

Penyebut pada persamaan (11) dan (12) tidak bergantung kepada nilaiyi sehingga tidak terpe-ngaruh oleh derivasi ke-yisehingga bisa dikeluarkan dari derivatif dan dituliskan sebagai:

(6)

Selanjutnya,

Kemudian dari persamaan (17) dan (18),

(7)

2.3

Ralat dalam

A

dan

B

jika

σ

i

=

σ

Jika dalam pengukuran y terdapat ralat (absolut) yang sama, maka A dan B diberikan oleh persamaan 15 dan 16, dan ralatnya (buktikan!)

σA=σy

r P x2

∆ , (23)

σB =σy

r N

∆, (24)

dengan

σy =

v u u

t 1

N 2

N

X

i=1

(yi−A−Bxi)2 (25)

3

Contoh Penerapan Regresi Linier

Pengukuran suhu nol-mutlak dengan termometer gas volume konstan.

Jika volume dari suatu gas ideal dibuat tetap, maka suhunya merupakan fungsi linier dari teka-nannya. Bisa ditulis

T =A+BP (26)

Aadalah suhu pada saat tekanan mencapai nol, yang disebut dengan suhu nol-mutlak, dengan nilai yang diterima secara teoritis

A=273,15oC

KonstantaB bergatung kepada sifat alami gas, yaitu massa dan volumenya1. Dengan melakuk-an beberapa pengukurmelakuk-an akmelakuk-an diperoleh pasmelakuk-angmelakuk-an dataT dan P yang dapat digunakan untuk mengestimasi nilai-nilaiAdanB. Data-data yang diperoleh disajikan pada kolom 2 dan 3 tabel berikut.

(8)

Pengukuran

ke-Tekanan Pi

Suhu

Ti A+BPi

1 65 -20 -22,2

2 75 17 14,9

3 85 42 52,0

4 95 94 89,1

5 105 127 126,2

Perhitungan untuk mencari A dan B dengan persamaan (15) dan (16) telah dilakukan di buku (1) halaman 191. Dalam tulisan ini, pencarian nilai parameterAdanB dilakukan dengan pemrograman python. Listing program python untuk regresi linear adalah sebagai berikut.

#program r e g r e s i l i n i e r dengan bobot import matplotlib . pyplot as plt

from math import sqrt

import numpy as np

d e f inisialisasi ():

namafile = raw_input(’ F i l e yang akan d i b a c a ? ’) sumbux = raw_input(’Nama sumbu X ? ’)

sumbuy = raw_input(’Nama sumbu Y ? ’) judul = raw_input(’ J u d u l g r a f i k ? ’)

r e t u r n namafile , sumbux , sumbuy , judul

d e f bacafiledata ( datafile ):

filedata = open( datafile ,’ r ’)

datax = []; datay = []; datae = []; i = 0

f o r baris i n filedata : i +=1

datanya = baris . split () x = f l o a t( datanya [0]) datax . append (x)

y = f l o a t( datanya [1]) datay . append (y)

e = f l o a t( datanya [2]) datae . append (e)

p r i n t(" x = %5.2 f y = %5.2 f e = %5.2 f ") % (x , y , e) filedata . close ()

jumlahdata = i

p r i n t(" Jumlah d a t a = "), jumlahdata

r e t u r n jumlahdata , datax , datay , datae

(9)

plt . title ( judul ) plt . xlabel ( sumbux ) plt . ylabel ( sumbuy )

plt . legend ( loc =’ upper l e f t ’) plt . plot (x , y , ’ ko ’)

plt . errorbar (x , y , xerr = None , yerr =e , fmt = ’ ’) plt . show ()

d e f regresilinear (x , y , e ):

sum1 =0.0; sum2 =0.0; sum3 =0.0; sum4 =0.0; sum5 =0.0

f o r i i n range(0 , jumlahdata ):

sum1 = sum1 +( x[i ]∗∗2/ e[i ]∗∗2) #wx^2

sum2 = sum2 +( y[i ]/ e[i ]∗∗2) #wy

sum3 = sum3 +( x[i ]/ e[i ]∗∗2) #wx

sum4 = sum4 +( x[i]∗y[i ])/ e[i ]∗∗2 #wxy

sum5 = sum5 +1/ e[i ]∗∗2 #w # h i t u n g determinan

det = ( sum5∗sum1)−sum3∗∗2 # (w) ( wx ^ 2 ) − ( wx ) ^ 2 # parameter a dan b

a = (( sum1sum2)(sum3sum4 ))/ det # ( ( wy ) ( wx ^ 2 ) ( wx ) ( wxy ) ) / d e t

b = (( sum5∗sum4)−(sum3 )∗( sum2 ))/ det # ( (w) ( wxy ) − ( wx ) ^ 2 ) / d e t

sigmaa2 = sum1 / det sigmab2 = sum5 / det

sigmaa = sqrt ( sigmaa2 ) # s q r t ( ( wx ^ 2 ) / d e t )

sigmab = sqrt ( sigmab2 ) # s q r t (w/ d e t ) r e t u r n a , b , sigmaa , sigmab

# p l o t g r a f i k

d e f plotregresi (x , a , b ):

f o r i i n range(0 , l e n(x )): y = a + bx

plt . plot (x ,y ,’ g ’, label =’ H a s i l f i t ’)

d e f fitploterror (x ,a ,b ):

f o r i i n range(0 , l e n(x )): y = a + bx

plt . plot (x ,y ,’ g ’, linestyle =’−−’)

d e f korelasi (x , y ):

sum1 = 0; sum2 = 0; sum3 = 0; sum4 = 0; sum5 = 0

(10)

sum5 += y[i ]∗∗2

r1 = l e n(x)sum1 sum2sum3

r2 = sqrt ((l e n(x)sum4 sum2∗∗2)(l e n(x)sum5 sum3∗∗2)) r = r1 / r2

r e t u r n r

namafile , sumbux , sumbuy , judul = inisialisasi ()

jumlahdata , datax , datay , datae = bacafiledata ( namafile )

r = korelasi ( datax , datay )

p r i n t(" K o e f i s i e n k o r e l a s i = %.2 f ") % (r)

a , b , sigmaa , sigmab = regresilinear ( datax , datay , datae )

p r i n t(" a= %8.6 f , sigmaa= %8.6 f ") % (a , sigmaa )

p r i n t(" b= %8.6 f , sigmab= %8.6 f ") % (b , sigmab )

xfit = np . arange (0 , max( datax ), 1) plotregresi ( xfit , a , b)

fitploterror ( xfit ,asigmaa ,b+ sigmab ) fitploterror ( xfit ,a+ sigmaa ,b−sigmab ) gambar ( datax , datay , datae )

Untuk menjalankan program regresi-linier python di atas, data-data dituliskan dalam file txt 3 kolom dengan dibatasi spasi antar kolom. Kolom pertama adalah nilaix, kolom ke-2 adalah nilaiydan kolom ke-3 adalah nilaiσi.

Sebagai contoh, data-data pada tabel di atas dituliskan dalam file txt dengan σi = 7, dan disimpan dengan nama file : contoh.txt.

65 20 7

75 17 7

85 42 7

95 94 7

105 127 7

Jalannya program adalah sebagai berikut:

C :\ Kuliah Metode Pengukuran Fisika > python regresi_linear_2 . py File yang akan dibaca ? contoh . txt

(11)

Nama sumbu Y ? T

Judul grafik ? Menentukan suhu nol mutlak x = 65.00 y = 20.00 e = 7.00

x = 75.00 y = 17.00 e = 7.00 x = 85.00 y = 42.00 e = 7.00 x = 95.00 y = 94.00 e = 7.00 x = 105.00 y = 127.00 e = 7.00 Jumlah data = 5

Koefisien korelasi = 1.00

a= 263.350000 sigmaa = 19.074197 b= 3.710000 sigmab = 0.221359

Grafik hasil program:

Gambar 1: Hasil program regresi linier python untuk file: contoh.txt

Dari hasil program di atas dapat dituliskan:

(12)

4

Metode Grafik

Pada dasarnya penentuanA danB tidak menjadi masalah jika dihitung dengan menggunakan metode regresi linier. Yang menjadi permasalahan adalah jika mahasiswa harus menggambark-an grafik dmenggambark-an menemukmenggambark-anAdanB secara manual, beserta dengan ketidakpastiannya. Masalah tersebut muncul karena tidak ada kejelasan mengenai bagaimana menerapkan metode mencari garis terbaik dengan bantuan dua garis maksimum dan minimum. Satu hal yang jelas adalah bahwa garis terbaik harus melewati titikcentroid2, yaitu nilai rata-rata dari variabelxdan vari-abely, titik(¯x,y)¯ .

4.1

Garis bantu ditarik dari ujung-ujung ralat

Cara ini yang biasanya digunakan oleh mahasiswa. Cara yang praktis, namun mengandung resiko bahwa garis terbaik tidak melewati titik centroid. Ingat, bahwa meskipun dinamakan garis bantu, namun garis tersebut adalah juga garis "terbaik" yang masih mungkin. Sebagai contoh ditunjukkan pada Gambar 2. Menentukan titik centroid:

¯ x=

P xi

N =

65 + 75 + 85 + 95 + 105

5 = 85

¯ y=

P yi

N =

(20) + 17 + 42 + 94 + 127

5 = 52

Titik merah adalah titik centroid, dua garis bantu digambarkan dengan menerapkan metode tarik garis dari ujung-ujung batang ralat. Dapat dilihat bahwa garis terbaik, yang merupakan rata-rata dari dua garis bantu tersebut tidak melewati titikcentroid. Grafik pada Gambar 2 ada-lah plot dari data-data pada contoh yang dibahas di depan, sehingga bisa dibandingkan hasilnya jika kita mencari persamaan garis lurus dengan metode grafik manual ini.

Kemiringan, atau gradien (slope) garis ditentukan secara manual dengan mencari dua titik

2

(13)

Gambar 2: Dua garis bantu ditarik dari ujung-ujung batang ralat

pada garis yang memotong garis grid. Semakin jauh jarak antara dua titik tersebut, hasil gradien semakin baik.

Lihat Gambar 3. Untuk garis-1 dari grafik diperoleh gradien:

B1 = ∆y

∆x =

(128)(24)

10466 =

152 38 = 4

Dengan cara yang sama, gradien untuk garis-2 adalah (Lihat Gambar 4)

B2 = ∆y

∆x =

(124)(16)

10664 =

140

42 = 3,33

Dengan demikian diperoleh gradien garis terbaiknya adalah:

¯

B = B1+B2

2 =

4,00 + 3,33

(14)

Gambar 3: Cara manual menentukan gradien garis

dan ralatnya:

σB¯ = |

B1B2|

2 =

|4,003,33|

2 = 0,335

Bisa juga dihitung dengan :σB¯ =

B1−B¯=|4,00−3,665|= 0,335. Bisa dikatakan bahwa hasil penentuan gradien dengan cara grafik manual ini sama dengan hasil dari metode regresi linear, hanya ralatnya yang lebih besar.

Selanjutnya adalah menentukanAdari grafik, yaitu titik potong garis dengan sumbu tegakl. Ditunjukkan pada Gambar 5. Gambar di-zoom untuk menunjukkan perpotongan garis dengan sumbuy. (Lihat Gambar (6)).

(15)

Gambar 4: Cara manual menentukan gradien garis

potong terbaiknya : ¯

A= A1+A2

2 =

(285) + (230)

2 =−257,5

dan ralatnya:

σA¯ =

A1−A¯=|−285−(257,5)|= 27,5

Hasilnya dapat dituliskan:

¯

A±σA= (−258±30)◦C

(16)

Gambar 5: Mencari titik potong garis dengan sumbuy

tidak akurat. Hal ini sudah terlihat bahwa garis-garis bantu tidak melewati titikcentroid yang menyebabkan garis terbaik juga tidak melewati titikcentroid, yang merupakan kekeliruan.

Pada contoh di atas, titik potong diperoleh dengan cara ekstrapolasi, yang memberikan efek pada membesarnya ralat pada titik potong. Semakin jauh ekstrapolasi, kedua garis bantu ak-an semakin menyebar. Dengak-an membuat garis bak-antu yak-ang melewati ujung-ujung batak-ang ralat (maksimum dan minium) maka pemisahan dua garis bantu juga akan besar, dan jika dilakukan ekstrapolasi, ralatnya akan semakin membesar. Sebagai contoh, ralat pada titik potong dengan menggunakan regresi linier sebesar

20

261 ∼= 7,7%

sedangkan dari hasil metode grafik

30

(17)

Gambar 6: Gambar titik-titik potong diperbesar

4.2

Garis bantu ditarik melewati titik

centroid

Karena garis-garis bantu adalah juga garis yang mungkin bisa mewakili titik-titik data, maka garis-garis tersebut juga harus melalui titikcentroid. Seperti ditunjukkan pada Gambar 7.

Dari Gambar 8 diperoleh gradien garis-1: 140(50)

10860 =

190

48 = 3,958

dan dari Gambar 9 diperoleh gradien garis-2: 130(50)

10856 =

180

52 = 3,462

Nilai terbaik gradien:

3,958 + 3,462

2 =

7,42

2 = 3,71

dengan ralat

3,9583,462

2 =

0,496

2 = 0,248

Dari gambar tersebut diperoleh nilai terbaik untukAadalah −245 + (285)

2 =−265

(18)

Gambar 7: Garis bantu melewati titik centroid

Hasil penentuanAdanB dengan ketiga metode dirangkum dalam tabel berikut:

Metode Regresi Garis bantu

dari ujung-ujung batang ralat

Garis bantu melewati titik centroid

A= (263±19)◦C A= (

−258±30)◦C A= (

−265±20)◦C B = (3,7±0,2)◦C/mmHg B = (3,7±0,3)C/mmHg B = (3,7±0,2)C/mmHg

(19)

Gambar 8: Menentukan gradien garis-1

(20)

5

Penutup

Dari uraian dan contoh-contoh yang telah diberikan, maka sebaiknya cara menarik garis bantu yang dilakukan dari ujung-ujung batang ralat sebaiknya dihindari. Selain cara itu bisa menyala-hi aturan penggambaran garis terbaik jika garis yang ditarik tidak melewati titik centroid, hasil perhitungannya juga menyimpang dari metode standar untuk menentukan parameter persamaan linear.

Pustaka

1. Taylor, J. R., 1992,An Introduction to Error Analysis, University Science Book.California.

Gambar

Gambar 1: Hasil program regresi linier python untuk file: contoh.txt
Gambar 2: Dua garis bantu ditarik dari ujung-ujung batang ralat
Gambar 3: Cara manual menentukan gradien garis
Gambar 4: Cara manual menentukan gradien garis
+5

Referensi

Dokumen terkait