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.glm
için R komut istemine yazın. Orada bunun
(res/(1 - hat))^2 * hat/(dispersion * p)
burada res
Pearson artıkları (döndürdüğü gibidir influence()
fonksiyonu), hat
bir hat matrisi , p
model parametrelerinin sayısı ve dispersion
mevcut 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 rsp
Std. 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)
hii
genel 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=TRUE
iç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).