Email           :
Instagram   : https://www.instagram.com/marvis.zerex/
RPubs          : https://rpubs.com/invokerarts/
Linkedin     : https://www.linkedin.com/in/jeffry-wijaya-087a191b5/
Majors         : Business Statistics
Address      : ARA Center, Matana University Tower
                         Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.


Questions:

1 [25%] Apa perbedaan regressi Linear Sederhana dan Berganda, jelaskan dengan contoh!

1.1 Regresi Linear Sederhana

Regresi Linear Sederhana digunakan untuk menguji sejauh mana hubungan sebab akibat antara Variabel Faktor Penyebab (X) terhadap Variabel Akibatnya. Analisis ini digunakan untuk mengetahui arah hubungan antara variabel independen dengan variabel dependen apakah positif atau negatif serta untuk memprediksi nilai dari variabel dependen apabila nilai variabel independen mengalami kenaikan atau penurunan nilai. Data yang digunakan biasanya berskala interval atau rasio. Model regresi linear sederhana yang baik harus memenuhi asumsi eksogenitas, linearitas, autokorelasi, dan varians error.

\[ Y = a + bX \] dimana:
Y = variabel dependen
a = konstanta
b = koefisien variabel x
X = variabel independen

b adalah tangent dari perbandingan antara panjang garis variabel dependen dimana:
\[ b = r \frac {s_y}{s_x}\] dimana:
R = koefisien korelasi antara variabel X dan Y
\(s_y\) = simpangan baku variabel Y
\(s_x\) = simpangan baku variabel X

Income_Data <- read.csv(file = 'income.data.csv')
datatable(Income_Data)
MRLS <- lm(happiness~income, Income_Data)
summary(MRLS)
## 
## Call:
## lm(formula = happiness ~ income, data = Income_Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.02479 -0.48526  0.04078  0.45898  2.37805 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.20427    0.08884   2.299   0.0219 *  
## income       0.71383    0.01854  38.505   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7181 on 496 degrees of freedom
## Multiple R-squared:  0.7493, Adjusted R-squared:  0.7488 
## F-statistic:  1483 on 1 and 496 DF,  p-value: < 2.2e-16

1.2 Regresi Linear Berganda

Regresi linier berganda digunakan untuk mengestimasi hubungan antara dua atau lebih variabel independen dan satu variabel dependen. Anda dapat menggunakan regresi linier berganda jika Anda ingin mengetahui:

Model regresi linear berganda dilukiskan dengan persamaan:
\[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + ... +\beta_n X_n + \epsilon \] dimana:
\(Y\) = nilai prediksi dari variabel dependen
\(\beta_0\) = perpotongan y (nilai y ketika semua parameter lainnya disetel ke 0)
\(\beta_iX_i\) = koefisien regresi (\(\beta_i\)) dari variabel independen (\(X_i\)) (atau pengaruh peningkatan nilai variabel independen terhadap nilai y yang diprediksi)
\(\epsilon\) = kesalahan model

Heart_Data <- read.csv(file = 'heart.data.csv')
datatable(Heart_Data)
MRLB <- lm(heart.disease~biking+smoking, Heart_Data)
summary(MRLB)
## 
## Call:
## lm(formula = heart.disease ~ biking + smoking, data = Heart_Data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1789 -0.4463  0.0362  0.4422  1.9331 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 14.984658   0.080137  186.99   <2e-16 ***
## biking      -0.200133   0.001366 -146.53   <2e-16 ***
## smoking      0.178334   0.003539   50.39   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.654 on 495 degrees of freedom
## Multiple R-squared:  0.9796, Adjusted R-squared:  0.9795 
## F-statistic: 1.19e+04 on 2 and 495 DF,  p-value: < 2.2e-16

2 [25%] Lakukan analisis regresi linear sederhana dalam ilmu ekonometrik!

Pada kasus ini saya mengambil data dari internet yaitu scribbr yang membahas tentang pengaruh income (pendapatan) terhadap happiness, dimana income dalam $10.000. Pada data ini dapat diketahui bahwa income sebagai variabel bebas dan happiness sebagai variabel terikat.

