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 ')
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