Analisis atau uji regresi adalah studi tentang bagaimana satu variabel yaitu variabel yang diterangkan bekerja dengan satu atau lebih variabel lain yaitu variabel yang menerangkan. Analisis regresi disebut regresi sederhana jika variabel bebasnya hanya satu. Sebaliknya, regresi linear berganda digunakan jika variabel bebasnya lebih dari satu. Karena ada sejumlah variabel bebas yang mempengaruhi variabel tak bebas, ini dikatakan berganda.
Analisis regresi berganda adalah pengembangan dari analisis regresi sederhana ketika ada lebih dari satu variabel independen X. Berdasarkan nilai variabel independen X1, X2,… Xk, analisis ini digunakan untuk melihat jumlah variabel independen X terhadap variabel dependen Y.
Dalam regresi berganda, semua variabel bebas dimasukkan ke dalam perhitungan regresi secara bersamaan, sedangkan dalam regresi sederhana hanya ada satu variabel bebas yang digunakan untuk memprediksi variabel tergantung. Oleh karena itu, serangkaian variabel bebas dimasukkan secara bersamaan ke dalam persamaan regresi untuk memprediksi variabel terikat. Persamaan regresi juga menghasilkan konstanta dan koefisien regresi untuk setiap variabel bebas.
Statistika deskriptif adalah metode untuk mengumpulkan angka, menabelkan, menggambar, mengolah, dan menganalisis angka serta menginterpretasikannya dengan memberi penafsiran. Dengan kata lain, statiska deskriptif adalah metode untuk mengumpulkan angka dalam bentuk catatan dan kemudian menyajikan angka tersebut dalam bentuk grafik untuk dianalisis.
Analisis regresi linier berganda adalah teknik statistik yang digunakan untuk mempelajari hubungan antara satu variabel terikat (Y) dan dua atau lebih variabel bebas (X1, X2, …, Xk). Tujuan utama dari analisis ini adalah untuk menentukan apakah variabel bebas memiliki pengaruh signifikan terhadap variabel terikat. Model regresi linier berganda dapat dituliskan dalam rumus berikut: \[ Yi=β0+β1X1+β2X2+⋯+βkXki+εi \] Dengan keterangan sebagai berikut:
i = banyaknya pengamatan dengan i = 1,2,3,…,n.
k = banyaknya variabel bebas dengan k = 1,2,3,…,k.
Yi = variabel terikat pengamatan ke-i
Xki = variabel bebas pengamatan ke-i.
β0 = intersep.
βk = koefisien regresi atau slope (parameter) ke-k.
εi = galat pengamatan ke-i.
Persamaan linier untuk pendugaan garis regresi linier ditulis dalam bentuk berikut: \[ ŷ i=b0+b1x1i+b2x2i+⋯+bkxki \] Dengan keterangan sebagai berikut:
ŷ i= nilai dugaan variabel terikat pengamatan ke-i
xki = nilai variabel bebas pengamatan ke-i
b0 = titik potong garis regresi pada sumbu-y atau nilai dugaan ŷ bila x sama dengan nol
bk = gradien garis regresi (perubahan nilai dugaan ŷ per satuan perubahan nilai x) ke-k
Uji normalitas bertujuan untuk mengetahui normal atau tidaknya suatu distribusi data. Pada dasarnya, uji normalitas adalah membandingkan antara data yang kita miliki dan data berdistribusi normal yang memiliki mean dan standar deviasi yang sama dengan data kita. Uji normalitas menjadi hal penting karena salah satu syarat pengujian paramtric-test (uji parametrik) adalah data harus memiliki distribusi normal (atau berdistribusi normal).
Uji Multikolinearitas dilakukan untuk menguji ada tidaknya korelasi antara variabel bebas dalam persamaan regresi (Ghozali, 2006:91). Jika variabel independen saling berkorelasi, maka variabel-variabel ini tidak ortogonal. Variabel ortogonal adalah variabel independen yang nilai korelasi antar sesama variabel independen sama dengan nol. Berdasarkan aturan Variance Inflation Factor (VIF) dan tolerance dengan kriteria sebagai berikut:
Apabila VIF melebihi angka 10 atau tolerance kurang dari 0,10 maka dinyatakan terjadi gejala multikolinearitas.
Apabila nilai VIF kurang darai 10 atau tolerance lebih dari 0,10 maka dinyatakan tidak terjadi gejala multikolinearitas.
Menurut Singgih Santoso (2012:241), “tujuan uji autokorelasi adalah untuk mengetahui apakah dalam sebuah model regresi linier ada korelasi antara kesalahan penganggu pada periode t dengan kesalahan pada periode t1 (sebelumnya)”. Jika terjadi korelasi, maka dinamakan ada problem autokorelasi. Autokorelasi pada sebagian besar kasus ditemukan pada regresi yang datanya adalah time series, atau berdasarkan waktu berkala, seperti bulanan, tahunan, dan seterusnya, karena itu ciri khusus uji ini adalah waktu (Santoso, 2012:241). Untuk mendeteksi gejala autokorelasi dapat menggunakan uji Durbin-Watson (D-W). Pengambilan keputusan ada tidaknya autokorelasi dapat dilihat dari ketentuan berikut (Santoso, 2012:242): Durbin-Watson (DW). Kriterianya adalah sebagai berikut:
Jika D-W di bawah -2 berarti ada autokorelasi positif
Jika D-W di antara -2 sampai +2 berarti tidak ada autokorelasi
Jika D-W di atas +2 berarti ada autokorelasi negative Model regresi yang baik adalah regresi yang bebas dari autokorelasi.
Uji heteroskedastisitas bertujuan menguji apakah dalam model regresi terjadi ketidaksamaan variance dari residual satu pengamatan ke pengamatan yang lain. Jika variance dari residual satu pengamatan ke pengamatan lain tetap, maka disebut homoskedastisitas dan jika berbeda disebut heteroskedastisitas. Model regresi yang baik adalah yang homoskedastisitas atau tidak terjadi heteroskedastisitas (Ghozali, 2011:139). Deteksi ada atau tidaknya heteroskedastisitas dapat dilihat dengan ada tidaknya pola tertentu pada grafik scaterplot. Jika ada pola tertentu maka mengindikasikan telah terjadi heteroskedastisitas. Tetapi jika tidak ada pola yang jelas serta titik-titik menyebar di atas dan di bawah angka 0 pada sumbu Y, maka tidak terjadi heteroskedastisitas (Ghozali, 2011:175).
Merupakan teknik statistika yang dapat digunakan untuk menganalisis hubugan antara variabel dependen dan variabel independen. Tujuan dari analisis regresi linear berganda adalah untuk mengetahui signifikasi pengaruh variabel prediktor terhadap variabel dependen, sehingga dapat memuat prediksi yang tepat, dengan rumus sebagai berikut : \[ Y = α + β1X1 +β2 X2 + e \] Keterangan :
Y : Kepuasan Konsumen
α : Konstanta
β : Koefisien regresi variabel bebas
X1 : Kualitas Pelayanan
X2 : Kualitas Produk
e : Error
library(readxl)
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(readxl)
Data4 <- read_excel("C:/Users/HP/Downloads/Data4.xlsx")
View(Data4)
Y <- as.matrix(Data4$Y, ncol(1))
Y
## [,1]
## [1,] 0.0785
## [2,] 0.0532
## [3,] 0.3591
## [4,] 0.0543
## [5,] 0.0641
## [6,] 0.0928
## [7,] 0.0429
## [8,] 0.0712
## [9,] 0.0991
## [10,] 0.1233
## [11,] 1.0000
## [12,] 0.2571
## [13,] 0.1956
## [14,] 0.3277
## [15,] 0.8586
## [16,] 0.0257
## [17,] 0.0258
## [18,] 0.0898
## [19,] 0.0733
## [20,] 0.2048
## [21,] 0.0630
## [22,] 0.1298
## [23,] 0.0619
## [24,] 0.0621
## [25,] 0.0525
## [26,] 0.3572
## [27,] 1.0000
## [28,] 0.1985
## [29,] 0.0647
## [30,] 0.0540
## [31,] 0.6125
## [32,] 0.0746
## [33,] 0.0639
## [34,] 0.0562
## [35,] 0.3789
n <- dim(Y)[1]
n
## [1] 35
X1 <- Data4$X1
X1
## [1] 0.2736 0.2081 0.4689 0.2753 0.6077 0.2924 0.2664 0.3058 0.5657 0.1514
## [11] 0.0898 0.2331 0.3020 0.8447 0.4366 0.1438 0.2948 0.1971 0.4232 0.3371
## [21] 0.2723 0.4652 0.4035 0.2322 0.2607 0.3691 0.5459 0.4993 0.4305 0.4918
## [31] 0.2541 0.2251 0.6058 0.1234 0.3170
X2 <- Data4$X2
X2
## [1] 0.2841 0.3318 0.5838 0.3518 0.4393 0.4196 0.5833 0.4248 0.7599 0.6337
## [11] 0.5952 0.4907 0.6030 0.7841 0.3668 0.3092 0.6738 0.3554 0.4108 0.5111
## [21] 0.3326 0.6050 0.5637 0.2829 0.3427 0.4114 0.5259 0.4731 0.4323 0.3323
## [31] 0.3390 0.2872 0.2071 0.1912 0.4361
X0 <- rep(1,n)
X0
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
X <- data.frame(X0, X1, X2)
X <- as.matrix(X)
X
## X0 X1 X2
## [1,] 1 0.2736 0.2841
## [2,] 1 0.2081 0.3318
## [3,] 1 0.4689 0.5838
## [4,] 1 0.2753 0.3518
## [5,] 1 0.6077 0.4393
## [6,] 1 0.2924 0.4196
## [7,] 1 0.2664 0.5833
## [8,] 1 0.3058 0.4248
## [9,] 1 0.5657 0.7599
## [10,] 1 0.1514 0.6337
## [11,] 1 0.0898 0.5952
## [12,] 1 0.2331 0.4907
## [13,] 1 0.3020 0.6030
## [14,] 1 0.8447 0.7841
## [15,] 1 0.4366 0.3668
## [16,] 1 0.1438 0.3092
## [17,] 1 0.2948 0.6738
## [18,] 1 0.1971 0.3554
## [19,] 1 0.4232 0.4108
## [20,] 1 0.3371 0.5111
## [21,] 1 0.2723 0.3326
## [22,] 1 0.4652 0.6050
## [23,] 1 0.4035 0.5637
## [24,] 1 0.2322 0.2829
## [25,] 1 0.2607 0.3427
## [26,] 1 0.3691 0.4114
## [27,] 1 0.5459 0.5259
## [28,] 1 0.4993 0.4731
## [29,] 1 0.4305 0.4323
## [30,] 1 0.4918 0.3323
## [31,] 1 0.2541 0.3390
## [32,] 1 0.2251 0.2872
## [33,] 1 0.6058 0.2071
## [34,] 1 0.1234 0.1912
## [35,] 1 0.3170 0.4361
Y <- as.numeric(Y)
Y
## [1] 0.0785 0.0532 0.3591 0.0543 0.0641 0.0928 0.0429 0.0712 0.0991 0.1233
## [11] 1.0000 0.2571 0.1956 0.3277 0.8586 0.0257 0.0258 0.0898 0.0733 0.2048
## [21] 0.0630 0.1298 0.0619 0.0621 0.0525 0.3572 1.0000 0.1985 0.0647 0.0540
## [31] 0.6125 0.0746 0.0639 0.0562 0.3789
beta_duga <- solve(t(X)%*%X)%*%(t(X)%*%Y)
beta_duga
## [,1]
## X0 0.04490648
## X1 0.02057089
## X2 0.35112204
y_duga <- X%*%beta_duga
y_duga
## [,1]
## [1,] 0.1502884
## [2,] 0.1656896
## [3,] 0.2595372
## [4,] 0.1740944
## [5,] 0.2116553
## [6,] 0.1982522
## [7,] 0.2551961
## [8,] 0.2003537
## [9,] 0.3233611
## [10,] 0.2705269
## [11,] 0.2557416
## [12,] 0.2219971
## [13,] 0.2628455
## [14,] 0.3375975
## [15,] 0.1826793
## [16,] 0.1564315
## [17,] 0.2875568
## [18,] 0.1737498
## [19,] 0.1978530
## [20,] 0.2312994
## [21,] 0.1672911
## [22,] 0.2669049
## [23,] 0.2511343
## [24,] 0.1490155
## [25,] 0.1705988
## [26,] 0.1969508
## [27,] 0.2407912
## [28,] 0.2212934
## [29,] 0.2055523
## [30,] 0.1717011
## [31,] 0.1691639
## [32,] 0.1503792
## [33,] 0.1300857
## [34,] 0.1145795
## [35,] 0.2045518
u_duga <- Y - y_duga
u_duga
## [,1]
## [1,] -0.071788449
## [2,] -0.112489576
## [3,] 0.099562781
## [4,] -0.119794381
## [5,] -0.147555325
## [6,] -0.105452218
## [7,] -0.212296051
## [8,] -0.129153702
## [9,] -0.224261072
## [10,] -0.147226949
## [11,] 0.744258416
## [12,] 0.035102860
## [13,] -0.067245479
## [14,] -0.009897504
## [15,] 0.675920703
## [16,] -0.130731510
## [17,] -0.261756809
## [18,] -0.083949777
## [19,] -0.124553017
## [20,] -0.026499403
## [21,] -0.104291126
## [22,] -0.137104893
## [23,] -0.189234329
## [24,] -0.086915468
## [25,] -0.118098836
## [26,] 0.160249195
## [27,] 0.759208788
## [28,] -0.022793365
## [29,] -0.140852308
## [30,] -0.117701100
## [31,] 0.443336084
## [32,] -0.075779239
## [33,] -0.066185704
## [34,] -0.058379464
## [35,] 0.174348225
y_bar <- rep(mean(Y),n)
y_bar
## [1] 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343
## [8] 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343
## [15] 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343
## [22] 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343
## [29] 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343 0.2093343
JKT <- t(Y-y_bar)%*%(Y-y_bar)
JKT
## [,1]
## [1,] 2.394351
JKR <- t(y_duga-y_bar)%*%(y_duga-y_bar)
JKR
## [,1]
## [1,] 0.0964052
JKG <- JKT-JKR
JKG
## [,1]
## [1,] 2.297946
JK <- c(JKR, JKG, JKT)
JK
## [1] 0.0964052 2.2979462 2.3943514
k = 3
dbR <- k-1
dbR
## [1] 2
dbT <- n-1
dbT
## [1] 34
dbG <- dbT-dbR
dbG
## [1] 32
db <- c(dbR, dbG, dbT)
db
## [1] 2 32 34
KT <- JK/db
KT
## [1] 0.04820260 0.07181082 0.07042210
SK <- c("Regresi", "Galat", "Total")
anova <- data.frame(SK, JK, db, KT)
names(anova) <- c("SK", "JK", "db", "KT")
anova
## SK JK db KT
## 1 Regresi 0.0964052 2 0.04820260
## 2 Galat 2.2979462 32 0.07181082
## 3 Total 2.3943514 34 0.07042210
SU_F <- anova$KT[1]/anova$KT[2]
SU_F
## [1] 0.6712442
pvalue_f <- pf(SU_F, anova$db[1], anova$db[2], lower.tail=FALSE)
pvalue_f
## [1] 0.5181214
var_cov <- anova$KT[2]*solve(t(X)%*%X)
var_cov
## X0 X1 X2
## X0 0.02408247 -0.01572655 -0.03693856
## X1 -0.01572655 0.09252423 -0.03697718
## X2 -0.03693856 -0.03697718 0.11129187
sd <- rep(0,k)
sd
## [1] 0 0 0
for (i in 1:k){
sd[i] <- sqrt(var_cov[i,i])
}
sd
## [1] 0.1551853 0.3041780 0.3336044
thit <- beta_duga/sd
thit
## [,1]
## X0 0.28937337
## X1 0.06762783
## X2 1.05251034
pvalue_t <- 2*pt(abs(thit), anova$db[2], lower.tail=FALSE)
pvalue_t
## [,1]
## X0 0.7741623
## X1 0.9465027
## X2 0.3004486
Rsq <- anova$JK[1]/anova$JK[3]
Rsq
## [1] 0.0402636
y<-Data4$Y
x1<-Data4$X1
x2<-Data4$X2
model<-lm(y~x1+x2)
summary(model)
##
## Call:
## lm(formula = y ~ x1 + x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.26176 -0.12994 -0.08692 -0.01635 0.75921
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.04491 0.15519 0.289 0.774
## x1 0.02057 0.30418 0.068 0.947
## x2 0.35112 0.33360 1.053 0.300
##
## Residual standard error: 0.268 on 32 degrees of freedom
## Multiple R-squared: 0.04026, Adjusted R-squared: -0.01972
## F-statistic: 0.6712 on 2 and 32 DF, p-value: 0.5181
library(nortest)
residu <- residuals(model)
shapiro.test(model$residuals)
##
## Shapiro-Wilk normality test
##
## data: model$residuals
## W = 0.69052, p-value = 2.663e-07
library(lmtest)
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 0.76653, df = 2, p-value = 0.6816
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.8909, p-value = 0.3442
## alternative hypothesis: true autocorrelation is greater than 0
library(car)
## Loading required package: carData
vif(model)
## x1 x2
## 1.153116 1.153116
Hasil :
y<-Data4$Y
x1<-Data4$X1
x2<-Data4$X2
model<-lm(y~x1+x2)
summary(model)
##
## Call:
## lm(formula = y ~ x1 + x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.26176 -0.12994 -0.08692 -0.01635 0.75921
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.04491 0.15519 0.289 0.774
## x1 0.02057 0.30418 0.068 0.947
## x2 0.35112 0.33360 1.053 0.300
##
## Residual standard error: 0.268 on 32 degrees of freedom
## Multiple R-squared: 0.04026, Adjusted R-squared: -0.01972
## F-statistic: 0.6712 on 2 and 32 DF, p-value: 0.5181
\[ H_0 : \beta_{1} = \beta{_2} \] \[ H_1 : Minimal terdapat salah satu \beta_{i} != 0 \]
Keputusan : \[ p - value(0.6712442) < \alpha(0.05), maka terima H_0 \] Interpretasi :
Maka, dengan taraf nyata 5% dapat disimpulkan bahwa X1 dan X2 tidak berpengaruh secara simultan pada Y.
Untuk X1
Hipotesis: \[ H_0 : \beta{_1} = 0 \] \[ H_1= : \beta_{1} != 0 \] Keputusan : \[ p-value(0.9465027) > \alpha(0.05), maka terima H_0 \] Interpretasi :
Maka, dengan taraf nyata 5% sudah dapat disimpulkan bahwa X1 tidak berpengaruh secara signifikan pada Y.
UNTUK X2
Hipotesis : \[ H_0 : \beta_{2} = 0 \] \[ H_1= : \beta{_2} != 0 \]
Keputusan : \[ p−value(0.3004486) > \alpha(0.05), maka terima H0. \] Interpretasi :
Maka, dengan taraf nyata 5% sudah dapat disimpulkan bahwa X2 tidak berpengaruh secara signifikan pada Y.
Hasil :
Rsq <- anova$JK[1]/anova$JK[3]
Rsq
## [1] 0.0402636
Interpretasi :
Dapat disimpulkan bahwa sebesar 40,3% dipengaruhi oleh X1 dan X2. Sedangkan 50,7% lainnya dipengaruhi oleh variabel di luar model.
Hipotesis : \[ H_0 : Data berdistribusi normal. \] \[ H_1= : Data tidak berdistribusi normal. \]
Hasil :
shapiro.test(model$residuals)
##
## Shapiro-Wilk normality test
##
## data: model$residuals
## W = 0.69052, p-value = 2.663e-07
Keputusan : \[ p−value(2.663e-07) < \alpha(0.05), maka tolak H0. \]
Interpretasi :
Maka, dengan taraf nyata 5% sudah dapat disimpulkan bahwa data tidak berdistribusi normal.
Hipotesis : \[ H_0 : Terjadi homoskedastisitas. \] \[ H_1= : Tidak terjadi homoskedastisitas. \]
Hasil :
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 0.76653, df = 2, p-value = 0.6816
Keputusan : \[ p−value(0.6816)>a(0.05), maka terima H0. \] Interpretasi :
Maka, dengan taraf nyata 5% sudah dapat disimpulkan bahwa terjadi homoskedastisitas.
Hipotesis : \[ H_0 : Tidak terjadi autokorelasi. \] \[ H_1= : Terjadi autokorelasi. \] Hasil :
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.8909, p-value = 0.3442
## alternative hypothesis: true autocorrelation is greater than 0
Keputusan : \[ p−value(0.3442) < a(0.05), maka terima H0. \]
Interpretasi :
Maka, dengan taraf nyata 5% sudah dapat disimpulkan bahwa tidak terjadi autokorelasi.
Hasil :
vif(model)
## x1 x2
## 1.153116 1.153116
Interpretasi :
Nilai VIF kedua variabel kurang dari 10 maka dapat disimpulkan bahwa tidak terjadi multikolinieritas.
Kesimpulannya adalah berdasarkan penelitian tentang estimasi tingkat kunjungan masyarakat menggunakan regresi linier berganda, diperoleh kesimpulan bahwa tidak terdapat hubungan yang signifikan dan kuat antara variabel bebas, yaitu Koleksi perpustakaan (X1) dan Layanan perpustakaan (X2), dengan variabel terikat, yaitu tingkat kunjungan masyarakat (Y). Hal ini menunjukkan bahwa kedua variabel bebas tersebut tidak memiliki pengaruh yang besar terhadap tingkat kunjungan masyarakat.
Yuliara, I. M. 2016. Regresi Linier Sederhana.
Silvia, v. 2020. Statistika Deskriptif. Penerbit Andi.
Ghozali, I. (2006). Statistik Non Parametrik. Semarang: Badan Penerbit UNDIP.
Santoso, S. (2010). Statistik parametrik. Elex Media Komputindo.