Seperti apa residu dan jarak Cook yang digunakan untuk GLM?

11

Apakah ada yang tahu apa rumus jarak Cook? Rumus jarak Cook asli menggunakan residu pelajar, tetapi mengapa R menggunakan std. Residu Pearson saat menghitung plot jarak Cook untuk GLM. Saya tahu bahwa residu pelajar tidak didefinisikan untuk GLM, tetapi bagaimana rumus untuk menghitung jarak Cook terlihat?

Asumsikan contoh berikut:

numberofdrugs <- rcauchy(84, 10)
healthvalue <- rpois(84,75)
test <- glm(healthvalue ~ numberofdrugs, family=poisson)
plot(test, which=5) 

Berapa rumus untuk jarak Cook? Dengan kata lain, apa rumus untuk menghitung garis putus-putus merah? Dan dari mana formula residu Pearson terstandarisasi ini berasal?

jarak memasak

MarkDollar
sumber

Jawaban:

15

Jika Anda melihat kode (tipe sederhana plot.lm, tanpa tanda kurung, atau edit(plot.lm)pada prompt R), Anda akan melihat bahwa jarak Cook didefinisikan baris 44, dengan cooks.distance()fungsi. Untuk melihat apa yang dikerjakannya, ketik stats:::cooks.distance.glmpada prompt R. Di sana Anda melihat bahwa itu didefinisikan sebagai

(res/(1 - hat))^2 * hat/(dispersion * p)

di mana resresidu Pearson (seperti yang dikembalikan oleh influence()fungsi), hatadalah matriks topi , padalah jumlah parameter dalam model, dan dispersiondispersi dipertimbangkan untuk model saat ini (ditetapkan pada satu untuk logistik dan regresi Poisson, lihat help(glm)). Singkatnya, ini dihitung sebagai fungsi dari leverage pengamatan dan residu standar mereka. (Bandingkan dengan stats:::cooks.distance.lm.)

Untuk referensi yang lebih formal, Anda dapat mengikuti referensi dalam plot.lm()fungsi, yaitu

Belsley, DA, Kuh, E. and Welsch, RE (1980). Diagnostik Regresi . New York: Wiley.

Selain itu, tentang informasi tambahan yang ditampilkan dalam grafik, kita dapat melihat lebih jauh dan melihat bahwa R menggunakan

plot(xx, rsp, ...                    # line 230
panel(xx, rsp, ...)                  # line 233
cl.h <- sqrt(crit * p * (1 - hh)/hh) # line 243
lines(hh, cl.h, lty = 2, col = 2)    #
lines(hh, -cl.h, lty = 2, col = 2)   #  

di mana rspdiberi label Std. Residu Pearson. dalam hal GLM, Std. residu sebaliknya (baris 172); dalam kedua kasus, bagaimanapun, rumus yang digunakan oleh R adalah (baris 175 dan 178)

residuals(x, "pearson") / s * sqrt(1 - hii)

di mana hiimatriks topi dikembalikan oleh fungsi generik lm.influence(). Ini adalah formula biasa untuk std. residu:

rsj=rj1h^j

jj

Baris berikutnya dari kode R menggambar lebih halus untuk jarak Cook ( add.smooth=TRUEin plot.lm()secara default, lihat getOption("add.smooth")) dan garis kontur (tidak terlihat di plot Anda) untuk residu standar kritis (lihat cook.levels=opsi).

chl
sumber