Regresi linier sederhana adalah suatu alat analisis statistik yang menjelaskan hubungan satu variabel terikat (dependen) dengan satu variabel bebas (independen) dalam bentuk sebuah fungsi linier.

Model regresi linier sederhana:

y = a + bx + e

Untuk keperluan simulasi, kita seringkali membutuhkan data acak (data random) yang cocok untuk digunakan pada model tersebut.

Berikut ini adalah langkah-langkah membangkitkan (generate) data random yang bisa digunakan dalam analisis regresi linier sederhana.

  1. Tentukan terlebih dahulu model regresi yang diinginkan serta banyaknya data yang akan dihasilkan.

Misalnya model regresi yang diinginkan adalah: y = 0,7 + 1,3x + e Sedangkan banyaknya data yang ingin dihasilkan adalah 50.

Pada aplikasi regresi linear dengan program R, didefinisikan banyaknya data terlebih dahulu.

n <- 50
n
## [1] 50

Bangkitkan data acak xx yang mengikuti distribusi seragam. Misalnya nilai xx berkisar antara 10 sampai dengan 25. Data xx dibangkitkan sebanyak banyaknya data, yaitu 50.

x <- runif(n, 10, 25)
x
##  [1] 17.61142 23.62513 13.23139 19.32042 11.34237 23.95463 14.53991 15.93344
##  [9] 14.98997 15.52049 20.73713 23.05400 20.90856 14.91998 22.38495 16.73259
## [17] 23.02302 23.42905 13.20524 14.49450 21.35451 21.75354 16.02838 22.65471
## [25] 20.04407 17.01477 21.60583 14.55339 20.16301 13.63580 20.98939 14.63316
## [33] 10.16410 18.43233 17.31726 10.37548 22.66402 16.14749 19.79459 20.86172
## [41] 16.03997 11.08763 10.46814 24.03252 17.41316 19.17998 12.69649 23.05288
## [49] 21.38259 22.89945

Bangkitkan data residual. Dalam analisis regresi linier, residual diasumsikan mengikuti distribusi normal dengan rata-rata (mean) sama dengan 0 dan standar deviasi sama dengan σ. Pada contoh kali ini kita tetapkan standar deviasi sebesar 7.

e <- rnorm(n, mean = 0, sd = 7)
e
##  [1]  -1.9917410  -5.7635512  -3.5726672  -1.4629821  20.0815571   2.9146949
##  [7]  -6.0314393  -3.9138602  14.7063861  -2.1737362  -4.9092952   4.0338140
## [13]  14.0002518  -7.5608716  -1.2710537  -6.5639630   3.8728803  10.2728656
## [19]   1.3572630  -3.5957819   4.3987655   2.2265151   6.0397222  19.4106975
## [25]  12.5490324  -8.7318187  -8.8119764   8.9673933   9.8665570  16.3661758
## [31]  -4.5187326  -1.7995025   6.7365001  -6.4655439  -8.4802634 -19.2208660
## [37] -10.7151938   0.8808214  -3.2430416  -1.5751747 -14.1631367   6.6860576
## [43]  -4.3159824  -3.1118749  -3.9072626 -15.3489315  -4.9283893   6.9991324
## [49]  -4.2531555  -1.7929673

Hitung data yy menggunakan model regresi. Data yy dihitung berdasarkan model regresi yang telah ditetapkan sebelumnya, yaitu y = 0,7 + 1,3x + e

y <- 0.7 + (1.3*x) + e
y
##  [1] 21.603106 25.649116 14.328144 24.353567 35.526641 34.755718 13.570439
##  [8] 17.499617 34.893350 18.702895 22.748972 34.704016 41.881381 12.535109
## [15] 28.529377 15.888410 34.502805 41.430626 19.224075 15.947072 32.859634
## [22] 31.206111 27.576613 49.561816 39.306322 14.087384 19.975602 28.586802
## [29] 36.778475 34.792712 23.467474 17.923599 20.649836 18.196480 14.732172
## [36] -5.032737 19.448029 22.572553 23.189924 26.245062  7.388825 21.799983
## [43]  9.992594 28.830406 19.429841 10.285037 12.277052 37.667878 24.244217
## [50] 28.676318

Visualisasikan data xx dan yy dalam diagram pencar (scatter plot).

plot(x, y, col = "blue")

Tampilkan garis regresi pada diagram pencar.

plot(x, y, col = "blue")
abline(lm(y ~ x), col = 'red')

Tampilkan data regresi, yaitu data yy dan data x.x.

datareg <- cbind(y, x)
datareg
##               y        x
##  [1,] 21.603106 17.61142
##  [2,] 25.649116 23.62513
##  [3,] 14.328144 13.23139
##  [4,] 24.353567 19.32042
##  [5,] 35.526641 11.34237
##  [6,] 34.755718 23.95463
##  [7,] 13.570439 14.53991
##  [8,] 17.499617 15.93344
##  [9,] 34.893350 14.98997
## [10,] 18.702895 15.52049
## [11,] 22.748972 20.73713
## [12,] 34.704016 23.05400
## [13,] 41.881381 20.90856
## [14,] 12.535109 14.91998
## [15,] 28.529377 22.38495
## [16,] 15.888410 16.73259
## [17,] 34.502805 23.02302
## [18,] 41.430626 23.42905
## [19,] 19.224075 13.20524
## [20,] 15.947072 14.49450
## [21,] 32.859634 21.35451
## [22,] 31.206111 21.75354
## [23,] 27.576613 16.02838
## [24,] 49.561816 22.65471
## [25,] 39.306322 20.04407
## [26,] 14.087384 17.01477
## [27,] 19.975602 21.60583
## [28,] 28.586802 14.55339
## [29,] 36.778475 20.16301
## [30,] 34.792712 13.63580
## [31,] 23.467474 20.98939
## [32,] 17.923599 14.63316
## [33,] 20.649836 10.16410
## [34,] 18.196480 18.43233
## [35,] 14.732172 17.31726
## [36,] -5.032737 10.37548
## [37,] 19.448029 22.66402
## [38,] 22.572553 16.14749
## [39,] 23.189924 19.79459
## [40,] 26.245062 20.86172
## [41,]  7.388825 16.03997
## [42,] 21.799983 11.08763
## [43,]  9.992594 10.46814
## [44,] 28.830406 24.03252
## [45,] 19.429841 17.41316
## [46,] 10.285037 19.17998
## [47,] 12.277052 12.69649
## [48,] 37.667878 23.05288
## [49,] 24.244217 21.38259
## [50,] 28.676318 22.89945

Ekspor data dalam format .csv.

write.csv(datareg, "data_regresi_sederhana.csv")

Perintah di atas biasanya menghasilkan file dalam format .csv pada folder Documents.

Daftar Pustaka

https://www.rumusstatistik.com/2021/05/membangkitkan-data-regresi-linier-sederhana.html