Memasukkan Data

Pada bagian ini, kita menggunakan fungsi read_excel() dari paket readxl untuk memasukkan data dari file Excel ke dalam R. Data yang dimasukkan akan diperiksa dengan fungsi str() untuk melihat struktur data dan dim() untuk mengecek dimensi dataset yang dimuat. Hal ini penting untuk memastikan bahwa data yang digunakan dalam analisis regresi sudah terimpor dengan benar. Peubah yang digunakan adalah sebagai berikut:

  1. \(Y\) = Pertumbuhan Ekonomi

  2. \(X_1\) = Ekspor

  3. \(X_2\) = Investasi

  4. \(X_3\) = Konsumsi Lembaga Sosial Nirlaba

  5. \(X_4\) = Konsumsi Rumah Tangga

  6. \(X_5\) = Pengeluaran Pemerintah

  7. \(X_6\) = Perubahan Inventori

library(readxl) #Memasukkan Data ke R (Excel)
Data <- read_excel("D:/Pertumbuhan Ekonomi SS - 3.xlsx", sheet = "Sheet1")
as.data.frame(Data)
##    PertumbuhanEkonomi   Ekspor Investasi KonsumsiLSNirlaba KonsumsiRT
## 1            24407.10 15443.83   6070.14            123.15   11919.53
## 2            25835.93 18961.48   5996.57            121.72   12057.78
## 3            26564.60 19064.53   6694.59            133.51   12360.51
## 4            27807.45 19400.01   7164.88            135.14   12394.40
## 5            26831.47 20312.28   4576.75            133.58   12414.77
## 6            28066.35 20089.67   5706.60            132.44   12528.48
## 7            28260.83 17901.09   7936.27            136.87   12866.39
## 8            28607.48 18055.58  10047.08            145.35   12901.03
## 9            29267.50 20468.57   6324.85            152.14   12948.86
## 10           29932.46 20470.82   6627.83            160.82   13072.90
## 11           30164.96 19766.90   7146.25            155.19   13432.43
## 12           30626.52 20225.28   8018.24            157.87   13469.81
## 13           30676.87 23085.90   5684.30            156.79   13477.12
## 14           31217.95 22886.98   6357.61            159.73   13634.46
## 15           31509.67 21722.74   7297.29            165.10   14002.85
## 16           31632.92 20778.02   8495.45            171.97   14020.96
## 17           31779.84 22767.92   6375.99            159.67   14069.16
## 18           32345.92 22689.53   6606.96            163.04   14256.73
## 19           32757.23 22858.57   7529.49            169.51   14630.15
## 20           33618.14 22840.99   8526.54            176.70   14653.54
## 21           33109.12 23727.00   6959.50            160.67   14676.13
## 22           33721.56 24337.50   7091.61            170.95   14946.31
## 23           34301.23 27288.60   7819.14            172.95   15273.60
## 24           35369.80 25198.34   8257.28            181.98   15270.03
## 25           34640.01 26152.61   7285.04            183.54   15292.48
## 26           35338.86 25271.13   7380.88            195.63   15687.74
## 27           35902.43 27907.24   7825.32            198.64   15883.81
## 28           37087.00 29358.29   8274.75            207.66   15921.27
## 29           36263.42 27566.04   7310.77            216.38   15924.14
## 30           37055.64 26926.97   7800.59            221.85   16251.61
## 31           37525.67 28608.31   8215.83            204.03   16490.36
## 32           38419.88 28916.06   8553.74            202.95   16631.70
##    PengeluaranPemerintah PerubahanInventori
## 1                1388.04            1617.14
## 2                2083.34            -242.78
## 3                2267.53            -342.07
## 4                3243.64             417.87
## 5                1265.14             754.61
## 6                2137.20            -246.67
## 7                2355.18             681.65
## 8                3438.23           -2357.23
## 9                1540.24             850.70
## 10               2203.98             705.31
## 11               2490.68             809.50
## 12               3565.75            -897.09
## 13               1531.38             514.47
## 14               1792.01             708.80
## 15               2459.89             657.67
## 16               4058.88            -581.94
## 17               1550.05             470.39
## 18               1969.64             691.85
## 19               2244.14             645.95
## 20               3990.58            -551.56
## 21               1563.40            -259.63
## 22               2250.48             784.71
## 23               2393.26            -533.63
## 24               4025.44             689.47
## 25               1357.97             203.52
## 26               2653.49             279.64
## 27               2687.63             589.70
## 28               4043.09           -1070.49
## 29               1407.21             768.28
## 30               2890.90             859.11
## 31               3174.94            -816.81
## 32               4047.44             416.50
str(Data)
## tibble [32 × 7] (S3: tbl_df/tbl/data.frame)
##  $ PertumbuhanEkonomi   : num [1:32] 24407 25836 26565 27807 26831 ...
##  $ Ekspor               : num [1:32] 15444 18961 19065 19400 20312 ...
##  $ Investasi            : num [1:32] 6070 5997 6695 7165 4577 ...
##  $ KonsumsiLSNirlaba    : num [1:32] 123 122 134 135 134 ...
##  $ KonsumsiRT           : num [1:32] 11920 12058 12361 12394 12415 ...
##  $ PengeluaranPemerintah: num [1:32] 1388 2083 2268 3244 1265 ...
##  $ PerubahanInventori   : num [1:32] 1617 -243 -342 418 755 ...
dim(Data)
## [1] 32  7

