1. Mengumpulkan Data

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

2. Eksplorasi Data

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")

3. Uji Asumsi

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

4. Estimasi

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

5. Pengujian Hipotesis

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

6. Evaluasi

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.