Email             :
Instagram     : https://www.instagram.com/sherlytaurin
RPubs            : https://rpubs.com/sherlytaurin/
Github           : https://github.com/sherlytaurin/
Telegram       : @Sherlytaurin
Department  : Business Statistics
Address         : ARA Center, Matana University Tower
                         Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.



1 Perkenalan Awal

Seperti yang sudah disebutkan sebelumnya, Model Regresi digunakan untuk mendeskripsikan hubungan antar variabel dengan menyesuaikan garis ke data yang diobservasi. Model regresi linear menggunakan garis lurus, sedangkan model regresi logistic dan nonlinear megggunakan garis lengkung. Regresi membuat kita bisa untuk mengestimasi bagaimana perubahan yang terjadi pada variabel terikat bila variabel bebas berubah.

Di bagian ini, kita akan fokus di penggunaan Regresi Linear Sederhana untuk mengestimasi hubungan antara dua variabel kuantitatif. Kita juga bisa menggunakan Regresi linear sederhana untuk mengetahui:

  • Seberapa kuat relasi antar kedua variabel.
  • Nilai dari variabel terikat di berbagai variasi nilai variabel bebas.



Example:

Asumsikan anda adalah seorang social researcher yang ingin meneliti relasi antara pendapatan dan kebahagiaan. Anda melakukan survey dari 500 orang yang incomenya berkisar antara /$15k sampai /$75k dan meminta mereka untuk mengskalakan kebahagiaan mereka dari 1 sampai 10. Variabel bebas (Pendapatan) dan Variabel terikat (kebahagiaan) keduanya bersifat kuantitatif, sehingga anda bisa melakukan analisis regresi untuk melihat apakah ada hubungan linear antara kedua hal itu.


2 Model General

Regresi linear sederhana mengasumsikan bahwa hubungan linear antar 2 ekspektasi kondisi dari dua variabel kuantitatif:

dimana,

  • \(Y\) mewakili variabel prediktor, variabel penjelas, atau variabel terikat.
  • \(X\) mewakili variabel respon, variabel hasil, atau variabel bebas.
  • \(\beta_1\) adalah parameter atau koefisien intercept.
  • \(\beta_2\) adalah parameter atau koefisien kemiringan (slope).
  • \(\hat{Y}\) adalah nilai estimasi dari \(Y\) berdasarkan \(X\) .
  • \(b_1\) dan \(b_2\) adalah nilai estimasi koefisien estimasi.

3 Regresi Linear Sederhana menggunakan R

Data untuk contoh kali ini ada di package PoEdata di R. Pertama-tama, install package ‘PoEdata’, ketik script ini konsol RStudio:

Lalu, buat dataset dengan cara seperti ini:

dataset diatas selalu merupakan ide yang baik untuk memeriksa data secara visual dalam scatterplot yang dapat dibuat menggunakan fungsi plot(). Gambar dibawah menunjukkan scatter plot pengeluaran makanan terhadap pendapatan yang menunjukkan bahwa terdapat hubungan positif antara pendapatan dan pengeluaran makanan.

Tentang \(R^2\)


3.1 Mengestimasi Regresi Linear

Untuk data pengeluaran makanan, model regresinya akan seperti:

\[ \begin{align} \tag{1} Y&=\beta_1+\beta_2 *X+e \\ food_{exp}&=\beta_1+\beta_2*income+e \end{align} \]

Fungsi R yang digunakan untuk mengestimasi model regresi linear adalahlm(y~x, data) dimana jika menggunakan itu tidak akan mengeluarkan hasil apa-apa. Untuk menggunakannya lebih baik memberi model itu nama seperti misalnya mod1, jadi untuk meringkas dan lalu melihat hasilnya bisa langsung menggunakan summary(mod1).

## 
## Call:
## lm(formula = food_exp ~ income, data = food)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -223.025  -50.816   -6.324   67.879  212.044 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   83.416     43.410   1.922   0.0622 .  
## income        10.210      2.093   4.877 1.95e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 89.52 on 38 degrees of freedom
## Multiple R-squared:  0.385,  Adjusted R-squared:  0.3688 
## F-statistic: 23.79 on 1 and 38 DF,  p-value: 1.946e-05

Misalnya kita hanya ingin melihat beberapa hasil dari regresi misalnya hanya koefisien estimasi, kita bisa melakukannya dengan menggunakan fungsi spesifik misalnya fungsi coef()

