glm in R - giá trị nào thể hiện mức độ phù hợp của toàn bộ mô hình?


10

Tôi đang chạy glms trong R (mô hình tuyến tính tổng quát). Tôi nghĩ rằng tôi đã biết giá trị - cho đến khi tôi thấy rằng việc gọi một bản tóm tắt cho glm không mang lại cho bạn một đại diện giá trị vượt trội của mô hình nói chung - ít nhất là không phải ở nơi mà các mô hình tuyến tính làm.

Tôi tự hỏi nếu điều này được đưa ra như là giá trị cho Đánh chặn, ở đầu bảng hệ số. Vì vậy, trong ví dụ sau, trong khi Wind.speed..knots và canopy_d mật độ có thể có ý nghĩa đối với mô hình, làm thế nào để chúng ta biết liệu chính mô hình đó có đáng kể không? Làm thế nào để tôi biết có nên tin tưởng những giá trị này? Tôi có đúng không khi tự hỏi rằng Pr (> | z |) cho (Chặn) đại diện cho tầm quan trọng của mô hình? Là mô hình này có ý nghĩa folks ??? Cảm ơn!

Tôi nên lưu ý rằng việc chạy thử nghiệm F sẽ không đưa ra giá trị vì tôi nhận được thông báo lỗi nói rằng việc chạy thử nghiệm F trên gia đình nhị thức là không phù hợp.

Call:
glm(formula = Empetrum_bin ~ Wind.speed..knots. + canopy_density, 
    family = binomial, data = CAIRNGORM)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2327  -0.7167  -0.4302  -0.1855   2.3194  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)  
(Intercept)          1.8226     1.2030   1.515   0.1298  
Wind.speed..knots.  -0.5791     0.2628  -2.203   0.0276 *
canopy_density      -2.5733     1.1346  -2.268   0.0233 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 59.598  on 58  degrees of freedom
Residual deviance: 50.611  on 56  degrees of freedom
  (1 observation deleted due to missingness)
AIC: 56.611

1
Nếu tôi nhớ lại chính xác trong hồi quy nhị thức, bạn nên sử dụng kiểm tra độ lệch, hay còn gọi là kiểm tra khả năng đăng nhập - tương tự như kiểm tra F được sử dụng trong hồi quy tuyến tính. Đây là -2 * (Null LL - bão hòa LL) phù hợp với phân phối chi bình phương. Mặc dù tôi không thể thấy một mô hình Nhật ký khả năng trong đầu ra tóm tắt của bạn. Có phải trong đối tượng mô hình nhưng không có trong đầu ra tóm tắt?
SamPassmore

Câu trả lời:


10

Bạn có thể thực hiện kiểm tra chi bình phương tiệm cận (59.598-50.611) so với bình phương chi với (58-56) df hoặc sử dụng anova()trên đối tượng glm của bạn (không thực hiện kiểm tra trực tiếp, nhưng ít nhất là tính toán ( 59,598-50,611) và (58-56) cho bạn).

Đây là phân tích hiệu quả của sự lệch lạc .

Đây là loại tính toán bạn có thể thực hiện (trên một tập dữ liệu khác, đi kèm với R):

spray1=glm(count~spray,family=poisson,data=InsectSprays)  # full model
spray0=glm(count~1,family=poisson,data=InsectSprays)      # null model
with(anova(spray0,spray1),pchisq(Deviance,Df,lower.tail=FALSE)[2]) 

Cung cấp giá trị p cho một statstic chi vuông không tiệm cận dựa trên độ lệch .

Hoặc bạn có thể sử dụng deviancevà các df.residualchức năng để làm điều này:

 pchisq(deviance(spray0)-deviance(spray1),
     df.residual(spray0)-df.residual(spray1),
    lower.tail=FALSE)

-

Nhiều người sẽ sử dụng so sánh giữa AIC mô hình đầy đủ và null (hoặc trong một số trường hợp, có lẽ là so sánh giữa mô hình quan tâm và mô hình bão hòa) để tìm hiểu xem mô hình đó tốt hơn null theo nghĩa đó.

-

Tôi có đúng không khi tự hỏi rằng Pr (> | z |) cho (Chặn) đại diện cho tầm quan trọng của mô hình?

Nó không. Thật vậy, giá trị p chặn thường không được quan tâm trực tiếp.

Nếu bạn đang xem xét một mô hình với tham số phân tán, tôi đã thấy một số người tranh luận về việc thực hiện kiểm tra F thay vì bình phương không có triệu chứng; nó tương ứng với những người sử dụng phép thử t thay vì az trên các hệ số riêng lẻ. Nó không có khả năng là một xấp xỉ hợp lý trong các mẫu nhỏ. Tôi chưa thấy một dẫn xuất hoặc mô phỏng nào cho thấy F nhất thiết phải là một xấp xỉ phù hợp (nghĩa là tốt hơn so với kết quả tiệm cận) trong trường hợp GLM nói chung. Người ta có thể tồn tại, nhưng tôi đã không nhìn thấy nó.


2
Bạn cũng có thể chạy Anova(fit, type = 2)từ carthư viện
Thuật toán

3

Giả sử rằng mô hình của bạn nằm trong đối tượng 'phù hợp', bạn có thể sử dụng mã này để thực hiện kiểm tra khả năng ghi nhật ký trên mô hình nhị thức của mình Như bạn đã lưu ý kiểm tra F là không phù hợp, nhưng thử nghiệm này sẽ kiểm tra xem mô hình của bạn có được dự đoán tốt hơn không hơn ngẫu nhiên

LLR = -2 * (fit$null.deviance - fit$deviance)

Đây là công thức để kiểm tra tỷ lệ khả năng đăng nhập.

pchisq(LLR, 2, lower.tail = FALSE)

Và điều này sẽ cung cấp cho bạn giá trị p. Mặc dù tôi không tự tin 100% rằng đó là df chính xác. Tôi khá chắc chắn rằng đó là sự khác biệt về số lượng tham số, trong đó bạn có 2 trong mô hình bão hòa và không có trong mô hình Null, ergo df = 3 - 1 = 2. Nhưng đó có thể là điều cần theo dõi.


1

Như @SamPassmore đã đề cập, bạn có thể sử dụng Phân tích sai lệch (xem ví dụ xe :: Anova () cho một cái gì đó tương tự-ish) để có được thứ gì đó tương đương với -test, nhưng với phân phối . Liên quan đến điều này là kiểm tra tỷ lệ khả năng (so sánh mô hình của bạn với mô hình null), nhưng các thử nghiệm này chỉ thực hiện tốt không có triệu chứng.χ 2Fχ2

Ngoài ra, bạn có thể xem AIC hoặc các biện pháp liên quan như BIC.

Mặc dù vậy, xin lưu ý: Đối với loại mô hình này, thật khó để có được thứ gì đó như giá trị p vì những lý do tương tự, thật khó để xác định giá trị có ý nghĩa , xem ví dụ "bài giảng" này của Doug Bates .R2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.