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

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

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.

x <- data.matrix(Data[, c('Ekspor', 'Investasi', 'KonsumsiRT','PengeluaranPemerintah'
                          , 'KonsumsiLSNirlaba', 'PerubahanInventori')])
head(x)
##          Ekspor  Investasi KonsumsiRT PengeluaranPemerintah KonsumsiLSNirlaba
## [1,] -2.0281819 -1.0873423  -1.592716            -1.2337839         -1.597920
## [2,] -1.0642573 -1.1552186  -1.494765            -0.4638397         -1.650649
## [3,] -1.0360191 -0.5112191  -1.280280            -0.2598759         -1.215909
## [4,] -0.9440891 -0.0773253  -1.256269             0.8210248         -1.155805
## [5,] -0.6941042 -2.4651573  -1.241837            -1.3698778         -1.213327
## [6,] -0.7551049 -1.4227476  -1.161273            -0.4041975         -1.255363
##      PerubahanInventori
## [1,]          1.8044167
## [2,]         -0.5542618
## [3,]         -0.6801775
## [4,]          0.2835490
## [5,]          0.7105896
## [6,]         -0.5591949
y <- Data$PertumbuhanEkonomi
head(y)
## [1] -2.013510 -1.629305 -1.433369 -1.099172 -1.361608 -1.029555
model_coba1 <- lm (y~x)
summary (model_coba1)
## 
## Call:
## lm(formula = y ~ x)
## 
## 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    
## xEkspor                1.779e-01  1.050e-01   1.694    0.103    
## xInvestasi             1.279e-02  6.105e-02   0.209    0.836    
## xKonsumsiRT            6.743e-01  1.373e-01   4.910  4.7e-05 ***
## xPengeluaranPemerintah 6.195e-02  3.882e-02   1.596    0.123    
## xKonsumsiLSNirlaba     1.257e-01  8.376e-02   1.501    0.146    
## xPerubahanInventori    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

Principal Component Analysis (PCA) / Analisis Komponen Utama (AKU)

Principal Component Analysis (PCA) adalah teknik statistik yang digunakan untuk mengurangi dimensi data dengan cara mengubah peubah asli menjadi komponen utama (principal components). Komponen utama ini adalah kombinasi linear dari peubah-peubah asli yang memaksimalkan variasi dalam data. PCA digunakan untuk menemukan pola dalam data dan menyederhanakan kompleksitas tanpa mengorbankan informasi yang signifikan.

Pembentukan Komponen Utama

Pada bagian ini, kita membentuk komponen utama dengan menggunakan fungsi prcomp(). Fungsi ini menghasilkan komponen utama yang digunakan untuk menganalisis data, dengan opsi untuk melakukan pemusatan data (centering) terlebih dahulu agar setiap peubah memiliki rata-rata nol. Hasil PCA akan memberikan informasi tentang kontribusi masing-masing komponen terhadap variasi data.

PCA <- prcomp (x, center=TRUE)
PCA
## Standard deviations (1, .., p=6):
## [1] 1.8690353 1.3082807 0.7028499 0.4720021 0.2440745 0.1369391
## 
## Rotation (n x k) = (6 x 6):
##                              PC1        PC2         PC3         PC4         PC5
## Ekspor                 0.4525029  0.3459633  0.28933014  0.30358643 -0.45895418
## Investasi              0.4047524 -0.4055089 -0.26198164 -0.69512370 -0.24542830
## KonsumsiRT             0.4914327  0.2846336  0.04716929 -0.08632002 -0.24244029
## PengeluaranPemerintah  0.3454316 -0.4613700 -0.51105065  0.63461411  0.02176279
## KonsumsiLSNirlaba      0.4850139  0.2825698 -0.03118287 -0.09580862  0.80421094
## PerubahanInventori    -0.1880135  0.5849339 -0.76373006 -0.07261422 -0.15205215
##                               PC6
## Ekspor                 0.53761964
## Investasi              0.24427777
## KonsumsiRT            -0.78040007
## PengeluaranPemerintah -0.05859433
## KonsumsiLSNirlaba      0.16735868
## PerubahanInventori     0.10405286
summary (PCA)
## Importance of components:
##                           PC1    PC2     PC3     PC4     PC5     PC6
## Standard deviation     1.8690 1.3083 0.70285 0.47200 0.24407 0.13694
## Proportion of Variance 0.5822 0.2853 0.08233 0.03713 0.00993 0.00313
## Cumulative Proportion  0.5822 0.8675 0.94981 0.98695 0.99687 1.00000