Plot Data Peubah Respons dan Peubah Penjelas

Bagian ini bertujuan untuk membuat grafik scatter plot yang menunjukkan hubungan antara peubah respons (dalam hal ini PertumbuhanEkonomi) dengan beberapa peubah penjelas (seperti Ekspor, Investasi, KonsumsiRT, dll). Visualisasi ini membantu untuk melihat pola atau tren awal antara peubah tersebut sebelum melakukan analisis lebih lanjut.

plot (Data$Ekspor, Data$PertumbuhanEkonomi)

plot (Data$Investasi, Data$PertumbuhanEkonomi)

plot (Data$KonsumsiRT, Data$PertumbuhanEkonomi)

plot (Data$PengeluaranPemerintah, Data$PertumbuhanEkonomi)

plot (Data$KonsumsiLSNirlaba, Data$PertumbuhanEkonomi)

plot (Data$PerubahanInventori, Data$PertumbuhanEkonomi)

Standarisasi Data

Pada tahap ini, data distandarisasi menggunakan fungsi scale() untuk mengubah setiap peubah ke dalam skala yang sama, yaitu rata-rata 0 dan standar deviasi 1. Standarisasi penting dilakukan terutama jika data memiliki skala yang sangat berbeda-beda, agar tidak ada peubah yang dominan dalam model analisis.

