Cara menghitung statistik leverage di r


Dalam statistik, suatu observasi dianggap outlier jika nilainya untuk variabel respon jauh lebih besar dibandingkan observasi lainnya dalam kumpulan data.

Demikian pula, suatu observasi dianggap leverage tinggi jika memiliki satu atau lebih nilai variabel prediktor yang jauh lebih ekstrim dibandingkan dengan observasi lainnya dalam kumpulan data.

Salah satu langkah pertama dalam jenis analisis apa pun adalah melihat lebih dekat observasi yang memiliki leverage tinggi, karena observasi tersebut dapat berdampak besar pada hasil model tertentu.

Tutorial ini menunjukkan contoh langkah demi langkah tentang cara menghitung dan memvisualisasikan leverage untuk setiap observasi dalam model di R.

Langkah 1: Buat model regresi

Pertama, kita akan membuat model regresi linier berganda menggunakan kumpulan data mtcars yang ada di R:

 #load the dataset
data(mtcars)

#fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)

#view model summary
summary(model)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904 1.331566 23.083 < 2nd-16 ***
available -0.030346 0.007405 -4.098 0.000306 ***
hp -0.024840 0.013385 -1.856 0.073679 .  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.127 on 29 degrees of freedom
Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 
F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09

Langkah 2: Hitung leverage untuk setiap observasi

Selanjutnya, kita akan menggunakan fungsi hatvalues() untuk menghitung leverage untuk setiap observasi dalam model:

 #calculate leverage for each observation in the model
hats <- as . data . frame (hatvalues(model))

#display leverage stats for each observation
hats

                    hatvalues(model)
Mazda RX4 0.04235795
Mazda RX4 Wag 0.04235795
Datsun 710 0.06287776
Hornet 4 Drive 0.07614472
Hornet Sportabout 0.08097817
Valiant 0.05945972
Duster 360 0.09828955
Merc 240D 0.08816960
Merc 230 0.05102253
Merc 280 0.03990060
Merc 280C 0.03990060
Merc 450SE 0.03890159
Merc 450SL 0.03890159
Merc 450SLC 0.03890159
Cadillac Fleetwood 0.19443875
Lincoln Continental 0.16042361
Chrysler Imperial 0.12447530
Fiat 128 0.08346304
Honda Civic 0.09493784
Toyota Corolla 0.08732818
Toyota Corona 0.05697867
Dodge Challenger 0.06954069
AMC Javelin 0.05767659
Camaro Z28 0.10011654
Pontiac Firebird 0.12979822
Fiat X1-9 0.08334018
Porsche 914-2 0.05785170
Lotus Europa 0.08193899
Ford Pantera L 0.13831817
Ferrari Dino 0.12608583
Maserati Bora 0.49663919
Volvo 142E 0.05848459

Biasanya, kita melihat lebih dekat observasi dengan nilai leverage lebih besar dari 2.

Cara sederhana untuk melakukannya adalah dengan mengurutkan observasi berdasarkan nilai leverage, dalam urutan menurun:

 #sort observations by leverage, descending
hats[ order (-hats[' hatvalues(model) ']), ]

 [1] 0.49663919 0.19443875 0.16042361 0.13831817 0.12979822 0.12608583
 [7] 0.12447530 0.10011654 0.09828955 0.09493784 0.08816960 0.08732818
[13] 0.08346304 0.08334018 0.08193899 0.08097817 0.07614472 0.06954069
[19] 0.06287776 0.05945972 0.05848459 0.05785170 0.05767659 0.05697867
[25] 0.05102253 0.04235795 0.04235795 0.03990060 0.03990060 0.03890159
[31] 0.03890159 0.03890159

Terlihat nilai leverage tertinggi sebesar 0.4966 . Karena angka ini tidak lebih besar dari 2, kami tahu bahwa tidak ada observasi dalam kumpulan data kami yang memiliki leverage tinggi.

Langkah 3: Visualisasikan leverage untuk setiap observasi

Terakhir, kita dapat membuat bagan singkat untuk memvisualisasikan leverage untuk setiap observasi:

 #plot leverage values for each observation
plot(hatvalues(model), type = ' h ')

leverage di R

Sumbu x menampilkan indeks setiap observasi dalam kumpulan data dan nilai y menampilkan statistik leverage yang sesuai untuk setiap observasi.

Sumber daya tambahan

Cara melakukan regresi linier sederhana di R
Cara melakukan regresi linier berganda di R
Cara membuat plot sisa di R

Tambahkan komentar

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