Regresi Linier Sederhana

Satria Dewabrata

2023-06-01


1 PENDAHULUAN

1.1 Latar Belakang

Penggunaan statistika dalam mengolah data penelitian berpengaruh terhadap tingkat analisis hasil penelitian. Penelitian-penelitian dalam bidang ilmu pengetahuan alam (IPA) yang menggunakan perhitungan-perhitungan statistika, akan menghasilkan data yang mendekati benar jika memperhatikan tata cara analisis data yang digunakan. Dalam memprediksi dan mengukur nilai dari pengaruh satu variabel (bebas/independent/ predictor) terhadap variabel lain (tak bebas/dependent/response) dapat digunakan uji regresi.

Analisis/uji regresi merupakan suatu kajian dari hubungan antar satu variabel dengan satu atau lebih. Analisis/ uji regresi banyak digunakan dalam perhitungan hasil akhir untuk penulisan karya ilmiah/penelitian. Hasil perhitungan analisis/uji regresi akan menentukan apakah penelitian yang dilakukan berhasil atau tidak.

2 TINJAUAN PUSTAKA

2.1 Regresi Linier

Regresi linier adalah metode statistika yang digunakan untuk membentuk model hubungan antara variabel terikat (dependen; respon; Y) dengan satu atau lebih variabel bebas (independen, prediktor, X). Apabila banyaknya variabel bebas hanya ada satu, disebut sebagai regresi linier sederhana, sedangkan apabila terdapat lebih dari 1 variabel bebas, disebut sebagai regresi linier berganda.

2.2 Regresi Linier Sederhana

Regresi linier sederhana dalah regresi yang hanya mempertimbangkan satu variabel bebas. Regresi linier sederhana menjelaskan mengenai hubungan antar satu variabel dengan variabel lainnya yang biasanya dinyatakan dalam suatu garis regresi.

Model Regresi Linier Sederhana

Yi = \(\beta\)0 + \(\beta\)1Xi + \(\epsilon\)i

2.3 Uji Simultan

Uji simultan (keseluruhan; bersama-sama) pada konsep regresi linier adalah pengujian mengenai apakah model regresi yang didapatkan benar-benar dapat diterima. Uji simultan bertujuan untuk menguji apakah antara variabel-variabel bebas X dan terikat Y, atau setidaktidaknya antara salah satu variabel X dengan variabel terikat Y, benar-benar terdapat hubungan linier (linear relation).

Hipotesis dalam uji simultan:

H0 : \(\beta\)1 = \(\beta\)2 =…= \(\beta\)k = 0

H1 : Tidak semua \(\beta\)i = 0

2.4 Uji Parsial

Uji parsial digunakan untuk menguji apakah sebuah variabel bebas X benar-benar memberikan kontribusi terhadap variabel terikat Y. Dalam pengujian ini ingin diketahui apakah jika secara terpisah, suatu variabel X masih memberikan kontribusi secara signifikan terhadap variabel terikat Y.

Hipotesis dalam uji parsial:

H0 : \(\beta\)j = 0

H1 : \(\beta\)j \(\neq\) 0

2.5 Uji Asumsi

Uji asumsi klasik regresi linier terdiri dari beberapa uji:

  • Model dispesifikasikan dengan benar:

Model regresi harus dirancang dengan benar oleh peneliti. Asumsi ini tidak memiliki uji statistika, karena asumsi ini berhubungan dengan konsep teoritis dari kasus yang sedang diteliti.

  • Uji normalitas:

Uji ini digunakan untuk mengetahui normalitas dari error dengan rata-rata nol dan suatu ragam tertentu.

Hipotesis dalam uji normalitas adalah:

H0 : Data menyebar normal

H1 : Data tidak menyebar normal

Jika sig. (p value) ≤ 0,05 (5%) maka H~0 ditolak artinya Data di dalam grup atau antar grup tidak terdistribusi secara normal. Sebaliknya jika sig. (p value) > 0,05 (5%) maka H0 diterima atau artinya Data di dalam grup atau antar grup terdistribusi secara normal.

  • Uji homoskedastisitas

Menguji ragam yang bersifat homogen atau memiliki nilai yang sama antara error ke-i dan error ke-j.

Hipotesis dalam uji homoskedastisitas

