2010-03-28 23 views
7

Bạn có thể cho tôi biết những gì sẽ được trả về bởi GLM $ dưresid (GLM) nơi GLM là một đối tượng quasipoisson. ví dụ. Làm thế nào tôi có thể tạo chúng bằng cách sử dụng glm $ y và glm $ linear.predictors.

GLM $ dư

n missing unique Mean  .05  .10 .25 .50  .75  .90  .95 

37715 10042 2174 -0,2574 -2,7538 -2,2661 -1,4480 -0,4381 0,7542 1,9845 2,7749

thấp nhất: -4,243 -3,552 -3,509 -3,481 -3,464 cao nhất : 8.195 8.319 8.592 9.089 9.416

resid (glm)

n missing  unique  Mean  .05  .10  .25 
37715   0  2048 -2.727e-10 -1.0000 -1.0000 -0.6276 
    .50  .75  .90  .95 

-0,2080 0,4106 1,1766 1,7333

thấp nhất: -1,0000 -0,8415 -0,8350 -0,8333 -0,8288 cao nhất: 7,2491 7,6110 7,6486 7,9574 10,1932

Trả lời

16

Số dư cuộc gọi (mô hình) sẽ mặc định là số dư còn lại, trong khi mô hình $ resid sẽ cung cấp cho bạn số dư còn lại. Do chức năng liên kết, không có định nghĩa duy nhất về số dư của mô hình. Có sự sai lệch, làm việc, một phần, Pearson, và dư lượng phản ứng. Bởi vì chúng chỉ dựa vào cấu trúc trung bình (không phải phương sai), số dư cho quasipoisson và poisson có cùng dạng.Bạn có thể xem hàm residuals.glm để biết chi tiết, nhưng dưới đây là ví dụ:

counts <- c(18,17,15,20,10,20,25,13,12) 
outcome <- gl(3,1,9) 
treatment <- gl(3,3) 
glm.D93 <- glm(counts ~ outcome + treatment, family=quasipoisson()) 
glm.D93$resid 


#working 
resid(glm.D93,type="working") 
(counts - glm.D93$fitted.values)/exp(glm.D93$linear) 

#deviance 
resid(glm.D93,type="dev") 
fit <- exp(glm.D93$linear) 
poisson.dev <- function (y, mu) 
    sqrt(2 * (y * log(ifelse(y == 0, 1, y/mu)) - (y - mu))) 
poisson.dev(counts,fit) * ifelse(counts > fit,1,-1) 

#response 
resid(glm.D93,type="resp") 
counts - fit 

#pearson 
resid(glm.D93,type="pear") 
(counts - fit)/sqrt(fit) 
+1

Điều này thật tuyệt. Bây giờ tôi chỉ cần tìm hiểu về khi mỗi loại dư là hữu ích nhất trong việc chẩn đoán hồi quy. Đề xuất sách được thực hiện bởi Adam bên dưới ("Các mô hình và các phần mở rộng tuyến tính tổng quát" của Hardin và Hilbe) có vẻ hữu ích, bất kỳ đề xuất nào khác? –

4

Tôi không biết đủ về Poisson và quasi-Poisson phân phối để trả lời câu hỏi của bạn ở độ sâu được yêu cầu (tức là một phương trình chính xác sẽ biến các biến thành số dư bằng cách sử dụng mô hình), nhưng nếu bất kỳ sự nhầm lẫn nào là do các loại còn lại đang được sử dụng và lý do tại sao hai lệnh đưa ra một câu trả lời khác nhau, điều này có thể giúp:

resid() mặc định là kiểu "lệch lạc" trong R. Tuy nhiên, glm() gán các số dư khác nhau cho vectơ còn lại $.

Nếu bạn đang sử dụng gia đình quasi-poisson, glm() sẽ chỉ định số dư của loại hoạt động, trong khi đó, resid() cung cấp loại độ lệch làm mặc định.

Để thử này ra, bạn có thể sử dụng:

resid (GLM, type = "làm việc")

GLM $ dư

và điều đó sẽ cung cấp cho bạn câu trả lời tương tự (ít nhất, nó đã làm trên một tập dữ liệu mẫu tôi u sed).

Theo R, dư làm việc là: "các phần dư trong phiên cuối cùng của IWLS phù hợp"

Nếu bạn nhìn lên cuốn sách: "mô hình tổng quát tuyến tính và phần mở rộng" (bởi Hardin và Hilbe) trên Google Books , bạn có thể truy cập phần 4.5 giải thích các loại số dư khác nhau.

+0

Tham chiếu tuyệt vời tới sách của Hardin và Hilbe! Cảm ơn! –

Các vấn đề liên quan