Cara menghitung koefisien regresi standar di r


Biasanya, saat kita melakukan regresi linier berganda , koefisien regresi yang dihasilkan dalam keluaran model tidak terstandarisasi , artinya koefisien regresi tersebut menggunakan data mentah untuk menemukan garis yang paling sesuai.

 model <- lm(price ~ age + sqfeet, data=df)

Namun, dimungkinkan untuk membakukan setiap variabel prediktor dan variabel respon (dengan mengurangkan nilai rata-rata setiap variabel dari nilai aslinya dan kemudian membaginya dengan standar deviasi variabel) dan kemudian menjalankan regresi, yang menghasilkan koefisien regresi standar .

Cara paling sederhana untuk menghitung koefisien regresi standar di R adalah dengan menggunakan fungsi scale() untuk membakukan setiap variabel dalam model:

 model <- lm(scale(price) ~ scale(age) + scale(sqfeet), data=df)

Contoh berikut menunjukkan cara menghitung koefisien regresi standar dalam praktiknya.

Contoh: Cara menghitung koefisien regresi standar di R

Misalkan kita memiliki kumpulan data berikut yang berisi informasi tentang umur, ukuran luas, dan harga jual 12 rumah:

 #create data frame
df <- data. frame (age=c(4, 7, 10, 15, 16, 18, 24, 28, 30, 35, 40, 44),
                 sqfeet=c(2600, 2800, 1700, 1300, 1500, 1800,
                          1200, 2200, 1800, 1900, 2100, 1300),
                 price=c(280000, 340000, 195000, 180000, 150000, 200000,
                         180000, 240000, 200000, 180000, 260000, 140000))

#view data frame
df

   age square feet price
1 4 2600 280000
2 7 2800 340000
3 10 1700 195000
4 15 1300 180000
5 16 1500 150000
6 18 1800 200000
7 24 1200 180000
8 28 2200 240000
9 30 1800 200000
10 35 1900 180000
11 40 2100 260000
12 44 1300 140000

Misalkan kita melakukan regresi linier berganda dengan menggunakan umur dan luas persegi sebagai variabel prediktor dan harga sebagai variabel respon:

 #fit regression model
model <- lm(price ~ age + sqfeet, data=df)

#view model summary
summary(model)

Call:
lm(formula = price ~ age + sqfeet, data = df)

Residuals:
   Min 1Q Median 3Q Max 
-32038 -10526 -6139 21641 34060 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 34736.54 37184.32 0.934 0.374599    
age -409.83 612.46 -0.669 0.520187    
sqfeet 100.87 15.75 6.405 0.000125 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 24690 on 9 degrees of freedom
Multiple R-squared: 0.8508, Adjusted R-squared: 0.8176 
F-statistic: 25.65 on 2 and 9 DF, p-value: 0.0001916

Dari hasil model terlihat koefisien regresi tidak terstandar :

  • Intersepsi: 34736.54
  • Usia: -409.83
  • Kaki persegi: 100,87

Pada pandangan pertama, tampak bahwa usia memiliki pengaruh yang jauh lebih besar terhadap harga real estat karena koefisiennya dalam tabel regresi adalah -409.833 , dibandingkan dengan hanya 100.866 untuk variabel prediktor luas persegi.

Namun, kesalahan standarnya jauh lebih besar untuk usia dibandingkan untuk luas persegi, itulah sebabnya nilai p yang sesuai sebenarnya besar untuk usia (p = 0,520) dan kecil untuk luas persegi (p = 0,000).

Penyebab perbedaan koefisien regresi yang ekstrim adalah karena perbedaan ekstrim skala kedua variabel:

  • Nilai untuk usia berkisar antara 4 hingga 44 tahun.
  • Nilai luas persegi berkisar antara 1.200 hingga 2.800.

Misalkan kita menormalkan data mentah dan menyesuaikan model regresi baru:

 #standardize each variable and fit regression model
model_std <- lm(scale(price) ~ scale(age) + scale(sqfeet), data=df)

#turn off scientific notation
options(scipen= 999 )

#view model summary
summary(model_std)

Call:
lm(formula = scale(price) ~ scale(age) + scale(sqfeet), data = df)

Residuals:
    Min 1Q Median 3Q Max 
-0.5541 -0.1820 -0.1062 0.3743 0.5891 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0000000000000002253 0.1232881457926768426 0.000 1.000000
scale(age) -0.0924421263946849786 0.1381464029075653854 -0.669 0.520187
scale(sqfeet) 0.8848591938302141635 0.1381464029075653577 6.405 0.000125
                 
(Intercept)      
scale(age)       
scale(sqfeet)***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4271 on 9 degrees of freedom
Multiple R-squared: 0.8508, Adjusted R-squared: 0.8176 
F-statistic: 25.65 on 2 and 9 DF, p-value: 0.0001916

Koefisien regresi dalam tabel ini terstandarisasi , artinya mereka menggunakan data terstandar agar sesuai dengan model regresi ini.

Cara menafsirkan koefisien pada tabel adalah sebagai berikut:

  • Peningkatan satu deviasi standar pada usia dikaitkan dengan penurunan deviasi standar pada harga rumah sebesar 0,092 , dengan asumsi luas persegi tetap konstan.
  • Peningkatan satu deviasi standar dalam luas persegi dikaitkan dengan kenaikan deviasi standar pada harga rumah sebesar 0,885 , dengan asumsi usia tetap konstan.

Sekarang kita dapat melihat bahwa ukuran luas mempunyai pengaruh yang jauh lebih besar terhadap harga rumah dibandingkan usia.

Catatan : Nilai p untuk setiap variabel prediktor sama persis dengan model regresi sebelumnya.

Saat memutuskan model akhir mana yang akan digunakan, kini kita tahu bahwa luas persegi jauh lebih penting dalam memprediksi harga sebuah rumah dibandingkan usianya .

Sumber daya tambahan

Tutorial berikut memberikan informasi tambahan tentang model regresi:

Cara membaca dan menafsirkan tabel regresi
Bagaimana menafsirkan koefisien regresi
Cara menginterpretasikan nilai P dalam regresi linier

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *