GLM için ne tür artıklar ve Cook mesafesi kullanılıyor?


11

Cook mesafesinin formülünün ne olduğunu bilen var mı? Orijinal Cook'un mesafe formülü öğrenci kalıntılarını kullanır, ancak R neden std kullanıyor? Cook'un bir GLM için mesafe grafiğini hesaplarken Pearson kalıntıları. Öğrenci kalıntılarının GLM'ler için tanımlanmadığını biliyorum, ancak Cook'un mesafesini hesaplamak için formül nasıl görünüyor?

Aşağıdaki örneği varsayalım:

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

Cook'un mesafesinin formülü nedir? Başka bir deyişle, kırmızı kesikli çizgiyi hesaplamak için formül nedir? Ve standart Pearson kalıntıları için bu formül nereden geliyor?

aşçı mesafesi

Yanıtlar:


15

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=rj1h^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).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.