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.
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