H0 : Ragam error bersifat homoskedastik

H1 : Ragam error bersifat heterokedastik

Jika sig. (p value) ≤ 0,05 (5%) maka H~0 ditolak artinya Data di dalam grup atau antar grup tidak terdistribusi secara normal. Sebaliknya jika sig. (p value) > 0,05 (5%) maka H0 diterima atau artinya Ragam error bersifat homoskedastik.

  • Uji Autokorelasi

Adanya autokorelasi pada error mengindikasikan bahwa ada satu atau beberapa faktor (variabel) penting yang mempengaruhi variabel terikat Y yang tidak dimasukkan ke dalam model regresi.

Hipotesis dalam uji autokorelasi:

H0 : \(\rho\) = 0

H1 : \(\rho\) \(\neq\) 0

Jika sig. (p value) ≤ 0,05 (5%) maka H~0 ditolak artinya Data di dalam grup atau antar grup tidak terdistribusi secara normal. Sebaliknya jika sig. (p value) > 0,05 (5%) maka H0 diterima atau artinya tidak terdapat autokorelasi.

3 SOURCE CODE

3.1 Library yang digunakan

> library(car)
> library(lmtest)
> library(nortest)
> library(tseries)

3.2 Input Data

Pengamatan mengenai berat badan 25 mahasiswa yang diprediksi dipengaruhi oleh konsumsi jumlah kalori/hari. Ingin diketahui apakah konsumsi jumlah kalori/hari mempengaruhi berat badan mahasiswa.

Variabel:

X (variabel bebas/predictor) = jumlah kalori/hari

Y (variabel tidak bebas/response) = berat badan

> data <- read.csv('C:/Users/Acer/Documents/Dewa/Kuliah/Semester 4/Komputasi Statistika/Praktikum/data.csv', header=TRUE, sep=";")
> data
     X  Y
1  530 89
2  300 48
3  358 56
4  510 72
5  302 54
6  300 42
7  387 60
8  527 85
9  415 63
10 512 74
11 424 65
12 517 75
13 432 66
14 500 70
15 459 67
16 389 55
17 437 58
18 444 62
19 390 59
20 501 75
21 355 53
22 503 74
23 477 62
24 343 50
25 521 75

3.3 Plot

3.3.1 Scatter Plot

> scatter.smooth(x=data$X, y=data$Y, main="Weight ~ Calories/day")

3.3.2 Boxplot

> par(mfrow=c(1,2))
> boxplot(data$Y, main="Weight",sub=paste("Outlier rows:", boxplot.stats(data$X)$out))
> boxplot(data$X, main="Calories/day",sub=paste("Outlier rows:", boxplot.stats(data$Y)$out))

3.4 Correlation

Analisis korelasi digunakan untuk mengetahui hubungan antara variabel Y dan X, dimana pada kasus ini adalah hubungan antara berat badan dengan jumlah kalori yang dikonsumsi per harinya.

> cor(data$X,data$Y, method="pearson")
[1] 0.9236817

3.5 Analisis regresi

Analisis untuk meramalkan pengaruh variabel prediktor terhadap variable kriterium untuk membuktikan ada atau tidaknya hubungan fungsional antara variabel bebas (X) dengan sebuah variabel terikat (Y).

3.5.1 Linier Model

> liniermodel <- lm(Y ~ X,data=data)
> liniermodel

Call:
lm(formula = Y ~ X, data = data)

Coefficients:
(Intercept)            X  
     4.6689       0.1378  

3.5.2 Penduga Respons

> yduga <- fitted(liniermodel)
> yduga
       1        2        3        4        5        6        7        8 
77.67796 45.99478 53.98445 74.92290 46.27028 45.99478 57.97928 77.26470 
       9       10       11       12       13       14       15       16 
61.83637 75.19840 63.07614 75.88717 64.17817 73.54537 67.89750 58.25479 
      17       18       19       20       21       22       23       24 
64.86693 65.83120 58.39254 73.68312 53.57119 73.95863 70.37705 51.91815 
      25 
76.43818 

3.5.3 Penduga sisaan

> sisaan <- resid(liniermodel)
> sisaan
          1           2           3           4           5           6 