datatable(Income_Data)

Berikut merupakan Visualisasi Data Income/Happiness

plot(Income_Data$income, Income_Data$happiness, 
     ylim=c(0, max(Income_Data$happiness)),
     xlim=c(0, max(Income_Data$income)),
     xlab="income in 10000$", 
     ylab="happiness in $", 
     type = "p")

2.1 Asumsi

Untuk menganalisa suatu program linear, ada beberapa asumsi yang harus dipenuhi, yaitu :

2.1.1 Independensi pengamatan (alias tidak boleh ada autokorelasi)

Karena kita hanya memiliki satu variabel independen dan satu variabel dependen, kami tidak perlu menguji hubungan tersembunyi di antara variabel. Jika Anda mengetahui bahwa Anda memiliki autokorelasi dalam variabel (yaitu beberapa observasi dari subjek uji yang sama), jangan lanjutkan dengan regresi linier sederhana! Gunakan model yang lebih terstruktur seperti model mixed-effect.

2.1.2 Normalitas

Untuk memeriksa apakah variabel dependen mengikuti distribusi normal, gunakan fungsi hist ().

hist(Income_Data$happiness)

Dapat dilihat bahwa bentuk data happiness dalam income berbentuk bell-curve, jadi kita dapat melanjutkan dengan regresi linier.

2.1.3 Linearitas

Hubungan antara variabel bebas dan variabel terikat harus linier. Kita dapat menguji ini secara visual dengan plot pencar untuk melihat apakah distribusi titik data dapat dijelaskan dengan garis lurus.

plot(happiness ~ income, data = Income_Data)

Dari plot diatas, terlihat bentuk seperti garis linear, jadi kita dapat melanjutkan dengan model linier.

2.2 Hipotesis dan tingkat Signifikansi

Hipotesis dan tingkat signifikansinya adalah:

\[H_0:\beta_1=\beta_2\] \[H_0:\beta_1\ne\beta_2\] \[\alpha=0.05\]

2.3 Model Linear dan Summary

Untuk melihat summatry dari model linier regresi sederhana kita dapat menggunakan lm() dan summary() seperti pada contoh nomor 1

summary(MRLS)
## 
## Call:
## lm(formula = happiness ~ income, data = Income_Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.02479 -0.48526  0.04078  0.45898  2.37805 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.20427    0.08884   2.299   0.0219 *  
## income       0.71383    0.01854  38.505   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7181 on 496 degrees of freedom
## Multiple R-squared:  0.7493, Adjusted R-squared:  0.7488 
## F-statistic:  1483 on 1 and 496 DF,  p-value: < 2.2e-16

dapat dilihat dari hasil, bahwa \(\beta_1=0.20427\) dan \(\beta_2=0.71383\). Sehingga estimasi dari y adalah:

\[\hat{y}=\beta_1+\beta_2X\] \[\hat{y}=0.20427+0.71383X\] Kemudian kita cari p-value menggunakan fungsi anova()

anovaMRLS <- anova(MRLS)
anovaMRLS$`Pr(>F)`[1]
## [1] 3.956245e-151

3 [25%] Carilah contoh penerapan analisis regresi linear berganda dalam ilmu ekonometrik! (Persentasikan temuan anda)