Data <- as.data.frame(scale(Data))
Data
##    PertumbuhanEkonomi       Ekspor   Investasi KonsumsiLSNirlaba  KonsumsiRT
## 1         -2.01351024 -2.028181931 -1.08734228       -1.59791967 -1.59271589
## 2         -1.62930451 -1.064257350 -1.15521863       -1.65064899 -1.49476539
## 3         -1.43336854 -1.036019058 -0.51121909       -1.21590864 -1.28028036
## 4         -1.09917197 -0.944089099 -0.07732530       -1.15580459 -1.25626920
## 5         -1.36160844 -0.694104172 -2.46515734       -1.21332749 -1.24183700
## 6         -1.02955496 -0.755104912 -1.42274756       -1.25536345 -1.16127316
## 7         -0.97726020 -1.354830882  0.63436606       -1.09201318 -0.92186300
## 8         -0.88404763 -1.312496736  2.58181836       -0.77932462 -0.89732047
## 9         -0.70657133 -0.651276781 -0.85234454       -0.52895252 -0.86343278
## 10        -0.52776668 -0.650660225 -0.57281247       -0.20888923 -0.77555010
## 11        -0.46524852 -0.843552011 -0.09451351       -0.41648789 -0.52082212
## 12        -0.34113718 -0.717944361  0.70999232       -0.31766650 -0.49433829
## 13        -0.32759830  0.065937474 -1.44332174       -0.35749005 -0.48915913
## 14        -0.18210441  0.011428390 -0.82211987       -0.24908151 -0.37768332
## 15        -0.10366226 -0.307602654  0.04483736       -0.05107001 -0.11667800
## 16        -0.07052091 -0.566479697  1.15027056        0.20225198 -0.10384701
## 17        -0.03101481 -0.021197044 -0.80516232       -0.25129393 -0.06969718
## 18         0.12120147 -0.042677876 -0.59206732       -0.12702973  0.06319667
## 19         0.23180081  0.003643336  0.25906717        0.11154279  0.32776576
## 20         0.46329549 -0.001174027  1.17895447        0.37666435  0.34433764
## 21         0.32642239  0.241615000 -0.26681074       -0.21442028  0.36034271
## 22         0.49110465  0.408907356 -0.14492486        0.16464085  0.55176598
## 23         0.64697521  1.217582987  0.52630086        0.23838815  0.78365183
## 24         0.93430871  0.644799169  0.93053277        0.57135722  0.78112248
## 25         0.73807158  0.906293152  0.03353540        0.62888012  0.79702836
## 26         0.92598908  0.664745460  0.12195824        1.07468256  1.07707115
## 27         1.07753043  1.387105908  0.53200259        1.18567225  1.21598728
## 28         1.39605578  1.784730107  0.94665075        1.51827258  1.24252779
## 29         1.17459896  1.293608525  0.05727413        1.83981082  1.24456119
## 30         1.38762323  1.118487270  0.50918647        2.04150969  1.47657458
## 31         1.51401210  1.579216722  0.89229063        1.38442123  1.64572960
## 32         1.75446100  1.663547963  1.20404944        1.34459769  1.74586938
##    PengeluaranPemerintah PerubahanInventori
## 1            -1.23378386          1.8044167
## 2            -0.46383967         -0.5542618
## 3            -0.25987589         -0.6801775
## 4             0.82102476          0.2835490
## 5            -1.36987784          0.7105896
## 6            -0.40419751         -0.5591949
## 7            -0.16281619          0.6180646
## 8             1.03650504         -3.2357254
## 9            -1.06524438          0.8324472
## 10           -0.33024832          0.6480692
## 11           -0.01276954          0.7801990
## 12            1.17771500         -1.3840324
## 13           -1.07505554          0.4060534
## 14           -0.78644551          0.6524951
## 15           -0.04686501          0.5876540
## 16            1.72378515         -0.9843714
## 17           -1.05438122          0.3501528
## 18           -0.58974598          0.6309998
## 19           -0.28577693          0.5727912
## 20            1.64815278         -0.9458446
## 21           -1.03959803         -0.5756303
## 22           -0.27875630          0.7487613
## 23           -0.12064810         -0.9231065
## 24            1.68675519          0.6279816
## 25           -1.26708204          0.0117186
## 26            0.16751899          0.1082510
## 27            0.20532410          0.5014571
## 28            1.70630001         -1.6039315
## 29           -1.21255586          0.7279254
## 30            0.43041623          0.8431125
## 31            0.74494945         -1.2822244
## 32            1.71111701          0.2818116

Korelasi Peubah Respons dengan Peubah Penjelas

Bagian ini melakukan uji korelasi antara peubah respons (PertumbuhanEkonomi) dengan setiap peubah penjelas. Fungsi cor.test() digunakan untuk menguji apakah terdapat hubungan linear yang signifikan antara peubah-peubah tersebut, yang bisa menjadi indikasi penting dalam pemodelan regresi.

