Kasus I

Import Data

set.seed(123)

n <- 10000
pdb <- rnorm(n, mean=1000, sd=200)
x <- 10 - 0.05 * pdb + rnorm(n, mean=0, sd=2)

data <- data.frame(PDB=pdb, Tingkat_Pengangguran=x)
head(data, 5)
##         PDB Tingkat_Pengangguran
## 1  887.9049            -29.65379
## 2  953.9645            -38.03185
## 3 1311.7417            -53.73316
## 4 1014.1017            -41.84139
## 5 1025.8575            -40.84270

Visualisasi Data

library(ggplot2)

ggplot(data, aes(x = PDB, y = Tingkat_Pengangguran, color = PDB)) +
  geom_point(alpha = 0.6) +
  geom_smooth(method = "lm", se = FALSE, linetype = "dashed", color = "black") +
  labs(title = "Hubungan PDB dengan Tingkat Pengangguran",
       x = "Produk Domestik Bruto",
       y = "Tingkat Pengangguran") +
  scale_color_gradient(low = "green", high = "red") +
  annotate("text", x = 1200, y = -50, label = "Trend Line", color = "white", size = 3)
## `geom_smooth()` using formula = 'y ~ x'

berdasarkan grafik di atas terlihat bahwa pola garis tren terlihat menurun. Jadi bisa disimpulkan terdapat hubungan yang negatif, dimana saat nilai PDB tinggi, maka tingkat pengangguran di negara tersebut semakin menurun.

Model Regresi Sederhana

model <- lm(Tingkat_Pengangguran ~ PDB, data = data)

summary(model)
## 
## Call:
## lm(formula = Tingkat_Pengangguran ~ PDB, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.9652 -1.3378 -0.0148  1.3617  7.5393 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  9.9214218  0.1022358   97.04   <2e-16 ***
## PDB         -0.0499396  0.0001003 -497.89   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.003 on 9998 degrees of freedom
## Multiple R-squared:  0.9612, Adjusted R-squared:  0.9612 
## F-statistic: 2.479e+05 on 1 and 9998 DF,  p-value: < 2.2e-16

Berdasarkan hasil summary di atas model yang didapat adalah Y = 9.93 - 0.05X atau bisa dibuat Tingkat Pengangguran = 9.93 - 0.05 PDB yang artinya ketika nilai PDB adalah nol, tingkat pengangguran sebesar 9.93 dan dalam setiap kenaikan satu satuan nilai PDB akan menurunkan 0.05 tingkat pengangguran.

Kasus II

Import Data

set.seed(123)

tahun <- 1:10
tingkat_investasi <- rnorm(10, mean = 20, sd = 5)
pert_pdb <- 3 + 0.8 * tingkat_investasi + rnorm(10, mean = 0, sd = 1)

data2 <- data.frame(tahun, tingkat_investasi, pert_pdb)
head(data2, 5)
##   tahun tingkat_investasi pert_pdb
## 1     1          17.19762 17.98218
## 2     2          18.84911 18.43910
## 3     3          27.79354 25.63560
## 4     4          20.35254 19.39272
## 5     5          20.64644 18.96131

Visualisasi Data

library(ggplot2)
# Add the regression line
ggplot(data2, aes(x=tingkat_investasi, y=pert_pdb)) + 
  geom_point()+
  geom_smooth(method=lm)
## `geom_smooth()` using formula = 'y ~ x'

Dari visualisasi data di atas, terlihat tren grafik meningkat. Jadi bisa disimpulkan terdapat hubungan yang positf, dimana hubungan pertumbuhan PDB dengan tingkat investasi di negara tersebut yang dibuktikan dengan meningkatnya tren.

Model Regresi Sederhana

model2 <- lm(pert_pdb ~ tingkat_investasi, data = data2)

summary(model2)
## 
## Call:
## lm(formula = pert_pdb ~ tingkat_investasi, data = data2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.33303 -0.64421 -0.02448  0.49596  1.41472 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        0.64706    1.31108   0.494    0.635    
## tingkat_investasi  0.92573    0.06282  14.736 4.42e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8988 on 8 degrees of freedom
## Multiple R-squared:  0.9645, Adjusted R-squared:   0.96 
## F-statistic: 217.1 on 1 and 8 DF,  p-value: 4.423e-07

Berdasarkan hasil summary di atas model yang didapat adalah Y = 0.647 - 0.926X atau bisa dibuat Pertumbuhan PDB = 9.93 - 0.05 PDB diartikan bahwa ketika di suatu negara tersebut memiliki tingkat investasi sebesar nol, maka nilai pertumbuhan PDB sebesar 0.647 dan ketika tingkat investasi bertambah satu satuan akan meningkatkan nilai PDB sebesar 0.926.

Prediksi Nilai PDB

prediksi <- data.frame(tingkat_investasi = c(40, 45, 50))
prediksi_pdb <- predict(model2, newdata = prediksi)

data_prediksi <- data.frame(tingkat_investasi = prediksi$tingkat_investasi, prediksi_pdb)

data_prediksi
##   tingkat_investasi prediksi_pdb
## 1                40     37.67635
## 2                45     42.30501
## 3                50     46.93367

kita dapat melihat bahwa semakin tinggi tingkat investasi, semakin tinggi juga prediksi PDB. Ini menunjukkan bahwa ada hubungan positif antara tingkat investasi dan prediksi PDB: ketika tingkat investasi meningkat, kita dapat memperkirakan bahwa PDB juga akan meningkat. Hal ini menunjukkan bahwa investasi memiliki dampak yang positif terhadap pertumbuhan ekonomi suatu negara.