Email             :
Instagram     : https://www.instagram.com/nikitaindriyni
RPubs            : https://rpubs.com/nikitaindriyani/


library(PoEdata)                      
library(DT)   
library(devtools) 
## Loading required package: usethis
library(ggplot2)
library(scales)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.0.4
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readr)
## 
## Attaching package: 'readr'
## The following object is masked from 'package:scales':
## 
##     col_factor

Pertanyaan:

1 Apa perbedaan regressi Linear Sederhana dan Berganda, jelaskan dengan contoh!

Perbedaan antar keduanya terletak pada jumlah variabel independennya. Regresi linear sederhana hanya memiliki satu variabel independen, sedangkan regresi linear berganda mempunyai banyak variabel independen. Analisis regresi Nonlinier adalah regresi eksponensial.

2 Lakukan analisis regresi linear sederhana dalam ilmu ekonometrik!

Perpustakaan Universitas Indonesia ingin mengetahui pengaruh kinerja pustakawan terhadap kepuasan pemustaka. Hal ini bertujuan untuk meningkatkan kerja pustakawan dan kualitas pelayanan kepada pemustaka.Pada kasus ini, variabel dependennya (income) adalah kepuasan pemustaka sedangkan variabel independen (happiness) adalah kinerja pustakawan.Taraf signifikansi yang digunakan \(a\)=5% Peneliti mengambil 498 responden, datanya sebagai berikut.

perpus<-read_csv(file = "income.data.csv")
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   income = col_double(),
##   happiness = col_double()
## )
datatable(perpus)
head(perpus)
## # A tibble: 6 x 3
##      X1 income happiness
##   <dbl>  <dbl>     <dbl>
## 1     1   3.86      2.31
## 2     2   4.98      3.43
## 3     3   4.92      4.60
## 4     4   3.21      2.79
## 5     5   7.20      5.60
## 6     6   3.73      2.46
tail(perpus)
## # A tibble: 6 x 3
##      X1 income happiness
##   <dbl>  <dbl>     <dbl>
## 1   493   3.44      2.12
## 2   494   5.25      4.57
## 3   495   3.47      2.54
## 4   496   6.09      4.40
## 5   497   3.44      2.07
## 6   498   4.53      3.71
data_perpus<- perpus %>% rename ("No" = "X1","Kinerja"="income","Kepuasan"="happiness")
data_perpus
## # A tibble: 498 x 3
##       No Kinerja Kepuasan
##    <dbl>   <dbl>    <dbl>
##  1     1    3.86     2.31
##  2     2    4.98     3.43
##  3     3    4.92     4.60
##  4     4    3.21     2.79
##  5     5    7.20     5.60
##  6     6    3.73     2.46
##  7     7    4.67     3.19
##  8     8    4.50     1.91
##  9     9    3.12     2.94
## 10    10    4.64     3.74
## # ... with 488 more rows
summary(data_perpus)
##        No           Kinerja         Kepuasan    
##  Min.   :  1.0   Min.   :1.506   Min.   :0.266  
##  1st Qu.:125.2   1st Qu.:3.006   1st Qu.:2.266  
##  Median :249.5   Median :4.424   Median :3.473  
##  Mean   :249.5   Mean   :4.467   Mean   :3.393  
##  3rd Qu.:373.8   3rd Qu.:5.992   3rd Qu.:4.503  
##  Max.   :498.0   Max.   :7.482   Max.   :6.863

2.1 Asumsi

Untuk dapat lanjut ke hipotesis, sebelumnya perlu memeriksa apakah asumsi-asumsi telah dipenuhi. Berikut asumsi-asumsi yang harus dipenuhi;

2.1.1 Independence

Karena kita hanya memiliki satu variabel independen dan satu variabel dependen, kita tidak perlu menguji untuk hubungan tersembunyi di antara variabel.

2.1.2 Normality

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

hist(data_perpus$Kepuasan)

2.1.3 Linear

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

plot(Kepuasan ~ Kinerja, data = data_perpus)

2.2 Korelasi

Hipotesis \(H_0=\) tidak terdapat hubungan antar variabel \(H_1=\) terdapat hubungan antar variabel

cor.mat<-cor(data_perpus)
cor.mat
##                  No    Kinerja   Kepuasan
## No       1.00000000 0.02483102 0.02926918
## Kinerja  0.02483102 1.00000000 0.86563373
## Kepuasan 0.02926918 0.86563373 1.00000000