Data Komponen Utama

Setelah membentuk komponen utama, kita dapat mengakses data komponen utama yang disimpan dalam objek PCA$x. Data ini berisi skor komponen utama yang menunjukkan posisi setiap observasi pada dimensi baru yang dibentuk oleh komponen utama.

DataPCA <- PCA$x
DataPCA
##              PC1         PC2          PC3         PC4          PC5          PC6
##  [1,] -3.6810312  0.45908133 -1.074811256 -0.48331635 -0.002434856 -0.120426643
##  [2,] -2.5403374 -0.90183143  0.636041246  0.51298842 -0.118927658  0.005410556
##  [3,] -1.8565097 -1.13707056  0.463985836  0.15231719  0.031264255  0.058227210
##  [4,] -1.4061568 -1.19237486 -0.912251757  0.48675944 -0.197915406  0.241905647
##  [5,] -3.1174220  1.11085882  0.581637508  0.80536859  0.111022436 -0.055072416
##  [6,] -2.1315903 -0.51017446  0.772267916  0.76435776  0.043933787 -0.091845291
##  [7,] -1.5114253 -0.86028069 -0.956444346 -0.81627737 -0.286119673  0.037093405
##  [8,]  0.5985345 -4.34754496  0.867355882 -1.14827618  0.074086080  0.097479231
##  [9,] -1.8450419  0.70348576 -0.080739759 -0.21649078  0.142279081  0.175985995
## [10,] -1.2446417  0.25884687 -0.394433989  0.03096350  0.353513759  0.167331006
## [11,] -1.0290147 -0.05718611 -0.820219266 -0.17028913  0.082763329 -0.057920756
## [12,]  0.2325293 -2.11968866  0.048015380  0.20951082  0.255703472 -0.092948205
## [13,] -1.4158291  1.10135746  0.624568467  0.38804906  0.069926705  0.110031798
## [14,] -1.0283386  0.90395531  0.112222265  0.08494045 -0.028550588  0.172351886
## [15,] -0.3298277  0.19311835 -0.529515058 -0.18200015  0.027013582 -0.008018838
## [16,]  1.0368272 -2.00592908 -0.605602149  0.18344846  0.352699392 -0.112104931
## [17,] -0.9216657  0.91959693  0.480773295 -0.11120661 -0.054045598 -0.097528575
## [18,] -0.6118602  0.84860096 -0.030818578 -0.01476168 -0.061362247 -0.137938458
## [19,]  0.1152724  0.48791206 -0.346245828 -0.44090803 -0.148327669 -0.095532217
## [20,]  1.5757152 -1.58770344 -0.424627021  0.22893625  0.110312418 -0.113312124
## [21,] -0.1764571  0.37669469  1.134402776 -0.36968860 -0.240306766 -0.251356970
## [22,]  0.2403135  0.97039456 -0.252223577 -0.06979643 -0.273382685 -0.124365143
## [23,]  1.3965959  0.01394150  1.010594421 -0.09622133 -0.548523661  0.122511925
## [24,]  1.7939836 -0.18137098 -1.379819985  0.45158769 -0.312973634  0.026507710
## [25,]  0.6804818  1.29595715  0.910010496 -0.68218366 -0.141014170  0.054143672
## [26,]  1.4382197  0.77679739  0.009387808  0.01954433  0.255312191 -0.272068885
## [27,]  1.9922869  1.14389093 -0.205567670 -0.07337409 -0.180239478  0.165314980
## [28,]  3.4287276 -0.70917042  0.632601143  0.83037215  0.149343484  0.208305827
## [29,]  1.5567803  2.28366002  0.424348633 -0.75315368  0.433029250  0.192904413
## [30,]  2.4181735  1.47221164 -0.667671407 -0.12551594  0.526690067 -0.022442580
## [31,]  3.0543904 -0.04956886  0.856175306  0.15034067 -0.018228802 -0.162716844
## [32,]  3.2883175  0.33953278 -0.883396732  0.45397523 -0.406540394 -0.019906386

