Koda bakarsanız (basit tip plot.lm, parantezsiz veya edit(plot.lm)R komut isteminde), Cook'un mesafelerinincooks.distance() fonksiyonla birlikte 44. satır olarak tanımlandığını görürsünüz . Ne yaptığını görmek stats:::cooks.distance.glmiçin R komut istemine yazın. Orada bunun
(res/(1 - hat))^2 * hat/(dispersion * p)
burada resPearson artıkları (döndürdüğü gibidir influence()fonksiyonu), hatbir hat matrisi , pmodel parametrelerinin sayısı ve dispersionmevcut model için kabul dispersiyonudur (lojistik ve Poisson regresyon için bir sabit, bakınız help(glm)). Özetle, gözlemlerin ve onların standartlaştırılmış artıklarının kaldıraçının bir fonksiyonu olarak hesaplanır. (İle karşılaştır stats:::cooks.distance.lm.)
Daha resmi bir referans için plot.lm()işlevdeki referansları takip edebilirsiniz , yani
Belsley, DA, Kuh, E. ve Welsch, RE (1980). Regresyon Tanılama . New York: Wiley.
Dahası, grafiklerde görüntülenen ek bilgiler hakkında daha fazla bakabilir ve R'nin
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) #
burada rspStd. Pearson tortusu. bir GLM durumunda, Std. aksi halde artıklar (satır 172); ancak her iki durumda da R tarafından kullanılan formül (satır 175 ve 178) 'dir
residuals(x, "pearson") / s * sqrt(1 - hii)
hiigenel fonksiyon tarafından döndürülen şapka matrisi nerede lm.influence(). Bu std için olağan formüldür. artıkları:
rsj=rj1−h^j−−−−−√
jj
R Sonraki kod satırlarını (Cook'un mesafe için daha yumuşak çizmek add.smooth=TRUEiçinde plot.lm(), varsayılan olarak bakınız getOption("add.smooth")) ve kritik standardize artıklar için kontur hatları (sizin arsa görünmez) (bkz cook.levels=seçeneği).