11.32204494  2.00522309  2.01555208 -2.92289609  7.72971719 -3.99477691 
          7           8           9          10          11          12 
 2.02071657  7.73530379  1.16363402 -1.19840198  1.92385748 -0.88716673 
         13          14          15          16          17          18 
 1.82183389 -3.54536660 -0.89749572 -3.25478932 -6.86693085 -3.83120149 
         19          20          21          22          23          24 
 0.60745773  1.31688045 -0.57118908  0.04137455 -8.37704879 -1.91815370 
         25 
-1.43817852 

3.6 Uji Simultan

> fh <- liniermodel$fhit[1]
> f <- summary(liniermodel)$fstatistic
> f
   value    numdf    dendf 
133.6627   1.0000  23.0000 
> 
> pval  <- pf(f[1], f[2], f[3], lower=FALSE)
> pval
     value 
4.6308e-11 

3.7 Uji Parsial

> liniermodel

Call:
lm(formula = Y ~ X, data = data)

Coefficients:
(Intercept)            X  
     4.6689       0.1378  
> model_sum <- summary(liniermodel)
> model_coef <- model_sum $ coefficients 
> beta.duga <- model_coef["X", "Estimate"] 
> std.error <- model_coef["X", "Std. Error"] 
> t_hit <- beta.duga/std.error
> t_hit
[1] 11.56126
> 
> pval <- 2*pt(-abs(t_hit)  ,df=nrow(data)-ncol(data)) 
> pval
[1] 4.6308e-11

3.8 Uji Asumsi

3.8.1 Uji Asumsi Normalitas

> jarque.bera.test(sisaan)

    Jarque Bera Test

data:  sisaan
X-squared = 2.3206, df = 2, p-value = 0.3134

3.8.2 Uji Asumsi Homoskedastisitas

> bptest(liniermodel)

    studentized Breusch-Pagan test

data:  liniermodel
BP = 1.0083, df = 1, p-value = 0.3153

3.8.3 Uji Asumsi Autokorelasi

> dwtest(liniermodel)

    Durbin-Watson test

data:  liniermodel
DW = 1.536, p-value = 0.1238
alternative hypothesis: true autocorrelation is greater than 0

4 HASIL DAN PEMBAHASAN

4.1 Analisis Grafik

4.1.1 Scatter Plot

Plot pencar atau scatter plot dapat membantu memvisualisasikan hubungan linier antara variabel dependen (respon) dan variabel independen (prediktor).

> scatter.smooth(x=data$X, y=data$Y, main="Weight ~ Calories/day")

Plot pencar bersama dengan garis smoothing di atas menunjukkan hubungan yang meningkat secara linier antara variabel Berat Badan dan Jumlah kalori/hari.

4.1.2 Box Plot

Box plot digunakan untuk menemukan pengamatan outlier dalam variabel. Data yang memiliki outlier di prediktor dapat secara drastis memengaruhi prediksi karena mereka dapat dengan mudah memengaruhi arah/kemiringan garis yang paling sesuai.

> par(mfrow=c(1,2))
> boxplot(data$Y, main="Weight",sub=paste("Outlier rows:", boxplot.stats(data$X)$out))
> boxplot(data$X, main="Calories/day",sub=paste("Outlier rows:", boxplot.stats(data$Y)$out))

Dari diagram boxplot di atas, diketahui bahwa dari kedua variabel data tidak terdeteksi adanya pencilan atau outlier.

4.2 Analisis Korelasi

Analisis korelasi pada kasus ini untuk mengukur hubungan antara dua variabel, variabel respons (Berat Badan) dan Variabel prediktor (Jumlah kalori/hari) dengan menggunakan metode Pearson.

> cor(data$X,data$Y, method="pearson")
[1] 0.9236817

Korelasi diukur di antara jarak -1 sampai 1. Apabila korelasi bernilai positif maka kedua variabel memiliki hubungan yang searah, sedangkan apabila korelasi bernilai negatif, maka kedua variabel memiliki hubungan yang berlawanan. Dari analisis di atas diketahui bahwa nilai korelasi variabel Jumlah kalor/hari dan berat badan bernilai 0.9236817, yang berarti kedua variabel memiliki hubungan yang sangat kuat.

4.3 Analisis Regresi

4.3.1 Analisis Linier Model

> liniermodel <- lm(Y ~ X,data=data)
> liniermodel

Call:
lm(formula = Y ~ X, data = data)