Data Komponen Utama PC1 dan PC2

Di bagian ini, kita fokus pada dua komponen utama pertama, yaitu PC1 dan PC2. Komponen-komponen ini sering kali cukup representatif untuk menggambarkan sebagian besar variasi dalam data, sehingga mempermudah analisis lebih lanjut. Kita memilih PC1 dan PC2 dan mengonversinya menjadi matriks data untuk digunakan dalam analisis berikutnya.

PC12 <- data.matrix(DataPCA[, c('PC1','PC2')])
PC12
##              PC1         PC2
##  [1,] -3.6810312  0.45908133
##  [2,] -2.5403374 -0.90183143
##  [3,] -1.8565097 -1.13707056
##  [4,] -1.4061568 -1.19237486
##  [5,] -3.1174220  1.11085882
##  [6,] -2.1315903 -0.51017446
##  [7,] -1.5114253 -0.86028069
##  [8,]  0.5985345 -4.34754496
##  [9,] -1.8450419  0.70348576
## [10,] -1.2446417  0.25884687
## [11,] -1.0290147 -0.05718611
## [12,]  0.2325293 -2.11968866
## [13,] -1.4158291  1.10135746
## [14,] -1.0283386  0.90395531
## [15,] -0.3298277  0.19311835
## [16,]  1.0368272 -2.00592908
## [17,] -0.9216657  0.91959693
## [18,] -0.6118602  0.84860096
## [19,]  0.1152724  0.48791206
## [20,]  1.5757152 -1.58770344
## [21,] -0.1764571  0.37669469
## [22,]  0.2403135  0.97039456
## [23,]  1.3965959  0.01394150
## [24,]  1.7939836 -0.18137098
## [25,]  0.6804818  1.29595715
## [26,]  1.4382197  0.77679739
## [27,]  1.9922869  1.14389093
## [28,]  3.4287276 -0.70917042
## [29,]  1.5567803  2.28366002
## [30,]  2.4181735  1.47221164
## [31,]  3.0543904 -0.04956886
## [32,]  3.2883175  0.33953278

Analisis Regresi Komponen Utama

Di sini, kita juga menggabungkan komponen utama PC1 dan PC2 dengan variabel respons y ke dalam dataset baru yang akan digunakan untuk analisis regresi.

Dalam analisis ini, kita membangun model regresi linier dengan menggunakan komponen utama sebagai peubah prediktor. Model ini dapat membantu kita memahami hubungan antara komponen utama dan variabel respons y. Regresi komponen utama sering digunakan untuk mengatasi multikolinieritas atau untuk mengurangi dimensi data saat analisis regresi.

Pada bagian ini, kita membangun model regresi linier Model_ARKU dengan menggunakan komponen utama pertama (PC1) dan kedua (PC2) sebagai peubah prediktor, serta mengevaluasi hasil model melalui ringkasan (summary).

Dataku <- as.data.frame(cbind(y,PC12))
Model_ARKU <- lm (y ~ PC1 + PC2, data=Dataku)
summary (Model_ARKU)
## 
## Call:
## lm(formula = y ~ PC1 + PC2, data = Dataku)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.30500 -0.09133  0.01607  0.09070  0.31507 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 7.373e-16  2.524e-02    0.00        1    
## PC1         4.969e-01  1.372e-02   36.21  < 2e-16 ***
## PC2         2.629e-01  1.960e-02   13.41 5.81e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1428 on 29 degrees of freedom
## Multiple R-squared:  0.9809, Adjusted R-squared:  0.9796 
## F-statistic: 745.6 on 2 and 29 DF,  p-value: < 2.2e-16

Uji Asumsi Klasik

Fungsi multicollinearity() dari paket performance digunakan untuk mengevaluasi adanya multikolinieritas dalam model, yang dapat memengaruhi kestabilan dan interpretasi koefisien regresi.

library(performance)
# Uji Multikolinieritas
multicollinearity(Model_ARKU)
## # Check for Multicollinearity
## 
## Low Correlation
## 
##  Term  VIF      VIF  CI Increased SE Tolerance
##   PC1 1.00 [1.00, 1.00]         1.00      1.00
##   PC2 1.00 [1.00, 1.00]         1.00      1.00