cor.test (Data$Ekspor, Data$PertumbuhanEkonomi)
## 
##  Pearson's product-moment correlation
## 
## data:  Data$Ekspor and Data$PertumbuhanEkonomi
## t = 16.13, df = 30, p-value = 2.504e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8930807 0.9739998
## sample estimates:
##       cor 
## 0.9468991
cor.test (Data$Investasi, Data$PertumbuhanEkonomi)
## 
##  Pearson's product-moment correlation
## 
## data:  Data$Investasi and Data$PertumbuhanEkonomi
## t = 3.2815, df = 30, p-value = 0.002622
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.2013304 0.7315395
## sample estimates:
##       cor 
## 0.5139441
cor.test (Data$KonsumsiRT, Data$PertumbuhanEkonomi)
## 
##  Pearson's product-moment correlation
## 
## data:  Data$KonsumsiRT and Data$PertumbuhanEkonomi
## t = 38.1, df = 30, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.9790429 0.9950731
## sample estimates:
##       cor 
## 0.9898244
cor.test (Data$PengeluaranPemerintah, Data$PertumbuhanEkonomi)
## 
##  Pearson's product-moment correlation
## 
## data:  Data$PengeluaranPemerintah and Data$PertumbuhanEkonomi
## t = 2.2883, df = 30, p-value = 0.02934
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.04251973 0.64719554
## sample estimates:
##       cor 
## 0.3854982
cor.test (Data$KonsumsiLSNirlaba, Data$PertumbuhanEkonomi)
## 
##  Pearson's product-moment correlation
## 
## data:  Data$KonsumsiLSNirlaba and Data$PertumbuhanEkonomi
## t = 18.759, df = 30, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.9187501 0.9804427
## sample estimates:
##       cor 
## 0.9599212
cor.test (Data$PerubahanInventori, Data$PertumbuhanEkonomi)
## 
##  Pearson's product-moment correlation
## 
## data:  Data$PerubahanInventori and Data$PertumbuhanEkonomi
## t = -0.41622, df = 30, p-value = 0.6802
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.4135402  0.2803281
## sample estimates:
##        cor 
## -0.0757725

Korelasi Antar Peubah Penjelas

Korelasi antar peubah penjelas dilakukan untuk mengetahui apakah ada hubungan linear antar peubah penjelas yang digunakan dalam model. Pengujian ini penting untuk mendeteksi kemungkinan multikolinearitas, di mana peubah-peubah penjelas saling berkorelasi tinggi, yang dapat mempengaruhi stabilitas estimasi regresi.

cor(as.matrix(Data[,c("Ekspor","Investasi", "KonsumsiRT","PengeluaranPemerintah",
                      "KonsumsiLSNirlaba","PerubahanInventori")]))
##                            Ekspor  Investasi  KonsumsiRT PengeluaranPemerintah
## Ekspor                 1.00000000  0.3243939  0.94503037             0.2415247
## Investasi              0.32439394  1.0000000  0.50452374             0.7759085
## KonsumsiRT             0.94503037  0.5045237  1.00000000             0.3446699
## PengeluaranPemerintah  0.24152468  0.7759085  0.34466994             1.0000000
## KonsumsiLSNirlaba      0.90275993  0.4975288  0.95734578             0.3573088
## PerubahanInventori    -0.05969282 -0.5590342 -0.05352549            -0.5065535
##                       KonsumsiLSNirlaba PerubahanInventori
## Ekspor                       0.90275993        -0.05969282
## Investasi                    0.49752881        -0.55903416
## KonsumsiRT                   0.95734578        -0.05352549
## PengeluaranPemerintah        0.35730882        -0.50655352
## KonsumsiLSNirlaba            1.00000000        -0.02929299
## PerubahanInventori          -0.02929299         1.00000000

Analisis Regresi Berganda

Pada bagian ini, dilakukan analisis regresi berganda menggunakan fungsi lm() untuk membangun model regresi dengan PertumbuhanEkonomi sebagai peubah respons dan beberapa peubah penjelas. Hasil model akan diperiksa melalui fungsi summary() untuk menilai seberapa baik model dalam menjelaskan variasi dalam peubah respons.

Model_ARLB <- lm (PertumbuhanEkonomi ~ Ekspor + Investasi + KonsumsiRT + PengeluaranPemerintah 
                  + KonsumsiLSNirlaba + PerubahanInventori, data=Data)
summary (Model_ARLB)
## 
## Call:
## lm(formula = PertumbuhanEkonomi ~ Ekspor + Investasi + KonsumsiRT + 
##     PengeluaranPemerintah + KonsumsiLSNirlaba + PerubahanInventori, 
##     data = Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.31133 -0.07305  0.01199  0.09625  0.15641 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           4.284e-16  2.331e-02   0.000    1.000    
## Ekspor                1.779e-01  1.050e-01   1.694    0.103    
## Investasi             1.279e-02  6.105e-02   0.209    0.836    
## KonsumsiRT            6.743e-01  1.373e-01   4.910  4.7e-05 ***
## PengeluaranPemerintah 6.195e-02  3.882e-02   1.596    0.123    
## KonsumsiLSNirlaba     1.257e-01  8.376e-02   1.501    0.146    
## PerubahanInventori    1.315e-02  3.654e-02   0.360    0.722    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1319 on 25 degrees of freedom
## Multiple R-squared:  0.986,  Adjusted R-squared:  0.9826 
## F-statistic:   293 on 6 and 25 DF,  p-value: < 2.2e-16