## [1] 83.416
## [1] 10.20964

Dari hasil yang ada, kita bisa menuliskan estimasi regresi linearnya seperti:

\[ \begin{align} \tag{2} \hat{Y}&=b_1+b_2*X \\ \hat{food_{exp}}&=83.416+10.20964*income \end{align} \]

Parameter intersep \(\beta_1\) biasa tidak terlalu penting di model ekonometrik. Biasanya kita lebih menggunakan parameter kemiringan (slope) \(\beta_2\). Nilai estimasi \(\beta_2\) menunjukkan bahwa pengeluaran makanan setiap keluaganya rata-rata meningkat sebesar 10.209643 saat pendapatan keluarga meningkat sebesar 1 unit tau $100. Fungsi R abline() menambahkan garis regfression ke diagram yang sebelumnya dibentuk seperti dibawah:

Bagaimanakah cara untuk mengambil satu dari berbagai hasil regresi? Untuk mengambil hasil tertentu, kita bisa mencarinya dengan nama objek, diikuti dengan tanda $ dan nama dari hasil yang ingin diambil. Misalnya kitaingin mengamvil vektor koefisien dari mod1, kita dapat mengambilnya dengan mengetikkan mod1\$coefficients dan smod1\$coefficients:

## (Intercept)      income 
##    83.41600    10.20964
##             Estimate Std. Error  t value     Pr(>|t|)
## (Intercept) 83.41600  43.410163 1.921578 6.218242e-02
## income      10.20964   2.093264 4.877381 1.945862e-05

Seperti yang telah kita lihat sebelumnya, beberapa hasil ini dapat diambil menggunakan fungsi tertentu seperti coef(mod1), resid(mod1), fitted(mod1), dan vcov(mod1).


3.2 Prediksi dengan Model SLR

Parameter estimasi regresi, \(b_1\) dan \(b_2\) membuat kita dapat memprediksi ekspektasi pengeluaran makan di berbagai tingkat pendapatan. Yang perlu kita lakukan adalah memasukkan nilai parameter yang diestimasi dan pendapatan yang diberikan kedalam persamaan seperti Persamaan 2. Misalnya nilai yang diekspektasi dari food_exp untuk pendapatan $2000 dihitung dalam Persamaan 3. (Jangan lupa membagi pendapatan dengan 100, karena data untuk pendapatan variabel ditulis dalam ratusan dollar.)

\[ \begin{align} \tag{3} \hat{food_{exp}}&=83.416+10.20964*20\\ & = $ 287.608861 \end{align} \]

Dengan R, kita dapat melakukan perhitungan ini dengan fungsi predict(). Mari kita tambahkan seikit contoh ke lebih dari satu pendapatan yang kita prediksi pengeluaran makanannya. Katakanlah pendapatan = $2000, $2500, and $2700. Fungsi predict() di R mengharuskan nilai baru dari variabel bebas diatur dalam bentuk tertentu yang disebut kerangka data. Bahkan ketika kita hanya ingin memprediksi untuk satu pendapatan, kita butuh struktur kerangka data yang sama. di R, satu set angka disatukan menggunakan struktur c(). Urutan berikut menunjukkan contoh ini.

##        1        2        3 
## 287.6089 338.6571 359.0764

3.3 Nilai Koefisien Regresi

Koefisien regresi \(b_1\) dan \(b_2\) adalah variabel acak, karena bergantung pada sampel. Dalam kasus ini, kita mengulang sampel untuk menilai koefisien regresi. Mari kita buat sejumlah subsampel acak dari data makanan dan menghitung ulang \(b_1\) dan \(b_2\) . Sebuah subsampel acak dapat dibentuk menggunakan fungsi sample(), seperti contoh dibawah ini hanya menggambarkan untuk \(b_2\).

## [1] 9.89

Hasilnya adalah \(b_2=9.88\) yang merupakan rata rata dari 50 estimasi \(b_2\).


3.4 [Tugas 1] Estimasi Variansi dan Covariansi

Banyak aplikasi yang memerlukan perkiraan variansi dan kovariansi dari koefisien regresi. R menyimpannya dalam matriks vcov():

## [1] 1884.442

Variansi dari b1 nilainya sangat besar. Itu berarti nilai nyata (Titik-titik) dari b1 menyimpang jauh dari rata-rata (ekspektasi) b1 dalam rentang 1884.442 dimana nilai rata-ratanya sebagai pusat rentang.

## [1] 4.381752

