Có một thử nghiệm để xác định xem liệu quá mức GLM có đáng kể không?


44

Tôi đang tạo các PoM GLM ở R. Để kiểm tra mức độ vượt quá Tôi đang xem tỷ lệ sai lệch còn lại so với mức độ tự do được cung cấp bởi summary(model.name).

Có một giá trị ngưỡng hoặc thử nghiệm cho tỷ lệ này được coi là "đáng kể?" Tôi biết rằng nếu nó> 1 thì dữ liệu bị quá mức, nhưng nếu tôi có tỷ lệ tương đối gần với 1 [ví dụ: một tỷ lệ 1,7 (độ lệch dư = 25,48, df = 15) và một tỷ lệ khác là 1,3 (rd = 324, df = 253)], tôi có nên vẫn chuyển sang quasipoisson / nhị thức âm không? Tôi tìm thấy ở đây bài kiểm tra này có ý nghĩa: 1-pchisq (độ lệch còn lại, df), nhưng tôi chỉ thấy điều đó một lần, khiến tôi lo lắng. Tôi cũng đã đọc (tôi không thể tìm thấy nguồn) rằng tỷ lệ <1,5 nói chung là an toàn. Ý kiến?

Câu trả lời:


45

Trong gói R AER, bạn sẽ tìm thấy hàm dispersiontestthực hiện Kiểm tra mức độ vượt mức của Cameron & Trivingi (1990).

Nó sau một ý tưởng đơn giản: Trong một mô hình Poisson, giá trị trung bình là và phương sai là V một r ( Y ) = μ là tốt. Họ đều bình đẳng. Xét nghiệm này chỉ đơn giản là kiểm tra giả thuyết này như một giả thuyết không chống lại một sự thay thế mà V một r ( Y ) = μ + c * f ( μ ) nơi hằng số c < 0 có nghĩa là underdispersion và c > 0 phương tiện overdispersion. Hàm fE(Y)= =μVmộtr(Y)= =μVmộtr(Y)= =μ+c*đụ(μ)c<0c>0 là một số hàm đơn điệu (thường là tuyến tính hoặc bậc hai; trước đây là mặc định). Thử nghiệm kết quả tương đương với thử nghiệm H 0 : c = 0 so với H 1 : c 0 và thống kê thử nghiệm được sử dụng làthống kê t đó là tiêu chuẩn tiệm cận bình thường theo null.đụ(.)H0:c= =0H1:c0t

Thí dụ:

R> library(AER)
R> data(RecreationDemand)
R> rd <- glm(trips ~ ., data = RecreationDemand, family = poisson)
R> dispersiontest(rd,trafo=1)

Overdispersion test

data:  rd
z = 2.4116, p-value = 0.007941
alternative hypothesis: true dispersion is greater than 0
sample estimates:
dispersion 
    5.5658 

Ở đây chúng ta thấy rõ rằng có bằng chứng về sự quá mức (c được ước tính là 5,57), điều này nói lên khá mạnh mẽ chống lại giả định về sự cân bằng (tức là c = 0).

trafo=1H0:c*= =1H1:c*1c*= =c+1


1
Tôi đã phải sử dụng glm(trips ~ 1, data = data, family = poisson)(tức là 1thay vì .dữ liệu của tôi), nhưng thật tuyệt, cảm ơn bạn
Phil

12

odTestpsclμ= =Vmộtr

>library(pscl)

>odTest(NegBinModel) 

Likelihood ratio test of H0: Poisson, as restricted NB model:
n.b., the distribution of the test-statistic under H0 is non-standard
e.g., see help(odTest) for details/references

Critical value of test statistic at the alpha= 0.05 level: 2.7055 
Chi-Square Test Statistic =  52863.4998 p-value = < 2.2e-16

Ở đây, vô hiệu của hạn chế Poisson bị từ chối có lợi cho hồi quy nhị thức âm của tôi NegBinModel. Tại sao? Vì thống kê kiểm tra 52863.4998vượt quá 2.7055với a p-value of < 2.2e-16.

Ưu điểm của AER dispersiontestlà đối tượng trả về của lớp "htest" dễ định dạng hơn (ví dụ: chuyển đổi sang LaTeX) so với 'odTest` không phân loại.



2

Tuy nhiên, một lựa chọn khác là sử dụng thử nghiệm tỷ lệ khả năng để chỉ ra rằng một GLM quasipoisson với sự quá mức tốt hơn đáng kể so với GLM poisson thông thường mà không cần quá mức:

fit = glm(count ~ treatment,family="poisson",data=data) 
fit.overdisp = glm(count ~ treatment,family="quasipoisson",data=data) 
summary(fit.overdisp)$dispersion # dispersion coefficient
pchisq(summary(fit.overdisp)$dispersion * fit$df.residual, fit$df.residual, lower = F) # significance for overdispersion
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.