Uji Asumsi Klasik

Uji asumsi klasik dilakukan untuk memastikan bahwa model regresi memenuhi asumsi dasar yang diperlukan untuk menghasilkan estimasi yang valid. Pada bagian ini, kita menggunakan paket performance untuk memeriksa beberapa asumsi klasik seperti normalitas, heteroskedastisitas, autokorelasi, dan multikolinearitas.

library(performance)

Uji Normalitas

Uji normalitas dilakukan untuk memeriksa apakah residual dari model regresi mengikuti distribusi normal. Hal ini penting untuk validitas uji t dan uji F dalam regresi linier. Fungsi check_normality() digunakan untuk melakukan uji ini secara otomatis.

check_normality(Model_ARLB)
## OK: residuals appear as normally distributed (p = 0.074).

Uji Heteroskedastisitas

Uji heteroskedastisitas bertujuan untuk memeriksa apakah varians residual model regresi konstan (homoskedastisitas) atau berubah-ubah (heteroskedastisitas). Jika heteroskedastisitas terjadi, model regresi mungkin tidak efisien, dan estimasi koefisien bisa menjadi bias. Fungsi check_heteroscedasticity() digunakan untuk mengidentifikasi masalah ini.

check_heteroscedasticity(Model_ARLB)
## Warning: Heteroscedasticity (non-constant error variance) detected (p = 0.021).

Uji Autokorelasi

Uji autokorelasi digunakan untuk memeriksa apakah residual dari model regresi saling berkorelasi. Jika ada autokorelasi, model mungkin tidak valid karena residual yang saling bergantung menunjukkan bahwa model tidak dapat menangkap beberapa pola dalam data. Fungsi check_autocorrelation() digunakan untuk memeriksa adanya autokorelasi.

check_autocorrelation(Model_ARLB)
## Warning: Autocorrelated residuals detected (p < .001).

Uji Multikolinieritas

Uji multikolinearitas penting untuk mengidentifikasi apakah terdapat korelasi tinggi antar peubah penjelas, yang bisa menyebabkan kesulitan dalam mengestimasi koefisien regresi. Fungsi multicollinearity() digunakan untuk memeriksa masalah ini dalam model regresi.

multicollinearity(Model_ARLB)
## # Check for Multicollinearity
## 
## Low Correlation
## 
##                   Term  VIF     VIF 95% CI Increased SE Tolerance
##  PengeluaranPemerintah 2.69 [ 1.88,  4.21]         1.64      0.37
##     PerubahanInventori 2.38 [ 1.70,  3.72]         1.54      0.42
##  Tolerance 95% CI
##      [0.24, 0.53]
##      [0.27, 0.59]
## 
## Moderate Correlation
## 
##       Term  VIF     VIF 95% CI Increased SE Tolerance Tolerance 95% CI
##  Investasi 6.64 [ 4.28, 10.70]         2.58      0.15     [0.09, 0.23]
## 
## High Correlation
## 
##               Term   VIF     VIF 95% CI Increased SE Tolerance Tolerance 95% CI
##             Ekspor 19.66 [12.20, 32.09]         4.43      0.05     [0.03, 0.08]
##         KonsumsiRT 33.62 [20.69, 55.04]         5.80      0.03     [0.02, 0.05]
##  KonsumsiLSNirlaba 12.51 [ 7.85, 20.33]         3.54      0.08     [0.05, 0.13]

Cek Performa/Kinerja Model

Bagian ini bertujuan untuk mengevaluasi kinerja model regresi dengan menggunakan fungsi model_performance(). Fungsi ini memberikan berbagai metrik evaluasi seperti R-squared, RMSE, dan lainnya, untuk menilai seberapa baik model dalam memprediksi data yang ada.

model_performance(Model_ARLB,metrics = "all")
## # Indices of model performance
## 
## AIC     |    AICc |     BIC |    R2 | R2 (adj.) |  RMSE | Sigma
## ---------------------------------------------------------------
## -30.749 | -24.488 | -19.023 | 0.986 |     0.983 | 0.117 | 0.132