Variansi dari b2 nilainya kecil yang berarti nilai nyata (titik-titik) dari b2 hanya sedikit menyimpang dari nilai rata-rata (ekspektasi) b2 dalam rentang 4.381752 dimana nilai rata-ratanya sebagai pusat rentang

## [1] -85.90316

Kovariansi bernilai negatif berarti variabel b1 dan b2 memiliki hubungan yang berlawanan, dimana saat salah satu variabel meningkat, variabel lainnya akan menurun.

Dengan kata lain, apabila kovariansinya positif berarti hubungannya searah atau relasinya positif.


4 Hubungan Non-Linear

Terkadang diagram scatter plot atau beberapa pertimbangan teoritis menunjukkan hubungan non-linier. Hubungan non-linier yang paling populer melibatkan logaritma dari variabel terikat atau bebas dan fungsi polinomial. Model kuadrat membutuhkan kuadrat dari variabel bebas.

\[ \begin{align} \tag{4} Y=\beta_1+\beta_2*X^2+e\\ \end{align} \] Di R, variabel bebas yang melibatkan operator matematika dapat dimasukkan ke dalam persamaan regresi dengan fungsi I(). Contoh berikut ini menggunakan kumpulan data br dari package PoEdata, yang mencakup harga jual dan atribut 1080 rumah di Baton Rouge, LA. price adalah harga jual dalam dollar, dan kaki persegi adalah luas permukaan dalam kaki persegi (sqft).

## [1] 55776.57
## [1] 0.0154213
## [1]  61.68521 123.37041 185.05562
## [1] 1.050303 1.631251 1.817408

Sekarang kita ingin menggambar scatter plot dan melihat bagaimana fungsi kuadrat cocok dengan data. Kode berikut ini memberikan dua alternatif untuk membuat grafik seperti itu. yang pertama hanya menggambar fungsi kuadrat pada diagram scatter menggunakan fungsi R curve(); yang kedua menggunakan garis fungsi, yang memerlukan pengurutan kumpulan data dalam peningkatan nilai sqft sebelum model regresi dievaluasi, sehingga nilai yang dihasilkan juga akan keluar dalam urutan yang sama.

Cara alternatif untuk menggambar kurva yang pas:

4.1 [Tugas 2] Model Log-Linier

Model log-linear meregresi log dari variabel dependen pada ekpresi linier dari variabel bebas (kecuali ditentukan lain, notasi log adalah singkatan dari logaritma natural, mengikuti konvensi umum di bidang ekonomii):

\[ \begin{align} \tag{5} Log(Y)=\beta_1+\beta_2*X+e\\ \end{align} \]

Salah satu alasan untuk menggunakan log untuk variabel bebas adalah agar distribusinya mendekati distribusi normal. Mari kita menggambar histogram dan log(harga) untuk membandingkannya.

Seperti sebelumnya, kita tertarik pada estimasi koefisien dan interpretasinya, pada nilai harga yang sesuai, dan pada efek marginal dari peningkatan sqft pada harga.

##  (Intercept)         sqft 
## 1.083860e+01 4.112689e-04

Koefisiennya adalah \(b_1= 10.84\) dan \(b_2= 0.00041\), menunjukkan bahwa peningkatan luas permukaan (square feet) sebuah apartemen sebesar satu unit (1 kaki persegi) meningkatkan harga apartemen sebesar 0.041 persen. Jadi, untuk harga rumah sebesar $100.000, kenaikan 100 kaki persegi akan menaikkan harga sekitar 100*0.041 persen, yang sama dengan $4112,7. Secara umum, efek marginal dari kenaikan \(X\) pada \(Y\) dalam Persamaan 5 adalah

\[ \begin{align} \tag{6} {dy\over dx}=\beta_2 * Y \end{align} \]

dan elastisitasnya adalah

\[ \begin{align} \tag{7} e= {dy\over dx} {X\over Y}=\beta_2 * X \end{align} \]

Kode berikutnya menunjukkan cara membuat kurva nilai yang dipasang dari model loglinear dan cara menghitung efek marginal dan elastisitas harga median dalam kumpulan data. Nilai yang sesuai di sini dihitung menggunakan rumus

\[ \begin{align} \tag{8} \hat{Y}= e^{b_1+b_2*X} \end{align} \]

