Tahap ini merupakan proses memperoleh data yang akan digunakan dalam analisis regresi. Data dapat berasal dari survei, eksperimen, database, atau sumber lain. Pada tahap ini, variabel dependen (Y) dan variabel independen (X) ditentukan dengan jelas. Data yang akurat dan relevan menjadi dasar penting agar model regresi memberikan hasil yang valid.
Berikut adalah sintaks penginputan data dan dataset yang digunakan:
data <- data.frame(
Y = c(
35990.85, 74162.92, 33357.33, 29231.22, 38605.46,
24800.93, 25028.17, 43736.00, 45853.42, 55249.45,
49987.03, 39761.92, 51331.50, 52433.72, 37505.78,
33231.25, 25794.30, 59014.63, 68611.84, 40564.22,
35458.78, 65584.85, 28923.60, 58836.99, 30389.48,
30223.56, 34889.22, 47721.31, 62045.49, 11821.94
),
X1 = c(
29853.11, 47571.61, 23961.84, 22804.41, 28468.19,
19594.08, 19563.39, 30639.25, 33805.73, 41451.92,
33683.08, 28414.58, 34892.65, 36477.59, 30970.73,
23164.65, 19076.78, 42228.33, 38781.33, 35092.10,
27788.78, 39513.33, 20835.61, 34157.27, 20999.53,
23032.76, 27810.72, 39150.44, 47978.22, 6637.72
),
X2 = c(
897.76, 994.25, 588.33, 654.00, 753.98,
549.71, 562.29, 999.18, 821.24, 991.09,
696.84, 1003.26, 812.75, 752.56, 792.60,
549.75, 455.24, 839.94, 530.02, 807.89,
688.12, 817.77, 597.42, 686.40, 543.72,
628.47, 735.26, 818.79, 1008.94, 188.34
),
X3 = c(
3856.32, 5180.92, 1892.95, 2015.47, 2925.21,
2139.49, 1707.38, 2853.45, 2564.66, 3101.17,
2186.59, 2585.32, 2226.26, 2742.20, 2639.34,
2414.38, 1781.01, 3202.07, 2450.41, 2656.40,
2628.25, 3776.79, 1786.37, 2368.75, 1768.60,
2123.00, 2436.29, 2641.15, 3127.17, 1792.83
)
)
data
## Y X1 X2 X3
## 1 35990.85 29853.11 897.76 3856.32
## 2 74162.92 47571.61 994.25 5180.92
## 3 33357.33 23961.84 588.33 1892.95
## 4 29231.22 22804.41 654.00 2015.47
## 5 38605.46 28468.19 753.98 2925.21
## 6 24800.93 19594.08 549.71 2139.49
## 7 25028.17 19563.39 562.29 1707.38
## 8 43736.00 30639.25 999.18 2853.45
## 9 45853.42 33805.73 821.24 2564.66
## 10 55249.45 41451.92 991.09 3101.17
## 11 49987.03 33683.08 696.84 2186.59
## 12 39761.92 28414.58 1003.26 2585.32
## 13 51331.50 34892.65 812.75 2226.26
## 14 52433.72 36477.59 752.56 2742.20
## 15 37505.78 30970.73 792.60 2639.34
## 16 33231.25 23164.65 549.75 2414.38
## 17 25794.30 19076.78 455.24 1781.01
## 18 59014.63 42228.33 839.94 3202.07
## 19 68611.84 38781.33 530.02 2450.41
## 20 40564.22 35092.10 807.89 2656.40
## 21 35458.78 27788.78 688.12 2628.25
## 22 65584.85 39513.33 817.77 3776.79
## 23 28923.60 20835.61 597.42 1786.37
## 24 58836.99 34157.27 686.40 2368.75
## 25 30389.48 20999.53 543.72 1768.60
## 26 30223.56 23032.76 628.47 2123.00
## 27 34889.22 27810.72 735.26 2436.29
## 28 47721.31 39150.44 818.79 2641.15
## 29 62045.49 47978.22 1008.94 3127.17
## 30 11821.94 6637.72 188.34 1792.83
Eksplorasi data dilakukan untuk memahami karakteristik awal dari dataset. Langkah ini meliputi melihat struktur data, statistik deskriptif, hubungan antar variabel, serta visualisasi seperti scatterplot. Tujuannya adalah untuk mengidentifikasi pola, kecenderungan, outlier, atau masalah awal sebelum analisis lanjutan dilakukan. Tahap ini membantu memastikan bahwa data sesuai untuk dianalisis menggunakan regresi.
a. Struktur data
str(data)
## 'data.frame': 30 obs. of 4 variables:
## $ Y : num 35991 74163 33357 29231 38605 ...
## $ X1: num 29853 47572 23962 22804 28468 ...
## $ X2: num 898 994 588 654 754 ...
## $ X3: num 3856 5181 1893 2015 2925 ...
b. Statistik deskriptif
summary(data)
## Y X1 X2 X3
## Min. :11822 Min. : 6638 Min. : 188.3 Min. :1707
## 1st Qu.:31100 1st Qu.:23066 1st Qu.: 590.6 1st Qu.:2127
## Median :39184 Median :30246 Median : 743.9 Median :2508
## Mean :42338 Mean :30280 Mean : 725.5 Mean :2586
## 3rd Qu.:52158 3rd Qu.:36131 3rd Qu.: 820.6 3rd Qu.:2826
## Max. :74163 Max. :47978 Max. :1008.9 Max. :5181
c. Korelasi
cor(data)
## Y X1 X2 X3
## Y 1.0000000 0.9379552 0.6269922 0.6861223
## X1 0.9379552 1.0000000 0.7823768 0.7196494
## X2 0.6269922 0.7823768 1.0000000 0.6947867
## X3 0.6861223 0.7196494 0.6947867 1.0000000
d. Scatter plot masing-masing variabel terhadap Y
pairs(data, main = "Scatter Plot Matrix")
Regresi linear memiliki beberapa asumsi seperti normalitas residual, homoskedastisitas, tidak adanya multikolinearitas, dan tidak terjadi autokorelasi. Pada tahap ini, berbagai uji dilakukan seperti Shapiro-Wilk (normalitas), Breusch-Pagan (heteroskedastisitas), VIF (multikolinearitas), dan Durbin-Watson (autokorelasi). Asumsi yang terpenuhi menjamin model regresi bersifat BLUE ( Best Linear Unbiased Estimator ).
a. Uji asumsi klasik
model <- lm(Y ~ ., data = data)
summary(model)
##
## Call:
## lm(formula = Y ~ ., data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8356.4 -2439.1 -523.3 1819.7 9199.8
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1344.6445 3525.5344 0.381 0.70600
## X1 1.7565 0.1594 11.017 2.72e-11 ***
## X2 -24.5788 7.6166 -3.227 0.00337 **
## X3 2.1812 1.7464 1.249 0.22280
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4607 on 26 degrees of freedom
## Multiple R-squared: 0.9143, Adjusted R-squared: 0.9044
## F-statistic: 92.5 on 3 and 26 DF, p-value: 5.376e-14
b. Uji normalitas residual
Plot Q-Q
qqnorm(residuals(model))
qqline(residuals(model), col = "red")
c. Uji Shapiro-Wilk
shapiro.test(residuals(model))
##
## Shapiro-Wilk normality test
##
## data: residuals(model)
## W = 0.9553, p-value = 0.2339
d. Uji Heteroskedastisitas
library(lmtest)
bptest(model) # Breusch-Pagan Test
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 5.4936, df = 3, p-value = 0.139
e. Uji Multikolinieritas
library(car)
vif(model)
## X1 X2 X3
## 3.049159 2.841862 2.286474
f. Uji Autokorelasi
dwtest(model) # Durbin-Watson Test
##
## Durbin-Watson test
##
## data: model
## DW = 1.6855, p-value = 0.1599
## alternative hypothesis: true autocorrelation is greater than 0
Estimasi adalah proses menghitung nilai koefisien regresi menggunakan metode kuadrat terkecil ( Ordinary Least Squares/OLS ). Hasil estimasi berupa nilai intercept dan koefisien variabel X yang menunjukkan besar dan arah pengaruh masing-masing variabel terhadap Y. Nilai-nilai ini akan digunakan dalam interpretasi model.
summary(model)
##
## Call:
## lm(formula = Y ~ ., data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -8356.4 -2439.1 -523.3 1819.7 9199.8
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1344.6445 3525.5344 0.381 0.70600
## X1 1.7565 0.1594 11.017 2.72e-11 ***
## X2 -24.5788 7.6166 -3.227 0.00337 **
## X3 2.1812 1.7464 1.249 0.22280
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4607 on 26 degrees of freedom
## Multiple R-squared: 0.9143, Adjusted R-squared: 0.9044
## F-statistic: 92.5 on 3 and 26 DF, p-value: 5.376e-14
Tahap ini menilai signifikansi model. Pengujian meliputi:
a. Uji Simultan
Uji simultan atau uji F, untuk mengetahui apakah semua variabel independen bersama-sama berpengaruh terhadap variabel dependen.
anova(model)
## Analysis of Variance Table
##
## Response: Y
## Df Sum Sq Mean Sq F value Pr(>F)
## X1 1 5666259247 5666259247 266.9962 3.423e-15 ***
## X2 1 189545154 189545154 8.9314 0.006051 **
## X3 1 33105593 33105593 1.5599 0.222801
## Residuals 26 551778360 21222245
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
b. Uji Parsial
Uji parsial atau uji t, untuk mengetahui pengaruh masing-masing variabel secara parsial. Tujuannya memastikan bahwa variabel-variabel dalam model benar-benar memberikan kontribusi secara statistik.
summary(model)$coefficients
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1344.644488 3525.5344255 0.3814016 7.060044e-01
## X1 1.756483 0.1594395 11.0166118 2.720579e-11
## X2 -24.578786 7.6166173 -3.2269950 3.369278e-03
## X3 2.181231 1.7464117 1.2489787 2.228015e-01
Evaluasi dilakukan untuk menilai sejauh mana model regresi bekerja dengan baik. Ukuran evaluasi meliputi R-squared, Adjusted R-squared, analisis residual, dan deteksi outlier seperti Cook’s Distance. Tahap ini memastikan model tidak hanya signifikan secara statistik tetapi juga akurat dan stabil dalam menjelaskan variabel dependen.
a. Nilai R-squared dan Adjusted R-squared
summary(model)$r.squared
## [1] 0.9143293
summary(model)$adj.r.squared
## [1] 0.9044442
b. Residual plot
plot(model, which = 1) # Residuals vs Fitted
c. Outlier & Influence
plot(model, which = 4) # Cook's distance
plot(model, which = 5) # Residuals vs Leverage
KESIMPULAN
Secara keseluruhan, analisis regresi dilakukan melalui rangkaian tahapan yang sistematis dimulai dari pengumpulan data sebagai dasar pembentukan model, dilanjutkan dengan eksplorasi data untuk memahami karakteristik dan pola awal hubungan antar variabel. Setelah itu dilakukan uji asumsi klasik untuk memastikan model memenuhi syarat normalitas, homoskedastisitas, bebas multikolinearitas, dan tidak terjadi autokorelasi sehingga hasil estimasi dapat dipercaya. Proses estimasi kemudian menghasilkan nilai koefisien regresi yang menggambarkan arah dan besar pengaruh variabel independen terhadap variabel dependen, yang selanjutnya diuji melalui uji F dan uji t untuk menilai signifikansi model secara simultan dan parsial. Tahap akhir berupa evaluasi model dilakukan untuk melihat tingkat ketepatan model melalui R-squared, analisis residual, serta identifikasi outlier guna memastikan model stabil dan layak digunakan sebagai alat prediksi maupun interpretasi hubungan antar variabel.