Hasil di atas menunjukkan bahwa hubungan keeratan variabel Kinerja dan Kepuasan masuk kedalam kategori erat (0,6 - 0,8) yaitu sebesar 0,86563373.Dalam pengujian korelasi diperlukan pengujian keberartiannya untuk meyakinkan sehingga akan dilakukan dengan menggunakan metode pearson.

cor.test(data_perpus$Kinerja,data_perpus$Kepuasan,method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  data_perpus$Kinerja and data_perpus$Kepuasan
## t = 38.505, df = 496, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8417942 0.8861031
## sample estimates:
##       cor 
## 0.8656337
r<-cor(data_perpus$Kinerja,data_perpus$Kepuasan,method = "pearson")
KD<-r^2*100
KD
## [1] 74.93218

Berdasarkan nilai \(p-value <a(0,05)\), maka tolak \(H_0\). Artinya terdapat hubungan atau korelasi antara kinerja pustakawan dengan kepuasan pemustaka.Koefisien determinasi(KD) sebesar 74.93218, artinya pengaruh kinerja pustakawan terhadap kepuasan pemustaka sebesar 74.93%.

2.3 Regresi Linier Sederhana

Hipotesis \(H_0=\) kinerja pustakawan tidak berpengaruh terhadap kepuasan pemustaka \(H_1=\) kinerja pustakawan berpengaruh terhadap kepuasan pemustaka

head(data_perpus)
## # A tibble: 6 x 3
##      No Kinerja Kepuasan
##   <dbl>   <dbl>    <dbl>
## 1     1    3.86     2.31
## 2     2    4.98     3.43
## 3     3    4.92     4.60
## 4     4    3.21     2.79
## 5     5    7.20     5.60
## 6     6    3.73     2.46
regresi<-summary(lm(Kinerja~Kepuasan, data = data_perpus))
print(regresi)
## 
## Call:
## lm(formula = Kinerja ~ Kepuasan, data = data_perpus)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.94796 -0.57730  0.02277  0.55661  2.23185 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.90533    0.10039   9.018   <2e-16 ***
## Kepuasan     1.04973    0.02726  38.505   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8708 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

2.4 Analisis Regresi Linier Sederhana

2.4.1 Uji Determinasi

Berdasarkan hasil analisis regresi linier sederhana diketahui nilai R-Square yaitu 0.7493 yang memiliki arti sebanyak 74,93% kinerja pustakawan memiliki pengaruh terhadap kepuasan pemustaka dan sisanya 25,07% dijelaskan oleh faktor lainnya yang tidak termasuk dalam model.Model yang diperoleh adalah sebagai berikut.

2.4.1.1 Model Regresi Liniet Sederhana

\(Y=0.905+1.049\)

Variabel kinerja pustakawan 1,049 menunjukkan bahwa jika variabel kinerja pustakawan meningkat 1 satuan maka akan meningkatkan kepuasan pemustaka. sedangkan koefisien regresi sebesar 0,631 memiliki arti jika variabel kinerja pustakawan bernilai konstan maka akan meningkatkan kepuasan pemustaka.

2.4.2 Uji Serentak

Pengujian serentak dilakukan untuk mengetahui pengaruh variabel independen (kinerja pustakawan) secara serentak atau keseluruhan terhadap variabel dependen (kepuasan pemustaka).

2.4.2.1 Statistik Uji

Analisis pengujian dapat dilakukan dengan melihat nilai p-value dari uji F yang ada pada hasil analisis yaitu sebesar <2e-16.

2.4.2.2 Daerah Penolakan

Nilai p-value < ?? yaitu 2e-16 < 0,05 maka tolak \(H_0\).

2.4.2.3 Keputusan

Karena p-value < 0,05 maka tolak \(H_0\). Sehingga dapat disimpulkan bahwa kinerja pustakawan memiliki pengaruh terhadap kepuasan pemustaka.

2.4.3 Uji Parsial

Pengujian secara parsial dilakukan untuk mengetahui ada atau tidaknya pengaruh kinerja pustakawan secara parsial terhadap kepuasan pemustaka.

2.4.3.1 Statistik Uji

Analisis pengujian dapat dilakukan dengan melihat nilai t-hitungyang ada pada hasil analisis yaitu sebesar 38,505

2.4.3.2 Daerah Penolakan

Nilai t-hitung > t-tabel yaitu 38,505 > 1,98 maka tolak \(H_0\).

2.4.3.3 Keputusan

Karena t-hitung > t-tabel maka tolak H0. Sehingga dapat disimpulkan bahwa kinerja pustakawan memiliki pengaruh yang signifikan terhadap kepuasan pemustaka.

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

Berikut merupakan kumpulan dua data berisi pengamatan pada persentase orang bersepeda untuk bekerja setiap hari, persentase orang merokok, dan persentase orang dengan penyakit jantung dalam sampel imajiner 500 kota.

data<-read_csv(file = "heart.data.csv")
## Warning: Missing column names filled in: 'X1' [1]
## 
## -- Column specification --------------------------------------------------------
## cols(
##   X1 = col_double(),
##   biking = col_double(),
##   smoking = col_double(),
##   heart.disease = col_double()
## )
datatable(data)
data_health<- data %>% rename ("No" = "X1","pesepeda"="biking","perokok"="smoking","penyakit.jantung"="heart.disease")
data_health
## # A tibble: 498 x 4
##       No pesepeda perokok penyakit.jantung
##    <dbl>    <dbl>   <dbl>            <dbl>
##  1     1    30.8    10.9             11.8 
##  2     2    65.1     2.22             2.85
##  3     3     1.96   17.6             17.2 
##  4     4    44.8     2.80             6.82
##  5     5    69.4    16.0              4.06
##  6     6    54.4    29.3              9.55
##  7     7    49.1     9.06             7.62
##  8     8     4.78   12.8             15.9 
##  9     9    65.7    12.0              3.07
## 10    10    35.3    23.3             12.1 
## # ... with 488 more rows
summary(data_health)
##        No           pesepeda         perokok        penyakit.jantung 
##  Min.   :  1.0   Min.   : 1.119   Min.   : 0.5259   Min.   : 0.5519  
##  1st Qu.:125.2   1st Qu.:20.205   1st Qu.: 8.2798   1st Qu.: 6.5137  
##  Median :249.5   Median :35.824   Median :15.8146   Median :10.3853  
##  Mean   :249.5   Mean   :37.788   Mean   :15.4350   Mean   :10.1745  
##  3rd Qu.:373.8   3rd Qu.:57.853   3rd Qu.:22.5689   3rd Qu.:13.7240  
##  Max.   :498.0   Max.   :74.907   Max.   :29.9467   Max.   :20.4535

3.1 Asumsi

Seperti halnya regresi linear sederhana, regresi linear berganda juga memiliki asumsi yang sama yaitu sebagai berikut;

3.1.1 Independen

Gunakan fungsi cor() untuk menguji hubungan antara variabel independen Anda dan pastikan mereka tidak terlalu berkorelasi tinggi.

cor(data_health$pesepeda, data_health$perokok)
## [1] 0.01513618

Ketika kita menjalankan kode ini, output adalah 0.015. Korelasi antara bersepeda dan merokok kecil (0,015 hanya korelasi 1,5%), sehingga kami dapat memasukkan kedua parameter dalam model kami.

3.1.2 Normality

Gunakan fungsi hist() untuk menguji apakah variabel dependen Anda mengikuti distribusi normal.

hist(data_health$penyakit.jantung)

Distribusi pengamatan kira-kira berbentuk lonceng, sehingga kita dapat melanjutkan dengan regresi linier.

3.1.3 linearity

Kita dapat memeriksa ini menggunakan dua sebar: satu untuk bersepeda dan penyakit jantung, dan satu untuk merokok dan penyakit jantung.

plot(penyakit.jantung ~ pesepeda, data=data_health)

plot(penyakit.jantung ~ perokok, data=data_health)

Meskipun hubungan antara merokok dan penyakit jantung agak kurang jelas, itu masih tampak linier. Kita bisa melanjutkan dengan regresi linier.

3.1.4 Homoscedasticity

kita akan mengecek setelah membuat model.

3.2 Melakukan analisis regresi linear

Mari kita lihat apakah ada hubungan linier antara bersepeda untuk bekerja, merokok, dan penyakit jantung dalam survei imajiner kita terhadap 500 kota. Tingkat bersepeda ke rentang kerja antara 1 dan 75%, tingkat merokok antara 0,5 dan 30%, dan tingkat penyakit jantung antara 0,5% dan 20,5%.

Untuk menguji hubungan, pertama-tama kita cocokan dengan model linier dengan penyakit jantung sebagai variabel dependen dan bersepeda dan merokok sebagai variabel independen.

penyakit.jantung.lm<-lm(penyakit.jantung ~ pesepeda + perokok, data = data_health)

summary(penyakit.jantung.lm)
## 
## Call:
## lm(formula = penyakit.jantung ~ pesepeda + perokok, data = data_health)
## 
## 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 ***
## pesepeda    -0.200133   0.001366 -146.53   <2e-16 ***
## perokok      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

Perkiraan efek bersepeda pada penyakit jantung adalah -0,2, sedangkan perkiraan efek merokok adalah 0,178.

Ini berarti bahwa untuk setiap 1% peningkatan bersepeda untuk bekerja, ada penurunan 0,2% yang berkorelasi dalam insiden penyakit jantung. Sementara itu, untuk setiap peningkatan 1% merokok, terjadi peningkatan 0,178% dalam laju penyakit jantung.

Kesalahan standar untuk koefisien regresi ini sangat kecil, dan statistik t masing-masing sangat besar (-147 dan 50,4). Nilai p mencerminkan kesalahan kecil ini dan statistik t besar. Untuk kedua parameter, hampir tidak ada kemungkinan bahwa efek ini disebabkan oleh peluang.

3.3 Homoscedasticity

memeriksa bahwa model sebenarnya cocok untuk data, dan bahwa data tidak memiliki variasi besar dalam kesalahan model

par(mfrow=c(2,2))
plot(penyakit.jantung.lm)

par(mfrow=c(1,1))

Seperti regresi sederhana, residu tidak menunjukkan bias, sehingga kita dapat mengatakan model kita sesuai dengan asumsi homoscedasticity.

3.4 Result

Dalam survei kami terhadap 500 kota, kami menemukan hubungan yang signifikan antara frekuensi bersepeda untuk bekerja dan frekuensi penyakit jantung dan frekuensi merokok dan frekuensi penyakit jantung (masing-masing p < 0 dan p<0.001).

Secara khusus menemukan penurunan 0,2% (0,0014) dalam frekuensi penyakit jantung untuk setiap 1% peningkatan bersepeda, dan peningkatan 0,178% (0,0035) dalam frekuensi penyakit jantung untuk setiap peningkatan 1% dalam merokok.

4 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 Log-log model

loglog_m <- lm(log(penyakit.jantung)~log(pesepeda)+log(perokok),data=data_health)
(loglog_m <- summary(loglog_m))
## 
## Call:
## lm(formula = log(penyakit.jantung) ~ log(pesepeda) + log(perokok), 
##     data = data_health)
## 
## 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(pesepeda) -0.51146    0.01990  -25.70   <2e-16 ***
## log(perokok)   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.2 Log-Linear Model

loglin_m <- lm(log(penyakit.jantung)~pesepeda+perokok, data=data_health)
(loglin_m <- summary(loglin_m))
## 
## Call:
## lm(formula = log(penyakit.jantung) ~ pesepeda + perokok, data = data_health)
## 
## 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 ***
## pesepeda    -0.0244554  0.0005047  -48.46   <2e-16 ***
## perokok      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.3 Polynominal Model

poly <- lm(penyakit.jantung~poly(pesepeda,3)+perokok, data=data_health)
(poly <- summary(poly))
## 
## Call:
## lm(formula = penyakit.jantung ~ poly(pesepeda, 3) + perokok, 
##     data = data_health)
## 
## 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(pesepeda, 3)1 -95.84416    0.65349 -146.665   <2e-16 ***
## poly(pesepeda, 3)2  -1.06107    0.65414   -1.622    0.105    
## poly(pesepeda, 3)3   0.36175    0.65344    0.554    0.580    
## perokok              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 Quadratic Model

kuadrat <- lm(penyakit.jantung~(pesepeda+perokok)^2, data=data_health)
(kuadrat <- summary(kuadrat))
## 
## Call:
## lm(formula = penyakit.jantung ~ (pesepeda + perokok)^2, data = data_health)
## 
## 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 ***
## pesepeda         -0.2019916  0.0029472 -68.536   <2e-16 ***
## perokok           0.1740065  0.0070359  24.731   <2e-16 ***
## pesepeda:perokok  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