Penjelasan:
Dari grafik dapat dilihat perbandingannya bahwa grafik logaritma (garis biru) lebih sesuai dengan data-data yang ada dibandingkan grafik regresi sederhana (garis hitam) hanya pas dengan beberapa data. Begitu data menyebar lebih luas, outliernya semakin banyak di grafik regresi sederhana. Sedangkan pada grafik logaritma, outliernya akan lebih sedikit karena bentuknya lebih mengikuti penyebaran data.

Dengan kata lain, dengan transformasi menggunakan logaritma, data yang awalnya tidak berdistribusi normal menjadi mendekati distribusi normal. Jadi kita bisa meminimalkan pelanggaran asumsi normalitas dan asumsi klasik regresi.

## [1] 53.46495
## [1] 0.9366934

R memungkinkan kita untuk mengkalkulasi dengan kuantitas yang sama untuk beberapa (sqft, price) pasang disaat yang sama, seperti yang ada dibawah ini

## [1] 0.6743291 0.8225377 1.2338066 1.6450754

5 Indikator Variabel

sebuah indikator atau variabel biner menandai ada atau tidaknya beberapa atribut dari unit observasi, seperti jenis kelamin atau ras jika unit observasi adalah individu, atau lokasi jika unit observasi adalah sebuah rumah. Dalam dataset utown, variabel utown adalah 1 jika rumah dekat dengan universitas dan 0 jika sebaliknya. Berikut adalah model regresi linier sederhana yang melibatkan variabel utown :

\[ \begin{align} \tag{9} price_i= \beta_1+\beta_2*utwon_i \end{align} \]

Koefisien variabel semacam itu dalam regresi linear sederhana sama dengan selisih antara harga rata-rata kedua kategori; koefisien intercept model pada Persamaan 9 sama dengan harga rata-rata rumah yang tidak dekat dengan universitas. Mari kita hitung terlebih dahulu harga rata rata untuk setiap kategori yang dilambangkan dengan kode price0bar dan price1bar:

Hasilnya adalah: \(\bar{price}=\) 277.2416012 dekat dengan universitas. dan \(\bar{price}=\) 215.7324948 untuk yang tidak dekat. Sekarang saya menunjukkan bahwa hasil yang sama menghasilkan koefisien model regresi dalam Persamaan 9:

## [1] 215.7325
## [1] 61.50911

Hasilnya adalah: \(\bar{price}=b_1=\) 215.7324948 untuk rumah yang non-university, dan \(\bar{price}=b_1+b_2=\) 277.2416012 untuk rumah university.

6 Simulasi Monte Carlo

Simulasi Monte Carlo menghasilkan nilai acak untuk variabel terikat ketika koefisien regresi dan distribusi istilah acak diberikan. Contoh berikut ini mengupayakan untuk menentukan distribusi variabel bebas dalam model pengeluaran makanan pada Persamaan 2,

Selanjutnya kita cari variansi dari \(b_2\) dan membuat plot fungsi kepadatan yang sesuai.

\[ \begin{align} \tag{10} var(b_2)={\sigma^2 \over \sum(x_i−\bar{x})} \end{align} \]

Lalu, dengan nilai yang sama dari \(b_1\) , \(b_2\) , dan standar error (error standard deviation), kita dapat menghasilkan satu set nilai untuk \(Y\), regresi \(Y\) pada \(X\), dan menghitung perkiraan nilai untuk koefisien \(b_2\) dan kesalahan standarnya.

Hasilnya adalah \(b_2=11.64\) dan \(s_e(b_2)=1.64\). Kekuatan dari simulasi Monte CCarlo adalah kemungkinan pengulangan estimasi parameter regresi untuk sejumlah besar sampel yang dibuat secara otomatis. Jadi, kita dapat memperoleh sejumlah besar nilai untuk parameter, misalnya \(b_2\), dan kemudian menentukan karakteristik pengambilan sampelnya. Misalnya, jika mean dari nilai-nilai ini mendekati nilai yang diasumsikan semula \(b_2=10\), kita dapat menyimpulkan bahwa estimator kita (metode estimasi parameter) tidak bias,

Disini kita akan menggunakan nilai \(X\) dalam dataset makanan, dan mendapatkan \(Y\) menggunakan model linier dengan \(b_1=100\) dan \(b_2=10\).

rata-rata dan standar deviasi dari estimasi 40 nilai \(b_2\) masing-masing adalah 9.974985 dan 1.152632. Gambar yang dibawah ini menggambarkan distribusi simulasi dari \(b_2\) dan versi teoritisnya.