Coefficients:
(Intercept)            X  
     4.6689       0.1378  

Dari hasil di atas diketahui bahwa

  • Setiap Penambahan Jumlah Kalori/hari sebesar 1 satuan, Maka berat badan akan bertambah sebesar 0.1378 satuan.

_ Bentuk persamaan regresinya adalah Y = 4.6689 + 0.1378X

4.4 Uji Simultan

> fh <- liniermodel$fhit[1]
> f <- summary(liniermodel)$fstatistic
> f
   value    numdf    dendf 
133.6627   1.0000  23.0000 
> 
> pval  <- pf(f[1], f[2], f[3], lower=FALSE)
> pval
     value 
4.6308e-11 

Dari hasil di atas diketahui bahwa:

  • Tingkat signifikansi yang digunakan adalah 0.05

  • Karena P-value (4.6308e-11) dari uji F di atas < alpha (0.05), maka keputusan yang diambil adalah tolak H0.

  • Sehingga, dapat disimpulkan bahwa terdapat hubungan antara kedua variabel tersebut.

4.5 Uji Parsial

> liniermodel

Call:
lm(formula = Y ~ X, data = data)

Coefficients:
(Intercept)            X  
     4.6689       0.1378  
> model_sum <- summary(liniermodel)
> model_coef <- model_sum $ coefficients 
> beta.duga <- model_coef["X", "Estimate"] 
> std.error <- model_coef["X", "Std. Error"] 
> t_hit <- beta.duga/std.error
> t_hit
[1] 11.56126
> 
> pval <- 2*pt(-abs(t_hit)  ,df=nrow(data)-ncol(data)) 
> pval
[1] 4.6308e-11

Dari hasil di atas diketahui bahwa:

  • Tingkat signifikansi yang digunakan adalah 0.05

  • Karena P-value (4.6308e-11) dari uji t di atas < alpha (0.05), maka keputusan yang diambil adalah tolak H0.

  • Sehingga, dapat disimpulkan bahwa terdapat hubungan antara kedua variabel tersebut.

4.6 Uji Asumsi

4.6.1 Uji Asumsi Normalitas

> jarque.bera.test(sisaan)

    Jarque Bera Test

data:  sisaan
X-squared = 2.3206, df = 2, p-value = 0.3134

Dengan menggunakan uji normalitas jarque bera, dari hasil di atas diketahui bahwa:

  • Tingkat signifikansi yang digunakan adalah 0.05

  • Karena P-value (0.3134) dari uji normalitas di atas > alpha (0.05), maka keputusan yang diambil adalah terima H0.

  • Sehingga, dapat disimpulkan bahwa ragam sisaan dari data di atas menyebar normal.

4.6.2 Uji Asumsi Homoskedastisitas

> bptest(liniermodel)

    studentized Breusch-Pagan test

data:  liniermodel
BP = 1.0083, df = 1, p-value = 0.3153

Dengan menggunakan uji normalitas Breusch Pagan, dari hasil di atas diketahui bahwa:

  • Tingkat signifikansi yang digunakan adalah 0.05

  • Karena P-value (0.3135) dari uji homoskedastisitas di atas > alpha (0.05), maka keputusan yang diambil adalah terima H0.

  • Sehingga, dapat disimpulkan bahwa ragam bersifat homoskedastik.

4.6.3 Uji Asumsi Autokorelasi

> dwtest(liniermodel)

    Durbin-Watson test

data:  liniermodel
DW = 1.536, p-value = 0.1238
alternative hypothesis: true autocorrelation is greater than 0

Dengan menggunakan uji normalitas Durbin-Watson, dari hasil di atas diketahui bahwa:

  • Tingkat signifikansi yang digunakan adalah 0.05

  • Karena P-value (0.1238) dari uji autokorelasi di atas > alpha (0.05), maka keputusan yang diambil adalah terima H0.

  • Sehingga, dapat disimpulkan bahwa tidak terdapat masalah korelasi.

5 DAFTAR PUSTAKA

Kurniawan, Deny. 2008. Regresi Linier. Forum Statistika.

Santiyasa, I Wayan. 2016. Analisis Ragam. Universitas Udayana.

Yuliara, I Made. 2016. Regresi Linier Sederhana. Universitas Udayana.