Pada kasus ini saya mengambil data dari internet yaitu scribbr yang membahas tentang pengaruh smoking and biking (merokok dan bersepeda) terhadap heart disease(penyakit jantung. Pada data ini dapat diketahui bahwa smoking and biking sebagai variabel bebas dan heart disease sebagai variabel terikat.

datatable(Heart_Data)

3.1 Asumsi

Untuk menganalisa suatu program linear, ada beberapa asumsi yang harus dipenuhi, yaitu :

3.1.1 Independensi pengamatan (alias tidak boleh ada autokorelasi)

Kita gunakan fungsi cor () untuk menguji hubungan antara variabel independen kita dan pastikan tidak terlalu berkorelasi tinggi.

cor(Heart_Data$biking, Heart_Data$smoking)
## [1] 0.01513618

3.1.2 Normalitas

Untuk memeriksa apakah variabel dependen mengikuti distribusi normal, gunakan fungsi hist ().

hist(Heart_Data$heart.disease)

Dapat dilihat bahwa bentuk data happiness dalam income berbentuk bell-curve, jadi kita dapat melanjutkan dengan regresi linier.

3.1.3 Linearitas

Hubungan antara variabel bebas dan variabel terikat harus linier. Kita dapat menguji ini secara visual dengan plot pencar untuk melihat apakah distribusi titik data dapat dijelaskan dengan garis lurus.

plot(heart.disease ~ biking, data=Heart_Data)

Dari plot diatas, terlihat bentuk seperti garis linear, jadi kita dapat melanjutkan dengan model linier.

plot(heart.disease ~ smoking, data=Heart_Data)

Meskipun hubungan antara merokok dan penyakit jantung sedikit kurang jelas, hubungan tersebut masih terlihat linier. Jadi kita bisa melanjutkan dengan regresi linier.

3.2 Hipotesis dan tingkat Signifikansi

Hipotesis dan tingkat signifikansinya adalah:

\[H_0:\beta_{biking}=\beta_{smoking}=0\] \[H_0:\beta_{biking}\ne\beta_{smoking}\ne0\] \[\alpha=0.01\]

3.3 Model Linear dan Summary

summary(MRLB)
## 
## Call:
## lm(formula = heart.disease ~ biking + smoking, data = Heart_Data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1789 -0.4463  0.0362  0.4422  1.9331 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 14.984658   0.080137  186.99   <2e-16 ***
## biking      -0.200133   0.001366 -146.53   <2e-16 ***
## smoking      0.178334   0.003539   50.39   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.654 on 495 degrees of freedom
## Multiple R-squared:  0.9796, Adjusted R-squared:  0.9795 
## F-statistic: 1.19e+04 on 2 and 495 DF,  p-value: < 2.2e-16

dapat dilihat dari hasil, bahwa \(\beta0=14.984658\), \(\beta1=−0.200133\), dan \(\beta2=0.178334\). Sehingga estimasi dari y adalah:

\[\hat{y}=\beta_0+\beta_1X_1+\beta_2X_2\] \[\hat{y}=14.984658−0.200133X_1+0.178334X_2\]

Kemudian kita cari p-value menggunakan fungsi anova()

anovaMRLB <- anova(MRLB)
anovaMRLB$`Pr(>F)`[1]
## [1] 0

Dari hasil didapatkan bahwa \(p−value≤\alpha\) dimana \(\alpha=0.01\). Berarti pada data heart.disease, terdapat hubungan yang signifikan antara variabel smoking dan variabel biking terhadap variabel heart.disease dengan tingkat kepercayaan 99%.

4 [25%] Sehubungan dengan soal No 3, buatlah model regresi linear sederhana yang terbaik dari semua kemungkinan variable (coba terapkan semua kemungkinan model, contohnya, kuardatik, log-log, dll sampai anda menemukan model terbaiknya)

4.1 Model Linear

Model1 <- summary(MRLB)
Model1
## 
## Call:
## lm(formula = heart.disease ~ biking + smoking, data = Heart_Data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1789 -0.4463  0.0362  0.4422  1.9331 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 14.984658   0.080137  186.99   <2e-16 ***
## biking      -0.200133   0.001366 -146.53   <2e-16 ***
## smoking      0.178334   0.003539   50.39   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.654 on 495 degrees of freedom
## Multiple R-squared:  0.9796, Adjusted R-squared:  0.9795 
## F-statistic: 1.19e+04 on 2 and 495 DF,  p-value: < 2.2e-16

4.2 Model Kuadrat

kuadrat <- lm(heart.disease~(biking+smoking)^2, data=Heart_Data)
Model2 <- summary(kuadrat)
Model2
## 
## Call:
## lm(formula = heart.disease ~ (biking + smoking)^2, data = Heart_Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.20619 -0.44862  0.02892  0.44099  1.94142 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    15.0527397  0.1248112 120.604   <2e-16 ***
## biking         -0.2019916  0.0029472 -68.536   <2e-16 ***
## smoking         0.1740065  0.0070359  24.731   <2e-16 ***
## biking:smoking  0.0001177  0.0001653   0.712    0.477    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6544 on 494 degrees of freedom
## Multiple R-squared:  0.9796, Adjusted R-squared:  0.9795 
## F-statistic:  7922 on 3 and 494 DF,  p-value: < 2.2e-16

4.3 Metode Polimomial

polimial <- lm(heart.disease~poly(biking,3)+smoking, data=Heart_Data)
Model3 <- summary(polimial)
Model3
## 
## Call:
## lm(formula = heart.disease ~ poly(biking, 3) + smoking, data = Heart_Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.13134 -0.44800  0.03562  0.44119  1.98212 
## 
## Coefficients:
##                   Estimate Std. Error  t value Pr(>|t|)    
## (Intercept)        7.41749    0.06199  119.653   <2e-16 ***
## poly(biking, 3)1 -95.84416    0.65349 -146.665   <2e-16 ***
## poly(biking, 3)2  -1.06107    0.65414   -1.622    0.105    
## poly(biking, 3)3   0.36175    0.65344    0.554    0.580    
## smoking            0.17862    0.00354   50.458   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6534 on 493 degrees of freedom
## Multiple R-squared:  0.9797, Adjusted R-squared:  0.9796 
## F-statistic:  5960 on 4 and 493 DF,  p-value: < 2.2e-16

4.4 Model Log-Linear

loglin <- lm(log(heart.disease)~biking+smoking, data=Heart_Data)
Model4 <- summary(loglin)
Model4
## 
## Call:
## lm(formula = log(heart.disease) ~ biking + smoking, data = Heart_Data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.59285 -0.08401  0.04881  0.14200  0.37256 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.7338211  0.0296098   92.33   <2e-16 ***
## biking      -0.0244554  0.0005047  -48.46   <2e-16 ***
## smoking      0.0238085  0.0013077   18.21   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2417 on 495 degrees of freedom
## Multiple R-squared:  0.8428, Adjusted R-squared:  0.8421 
## F-statistic:  1327 on 2 and 495 DF,  p-value: < 2.2e-16

4.5 Model Linear-Log

linlog <- lm(heart.disease~log(biking)+log(smoking), data=Heart_Data)
Model5 <- summary(linlog)
Model5
## 
## Call:
## lm(formula = heart.disease ~ log(biking) + log(smoking), data = Heart_Data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -8.581 -1.249  0.349  1.546  4.275 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   21.6124     0.4631   46.67   <2e-16 ***
## log(biking)   -4.5597     0.1067  -42.73   <2e-16 ***
## log(smoking)   1.5781     0.1109   14.22   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.03 on 495 degrees of freedom
## Multiple R-squared:  0.8037, Adjusted R-squared:  0.8029 
## F-statistic:  1013 on 2 and 495 DF,  p-value: < 2.2e-16

4.6 Model Log-Log

loglog <- lm(log(heart.disease)~log(biking)+log(smoking), data=Heart_Data)
Model6 <- summary(loglog)
Model6
## 
## Call:
## lm(formula = log(heart.disease) ~ log(biking) + log(smoking), 
##     data = Heart_Data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.8049 -0.1553  0.1113  0.2413  0.7898 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   3.31670    0.08637   38.40   <2e-16 ***
## log(biking)  -0.51146    0.01990  -25.70   <2e-16 ***
## log(smoking)  0.23441    0.02069   11.33   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3786 on 495 degrees of freedom
## Multiple R-squared:  0.6141, Adjusted R-squared:  0.6125 
## F-statistic: 393.8 on 2 and 495 DF,  p-value: < 2.2e-16

4.7 Summary\(R^2\)

RSummary <- data.frame(
                       "r.linear"      = round(Model1$r.squared,4),
                       "r.kuadrat"     = round(Model2$r.squared,4),
                       "r.polinomial"  = round(Model3$r.squared,4),
                       "r.loglin"      = round(Model4$r.squared,4),
                       "r.linlog"      = round(Model5$r.squared,4),
                       "r.loglog"      = round(Model6$r.squared,4)
                      )
datatable(RSummary)